小程序获取权限的各种方式
wx.getSetting({
success(res) {
if (!res.authSetting[scope.camera]) { //获取摄像头权限
wx.authorize({
scope:scope.camera,
success() {
console.log(授权成功)
}, fail() {
wx.showModal({
title: 提示,
content: 尚未进行授权,部分功能将无法使用,
showCancel: false,
success(res) {
if (res.confirm) {
console.log(用户点击确定)
wx.openSetting({ //这里的方法是调到一个添加权限的页面,可以自己尝试
success: (res) => {
if (!res.authSetting[scope.camera]) {
wx.authorize({
scope: scope.camera,
success() {
console.log(授权成功)
}, fail() {
console.log(用户点击取消)
}
})
}
},
fail: function () {
console.log("授权设置录音失败");
}
})
} else if (res.cancel) {
console.log(用户点击取消)
}
}
})
}
})
};
if (!res.authSetting[scope.record]) { //获取录音权限
wx.authorize({
scope: scope.record,
success() {
console.log(授权成功)
}, fail() {
wx.showModal({
title: 提示,
content: 尚未进行授权,部分功能将无法使用,
showCancel: false,
success(res) {
if (res.confirm) {
wx.openSetting({
success: (res) => {
if (!res.authSetting[scope.record]) {
wx.authorize({
scope: scope.record,
success() {
console.log(授权成功)
}, fail() {
console.log(用户点击取消)
}
})
}
},
fail: function () {
console.log("授权设置录音失败");
}
})
} else if (res.cancel) {
console.log(用户点击取消)
}
}
})
}
})
}
},
fail(res){
}
})
重点是openSetting,getSetting的使用,这里是最原始的获取权限的代码,完全有可优化的空间,感兴趣的可以自己完善,贴出来反尔就不思考了!
