小程序获取权限的各种方式
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的使用,这里是最原始的获取权限的代码,完全有可优化的空间,感兴趣的可以自己完善,贴出来反尔就不思考了!