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