uniapp授权如何多个权限
<template>
<div>
<button @click="handleRequestPermission">拉取权限</button>
</div>
</template>
<script>
export default {
data() {
return {
hasMicPermission: false, //录音权限
hasCameraPermission: false, //摄像头权限
}
},
methods: {
checkPermission() {
const that = this;
// 检查相机麦克风权限
// #ifdef MP
uni.getSetting({
success: async function (res) {
that.hasMicPermission = res.authSetting['scope.record'];
that.hasCameraPermission = res.authSetting['scope.camera'];
if (!that.hasMicPermission) {
uni.authorize({
scope: "scope.record",
success(res) {
that.hasMicPermission = true;
console.log("同意麦克风授权");
},
fail(err) {
console.log("拒绝麦克风授权");
}
})
}
if (!that.hasCameraPermission) {
uni.authorize({
scope: "scope.camera",
success(res) {
that.hasCameraPermission = true;
console.log("同意相机授权");
},
fail() {
console.log("拒绝相机授权");
}
})
}
}
});
// #endif
},
// 操作时候,判断是否有相关权限
handleRequestPermission() {
const that = this;
uni.showModal({
title: '提示',
content: '缺少相关权限,是否前往开启?',
success(res) {
if (res.confirm) {
// 点击确定按钮,尝试拉起权限
uni.openSetting({
success(res) {
console.log(res)
//相机
if (res.authSetting['scope.camera']) {
that.hasCameraPermission = true;
} else {
uni.showToast({
title: "摄像头权限未开启",
icon: "none"
});
}
//麦克风
if (res.authSetting['scope.record']) {
that.hasMicPermission = true;
} else {
uni.showToast({
title: "麦克风权限未开启",
icon: "none"
});
}
},
fail(err) {
uni.navigateBack()
}
});
}
},
});
},
},
mounted() {
// 检查权限
this.checkPermission();
}
}
</script>
浙公网安备 33010602011771号