更新记录
1.0.0(2025-05-25) 下载此版本
初次发布
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 4.01 app-vue | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
权限检测
本模块用于在 UniApp 中检测和请求 Android 和 iOS 设备权限,适用于需要权限管理的应用场景。
安卓权限申请的使用目的说明弹窗, 解决华为、小米等应用商店上架审核未见向用户告知权限申请的目的问题
功能概述
- 支持 Android 和 iOS 系统的权限检测与请求。
- 提供统一的接口简化权限操作。
注意事项
- Android 特定行为
- 在请求权限时,用户可能会选择“永久拒绝”,这会导致后续的权限请求无法再弹出系统对话框。
- 永久拒绝的权限需要在应用设置中手动开启。
- iOS 特定行为
- iOS 没有统一的权限请求方法,某些权限需要在用户尝试使用相关功能时引导用户到系统设置中开启。
- 权限检测和请求需要使用不同的 API,具体实现已在模块中封装。
- 存储权限状态
- Android 中,已申请和永久拒绝的权限状态会被存储在本地存储中,以便后续使用。
- UI 提示
- 在请求权限时,模块会通过
drawNotify
函数显示提示信息,需要根据业务需求更改提示文案。
- 在请求权限时,模块会通过
使用方法
// 引入
import permission from "@/js_sdk/w-permission/permission.js";
// 示例 同步使用
let checkResult = await permission('location');
if(checkResult.data === 1) {
console.log('位置权限已授予');
// 执行需要位置权限的操作
} else {
console.log('位置权限未授予');
// 提示用户开启权限
}
//示例 异步使用
permission('location').then(result => {
if (result.data === 1) {
console.log('位置权限已授予');
// 执行需要位置权限的操作
} else {
console.log('位置权限未授予');
// 提示用户开启权限
}
})
参数说明
权限ID | 描述 |
---|---|
camera | 摄像头权限 |
location | 位置权限 |
calendar | 日历权限 |
storage | 相册权限 |
record | 麦克风权限 |
contact | 通讯录权限 |
memo | 备忘录权限 |
push | 推送通知权限 |
返回值说明
返回值 | 说明 |
---|---|
1 | 已获取授权 |
0 | 未获取授权 |
-1 | 永久拒绝授权 |
参考:
android - uniapp项目APP端安卓ios权限检测教程 - MarkGuan - SegmentFault 思否