更新记录
1.1.0(2025-09-30)
1.1.1更新
UTS权限管理插件 (uts-permission)
插件简介
这是一个基于 UTS (UniApp TypeScript) 实现的 Android与ios 动态权限申请插件,提供了简洁易用的 API 来管理 Android与ios 运行时权限。
特性
- ✅ 使用 UTS 语法编写,无需编译原生基座
- ✅ 支持多种常用权限的申请和管理
- ✅ 提供同步和异步两种调用方式
- ✅ 完整的 TypeScript 类型定义
- ✅ 支持单个和批量权限申请
- ✅ 支持特殊权限(悬浮窗、系统设置)
支持的权限类型
普通权限
- storage - 写入外部存储权限
- readStorage - 读取外部存储权限
- camera - 相机权限
- location - 精确定位权限
- coarseLocation - 大致定位权限
- microphone - 麦克风/录音权限
- phone - 拨打电话权限
- phoneState - 读取电话状态权限
- contacts - 读取通讯录权限
- writeContacts - 写入通讯录权限
- sms - 发送短信权限
- readSms - 读取短信权限
- receiveSms - 接收短信权限
特殊权限
- overlay - 悬浮窗权限
- writeSettings - 系统设置权限
安装方式
方式一:通过 HBuilderX 导入
- 将
uts-permission
文件夹复制到项目的uni_modules
目录下 - 重新编译运行项目
方式二:通过插件市场导入
- 在 HBuilderX 中打开插件市场
- 搜索 "uts-permission"
- 点击导入到项目
使用方法
#
平台兼容性
uni-app x
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | 5.0 | 12 | - | × |
UTS权限管理插件 (uts-permission)
插件简介
这是一个基于 UTS (UniApp TypeScript) 实现的 Android与ios 动态权限申请插件,提供了简洁易用的 API 来管理 Android与ios 运行时权限。
特性
- ✅ 使用 UTS 语法编写,无需编译原生基座
- ✅ 支持多种常用权限的申请和管理
- ✅ 提供同步和异步两种调用方式
- ✅ 完整的 TypeScript 类型定义
- ✅ 支持单个和批量权限申请
- ✅ 支持特殊权限(悬浮窗、系统设置)
支持的权限类型
普通权限
- storage - 写入外部存储权限
- readStorage - 读取外部存储权限
- camera - 相机权限
- location - 精确定位权限
- coarseLocation - 大致定位权限
- microphone - 麦克风/录音权限
- phone - 拨打电话权限
- phoneState - 读取电话状态权限
- contacts - 读取通讯录权限
- writeContacts - 写入通讯录权限
- sms - 发送短信权限
- readSms - 读取短信权限
- receiveSms - 接收短信权限
特殊权限
- overlay - 悬浮窗权限
- writeSettings - 系统设置权限
安装方式
方式一:通过 HBuilderX 导入
- 将
uts-permission
文件夹复制到项目的uni_modules
目录下 - 重新编译运行项目
方式二:通过插件市场导入
- 在 HBuilderX 中打开插件市场
- 搜索 "uts-permission"
- 点击导入到项目
使用方法
1. 导入插件
import {
checkPermission,
checkPermissions,
requestPermission,
requestPermissions,
openAppSettings,
openSystemSettings,
getPermissionName,
getSupportedPermissions
} from "@/uni_modules/uts-permission"
2. 检查单个权限
const result = checkPermission({ permission: "camera" })
console.log(result.granted) // true 或 false
3. 检查多个权限
const result = checkPermissions({
permissions: ["camera", "storage", "location"]
})
console.log(result.allGranted) // 是否全部授予
console.log(result.permissions) // 每个权限的详细状态
4. 申请单个权限
requestPermission({ permission: "camera" }, (result) => {
if (result.granted) {
console.log("相机权限已授予")
} else {
console.log("相机权限被拒绝")
}
})
5. 申请多个权限
requestPermissions({
permissions: ["camera", "storage", "microphone"]
}, (result) => {
if (result.allGranted) {
console.log("所有权限已授予")
} else {
console.log("部分权限被拒绝")
console.log(result.permissions)
}
})
6. 申请特殊权限
// 申请悬浮窗权限
requestPermission({ permission: "overlay" }, (result) => {
console.log("悬浮窗权限:", result.granted)
})
// 申请系统设置权限
requestPermission({ permission: "writeSettings" }, (result) => {
console.log("系统设置权限:", result.granted)
})
7. 打开设置页面
// 打开应用设置页面
openAppSettings({}, (result) => {
console.log("已打开应用设置页面")
})
// 打开系统设置页面
openSystemSettings({}, (result) => {
console.log("已打开系统设置页面")
})
8. 获取权限名称
const result = getPermissionName({ permission: "camera" })
console.log(result.name) // "相机权限"
9. 获取所有支持的权限
const result = getSupportedPermissions({})
console.log(result.permissions) // 所有支持的权限列表
API 文档
checkPermission(options)
检查单个权限状态(同步方法)
参数:
options.permission
(string) - 权限名称
返回值:
{
success: boolean,
permission: string,
granted: boolean,
message: string
}
checkPermissions(options)
检查多个权限状态(同步方法)
参数:
options.permissions
(string[]) - 权限名称数组
返回值:
{
success: boolean,
allGranted: boolean,
permissions: Array<{
permission: string,
granted: boolean
}>
}
requestPermission(options, callback)
申请单个权限(异步方法)
参数:
options.permission
(string) - 权限名称callback
(function) - 回调函数
回调参数:
{
success: boolean,
permission: string,
granted: boolean,
message: string
}
requestPermissions(options, callback)
申请多个权限(异步方法)
参数:
options.permissions
(string[]) - 权限名称数组callback
(function) - 回调函数
回调参数:
{
success: boolean,
allGranted: boolean,
permissions: Array<{
permission: string,
granted: boolean
}>,
message: string
}
注意事项
- UTS 插件优势:使用 UTS 编写的插件无需重新编译自定义基座,可以直接在标准基座中运行
- Android 版本:部分权限在不同 Android与ios 版本上的行为可能不同
- 特殊权限:悬浮窗和系统设置权限需要跳转到系统设置页面进行授权
- 权限说明:建议在申请权限前向用户说明权限用途
- 仅支持 Android:本插件仅支持 Android与ios 平台
更新日志
1.0.0 (2025-09-30)
- 首次发布
- 支持常用权限的检查和申请
- 支持特殊权限(悬浮窗、系统设置)
- 提供完整的 TypeScript 类型定义
开发文档
许可证
MIT License
技术支持
如有问题或建议,欢迎提交 Issue。