refactor: 完成技能数据结构重构 - 分离内部信息与发布信息
- 新增技能内部信息与商店发布信息分离的数据结构 - 重构技能详情页为四段式布局(概览+当前生效版本+版本历史+管理) - 移除历史版本中的下载按钮 - 版本历史改为卡片布局,新增发布信息预览 - 分类与标签合并显示,分类作为第一个标签 - 更新按钮禁用逻辑:下架审核中/已下架状态禁用上传新版本 - 下架技能按钮添加二次确认弹窗 - 补充10个不同状态的技能示例数据 - 同步 delta specs 到主 specs - 归档变更:refactor-skill-data-structure
This commit is contained in:
121
docs/审核流程.md
121
docs/审核流程.md
@@ -42,30 +42,34 @@ flowchart TD
|
||||
## 二、状态定义
|
||||
|
||||
### 2.1 技能状态
|
||||
| 状态 | 英文标识 | 描述 | 样式 | 说明 |
|
||||
|------|---------|------|------|------|
|
||||
| 开发中 | `dev` | 技能已创建但尚未有审核通过的版本 | 灰色 | 仅开发者可见,不在市场展示 |
|
||||
| 已上架 | `published` | 技能有审核通过的版本,可公开访问 | 绿色 | 在技能市场展示,用户可订阅使用 |
|
||||
| 下架审核中 | `unlisting` | 开发者申请下架,等待管理员审核 | 黄色 | 仅允许撤回下架申请,其他操作禁用 |
|
||||
| 已下架 | `unlisted` | 技能已下架,不在技能市场展示 | 灰色 | 仅允许删除操作 |
|
||||
| 状态 | 英文标识 | 描述 | 说明 |
|
||||
|------|---------|------|------|
|
||||
| 开发中 | `dev` | 技能已创建但尚未有审核通过的版本 | 仅开发者可见,不在市场展示 |
|
||||
| 已上架 | `published` | 技能有审核通过的版本,可公开访问 | 在技能市场展示,用户可订阅使用 |
|
||||
| 下架审核中 | `unlisting` | 开发者申请下架,等待管理员审核 | 仅允许撤回下架申请,其他操作禁用 |
|
||||
| 已下架 | `unlisted` | 技能已下架,不在技能市场展示 | 仅允许删除操作 |
|
||||
|
||||
### 2.2 版本状态
|
||||
| 状态 | 英文标识 | 描述 | 样式 | 说明 |
|
||||
|------|---------|------|------|------|
|
||||
| 审核中 | `reviewing` | 版本已提交,等待管理员审核 | 黄色 | 正在审核流程中 |
|
||||
| 审核通过 | `approved` | 版本审核通过,自动生效 | 绿色 | 成为当前生效版本 |
|
||||
| 审核拒绝 | `rejected` | 版本审核未通过 | 红色 | 需要修改后重新上传新版本 |
|
||||
| 已撤销 | `withdrawn` | 开发者主动撤回审核 | 灰色 | 版本废弃,无法恢复 |
|
||||
| 状态 | 英文标识 | 描述 | 说明 |
|
||||
|------|---------|------|------|
|
||||
| 审核中 | `reviewing` | 版本已提交,等待管理员审核 | 正在审核流程中 |
|
||||
| 审核通过 | `approved` | 版本审核通过,自动生效 | 成为当前生效版本 |
|
||||
| 审核拒绝 | `rejected` | 版本审核未通过 | 需要修改后重新上传新版本 |
|
||||
| 已撤销 | `withdrawn` | 开发者主动撤回审核 | 版本废弃,无法恢复 |
|
||||
|
||||
## 三、版本审核流程(新技能/版本提交流程)
|
||||
|
||||
### 3.1 完整流程
|
||||
1. **开发者创建技能**
|
||||
- 填写基本信息(名称、描述、分类、标签、图标)
|
||||
- 填写内部信息(内部名称、内部描述)- 仅供开发者管理使用
|
||||
- 创建完成后,技能状态为 **开发中**
|
||||
|
||||
2. **上传版本**
|
||||
- 创建完成后可立即上传第一个版本
|
||||
- 版本上传时需填写两部分信息:
|
||||
- **版本说明**:供审核参考的版本更新说明
|
||||
- **发布信息**:技能发布名称、发布描述、分类、标签、图标(审核通过后在商店展示)
|
||||
- 非首版本默认继承当前生效版本的发布信息,可按需修改
|
||||
- 版本上传后自动进入审核,版本状态设置为 **审核中**
|
||||
- 添加到管理台"版本审核"待处理列表
|
||||
- 同一时间只能有一个审核中的版本,存在审核中版本时"上传新版本"按钮禁用
|
||||
@@ -77,7 +81,7 @@ flowchart TD
|
||||
|
||||
4. **管理员审核**
|
||||
- 所有管理员均可查看并处理所有版本审核申请
|
||||
- 审核详情包含:技能基本信息、版本信息、技能包文件列表
|
||||
- 审核详情包含:版本发布信息预览(发布名称、描述、分类、标签、图标)、版本信息、技能包文件列表
|
||||
- 管理员可执行操作:**拒绝**(必填拒绝理由)或 **通过**
|
||||
|
||||
5. **审核通过处理**
|
||||
@@ -132,13 +136,18 @@ flowchart TD
|
||||
## 五、操作规则明细
|
||||
|
||||
### 5.1 技能状态与可用操作对照表
|
||||
| 技能状态 | 是否可更新基本信息 | 是否可上传新版本 | 是否可下架 | 是否可删除 | 说明 |
|
||||
| 技能状态 | 是否可更新内部信息 | 是否可上传新版本 | 是否可下架 | 是否可删除 | 说明 |
|
||||
|---------|-------------------|-----------------|-----------|-----------|------|
|
||||
| 开发中 | ✅ 允许 | ✅ 允许(无审核中版本时) | - | ✅ 允许 | 未上架,可直接删除 |
|
||||
| 已上架(无审核中版本) | ✅ 允许 | ✅ 允许 | ✅ 允许 | ❌ 禁用 | 已上架需先下架才能删除 |
|
||||
| 已上架(有审核中版本) | ✅ 允许 | ❌ 禁用 | ❌ 禁用 | ❌ 禁用 | 等待审核完成后才能操作 |
|
||||
| 下架审核中 | ❌ 禁用 | ❌ 禁用 | ✅ 仅允许撤回下架申请 | ❌ 禁用 | 仅"撤回下架申请"按钮可用 |
|
||||
| 已下架 | ❌ 禁用 | ❌ 不适用 | - | ✅ 允许 | 仅支持删除操作 |
|
||||
| 开发中(无审核中版本) | 允许 | 允许 | - | 允许 | 未上架,可直接删除 |
|
||||
| 开发中(有审核中版本) | 允许 | 禁用 | - | 禁用 | 需先撤回审核中的版本 |
|
||||
| 已上架(无审核中版本) | 允许 | 允许 | 允许 | 禁用 | 已上架需先下架才能删除 |
|
||||
| 已上架(有审核中版本) | 允许 | 禁用 | 禁用 | 禁用 | 等待审核完成后才能操作 |
|
||||
| 下架审核中 | 允许 | 禁用 | 仅允许撤回下架申请 | 禁用 | 仅"撤回下架申请"按钮可用 |
|
||||
| 已下架 | 允许 | 禁用 | - | 允许 | 仅支持编辑内部信息和删除操作 |
|
||||
|
||||
**注:**
|
||||
- 内部信息(内部名称、内部描述)可随时更新,不涉及审核流程
|
||||
- 有审核中版本的判断依据是存在未完成的审核流程,此时除了"撤回审核"外的其他操作按钮均禁用
|
||||
|
||||
### 5.2 版本操作规则
|
||||
| 版本状态 | 开发者可用操作 | 说明 |
|
||||
@@ -177,7 +186,39 @@ flowchart TD
|
||||
9. **删除终态规则**:技能删除后所有数据彻底清除,不可恢复
|
||||
10. **名称规则**:技能名称允许重复,仅技能ID全局唯一
|
||||
|
||||
## 七、常见问题
|
||||
## 附录一、数据结构设计说明
|
||||
|
||||
### 1.1 核心设计思路
|
||||
为解决审核漏洞问题(开发者修改基本信息无需审核即可同步到商店),将技能信息分离为两套独立数据:
|
||||
|
||||
| 数据类型 | 存储位置 | 用途 | 修改方式 | 审核要求 |
|
||||
|---------|---------|------|---------|---------|
|
||||
| **开发者内部信息** | 技能主体 | 开发者管理技能使用 | 直接编辑 | 无需审核 |
|
||||
| **版本发布信息** | 版本记录 | 技能商店展示 | 发布新版本 | 必须审核 |
|
||||
|
||||
### 1.2 开发者内部信息(技能主体)
|
||||
- **可随时修改**,无需审核
|
||||
- **不影响**技能商店展示
|
||||
- **仅供**开发者在"我的技能"列表和详情页中查看
|
||||
|
||||
### 1.3 版本发布信息(版本记录)
|
||||
- **存储在版本中**,随版本一起审核
|
||||
- **审核通过后**自动生效,成为商店展示内容
|
||||
- **修改必须发布新版本**,走完整审核流程
|
||||
|
||||
### 1.4 技能商店展示规则
|
||||
- 仅展示状态为 `published`(已上架)的技能
|
||||
- 展示信息**完全从当前生效版本**的发布信息中读取
|
||||
- 技能主体的内部信息**永不**在商店展示
|
||||
|
||||
### 1.5 审核完整性保障
|
||||
任何影响技能商店展示的内容变更(名称、描述、分类、标签、图标):
|
||||
- 都必须存储在版本中
|
||||
- 都必须经过版本审核流程
|
||||
- 都必须在审核通过后才能生效
|
||||
- 开发者无法绕过审核直接修改商店展示内容
|
||||
|
||||
## 附录二、常见问题
|
||||
|
||||
### 📋 流程相关问题
|
||||
#### 1. 技能已有上架版本,提交新版本审核的过程中,旧版本还可以正常使用吗?
|
||||
@@ -208,40 +249,52 @@ flowchart TD
|
||||
#### 9. 一个技能有多个历史版本被审核拒绝过,上传新版本时会不会有额外限制?
|
||||
不会。所有版本审核流程独立,历史拒绝记录不影响新版本的审核流程,只要提交新版本就会进入正常审核队列。
|
||||
|
||||
#### 10. 开发者在版本审核过程中修改了技能的基本信息(名称、描述、标签等),会不会影响正在审核中的版本?
|
||||
不会。版本审核是针对提交时的技能包内容,技能基本信息的修改独立于版本审核流程,修改后立即生效,不影响正在审核中的版本内容。
|
||||
#### 10. 开发者在版本审核过程中修改了技能的内部信息,会不会影响正在审核中的版本?
|
||||
不会。内部信息修改仅供开发者管理使用,与版本审核流程完全独立,不影响正在审核中的版本,也不影响商店展示内容。
|
||||
|
||||
#### 11. 开发者想要修改技能在商店的展示名称,应该怎么操作?
|
||||
必须发布新版本。在上传新版本时填写新的发布名称,待版本审核通过后,新的发布名称会自动在商店展示。
|
||||
|
||||
#### 12. 开发者可以随时修改内部信息吗?修改后需要审核吗?
|
||||
可以随时修改内部信息,无需审核。内部信息仅供开发者自己管理使用,不会影响技能商店展示。
|
||||
|
||||
#### 13. 第一个版本上传时,发布信息是必填的吗?
|
||||
是的。发布信息(发布名称、发布描述、分类、标签、图标)是上传版本时的必填项,这些信息将在审核通过后展示在技能商店。
|
||||
|
||||
#### 14. 非首版本上传时,发布信息可以不填吗?
|
||||
可以不填,系统会自动继承当前生效版本的发布信息作为默认值,开发者可以在此基础上按需修改。
|
||||
|
||||
### 🔍 审核管理问题
|
||||
#### 11. 版本审核被拒绝后,可以修改内容后用原来的版本重新提交审核吗?
|
||||
#### 15. 版本审核被拒绝后,可以修改内容后用原来的版本重新提交审核吗?
|
||||
不可以,审核拒绝的版本不可重新提交,必须修改内容后上传全新版本,走完整的新版本审核流程。
|
||||
|
||||
#### 12. 审核拒绝的理由填错了,管理员能不能修改拒绝理由?
|
||||
#### 16. 审核拒绝的理由填错了,管理员能不能修改拒绝理由?
|
||||
不可以。审核拒绝理由提交后无法二次修改,管理员提交前需确认内容正确。
|
||||
|
||||
#### 13. 管理员审核版本的时候,能不能下载技能包查看内容?
|
||||
#### 17. 管理员审核版本的时候,能不能下载技能包查看内容?
|
||||
可以。仅管理员在审核版本时可下载技能包查看内容,开发者侧不提供任何版本的下载功能。
|
||||
|
||||
#### 14. 所有管理员都可以处理审核申请吗?有没有分级权限?
|
||||
#### 18. 所有管理员都可以处理审核申请吗?有没有分级权限?
|
||||
所有管理员可见全部审核申请(版本审核+下架审核),均可直接执行审核操作,无分级权限限制。
|
||||
|
||||
### 📤 下架相关问题
|
||||
#### 15. 下架审核期间开发者想取消下架,应该怎么处理?
|
||||
#### 19. 下架审核期间开发者想取消下架,应该怎么处理?
|
||||
可以直接撤回下架申请,撤回后技能立即恢复为已上架状态,所有功能和操作恢复正常。
|
||||
|
||||
#### 16. 已下架的技能想要重新上架,需要走什么流程?
|
||||
#### 20. 已下架的技能想要重新上架,需要走什么流程?
|
||||
已下架技能不支持直接恢复上架,必须创建全新的技能,按新技能完整的创建、上传版本、审核流程重新提交。
|
||||
|
||||
#### 17. 已下架的技能,开发者还能查看之前的版本历史和审核拒绝理由吗?
|
||||
#### 21. 已下架的技能,开发者还能查看之前的版本历史和审核拒绝理由吗?
|
||||
可以。已下架技能仅限制操作(只能删除),但历史数据(版本记录、拒绝理由等)均保留可见,开发者可以正常查阅。
|
||||
|
||||
#### 18. 技能处于开发中状态,上传了第一个版本正在审核中,此时开发者可以删除该技能吗?
|
||||
#### 22. 技能处于开发中状态,上传了第一个版本正在审核中,此时开发者可以删除该技能吗?
|
||||
不可以。存在审核中的版本时,删除操作被禁用,需要先撤回审核中的版本,待状态恢复为开发中无审核中版本后,才可以删除技能。
|
||||
|
||||
#### 19. 已下架的技能被删除之后,有没有办法恢复?
|
||||
#### 23. 已下架的技能被删除之后,有没有办法恢复?
|
||||
不可以。删除操作是终态操作,技能删除后所有数据彻底清除,无法恢复。
|
||||
|
||||
### ❓ 其他问题
|
||||
#### 20. 开发者创建和已删除技能同名的新技能,会不会被限制?
|
||||
#### 24. 开发者创建和已删除技能同名的新技能,会不会被限制?
|
||||
不会。技能名称允许重复,仅技能ID全局唯一不可重复,删除的技能名称可被重新使用。
|
||||
|
||||
*最后更新:2026-03-21*
|
||||
*最后更新:2026-03-21*
|
||||
|
||||
Reference in New Issue
Block a user