更新记录
1.0.5(2024-01-24)
授权结果添加allRight属性,表明是否所有申请的权限都授权(boolean
);
1.0.4(2024-01-22)
改用回调方式使用
1.0.3(2024-01-22)
更新文档
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.6.8,Android:4.4,iOS:不支持,HarmonyNext:不确定 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
权限请求组件
这是一个用于处理权限请求的组件。它提供了一个简单的接口来请求权限,并处理用户的响应。
配置
请先在项目的manifest.json中配置好应用所需要的权限。
安装
和其它插件一样。
使用
1. 导入组件
在您的代码中导入 requestPermissions
函数:
import requestPermissions from '@/uni_modules/hr-permission';
2. 请求权限
使用 requestPermissions
函数请求所需的权限。您可以传递一个字符串或字符串数组来指定所需的权限:
const permissions = ['android.permission.CAMERA', 'android.permission.READ_EXTERNAL_STORAGE'];
const success = (result) => {
console.log(result);
}
const fail = (error) => {
console.log(error);
}
requestPermissions(permissions,success,fail);
3. 处理结果
requestPermissions
sucess函数返回一个包含权限请求结果的对象。该对象有以下属性:
allRight
:授权结果添加allRight属性,表明是否所有申请的权限都授权(boolean
);grantedPermissions
:已授予的权限列表。deniedPermissions
:被拒绝的权限列表。permissionResults
:包含每个权限是否被授予的映射(Map<string, boolean>
)。permissionActions
:对于每个权限,建议的下一步操作。这是一个Map<string, ActionType>
类型,其中ActionType
可以是以下几种:'none'
:无需进一步操作。这通常意味着权限已被授予。'requestAgain'
:建议再次请求权限。这通常发生在用户拒绝了权限请求,但没有选择“不再询问”选项。'openSetting'
:建议打开应用设置。这通常用于提示用户手动开启权限,特别是在用户拒绝权限请求并选择了“不再询问”选项的情况下。'requestFirst'
:表示这是第一次请求该权限。通常在应用第一次尝试请求权限时使用。 每个权限的ActionType
反映了对该权限的最佳操作建议,可以帮助您设计更好的用户体验,特别是在处理权限请求的不同结果时。
4. 错误处理
当参数异常时会抛出异常。确保适当处理这些异常。
注意
确保在实际设备上测试此组件,因为权限请求的行为可能因设备和Android版本而异。