小程序 有的一些 需要 用户 先 给授权 才能调用其方法,比较 录音,保存图,位置信息等
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的使用,可以 看微信平台这方法的。 这里是最原始的获取权限的代码,完全有可优化的空间。 抛砖引玉。