更新记录

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)

五、重要说明(务必阅读)

  1. 权限:由系统授权控制
  2. 系统开关:由系统能力控制
  3. iOS 上:
    • ❌ 无法准确判断 Wi-Fi / 蓝牙是否“打开”
    • ✅ 只能通过真实功能行为是否成功来判断

六、推荐用法总结

业务层正确做法是:

  • 权限 → 用 ensurePermission
  • 能力 → 直接执行功能
  • 失败 → 系统弹窗或引导设置

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议