diff --git a/docs/审核流程.md b/docs/审核流程.md index bc62fe5..ea7afec 100644 --- a/docs/审核流程.md +++ b/docs/审核流程.md @@ -103,6 +103,11 @@ flowchart TD | 开发者 | 开发台 → 我的技能 → 技能详情 | 上传版本、查看审核状态、撤回审核 | | 管理员 | 工作台 → 审核管理 → 版本审核 | 查看待审核列表、进入审核详情、执行审核操作 | +### 3.3 管理台审核列表展示规则 +- **排序规则**:按提交时间倒序排列,最新提交的审核申请在最前 +- **展示名称**:列表中展示版本的 `publicName`(发布名称) +- **已处理记录**:展示所有审核记录(包括已通过/已拒绝),用状态标签区分 + ## 四、下架审核流程 ### 4.1 完整流程 @@ -136,14 +141,20 @@ flowchart TD ## 五、操作规则明细 ### 5.1 技能状态与可用操作对照表 -| 技能状态 | 是否可更新内部信息 | 是否可上传新版本 | 是否可下架 | 是否可删除 | 说明 | -|---------|-------------------|-----------------|-----------|-----------|------| -| 开发中(无审核中版本) | 允许 | 允许 | - | 允许 | 未上架,可直接删除 | -| 开发中(有审核中版本) | 允许 | 禁用 | - | 禁用 | 需先撤回审核中的版本 | -| 已上架(无审核中版本) | 允许 | 允许 | 允许 | 禁用 | 已上架需先下架才能删除 | -| 已上架(有审核中版本) | 允许 | 禁用 | 禁用 | 禁用 | 等待审核完成后才能操作 | -| 下架审核中 | 允许 | 禁用 | 仅允许撤回下架申请 | 禁用 | 仅"撤回下架申请"按钮可用 | -| 已下架 | 允许 | 禁用 | - | 允许 | 仅支持编辑内部信息和删除操作 | +| 技能状态 | 编辑内部信息 | 上传新版本 | 下架技能 | 删除技能 | 说明 | +|---------|------------|----------|---------|---------|------| +| 开发中(无审核中版本) | ✅ | ✅ | - | ✅ | 未上架,可直接删除 | +| 开发中(有审核中版本) | ✅ | ❌ | - | ❌ | 需先撤回审核中的版本 | +| 已上架(无审核中版本) | ✅ | ✅ | ✅ | ❌ | 已上架需先下架才能删除 | +| 已上架(有审核中版本) | ✅ | ❌ | ❌ | ❌ | 等待审核完成后才能操作 | +| 下架审核中 | ✅ | ❌ | 仅撤回 | ❌ | 仅"撤回下架申请"按钮可用 | +| 已下架 | ✅ | ❌ | - | ✅ | 仅支持编辑内部信息和删除操作 | + +**图标说明:** +- ✅ = 允许操作 +- ❌ = 禁用操作 +- - = 不适用 +- "仅撤回" = 仅允许撤回下架申请 **注:** - 内部信息(内部名称、内部描述)可随时更新,不涉及审核流程 @@ -176,7 +187,7 @@ flowchart TD ## 六、核心业务规则总结 1. **单审核互斥规则**:一个技能同一时间只能有一个审核中的记录(版本审核/下架审核互斥),存在未完成审核时禁止发起其他审核操作 -2. **版本号规则**:版本号由后端自动按 `vX.Y.Z` 格式递增生成,前端无需输入 +2. **版本号规则**:版本号由后端自动按 `X.Y.Z` 格式递增生成,前端无需输入 3. **上传即审核**:版本上传完成后自动进入审核队列,无草稿状态 4. **版本生效规则**:审核通过后立即自动生效,旧版本平滑切换,不支持版本回滚 5. **拒绝后重传规则**:审核拒绝的版本不可修改重新提交,必须上传新版本 @@ -220,81 +231,111 @@ flowchart TD ## 附录二、常见问题 +### 🤔 基础概念 +#### 1. 内部信息和发布信息有什么区别? +- **内部信息**:技能主体中的内部名称、内部描述,仅供开发者自己管理使用,可随时修改无需审核,**永不**在技能商店展示。 +- **发布信息**:版本记录中的发布名称、发布描述、分类、标签、图标,随版本一起审核,审核通过后在技能商店展示,修改必须发布新版本。 + +#### 2. 如何查看技能当前的审核状态? +开发者可在"我的技能"列表或技能详情页查看技能状态和版本状态: +- 技能状态:开发中、已上架、下架审核中、已下架 +- 版本状态:审核中、审核通过、审核拒绝、已撤销 + +#### 3. 分类和标签在商店是怎么展示的? +分类始终作为第一个标签显示,与普通标签一起展示,不单独区分分类和标签。 + ### 📋 流程相关问题 -#### 1. 技能已有上架版本,提交新版本审核的过程中,旧版本还可以正常使用吗? +#### 4. 技能已有上架版本,提交新版本审核的过程中,旧版本还可以正常使用吗? 可以,旧版本会正常提供服务,所有用户使用不受影响,直到新版本审核通过后自动切换为生效版本。 -#### 2. 技能有正在审核的新版本,同时想要申请下架可以吗? -不可以,一个技能同一时间只能有一个审核中的记录,必须等前一个审核流程完全结束后,才能发起第二个审核申请。 +#### 5. 技能有正在审核的新版本,同时想要申请下架可以吗? +不可以,一个技能同一时间只能有一个审核中的记录(版本审核/下架审核互斥),必须等前一个审核流程完全结束后,才能发起第二个审核申请。 -#### 3. 技能有新版本在审核中,此时线上旧版本出现严重安全漏洞想紧急下架,怎么处理? -首先开发者需要先撤回正在审核中的新版本,待版本审核流程终止后,再发起下架申请。或者联系管理员先拒绝该新版本的审核请求,审核流程终止后即可提交下架申请。 +#### 6. 技能有新版本在审核中,此时线上旧版本出现严重安全漏洞想紧急下架,怎么处理? +首先开发者需要先撤回正在审核中的新版本(撤回后该版本变为已撤销状态,不可恢复),待版本审核流程终止后,再发起下架申请。或者联系管理员先拒绝该新版本的审核请求,审核流程终止后即可提交下架申请。 -#### 4. 同一个开发者的多个不同技能,能不能同时提交版本审核? +#### 7. 同一个开发者的多个不同技能,能不能同时提交版本审核? 可以。单审核互斥规则仅限制**同一个技能**同一时间只能有一个审核中的记录,不同技能之间的审核流程完全独立,互不影响。 -#### 5. 开发者刚刚撤回下架申请,马上又再次提交下架申请,可以吗? +#### 8. 开发者刚刚撤回下架申请,马上又再次提交下架申请,可以吗? 可以。撤回下架申请后审核流程终止,技能恢复为正常已上架状态,没有提交频率限制,可随时再次提交下架申请。 +#### 9. 下架审核期间,技能在商店还能正常使用吗? +可以。下架审核期间技能在市场正常展示,所有用户可正常使用,直到下架审核通过后才会从市场移除。 + +#### 10. 审核结果会有通知吗?在哪里可以看到? +开发者可在技能详情页查看版本状态和审核结果(如拒绝理由)。 + ### 📦 版本相关问题 -#### 6. 版本审核已经通过后,开发者才发现传错了版本包,能不能撤回已经通过的版本? -不可以。版本审核通过后立即生效,无法撤回。如需修正需要重新上传正确的版本包,按新版本流程重新提交审核,审核通过后会自动切换为当前生效版本。 +#### 11. 审核终态后,还能对版本做什么操作吗? +- **审核通过**:版本立即生效,无法撤回,不可修改。如需修正需重新上传新版本。 +- **审核拒绝**:版本不可重新提交,必须修改内容后上传全新版本。 +- **已撤销**:终态,无法恢复,可重新上传新版本。 -#### 7. 开发者上传的第一个版本审核被拒绝,修改后能不能复用之前的版本号重新上传? -不可以。版本号由后端自动生成,每次上传新版本都会自动递增,开发者无法指定或复用历史版本号,修改后的版本会视为全新版本,分配新的版本号。 +#### 12. 开发者上传的第一个版本审核被拒绝,修改后能不能复用之前的版本号重新上传? +不可以。版本号由后端自动按 `X.Y.Z` 格式生成,每次上传新版本都会自动递增,开发者无法指定或复用历史版本号,修改后的版本会视为全新版本,分配新的版本号。 -#### 8. 想要恢复到历史版本的代码,应该怎么操作? +#### 13. 想要恢复到历史版本的代码,应该怎么操作? 平台不支持版本回滚,如需使用历史版本代码,开发者需要重新上传旧版本的技能包,平台会视为全新版本处理,重新走完整审核流程。 -#### 9. 一个技能有多个历史版本被审核拒绝过,上传新版本时会不会有额外限制? +#### 14. 一个技能有多个历史版本被审核拒绝过,上传新版本时会不会有额外限制? 不会。所有版本审核流程独立,历史拒绝记录不影响新版本的审核流程,只要提交新版本就会进入正常审核队列。 -#### 10. 开发者在版本审核过程中修改了技能的内部信息,会不会影响正在审核中的版本? +#### 15. 开发者在版本审核过程中修改了技能的内部信息,会不会影响正在审核中的版本? 不会。内部信息修改仅供开发者管理使用,与版本审核流程完全独立,不影响正在审核中的版本,也不影响商店展示内容。 -#### 11. 开发者想要修改技能在商店的展示名称,应该怎么操作? -必须发布新版本。在上传新版本时填写新的发布名称,待版本审核通过后,新的发布名称会自动在商店展示。 +#### 16. 开发者想要修改技能在商店的展示内容(名称/描述/分类/标签/图标),应该怎么操作? +必须发布新版本。任何影响商店展示的内容变更都需要在上传新版本时填写新的发布信息,待版本审核通过后,新的发布信息会自动在商店展示(详见 Q17-Q19)。 -#### 12. 开发者可以随时修改内部信息吗?修改后需要审核吗? +#### 17. 分类和标签可以单独修改吗?还是必须发新版本? +必须发新版本。分类和标签属于发布信息,存储在版本中,修改必须上传新版本走审核流程。 + +#### 18. 技能图标可以单独修改吗?还是必须发新版本? +必须发新版本。图标属于发布信息,存储在版本中,修改必须上传新版本走审核流程。 + +#### 19. 开发者可以随时修改内部信息吗?修改后需要审核吗? 可以随时修改内部信息,无需审核。内部信息仅供开发者自己管理使用,不会影响技能商店展示。 -#### 13. 第一个版本上传时,发布信息是必填的吗? +#### 20. 第一个版本上传时,发布信息是必填的吗? 是的。发布信息(发布名称、发布描述、分类、标签、图标)是上传版本时的必填项,这些信息将在审核通过后展示在技能商店。 -#### 14. 非首版本上传时,发布信息可以不填吗? -可以不填,系统会自动继承当前生效版本的发布信息作为默认值,开发者可以在此基础上按需修改。 +#### 21. 非首版本上传时,发布信息可以不填吗? +可以不填,系统会自动继承当前生效版本的发布信息作为默认值,开发者可以在此基础上按需修改部分字段,无需全部重新填写。 + +#### 22. 审核中的版本,开发者可以查看自己提交的发布信息吗? +可以。开发者可在技能详情页的版本历史中查看审核中版本的发布信息预览。 ### 🔍 审核管理问题 -#### 15. 版本审核被拒绝后,可以修改内容后用原来的版本重新提交审核吗? -不可以,审核拒绝的版本不可重新提交,必须修改内容后上传全新版本,走完整的新版本审核流程。 - -#### 16. 审核拒绝的理由填错了,管理员能不能修改拒绝理由? +#### 23. 审核拒绝的理由填错了,管理员能不能修改拒绝理由? 不可以。审核拒绝理由提交后无法二次修改,管理员提交前需确认内容正确。 -#### 17. 管理员审核版本的时候,能不能下载技能包查看内容? +#### 24. 管理员审核版本的时候,能不能下载技能包查看内容? 可以。仅管理员在审核版本时可下载技能包查看内容,开发者侧不提供任何版本的下载功能。 -#### 18. 所有管理员都可以处理审核申请吗?有没有分级权限? +#### 25. 所有管理员都可以处理审核申请吗?有没有分级权限? 所有管理员可见全部审核申请(版本审核+下架审核),均可直接执行审核操作,无分级权限限制。 ### 📤 下架相关问题 -#### 19. 下架审核期间开发者想取消下架,应该怎么处理? +#### 26. 下架审核期间开发者想取消下架,应该怎么处理? 可以直接撤回下架申请,撤回后技能立即恢复为已上架状态,所有功能和操作恢复正常。 -#### 20. 已下架的技能想要重新上架,需要走什么流程? +#### 27. 已下架的技能想要重新上架,需要走什么流程? 已下架技能不支持直接恢复上架,必须创建全新的技能,按新技能完整的创建、上传版本、审核流程重新提交。 -#### 21. 已下架的技能,开发者还能查看之前的版本历史和审核拒绝理由吗? +#### 28. 已下架的技能,开发者还能查看之前的版本历史和审核拒绝理由吗? 可以。已下架技能仅限制操作(只能删除),但历史数据(版本记录、拒绝理由等)均保留可见,开发者可以正常查阅。 -#### 22. 技能处于开发中状态,上传了第一个版本正在审核中,此时开发者可以删除该技能吗? +#### 29. 已下架的技能,可以修改内部信息吗? +可以。已下架技能仅限制上传新版本、下架等操作,但仍允许编辑内部信息(内部名称、内部描述)。 + +#### 30. 技能处于开发中状态,上传了第一个版本正在审核中,此时开发者可以删除该技能吗? 不可以。存在审核中的版本时,删除操作被禁用,需要先撤回审核中的版本,待状态恢复为开发中无审核中版本后,才可以删除技能。 -#### 23. 已下架的技能被删除之后,有没有办法恢复? +#### 31. 已下架的技能被删除之后,有没有办法恢复? 不可以。删除操作是终态操作,技能删除后所有数据彻底清除,无法恢复。 ### ❓ 其他问题 -#### 24. 开发者创建和已删除技能同名的新技能,会不会被限制? +#### 32. 开发者创建和已删除技能同名的新技能,会不会被限制? 不会。技能名称允许重复,仅技能ID全局唯一不可重复,删除的技能名称可被重新使用。 *最后更新:2026-03-21* diff --git a/src/data/skills.js b/src/data/skills.js index 1a90b9c..0b2063b 100644 --- a/src/data/skills.js +++ b/src/data/skills.js @@ -10,7 +10,7 @@ export const skills = [ subs: 1256, subscribed: true, currentVersion: { - version: 'v1.3.0', + version: '1.3.0', publicName: '代码生成助手', publicDesc: '根据需求自动生成高质量代码,支持多种编程语言', category: '开发工具', @@ -26,7 +26,7 @@ export const skills = [ subs: 892, subscribed: true, currentVersion: { - version: 'v2.1.0', + version: '2.1.0', publicName: '数据分析专家', publicDesc: '智能分析数据,生成可视化图表和洞察报告', category: '数据分析', @@ -51,7 +51,7 @@ export const skills = [ subs: 567, subscribed: false, currentVersion: { - version: 'v1.5.0', + version: '1.5.0', publicName: 'CRM 客户查询', publicDesc: '对接企业CRM系统,快速查询客户信息和订单状态', category: '业务系统', @@ -67,7 +67,7 @@ export const skills = [ subs: 0, subscribed: false, currentVersion: { - version: 'v1.2.0', + version: '1.2.0', publicName: '财务数据同步', publicDesc: '自动同步财务系统数据,生成费用报表', category: '业务系统', @@ -83,7 +83,7 @@ export const skills = [ subs: 789, subscribed: false, currentVersion: { - version: 'v1.1.0', + version: '1.1.0', publicName: '网络故障排查', publicDesc: '智能诊断网络问题,提供故障排除方案', category: '开发工具', @@ -102,7 +102,7 @@ export const skillFiles = [ export const skillVersions = [ { - version: 'v1.3.0', + version: '1.3.0', date: '2026-03-12', versionDesc: '新增 Python 3.11 支持', status: 'approved', @@ -113,7 +113,7 @@ export const skillVersions = [ icon: '💻' }, { - version: 'v1.2.1', + version: '1.2.1', date: '2026-03-08', versionDesc: '修复若干已知问题', status: 'rejected', @@ -125,7 +125,7 @@ export const skillVersions = [ icon: '💻' }, { - version: 'v1.2.0', + version: '1.2.0', date: '2026-03-01', versionDesc: '优化性能,提升响应速度 30%', status: 'approved', @@ -136,7 +136,7 @@ export const skillVersions = [ icon: '💻' }, { - version: 'v1.1.5', + version: '1.1.5', date: '2026-02-20', versionDesc: '紧急修复安全漏洞', status: 'withdrawn', @@ -147,7 +147,7 @@ export const skillVersions = [ icon: '💻' }, { - version: 'v1.1.0', + version: '1.1.0', date: '2026-02-15', versionDesc: '新增 JavaScript 支持', status: 'reviewing', @@ -163,7 +163,7 @@ export const pendingVersionReviews = [ { id: 1, skillName: '代码生成助手 Pro', - version: 'v1.4.0', + version: '1.4.0', date: '2026-03-20', developer: '张三', publicName: '代码生成助手 Pro', @@ -175,7 +175,7 @@ export const pendingVersionReviews = [ { id: 2, skillName: '数据分析专家', - version: 'v2.0.0', + version: '2.0.0', date: '2026-03-19', developer: '李四', publicName: '数据分析专家', @@ -187,7 +187,7 @@ export const pendingVersionReviews = [ { id: 3, skillName: '文档智能撰写', - version: 'v1.0.0', + version: '1.0.0', date: '2026-03-18', developer: '王五', publicName: '文档智能撰写', @@ -202,7 +202,7 @@ export const pendingUnlistReviews = [ { id: 1, skillName: 'CRM 客户查询', - currentVersion: 'v1.5.0', + currentVersion: '1.5.0', date: '2026-03-20', developer: '赵六', publicName: 'CRM 客户查询',