@ankhorage/permissions

中文文档
0.3.13发布于 2026/11/05MITTypeScriptES Module构建来源已验证近 30 天下载 1万

跨平台权限注册和运行时间辅助器用于"博览会","回放原生","回放原生"等网络应用,对相机,媒体,位置,通知,麦克风等网络/本土功能进行统一请求/检查API.

中文使用文档
文档目录6 节
  1. 使用量
  2. 国 际
  3. 基本权限
  4. 生成的文件
  5. 公共 API
  6. 公用事业

意见

license: MIT npm: v0.3.13 runtime: bun typescript: strict eslint: checked prettier: checked build: checked tests: checked paradox: canonical

跨平台权限注册和运行时间辅助器用于"博览会","回放原生","回放原生"等网络应用,对相机,媒体,位置,通知,麦克风等网络/本土功能进行统一请求/检查API.

使用量

国 际

Ankhorage 包通过命令行界面曝光 ankh启用 ankh --help 来发现可用的软件包命令,或用 --help 用于特定软件包.

# Install the Ankhorage CLI
bun add --global @ankhorage/ankh

# Show usage information for permissions
ankh permissions --help

基本权限

基本权限运行时实例 .

创建权限客户端, 在应用根提供, 并使用 usePermission 以读取、刷新和请求正常的许可状态.

export default function BasicPermissionsExample() {
  return (
    <PermissionsProvider client={permissionClient}>
      <CameraPermissionExample />
    </PermissionsProvider>
  );
}

此套件包含一个额外的示例 。 见生成的整套文档 .

生成的文件

公共 API

公用事业

创建假任务客户端
createFakePermissionClient(options?: FakePermissionClientOptions) => FakePermissionClient

创建用于测试和实例的决定性的记忆内客户端.

假客户端使权限流可以在没有本地设备的情况下进行测试,浏览器 提示、模拟器或网络访问.

模块 : src/testing/index.ts 资料来源: src/testing/index.ts:61:1 相关符号 : FakePermissionClient, (中文(简体) ), FakePermissionClientOptions

创建许可客户端
createPermissionClient() => PermissionClient

创建由 Expo SDK 模块支持的授权客户端 .

否认博览会无法再次要求的,将归正为 blocked有限 媒体图书馆访问和临时或电子iOS通知访问 已正常化为可用 limited 状态,在 granted 事实依然如此. 客户要求 expo-linking 设置恢复和拒绝 无法打开操作系统设置页面时的稳定出错.

博览会模块只有在客户端操作使用时才会被加载. 包裹 root 和 Expo 显示的元数据仍然没有本地模块导入.

模块 : src/expo/client.ts 资料来源: src/expo/client.ts:38:1 相关符号 : PermissionClient

创建许可管理器
createPermissionManager(client: PermissionClient) => PermissionManager

从运行时间特定客户端创建权限管理器 .

管理者验证许可名称并规范客户端结果. 原生应用配置仍然是单独的构建时间关注.

模块 : src/manager/createPermissionManager.ts 资料来源: src/manager/createPermissionManager.ts:21:1 相关符号 : PermissionClient, (中文(简体) ), PermissionManager

创建网络许可客户端
createWebPermissionClient(options?: WebPermissionClientOptions) => PermissionClient

使用被守护的结构全域创建浏览器权限客户端 .

不支持的网络 API 解析为 status: 'unavailable'。适配器不会 导入 DOM 类型,而不假设它在浏览器中运行.

模块 : src/web/index.ts 资料来源: src/web/index.ts:80:1 相关符号 : PermissionClient, (中文(简体) ), WebPermissionClientOptions

权限

由登记处支持的常见运行时间权限 .

该登记册是有意的平台中立的。 适配器每个翻译 允许进入浏览器、 React Introduct 应用程序、 Expo 应用程序或测试 环境实际上可以检查或请求.

模块 : src/registry/permissions.ts 资料来源: src/registry/permissions.ts:9:1

权限提供
PermissionsProvider({
  children,
  client,
  manager,
}: PermissionsProviderProps) => ReactNode

提供权限管理器以回放钩.

反应帮助器是框架中立的. 他们只依靠反应而不依靠 导入浏览器、 Expo 或 React Introduction 权限 API.

相关类型 : PermissionsProviderProps

道具
Prop类型需求默认说明
儿童ReactNode | undefined没有—— 说
客户端PermissionClient | undefined没有—— 说
管理器PermissionManager | undefined没有—— 说

版本与发布记录

@ankhorage/permissions 共发布 81 个版本,首次发布于 2026/06/09;过去 12 个月发布了 81 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.13latest2026/11/051 天前
0.3.122026/10/297 天前
0.3.112026/10/297 天前
0.3.102026/10/2610 天前
0.3.92026/10/2413 天前
0.3.82026/10/2214 天前

关于 @ankhorage/permissions 的常见问题

@ankhorage/permissions 是什么?

跨平台权限注册和运行时间辅助器用于"博览会","回放原生","回放原生"等网络应用,对相机,媒体,位置,通知,麦克风等网络/本土功能进行统一请求/检查API.

如何安装 @ankhorage/permissions?

在项目目录运行 npm install @ankhorage/permissions,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18.2.0 || >=19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ankhorage/permissions 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ankhorage/permissions 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ankhorage/permissions 可以商用吗?

@ankhorage/permissions 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@ankhorage/permissions 的下载量有多少?

根据 npm 官方下载统计,@ankhorage/permissions 在 2026/10/06 – 2026/11/04 这 30 天内被下载 10,043 次,日均约 335 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ankhorage/permissions 还在维护吗?

最新版本 0.3.13 发布于 2026/11/05(1 天前);至今共发布 81 个版本,其中过去 12 个月发布了 81 个;首次发布于 2026/06/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。