You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
2.8 KiB

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