# @bondsports/permissions 中文文档

规范地址：https://npmcn.com/package/%40bondsports/permissions/

版本：0\.2\.28-c-1
npm 元数据更新时间：2026-11-01T08:10:05.408Z
中文译文更新时间：2026-11-08T10:54:19.854Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bondsports/permissions
原文对照：https://npmcn.com/package/%40bondsports/permissions/?lang=original
项目主页：https://github.com/Bond-Sports/bondUtils/tree/main/packages/permissions#readme
源码仓库：https://github.com/Bond-Sports/bondUtils#main

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：71.6 kB，60 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2025-01-16T08:22:19.673Z
- 最新版本发布：2026-11-01T08:10:04.480Z
- 近 30 天下载量：4581（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：50（近 12 个月 22 个）

## 中文简介

Bondsports 内部权限字符串包

## 安装

```sh
npm install @bondsports/permissions
```

也可以使用：`pnpm add @bondsports/permissions`、`yarn add @bondsports/permissions`、`bun add @bondsports/permissions`

## README

# 权限软件包

这个软件包集中并组织整个应用程序使用的所有权限,形成结构完善的模块. 这个 确保前端执行和后端执行之间的一致性,希望能够更容易找到和使用 权限.

## 特征

-   **模块组织:** 权限根据其功能域(如:, `calendar`, (中文(简体) ), `commerce`) (中文(简体) ).
-   **强打字:** 权限被定义为具有类型安全性TypeScript支持的常数对象.
-   **集中访问 :** 将所有模块合并为一个单元 `permissions` 用于方便访问的对象.

## 安装

```bash
npm install @bond-sports/permissions
```

## 使用量

所有权限都在中央权限对象中汇总,可以导入用于全局访问 :

```typescript
import permissions from '@bond-sports/permissions';

console.log(permissions.calendar.reservation.create); // Output: "calendar.reservation.create"
console.log(permissions.commerce.kiosk.view);         // Output: "commerce.kiosk.view"
```

## 添加新权限

要添加新权限 :

1.  创建或更新相应的模块文件(例如日历相关权限的日历.ts).
2.  遵循结构:

```typescript
const CalendarPermissions = {
    reservation: {
        create: 'calendar.reservation.create',
        edit: 'calendar.reservation.edit',
    },
    slots: {
        sessions: {
            checkIn: 'calendar.slots.sessions.checkIn',
        },
    },
} as const;

export default CalendarPermissions;
```

3.  确保索引.ts文件导入新模块并更新权限对象.

## 示例:后端的用法

在后端服务中使用访问控制权限 :

```typescript
import permissions from '@bond-sports/permissions';

// Example: Checking user permissions in a middleware
function hasPermission(userPermissions: string[], requiredPermission: string): boolean {
    return userPermissions.includes(requiredPermission);
}

const userPermissions = ['calendar.reservation.create'];
const requiredPermission = permissions.calendar.reservation.create;

if (hasPermission(userPermissions, requiredPermission)) {
    console.log('Permission granted');
} else {
    console.log('Permission denied');
}
```

## 示例:前端使用量

根据用户权限控制 UI 组件 :

```typescript
import permissions from '@bond-sports/permissions';

function PermissionsWrapper({ requiredPermission, children, userPermissions }) {
  if (userPermissions.includes(requiredPermission)) {
    return <>{children}</>;
  }
  return null;
}

// Usage in a React component
<PermissionsWrapper
  requiredPermission={permissions.commerce.kiosk.view}
  userPermissions={['commerce.kiosk.view']}
>
  <button>Access Kiosk</button>
</PermissionsWrapper>;
```

## 捐款

1.  清除寄存器并安装依赖性 :

```bash
git clone git@github.com:Bond-Sports/permissions.git
```

2.  安装项目依赖性 :

```bash
npm install
```

3.  在相应的模块文件中添加或修改权限 .
    
4.  提交并按下您的更改 :
    

```bash
git commit -m "Add new permissions for [feature]"
git push
```

## 出版

当更新被推到特定的分支(如开发,中转,主机)时,此软件包会自动被发布 通过 GitHub 动作 .

## 常见问题

### @bondsports/permissions 是什么？

Bondsports 内部权限字符串包

### 如何安装 @bondsports/permissions？

在项目目录运行 npm install @bondsports/permissions，或使用 pnpm add / yarn add / bun add。

### @bondsports/permissions 支持 TypeScript 吗？

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

### @bondsports/permissions 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @bondsports/permissions 可以商用吗？

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

### @bondsports/permissions 的下载量有多少？

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

### @bondsports/permissions 还在维护吗？

最新版本 0\.2\.28-c-1 发布于 2026/11/01（7 天前）；至今共发布 50 个版本，其中过去 12 个月发布了 22 个；首次发布于 2025/01/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

