# ArkPermission **Repository Path**: juhetianxia321/ark-permission ## Basic Information - **Project Name**: ArkPermission - **Description**: 鸿蒙5.0 系统权限管理库 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-11 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **鸿蒙5.0 系统权限申请管理** ![Version](https://img.shields.io/badge/version-1.0.0-blue.svg) ![License](https://img.shields.io/badge/license-Apache%202.0-green.svg) ![Platform](https://img.shields.io/badge/platform-OpenHarmony-blueviolet.svg) **权限管理中心** 是一个专为鸿蒙应用设计的静态库,提供统一的权限申请、管理和引导解决方案,支持多语言环境,简化应用开发过程中的权限处理流程。 ## **功能特性** - 权限状态检查与申请 - 权限拒绝后的设置引导 - 多语言支持(中文/英文) - 链式调用API - 轻量级设计,资源占用低 ## **安装与配置** ohpm install @happay/ark_permission ### 1. 添加依赖 在项目的 `oh-package.json5` 中添加依赖: ```json5 { "dependencies": { "@happay/ark_permission": "ark_permission" } } ``` ### 2. 初始化 在应用中获取权限管理器实例: ```typescript import { PermissionManager } from '@happay/ark_permission'; // 获取单例实例 const manager = PermissionManager.getInstance(this.context); ``` ## **基本用法** ### 1. 检查并请求权限 ```typescript // 检查并请求多个权限 manager.checkAndRequestPermissions({ permissions: ['ohos.permission.CAMERA', 'ohos.permission.MICROPHONE'], config: { openGuidingTips: true, // 开启设置引导 rationale: '需要相机和麦克风权限以使用视频通话功能', onGranted: () => { console.log('权限已授权'); // 执行需要权限的操作 }, onDenied: (permissions) => { console.log('权限被拒绝:', permissions); } } }); ``` ### 2. 链式调用(可选) ```typescript const manager = PermissionManager.getInstance(this.context) manager.request(['ohos.permission.LOCATION','ohos.permission.APPROXIMATELY_LOCATION']) .rationale('需要位置权限以提供附近服务,请前往设置打开') // .setLanguage('zh-CN') .openGuidingTips(true) .onGranted(() => { console.log('权限已授予'); }) .onDenied((deniedPermissions: string[]) => { console.log('权限被拒绝'); }) .onComplete(() => { console.log('权限请求完成'); }) .execute(); ``` ## **API 文档** ### 核心类 - `PermissionManager`:权限管理中心的核心类,提供权限检查、申请和引导功能 ### 主要方法 | 方法 | 描述 | |------|----------------| | `getInstance(context)` | 获取单例实例 | | `checkPermission(permission)` | 检查单个权限状态 | | `checkPermissions(permissions)` | 检查多个权限状态 | | `requestPermission(permission, config)` | 请求单个权限 | | `requestPermissions(requestOption)` | 请求多个权限 | | `checkAndRequestPermissions(requestOption)` | 检查并请求权限(推荐方法) | | `setLanguageConfig(languageCode)` | 设置语言配置 | | `request(permissions)` | 链式调用检查并请求权限(推荐方法) | ``` ## **贡献与反馈** - 提交问题:https://gitee.com/juhetianxia321/ark-permission/issues - 提交代码:https://gitee.com/juhetianxia321/ark-permission/pulls - 联系方式:mktanxiangjie@163.com ## **许可证** 本项目采用 [Apache License 2.0](LICENSE) 许可证。