微信小程序 摄像头 && 录音授权
进入程序弹出是否授权
app.js文件 onShow 事件里面写入
wx.getSetting({
success(res) {
if (!res.authSetting['scope.camera']) { //获取摄像头权限
wx.authorize({
scope: 'scope.camera',
success() {
console.log('相机授权成功')
},
fail() {
console.log('相机授权fail')
wx.showModal({
title: '提示',
content: '尚未进行授权,部分功能将无法使用',
cancelText: '取消授权',
confirmText: '去授权',
success(res) {
console.log(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) {
console.log("22222222222222222" + JSON.stringify(res));
}
})
用户如果拒绝,在需要的地方再次写入即可
再次拒绝就没有办法,毕竟用户的操作你想不到