更新记录

1.2.1(2026-01-11)

  • iOS端增加麦克风权限

1.2.0(2025-12-30)

  • 支持鸿蒙端权限请求
  • 拉齐安卓、IOS、鸿蒙端调用方法

1.1.0(2024-11-10)

增加 ios 端的相册、相机权限获取

查看更多

平台兼容性

uni-app(4.85)

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

uni-app x(4.85)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
- - 9.0 1.0.0 12 1.1.0 12 -

需要打自定义基座运行!

需要打自定义基座运行!

需要打自定义基座运行!

插件使用文档

方法 Methods

  • 检测是否有权限

    • checkPemission (注意:为了拉齐鸿蒙端,从版本1.2.0开始返回值为Promise对象,用法参照用例)
  • 请求系统权限

    • getSystemPermission
  • 查看权限是否被用户禁止

    • getPermissionDenied
  • 跳转应用权限设置页面

    • goSystemPermission
  • 特别说明:uniapp项目中暂不支持鸿蒙加密插件编译(等官方适配),只能源码版中使用

安卓端页面使用

<template>
    <view>
        <button @click="checkPessmiss">验证权限</button>
        <button @click="requestPessmiss">请求权限</button>
        <button @click="permissionIsDenied">检查权限是否被用户禁止</button>
        <button @click="goPermission">跳转设置权限</button>
    </view>
</template>
<script setup>
    import { checkPemission, getSystemPermission, goSystemPermission, getPermissionDenied } from '@/uni_modules/xwq-requestPermission';

    /**
     * 权限检测,返回true,代表有权限 
     * 
    */
    const checkPessmiss = async() => {
        // permission.MOUNT_UNMOUNT_FILESYSTEMS
        // let checkList = ["ohos.permission.LOCATION"];
        let checkList = ["android.permission.RECEIVE_SMS"];
        let result = await checkPemission(checkList);

        console.log('检测权限结果====',result)
    }
    /**
     * 请求权限  
     * 返回内容{
         * isPass 为true代表用户同意所有权限 ,false代表同意了部分权限或者全部拒绝
         failList  拒绝的权限
         successList 通过的权限
        }
     * 
    */
    const requestPessmiss = () => {
        // let perssion = ["ohos.permission.CAMERA","ohos.permission.READ_MEDIA","ohos.permission.LOCATION","ohos.permission.APPROXIMATELY_LOCATION"];
        // ["android.permission.WRITE_EXTERNAL_STORAGE","android.permission.READ_EXTERNAL_STORAGE","android.permission.CAMERA","android.permission.RECORD_AUDIO"]
        let perssion = ["android.permission.ACCESS_COARSE_LOCATION"];
        getSystemPermission(perssion, (res) => {
            console.log('res===', res)
        })
    }

    /**
     * 检测用户是否禁止了某项权限
    */
    const permissionIsDenied = async() => {
        let perssion = ["android.permission.CAMERA"];
        let result = await getPermissionDenied(perssion);
        console.log('是否禁止了某项权限===', result)
    }
    /**
     * 跳转权限设置页面
     */
    const goPermission = () => {
        //参数可为空
        goSystemPermission(["android.permission.ACCESS_COARSE_LOCATION"]);
    }
</script>

鸿蒙端页面使用

<template>
    <view>
        <button @click="checkPessmiss">验证权限</button>
        <button @click="requestPessmiss">请求权限</button>
        <button @click="permissionIsDenied">检查权限是否被用户禁止</button>
        <button @click="goPermission">跳转设置权限</button>
    </view>
</template>

<script setup>
    import { checkPemission, getSystemPermission, goSystemPermission, getPermissionDenied } from '@/uni_modules/xwq-requestPermission';

    /**
     * 权限检测,返回true,代表有权限 
     * 
    */
    const checkPessmiss = async() => {
        let checkList = ["ohos.permission.CAMERA"];
        // let checkList = ["android.permission.RECEIVE_SMS"];
        let result = await checkPemission(checkList);

        console.log('检测权限结果====',result)
    }
    /**
     * 请求权限  
     * 返回内容{
         * isPass 为true代表用户同意所有权限 ,false代表同意了部分权限或者全部拒绝
         failList  拒绝的权限
         successList 通过的权限
        }
     * 
    */
    const requestPessmiss = () => {
        // let perssion = ["ohos.permission.CAMERA","ohos.permission.READ_MEDIA","ohos.permission.LOCATION","ohos.permission.APPROXIMATELY_LOCATION"];
        let perssion = ["ohos.permission.CAMERA"];
        // let perssion = ["android.permission.ACCESS_COARSE_LOCATION"];
        getSystemPermission(perssion, (res) => {
            console.log('请求权限结果====', res)
        })
    }

    /**
     * 检测用户是否禁止了某项权限
    */
    const permissionIsDenied = async () => {
        let perssion = ["ohos.permission.CAMERA"];
        // let perssion = ["android.permission.ACCESS_COARSE_LOCATION"];
        let result = await getPermissionDenied(perssion);
        console.log('是否禁止了某项权限===', result)//["android.permission.ACCESS_COARSE_LOCATION"]
    }
    /**
     * 跳转权限设置页面
     */
    const goPermission = () => {
        //参数可为空
        goSystemPermission(["android.permission.ACCESS_COARSE_LOCATION"]);
    }
</script>

<style>

</style>

ios端(目前仅支持相册、相机权限、麦克风权限)

方法 Methods

  • 请求系统权限

    • getSystemPermission
    • 方法参数
    • getSystemPermission(type:string,callback:(val:Perssion)=>void){}
    • type可选值:'Photos.readWrite'相册权限,camera相机权限,Microphone麦克风权限
    • 回调函数参数判断是否已获得权限{isPass:true/false}

代码示例


<template>
    <view>
        <button @click="requestPessmiss">请求权限</button>
    </view>
</template>
<script>
    import {getSystemPermission} from '@/uni_modules/xwq-requestPermission';
    import {Perssion}from "@/uni_modules/xwq-requestPermission/utssdk/interface";
    export default {
        methods: {

            /**
             * 请求权限  
             * 返回内容
             * {
                 isPass 为true代表用户同意所有权限 ,false代表同意了部分权限或者全部拒绝
                }
             * 
            */
            requestPessmiss(){
                //可选camera 相机权限
                let type='Photos.readWrite';//获取相册权限
                getSystemPermission(type,(res:Perssion)=>{
                    console.log('res===',res)
                })
            }
        }
    }
</script>

隐私、权限声明

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

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

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