更新记录
1.0.0(2023-12-07)
下载此版本
各种无权限时弹框提示,引导用户前往设置页打开相关权限,在调用相关权限api时,可以引用此组件先判断一下权限是否已授权,无授权弹出此弹框,已授权再去调取相关权限API,这样也可以处理上架提示应在用户使用对应业务功能时申请,不得提前弹窗申请权限,且权限申请行为需与实际使用目的一致的问题;
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.5.5 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
使用方法
<yk-checkpermission ref="authlocation" :title="permissionList[permissionID].title" :content="permissionList[permissionID].content" :buttonText="permissionList[permissionID].buttonText" width="580" zIndex="99999" :isTips="true" :maskCloseAble="false" @authSuccess="authSuccess" :permissionID="permissionID"></yk-checkpermission>
import ykCheckpermission from '@/components/yk-checkpermission/yk-checkpermission';
export default {
components:{
ykCheckpermission
},
data() {
permissionID:'ACCESS_FINE_LOCATION',
permissionList: {
'WRITE_EXTERNAL_STORAGE': {
title: "还没有存储写入权限",
content: "开启存储写入权限后,XXX将能访问您的摄像头/相册用于上传/下载/保存文件等",
buttonText:'去设置'
},
'ACCESS_FINE_LOCATION': {
title: "还不知道您在哪里",
content: "开启定位权限后,XXX将为您精选附近的商品",
buttonText:'去设置'
},
'CALL_PHONE': {
title: "还没有拨打电话权限",
content: "开启拨打电话权限后,XXX将能为您直接跳转电话界面",
buttonText:'去设置'
},
'CAMERA':{
title: "还没有摄像头权限",
content: "开启摄像头权限后,XXX将能访问摄像头用于拍照等场景",
buttonText:'去设置'
},
'WRITE_CALENDAR':{
title: "还没有日历权限",
content: "开启日历权限后,XXX将能访问日历添加备忘事件等场景",
buttonText:'去设置'
},
'RECORD_AUDIO':{
title: "还没有麦克风权限",
content: "开启麦克风权限后,XXX将能访问麦克风用于语音、录音等场景",
buttonText:'去设置'
},
'READ_CONTACTS':{
title: "还没有通讯录权限",
content: "开启通讯录权限后,XXX将能访问通讯录,用于添加新的联系人等场景",
buttonText:'去设置'
}
}
},
methods: {
//打开自定义权限目的弹框
openAuth(permissionID){
this.permissionID = permissionID;
setTimeout(()=>{
this.$refs['authlocation'].open();
},500)
},
//权限获取后的回调函数
authSuccess(){
console.log('已授权该权限,可以调用该权限的API了')
uni.showToast({
title:'已授权该权限,可以调用该权限的API了',
icon:'none'
})
}
}
}
参数说明
参数名 |
类型 |
说明 |
title |
String |
弹框内的标题 |
content |
String |
弹框内的内容 |
buttonBackground |
Number, String |
弹框按钮颜色 |
maskCloseAble |
Boolean |
是否可以通过点击遮罩进行关闭 |
backGroundColor |
Number, String |
弹框背景色 |
borderRadius |
Number, String |
弹窗的圆角,单位rpx |
buttonText |
Number, String |
弹框文字 |
isTips |
Boolean |
不再提醒是否显示 |
fontColor |
Number, String |
按钮字体颜色 |
zIndex |
Number, String |
弹框层级 |
width |
Number, String |
弹框宽度,单位rpx |
permissionID |
Number, String |
权限名称 |
authSuccess |
回调事件 |
权限授权后的回调 |
如果对您有点帮助的话,可以给点赞赏小鼓励哦,您的支持是我最大的动力,谢谢!