更新记录

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 系统的权限检测与请求。
  • 提供统一的接口简化权限操作。

注意事项

  1. Android 特定行为
    • 在请求权限时,用户可能会选择“永久拒绝”,这会导致后续的权限请求无法再弹出系统对话框。
    • 永久拒绝的权限需要在应用设置中手动开启。
  2. iOS 特定行为
    • iOS 没有统一的权限请求方法,某些权限需要在用户尝试使用相关功能时引导用户到系统设置中开启。
    • 权限检测和请求需要使用不同的 API,具体实现已在模块中封装。
  3. 存储权限状态
    • Android 中,已申请和永久拒绝的权限状态会被存储在本地存储中,以便后续使用。
  4. 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 思否

uniapp app自动监听权限 - DCloud问答

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问