更新记录
1.0.1(2025-12-31) 下载此版本
- 优化了一些问题
1.0.0(2025-12-31) 下载此版本
- 新增统一 PermissionKey 权限枚举定义
- 新增统一 PermissionStatus 权限状态枚举
- 支持 iOS / Android 权限状态查询(不触发弹窗)
- 支持 iOS / Android 主动权限请求封装
- 支持 Android 12+「附近的设备」权限
- 支持系统能力检测:
- 蓝牙是否开启
- Wi-Fi 是否开启
- 系统定位服务是否开启
- 内置拒绝权限后的系统设置跳转逻辑
- 提供示例页面,展示权限列表与状态变化
平台兼容性
uni-app(3.6.15)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | √ | √ | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
权限与系统开关 API 参数说明文档
一、权限参数(PermissionKey)
用于以下方法:
- ensurePermission(permissionKey)
- getPermissionStatus(permissionKey)
权限参数列表
| 参数名 | 值 | 中文说明 |
|---|---|---|
| CAMERA | camera | 相机 |
| MICROPHONE | microphone | 麦克风 / 录音 |
| PHOTO | photo | 照片 / 媒体库 |
| LOCATION_WHEN_IN_USE | location_when_in_use | 定位(仅使用 App 时) |
| LOCATION_ALWAYS | location_always | 定位(始终允许 / 后台定位) |
| BLUETOOTH | bluetooth | 蓝牙 |
| CONTACTS | contacts | 通讯录 |
| CALENDAR | calendar | 日历 |
| NOTIFICATION | notification | 通知 |
二、系统开关参数(SystemServiceKey)
用于以下方法:
- isSystemServiceEnabled(systemServiceKey)
⚠️ 说明 系统开关 ≠ 权限 iOS 对部分系统开关有访问限制,返回结果并非所有平台都准确
系统开关参数列表
| 参数名 | 值 | 中文说明 | 备注 |
|---|---|---|---|
| LOCATION | location | 系统定位服务 | iOS / Android 均可判断 |
| WIFI | wifi | 当前是否使用 Wi-Fi 网络 | 不代表 Wi-Fi 开关状态 |
| BLUETOOTH | bluetooth | 蓝牙能力状态 | iOS 不保证准确 |
三、统一权限状态枚举(PermissionStatus)
用于以下方法返回值:
- getPermissionStatus
- ensurePermission(内部判断)
权限状态枚举说明
| 参数名 | 值 | 中文说明 | 常见场景 |
|---|---|---|---|
| NOT_DETERMINED | notDetermined | 从未请求过权限 | 首次使用功能 |
| AUTHORIZED | authorized | 已授权 | 可正常使用 |
| DENIED | denied | 用户明确拒绝 | 需引导去设置 |
| RESTRICTED | restricted | 系统限制 | 家长控制 / 企业设备 |
| LIMITED | limited | 部分授权(仅 iOS) | 相册“选中照片” |
| UNSUPPORTED | unsupported | 当前平台不支持 | 非运行时权限 |
四、典型调用示例(仅示意)
请求并确保权限
await ensurePermission(PermissionKey.CAMERA)
查询权限状态(不弹窗)
const status = await getPermissionStatus(PermissionKey.LOCATION_WHEN_IN_USE)
查询系统能力状态
await isSystemServiceEnabled(SystemServiceKey.LOCATION)
五、重要说明(务必阅读)
- 权限:由系统授权控制
- 系统开关:由系统能力控制
- iOS 上:
- ❌ 无法准确判断 Wi-Fi / 蓝牙是否“打开”
- ✅ 只能通过真实功能行为是否成功来判断
六、推荐用法总结
业务层正确做法是:
- 权限 → 用 ensurePermission
- 能力 → 直接执行功能
- 失败 → 系统弹窗或引导设置

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 9
赞赏 0
下载 12791277
赞赏 1834
赞赏
京公网安备:11010802035340号