docs: 更新 README 和新增审核流程文档

This commit is contained in:
2026-03-21 15:39:05 +08:00
parent dbfb3c08c9
commit 8179ff2f95
2 changed files with 249 additions and 305 deletions

247
docs/审核流程.md Normal file
View File

@@ -0,0 +1,247 @@
# 审核审批流程说明文档
## 一、审核流程总图
### 1.1 版本审核流程图
```mermaid
flowchart TD
A[开发者创建技能] --> B[版本状态: 无<br/>技能状态: 开发中]
B --> C[开发者上传新版本]
C --> D[版本状态: 审核中<br/>技能状态: 开发中/已上架]
D --> E[添加到版本审核待处理列表]
E --> F[管理员处理审核]
F -->|通过| G[版本状态: 审核通过]
G --> H{是首个通过版本?}
H -->|是| I[技能状态: 已上架<br/>当前生效版本更新为该版本]
H -->|否| J[当前生效版本更新为该版本<br/>技能状态保持不变]
I --> K[技能可在市场展示]
J --> K
K --> End[结束]
F -->|拒绝| L[版本状态: 审核拒绝<br/>技能状态保持不变]
L --> M[管理员填写拒绝理由]
M --> N[开发者查看拒绝理由]
N --> End
```
### 1.2 下架审核流程图
```mermaid
flowchart TD
A[前置条件: 技能状态已上架<br/>版本状态无审核中] --> B[开发者点击下架技能]
B --> C[技能状态: 下架审核中<br/>版本状态保持不变<br/>仅允许撤回下架申请]
C --> D[添加到下架审核待处理列表]
C -->|开发者撤回申请| H[技能状态: 已上架<br/>版本状态保持不变<br/>操作按钮恢复可用]
H --> I[维持上架状态,用户可正常使用]
I --> End
D --> E[管理员处理下架申请]
E -->|通过| F[技能状态: 已下架<br/>版本状态保持不变<br/>仅允许删除操作]
F --> G[从技能市场移除<br/>已订阅用户无法继续使用]
G --> End
E -->|拒绝| H
```
## 二、状态定义
### 2.1 技能状态
| 状态 | 英文标识 | 描述 | 样式 | 说明 |
|------|---------|------|------|------|
| 开发中 | `dev` | 技能已创建但尚未有审核通过的版本 | 灰色 | 仅开发者可见,不在市场展示 |
| 已上架 | `published` | 技能有审核通过的版本,可公开访问 | 绿色 | 在技能市场展示,用户可订阅使用 |
| 下架审核中 | `unlisting` | 开发者申请下架,等待管理员审核 | 黄色 | 仅允许撤回下架申请,其他操作禁用 |
| 已下架 | `unlisted` | 技能已下架,不在技能市场展示 | 灰色 | 仅允许删除操作 |
### 2.2 版本状态
| 状态 | 英文标识 | 描述 | 样式 | 说明 |
|------|---------|------|------|------|
| 审核中 | `reviewing` | 版本已提交,等待管理员审核 | 黄色 | 正在审核流程中 |
| 审核通过 | `approved` | 版本审核通过,自动生效 | 绿色 | 成为当前生效版本 |
| 审核拒绝 | `rejected` | 版本审核未通过 | 红色 | 需要修改后重新上传新版本 |
| 已撤销 | `withdrawn` | 开发者主动撤回审核 | 灰色 | 版本废弃,无法恢复 |
## 三、版本审核流程(新技能/版本提交流程)
### 3.1 完整流程
1. **开发者创建技能**
- 填写基本信息(名称、描述、分类、标签、图标)
- 创建完成后,技能状态为 **开发中**
2. **上传版本**
- 创建完成后可立即上传第一个版本
- 版本上传后自动进入审核,版本状态设置为 **审核中**
- 添加到管理台"版本审核"待处理列表
- 同一时间只能有一个审核中的版本,存在审核中版本时"上传新版本"按钮禁用
3. **开发者操作:撤回审核(可选)**
- 审核中的版本,开发者可执行撤回操作
- 撤回后版本状态变为 **已撤销**(终态)
- 撤回后可重新上传新版本
4. **管理员审核**
- 所有管理员均可查看并处理所有版本审核申请
- 审核详情包含:技能基本信息、版本信息、技能包文件列表
- 管理员可执行操作:**拒绝**(必填拒绝理由)或 **通过**
5. **审核通过处理**
- 版本状态更新为 **审核通过**
- 如果是第一个通过的版本 → 技能状态变为 **已上架**
- 该版本成为当前生效版本,审核通过后立即自动生效
- 已有旧版本的技能:新版本审核期间旧版本正常服务,审核通过后平滑切换到新版本
- 不支持版本回滚,如需恢复历史版本需重新上传旧版本代码,视为全新版本处理
6. **审核拒绝处理**
- 版本状态更新为 **审核拒绝**
- 管理员必须填写拒绝理由,提交后不可修改
- 开发者可在技能详情页查看拒绝理由
- 审核拒绝的版本不可重新提交,必须修改后上传新版本走全新审核流程
### 3.2 页面入口
| 角色 | 页面路径 | 功能说明 |
|------|---------|---------|
| 开发者 | 开发台 → 我的技能 → 技能详情 | 上传版本、查看审核状态、撤回审核 |
| 管理员 | 工作台 → 审核管理 → 版本审核 | 查看待审核列表、进入审核详情、执行审核操作 |
## 四、下架审核流程
### 4.1 完整流程
1. **发起下架申请**
- 前提:技能处于已上架状态,且无审核中的版本
- 开发者在技能详情页点击"下架技能"
- 技能状态变为 **下架审核中**
- 添加到管理台"下架审核"待处理列表
- 下架审核期间仅允许"撤回下架申请"操作,其他所有操作按钮全部禁用
2. **开发者撤回申请(可选)**
- 管理员审核完成前,开发者可随时撤回下架申请
- 撤回后技能状态立即恢复为 **已上架**
- 所有操作按钮恢复可用
3. **管理员审核下架申请**
- 所有管理员均可查看并处理所有下架审核申请
- 审核详情包含:技能信息、订阅数、申请时间等
- 管理员可执行操作:**拒绝** 或 **通过**
4. **审核结果处理**
- **审核通过**:技能状态变为 **已下架**,从技能市场移除,所有用户(含已订阅用户)无法继续使用
- **审核拒绝**:技能状态恢复为 **已上架**,继续在技能市场正常展示
### 4.2 关键说明
- 下架必须经过管理员审核,开发者无法直接下架
- 下架审核期间技能在市场正常展示,所有用户可正常使用
- 已下架技能仅支持删除操作,不可编辑、不可上传新版本
- 已下架技能如需重新上架,必须创建全新技能,按新技能完整流程重新提交审核
## 五、操作规则明细
### 5.1 技能状态与可用操作对照表
| 技能状态 | 是否可更新基本信息 | 是否可上传新版本 | 是否可下架 | 是否可删除 | 说明 |
|---------|-------------------|-----------------|-----------|-----------|------|
| 开发中 | ✅ 允许 | ✅ 允许(无审核中版本时) | - | ✅ 允许 | 未上架,可直接删除 |
| 已上架(无审核中版本) | ✅ 允许 | ✅ 允许 | ✅ 允许 | ❌ 禁用 | 已上架需先下架才能删除 |
| 已上架(有审核中版本) | ✅ 允许 | ❌ 禁用 | ❌ 禁用 | ❌ 禁用 | 等待审核完成后才能操作 |
| 下架审核中 | ❌ 禁用 | ❌ 禁用 | ✅ 仅允许撤回下架申请 | ❌ 禁用 | 仅"撤回下架申请"按钮可用 |
| 已下架 | ❌ 禁用 | ❌ 不适用 | - | ✅ 允许 | 仅支持删除操作 |
### 5.2 版本操作规则
| 版本状态 | 开发者可用操作 | 说明 |
|---------|---------------|------|
| 审核中 | 撤回审核 | 撤回后版本变为已撤销,无法恢复 |
| 审核通过 | 无 | 生效版本,不可修改 |
| 审核拒绝 | 无 | 不可重新提交,必须上传新版本 |
| 已撤销 | 无 | 终态,无法继续操作 |
> 注:管理员在审核版本时可下载技能包查看内容,开发者侧无任何版本下载权限。
### 5.3 界面展示规则
**我的技能列表状态展示:**
| 技能状态 | 显示文本 |
|---------|---------|
| 开发中 | 开发中 |
| 已上架 | 已上架 |
| 已上架+有审核中版本 | 已上架 · 审核中 |
| 下架审核中 | 下架审核中 |
| 已下架 | 已下架 |
**技能市场展示规则:**
- 仅展示状态为 `published`(已上架)的技能
- 每个技能仅展示最新审核通过版本的信息
- 不展示版本历史和审核相关信息
## 六、核心业务规则总结
1. **单审核互斥规则**:一个技能同一时间只能有一个审核中的记录(版本审核/下架审核互斥),存在未完成审核时禁止发起其他审核操作
2. **版本号规则**:版本号由后端自动按 `vX.Y.Z` 格式递增生成,前端无需输入
3. **上传即审核**:版本上传完成后自动进入审核队列,无草稿状态
4. **版本生效规则**:审核通过后立即自动生效,旧版本平滑切换,不支持版本回滚
5. **拒绝后重传规则**:审核拒绝的版本不可修改重新提交,必须上传新版本
6. **下架审核规则**:下架必须经过管理员审核,审核通过后所有用户无法继续使用该技能
7. **已下架规则**:已下架技能仅可删除,重新上架必须创建全新技能
8. **管理员权限规则**:所有管理员可见并可操作所有审核申请,无分级权限限制
9. **删除终态规则**:技能删除后所有数据彻底清除,不可恢复
10. **名称规则**技能名称允许重复仅技能ID全局唯一
## 七、常见问题
### 📋 流程相关问题
#### 1. 技能已有上架版本,提交新版本审核的过程中,旧版本还可以正常使用吗?
可以,旧版本会正常提供服务,所有用户使用不受影响,直到新版本审核通过后自动切换为生效版本。
#### 2. 技能有正在审核的新版本,同时想要申请下架可以吗?
不可以,一个技能同一时间只能有一个审核中的记录,必须等前一个审核流程完全结束后,才能发起第二个审核申请。
#### 3. 技能有新版本在审核中,此时线上旧版本出现严重安全漏洞想紧急下架,怎么处理?
首先开发者需要先撤回正在审核中的新版本,待版本审核流程终止后,再发起下架申请。或者联系管理员先拒绝该新版本的审核请求,审核流程终止后即可提交下架申请。
#### 4. 同一个开发者的多个不同技能,能不能同时提交版本审核?
可以。单审核互斥规则仅限制**同一个技能**同一时间只能有一个审核中的记录,不同技能之间的审核流程完全独立,互不影响。
#### 5. 开发者刚刚撤回下架申请,马上又再次提交下架申请,可以吗?
可以。撤回下架申请后审核流程终止,技能恢复为正常已上架状态,没有提交频率限制,可随时再次提交下架申请。
### 📦 版本相关问题
#### 6. 版本审核已经通过后,开发者才发现传错了版本包,能不能撤回已经通过的版本?
不可以。版本审核通过后立即生效,无法撤回。如需修正需要重新上传正确的版本包,按新版本流程重新提交审核,审核通过后会自动切换为当前生效版本。
#### 7. 开发者上传的第一个版本审核被拒绝,修改后能不能复用之前的版本号重新上传?
不可以。版本号由后端自动生成,每次上传新版本都会自动递增,开发者无法指定或复用历史版本号,修改后的版本会视为全新版本,分配新的版本号。
#### 8. 想要恢复到历史版本的代码,应该怎么操作?
平台不支持版本回滚,如需使用历史版本代码,开发者需要重新上传旧版本的技能包,平台会视为全新版本处理,重新走完整审核流程。
#### 9. 一个技能有多个历史版本被审核拒绝过,上传新版本时会不会有额外限制?
不会。所有版本审核流程独立,历史拒绝记录不影响新版本的审核流程,只要提交新版本就会进入正常审核队列。
#### 10. 开发者在版本审核过程中修改了技能的基本信息(名称、描述、标签等),会不会影响正在审核中的版本?
不会。版本审核是针对提交时的技能包内容,技能基本信息的修改独立于版本审核流程,修改后立即生效,不影响正在审核中的版本内容。
### 🔍 审核管理问题
#### 11. 版本审核被拒绝后,可以修改内容后用原来的版本重新提交审核吗?
不可以,审核拒绝的版本不可重新提交,必须修改内容后上传全新版本,走完整的新版本审核流程。
#### 12. 审核拒绝的理由填错了,管理员能不能修改拒绝理由?
不可以。审核拒绝理由提交后无法二次修改,管理员提交前需确认内容正确。
#### 13. 管理员审核版本的时候,能不能下载技能包查看内容?
可以。仅管理员在审核版本时可下载技能包查看内容,开发者侧不提供任何版本的下载功能。
#### 14. 所有管理员都可以处理审核申请吗?有没有分级权限?
所有管理员可见全部审核申请(版本审核+下架审核),均可直接执行审核操作,无分级权限限制。
### 📤 下架相关问题
#### 15. 下架审核期间开发者想取消下架,应该怎么处理?
可以直接撤回下架申请,撤回后技能立即恢复为已上架状态,所有功能和操作恢复正常。
#### 16. 已下架的技能想要重新上架,需要走什么流程?
已下架技能不支持直接恢复上架,必须创建全新的技能,按新技能完整的创建、上传版本、审核流程重新提交。
#### 17. 已下架的技能,开发者还能查看之前的版本历史和审核拒绝理由吗?
可以。已下架技能仅限制操作(只能删除),但历史数据(版本记录、拒绝理由等)均保留可见,开发者可以正常查阅。
#### 18. 技能处于开发中状态,上传了第一个版本正在审核中,此时开发者可以删除该技能吗?
不可以。存在审核中的版本时,删除操作被禁用,需要先撤回审核中的版本,待状态恢复为开发中无审核中版本后,才可以删除技能。
#### 19. 已下架的技能被删除之后,有没有办法恢复?
不可以。删除操作是终态操作,技能删除后所有数据彻底清除,无法恢复。
### ❓ 其他问题
#### 20. 开发者创建和已删除技能同名的新技能,会不会被限制?
不会。技能名称允许重复仅技能ID全局唯一不可重复删除的技能名称可被重新使用。
*最后更新2026-03-21*