let device = {} /** * 拨打手机号 * @param {string} tel 内容 * 2022-10-14 */ device.callPhone = function(tel) { // #ifdef APP-PLUS // 同步获取系统信息 let info = uni.getSystemInfoSync() // 获取系统名称 ios、android let platform = info.osName if (platform == 'android') { // 请求权限 如果权限属于危险权限并且用户没有授权则会弹出系统提示框由用户授权确认,如果已经授权或被用户拒绝则返回结果。 plus.android.requestPermissions(["android.permission.CALL_PHONE"], (resultObj) => { /* 返回示例:{"granted":["android.permission.CALL_PHONE"],"deniedPresent":[],"deniedAlways":[]} granted - Array[String]字符串数组,已获取权限列表 deniedPresent - Array[String]字符串数据,已拒绝(临时)的权限列表 deniedAlways - Array[String]字符串数据,永久拒绝的权限列表。*/ var result = 0; for (var i = 0; i < resultObj.granted.length; i++) { var grantedPermission = resultObj.granted[i]; // console.log('已获取的权限:' + grantedPermission); result = 1 } for (var i = 0; i < resultObj.deniedPresent.length; i++) { var deniedPresentPermission = resultObj.deniedPresent[i]; // console.log('拒绝本次申请的权限:' + deniedPresentPermission); result = 0 } for (var i = 0; i < resultObj.deniedAlways.length; i++) { var deniedAlwaysPermission = resultObj.deniedAlways[i]; // console.log('永久拒绝申请的权限:' + deniedAlwaysPermission); result = -1 } // 已获取权限 if (result == 1) { uni.makePhoneCall({ // 电话号码 phoneNumber: tel, success(ress) { // console.log("拨打电话成功", ress) }, fail(err) { console.log("拨打电话失败", 'err') } }); // 拒绝权限 } else { uni.showModal({ title: "您已拒绝拨打电话权限", content: "是否进入权限管理,调整授权?", showCancel: true, success(res) { if (res.confirm) { // 跳转系统授权管理页 uni.openAppAuthorizeSetting({ success(res) { console.log(res) } }) } }, fail(res) { } }) } }, (error) => { console.log('申请权限错误:' + error.code + " = " + error.message); }) // ios } else { uni.makePhoneCall({ phoneNumber: tel, success(res) { //用户拒绝权限后任然会走这个函数, console.log("拨打电话成功", res) }, fail(err) { console.log("拨打电话失败", 'err') } }) } // #endif // #ifndef APP-PLUS uni.makePhoneCall({ phoneNumber: tel, success(res) { console.log("拨打电话成功", res) }, fail(err) { console.log("拨打电话失败", err) } }) // #endif } export default device