# 工作区与项目

控制台中其他一切都依附的两个对象：工作区中谁能做什么、项目如何把构建和密钥归在一起，以及各个设置页面能更改什么。

Source: https://www.afterpack.dev/zh/docs/dashboard/workspaces

**工作区**拥有订阅、[配额池](https://www.afterpack.dev/zh/docs/dashboard/usage)、各个项目以及 [API 密钥](https://www.afterpack.dev/zh/docs/dashboard/api-keys)；**项目**把这些密钥产生的[构建](https://www.afterpack.dev/zh/docs/dashboard/builds)归在一起。控制台中的其他一切都归属于两者之一，这就是为什么侧边栏顶部为两者各设了一个选择器。[注册](https://www.afterpack.dev/zh/docs/accounts)时会为你创建一个工作区，其中有一个 `Default` 项目。你可以同时属于多个工作区：你自己的，以及任何邀请你加入的，每个工作区[单独计费](https://www.afterpack.dev/zh/docs/tiers)。

## 角色

三种角色。

| | 所有者 | 管理员 | 成员 |
| --- | --- | --- | --- |
| 查看工作区及其项目、构建、Protection Map 和用量 | 是 | 是 | 是 |
| 查看账单状态 | 是 | 是 | 是 |
| 重命名工作区，创建 / 重命名 / 删除项目 | 是 | 是 | 否 |
| 创建和撤销 API 密钥 | 是 | 是 | 否 |
| 邀请成员、撤销邀请、更改成员角色 | 是 | 是 | 否 |
| 打开支付门户、发起结账、编辑账单信息 | 是 | 是 | 否 |
| 更改套餐、取消、恢复、更改超额设置 | 是 | 否 | 否 |
| 删除工作区 | 是 | 否 | 否 |
| 退出工作区 | 见下文 | 是 | 是 |

工作区始终有且只有一个所有者，且所有者不能被移除；移除他人需要管理员或更高权限，而移除自己（退出）始终是允许的。所有权无法转让，因此所有者不能退出自己拥有的工作区。

> **Note**
>
> 每个层级（包括 Free）的成员数都不限。套餐限制的是**项目**和 **MB**，从不限制人数。

## 工作区设置

侧边栏中工作区下标为**设置**的页面。

- **名称**：点击标题即可重命名。需要管理员及以上权限。
- **成员**：每位成员一行：是谁、角色，以及加入时间，你自己的那一行标有*你*。管理员可以更改角色或移除成员；待处理的邀请也显示在同一视图中，标为*已邀请*，并显示剩余有效时间。
- **待处理邀请**：邮箱、角色、发送时间、过期时间。邀请通过邮件发送，**7 天**后过期；打开链接即可一步完成对该邮箱的认证并接受邀请。撤销邀请会立即使其链接失效；邀请可以以 `admin` 或 `member` 身份发出，但不能以 `owner` 身份发出。
- **危险区域**：*退出工作区*（你会立即失去对它及其所有项目的访问权限，需要新的邀请才能回来），对所有者而言还有*删除工作区*（永久删除该工作区、其项目及其所有 API 密钥）。

邀请已经是成员的人，或已有待处理邀请的人，会被拒绝。

## 项目

项目是工作区划分工作的方式。[API 密钥](https://www.afterpack.dev/zh/docs/dashboard/api-keys)绑定到某个项目，构建从产生它的密钥继承所属项目，从而把构建、[Protection Map](https://www.afterpack.dev/zh/docs/protection-map)、用量和[诊断信息](https://www.afterpack.dev/zh/docs/diagnostics)都归在该项目下。从侧边栏的项目选择器（*新建项目*）创建项目；套餐限制了一个工作区可以拥有的项目数量，达到上限时会返回升级提示。各层级的上限参见[套餐与层级](https://www.afterpack.dev/zh/docs/tiers)。

### 项目设置

- **名称**：点击标题即可重命名。需要管理员及以上权限。
- **Protection Map**：“为每次 Pro Cloud 构建保存 Protection Map”。默认开启。这是一个[隐私开关](https://www.afterpack.dev/zh/docs/privacy)。

保存的地图内嵌你的原始源代码，工作区中的每个人都能查看；保留期限和按项目的开关参见[隐私与数据处理](https://www.afterpack.dev/zh/docs/privacy#protection-maps-for-cloud-builds-are-stored-and-you-can-turn-that-off)。关闭记录后，新的构建将不再留存源代码，不过图表背后的数字无论如何都会继续记录，已保存的地图在过期前仍可查看。

- **危险区域**：*删除项目*。永久删除。绑定到它的密钥仍然可用，但不再把构建归集到它下面。

关闭记录还能缩短构建时间，因为生成并返回地图在 Pro Cloud 构建的边缘耗时中占了不小的比例。

## 设置新项目

还没有构建的项目会显示一份清单而不是空图表，步骤顺序就是实际必须执行的顺序：

1. 为你的打包工具[安装插件](https://www.afterpack.dev/zh/docs/frameworks)。
2. [创建项目 API 密钥](https://www.afterpack.dev/zh/docs/dashboard/api-keys)。
3. [在 CI 环境中设置该密钥](https://www.afterpack.dev/zh/docs/builds)。
4. [将插件添加到打包工具配置中](https://www.afterpack.dev/zh/docs/quickstart#pick-your-framework)。
5. 推送一次构建。它会自动出现在这里。

## 下一步

- [API 密钥](https://www.afterpack.dev/zh/docs/dashboard/api-keys)：把构建绑定到此项目的凭据。
- [构建](https://www.afterpack.dev/zh/docs/dashboard/builds)：密钥投入使用后会显示什么。
- [用量与账单](https://www.afterpack.dev/zh/docs/dashboard/usage)：工作区所有项目共用的额度池。
- [账户](https://www.afterpack.dev/zh/docs/accounts)：账户的用途，以及你自己的账户页面。
