更新记录

1.0.1(2025-09-27) 下载此版本

1、增加通用评分方法,优先 iOS 应用内评分,不可用则跳转 App Store/安卓市场

1.0.0(2025-09-27) 下载此版本

1、初始版本发布

  • iOS/Android App 权限判断
  • iOS/Android App 动态权限申请
  • Android 同步告知权限申请目的解决应用市场上架

平台兼容性

uni-app(4.81)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

uni-app x(4.81)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × × ×

其他

多语言 暗黑模式 宽屏模式

📦 Android 与 IOS App 权限判断,权限申请,同步告知权限申请目的解决应用市场上架

一个用于 uni-app 的权限管理插件,支持:

  • 单独权限判断,不会随便弹窗
  • 动态权限申请,可以同步告知权限申请目的
  • 权限被拒绝后,可以提示并跳转到应用权限设置界面
  • 解决华为/小米等,应用市场上架被拒绝问题

📖 使用方法

import { checkIsGranted, checkRequestPermission, checkPermission } from '@/uni_modules/dh-permission/index.js';

// 检测应用是否有权限, 返回值是布尔值
let isGranted = checkIsGranted('Microphone');

// 检测应用并同步申请应用权限,同步告知权限申请目的
let isGranted = await checkRequestPermission('Microphone');

// 检测应用是否有权限, 返回值是PermissionStatus
let status = checkPermission('Microphone');

权限状态常量

let PermissionStatus = {
  denied: 'denied', // 未确定是否可使用此权限,需要请求权限
  granted: 'granted', // 已授权此权限
  restricted: 'restricted', // 家长控制或设备策略限制
  limited: 'limited', // 受限访问 - 用户只授权了部分照片
  permanentlyDenied: 'permanentlyDenied', // 用户永久拒绝权限,需要引导在设置中打开
};

权限常量

let Permission = {
  CameraPhotos: {
    name: 'android.permission.READ_EXTERNAL_STORAGE,android.permission.CAMERA',
    title: '相机/相册权限说明',
    content: '便于您使用该功能上传您的照片/图片/视频及用于素材处理、与客服沟通等场景中读取相册和文件内容',
  },
  Camera: {
    name: 'android.permission.CAMERA',
    title: '相机权限说明',
    content: '便于您使用该功能拍照素材处理、与客服沟通等场景中发送拍摄图片',
  },
  Photos: {
    name: 'android.permission.READ_EXTERNAL_STORAGE',
    title: '相册权限说明',
    content: '便于您使用该功能上传您的照片/图片/视频及用于素材处理、与客服沟通等场景中读取相册和文件内容',
  },
  Microphone: {
    name: 'android.permission.RECORD_AUDIO',
    title: '录音权限说明',
    content: '便于使用声音克隆,或者语音转文字等功能',
  },
  Phone: {
    name: 'android.permission.READ_PHONE_STATE',
    title: '电话/设备状态权限说明',
    content: '用于获取唯一设备识别码IMEI,以提供统计分析服务,为用户提供更好的服务',
  },
  Location: {
    name: 'android.permission.ACCESS_FINE_LOCATION',
    title: '位置权限说明',
    content: '用户获取城市位置,快速展示不同的信息,为用户提供更好的服务',
  },
};

📌 特点

  • 跨平台:同时支持 iOS 和 Android
  • Android 多市场兼容:轮询常见应用市场,优先打开默认渠道
  • 功能多样:不仅评分,还能打开应用市场查看应用详情
  • 独立函数封装:采用 Native.js 编写,是纯前端 js 代码,不需要打包自定义基座。
  • 扩展性:目前封装的只支持了固定几种常用权限,源码可以直接扩展

🛠 插件目录结构

uni_modules/
 └── dh-permission/
      ├── package.json
      ├── index.js
      └── readme.md

📜 License

MIT

隐私、权限声明

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

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

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

许可协议

MIT协议