feat: 完善开发台功能 - 新增总览页、技能筛选分页、版本管理操作、基本信息独立编辑
- 新增 DevOverviewPage 开发者总览页(指标卡片、待审核项目、最近动态) - 新增 UpdateSkillInfoPage 基本信息编辑页(与版本上传分离) - MySkillsPage 增加关键词/分类/状态筛选和分页 - SkillEditorPage 基本信息只读、增加上架/下架/删除操作、版本拒绝原因展示 - NewVersionPage 简化为仅版本说明和技能包上传 - UploadSkillPage 增加动态分类、图标选择器、移除模型兼容性 - 数据层新增 icon/rejectionReason 字段和 developerOverview 总览数据 - DeveloperPage 侧边栏新增总览导航入口 - 同步更新 openspec 规格文档和 README
This commit is contained in:
@@ -12,3 +12,4 @@ context: |
|
||||
- 不做安全防御性编程,eval/dangerouslySetInnerHTML等按需使用
|
||||
- README.md是项目的开发文档,记录代码结构和关键开发模式,优先读取获取上下文
|
||||
- 涉及页面/路由/组件/功能模块变更或技术栈调整时,同步更新README.md
|
||||
- Git提交: 仅中文; 格式为"类型: 简短描述",类型可选: feat(新功能)/fix(修复)/refactor(重构)/docs(文档)/style(格式)/test(测试)/chore(构建/工具); 多行描述空行后加详细说明
|
||||
|
||||
@@ -84,3 +84,77 @@
|
||||
#### Scenario: 取消删除
|
||||
- **WHEN** 用户在确认弹框中点击取消按钮
|
||||
- **THEN** 弹框关闭,列表不变
|
||||
|
||||
### Requirement: 技能列表搜索筛选
|
||||
我的技能列表 SHALL 支持按关键词、分类和状态筛选技能数据。
|
||||
|
||||
#### Scenario: 关键词搜索
|
||||
- **WHEN** 用户在筛选卡片的关键词输入框中输入文本并点击查询
|
||||
- **THEN** 列表仅显示技能名称或描述中包含该关键词的记录
|
||||
|
||||
#### Scenario: 分类筛选
|
||||
- **WHEN** 用户在筛选卡片的分类下拉框选择某个分类并点击查询
|
||||
- **THEN** 列表仅显示该分类的技能记录
|
||||
|
||||
#### Scenario: 状态筛选
|
||||
- **WHEN** 用户在筛选卡片的状态下拉框选择某个状态(已发布/草稿)并点击查询
|
||||
- **THEN** 列表仅显示该状态的技能记录
|
||||
|
||||
#### Scenario: 筛选重置
|
||||
- **WHEN** 用户在筛选卡片点击重置按钮
|
||||
- **THEN** 筛选条件清空,列表恢复显示全部技能
|
||||
|
||||
### Requirement: 技能列表分页
|
||||
我的技能列表 SHALL 在表格底部展示分页组件。
|
||||
|
||||
#### Scenario: 分页展示
|
||||
- **WHEN** 用户打开我的技能列表页
|
||||
- **THEN** 表格底部右侧显示分页组件,包含页码按钮和前后翻页按钮
|
||||
|
||||
### Requirement: 技能上架下架
|
||||
我的技能列表和技能详情页 SHALL 提供技能的上架/下架操作入口。
|
||||
|
||||
#### Scenario: 列表页下架操作
|
||||
- **WHEN** 用户在已发布技能的操作列点击"下架"按钮
|
||||
- **THEN** 页面展示成功提示"已下架"
|
||||
|
||||
#### Scenario: 详情页上架/下架切换
|
||||
- **WHEN** 用户在技能详情页点击"下架技能"或"上架技能"按钮
|
||||
- **THEN** 页面展示对应的成功提示
|
||||
|
||||
### Requirement: 技能删除确认
|
||||
我的技能列表和技能详情页 SHALL 提供技能删除操作,需弹框确认。
|
||||
|
||||
#### Scenario: 列表页删除确认
|
||||
- **WHEN** 用户在技能列表的操作列点击"删除"按钮
|
||||
- **THEN** 弹出确认弹框,显示"确定要删除技能"{技能名称}"吗?此操作不可撤销。"
|
||||
|
||||
#### Scenario: 确认删除技能
|
||||
- **WHEN** 用户在确认弹框中点击"删除"按钮
|
||||
- **THEN** 弹框关闭,页面展示成功提示"已删除"
|
||||
|
||||
#### Scenario: 取消删除技能
|
||||
- **WHEN** 用户在确认弹框中点击"取消"按钮
|
||||
- **THEN** 弹框关闭,列表不变
|
||||
|
||||
#### Scenario: 详情页删除确认
|
||||
- **WHEN** 用户在技能详情页点击"删除技能"按钮
|
||||
- **THEN** 弹出确认弹框,显示"确定要删除技能"{技能名称}"吗?此操作不可撤销。"
|
||||
|
||||
### Requirement: 版本删除确认
|
||||
技能详情页版本历史表格 SHALL 为未启用版本提供删除操作,需弹框确认。
|
||||
|
||||
#### Scenario: 版本删除按钮展示
|
||||
- **WHEN** 用户在技能详情页版本历史表格中查看某个未启用的版本
|
||||
- **THEN** 该版本操作列显示"删除"按钮
|
||||
|
||||
#### Scenario: 确认删除版本
|
||||
- **WHEN** 用户点击版本的"删除"按钮并在确认弹框中点击"删除"
|
||||
- **THEN** 弹框关闭,页面展示成功提示"已删除"
|
||||
|
||||
### Requirement: 版本审核拒绝原因展示
|
||||
技能详情页版本历史表格 SHALL 为被拒绝的版本展示拒绝原因。
|
||||
|
||||
#### Scenario: 拒绝原因展示
|
||||
- **WHEN** 用户在版本历史表格中查看状态为"审核拒绝"的版本
|
||||
- **THEN** 该版本状态标签下方显示红色小字的拒绝原因信息
|
||||
|
||||
38
openspec/specs/developer-basic-info-editing/spec.md
Normal file
38
openspec/specs/developer-basic-info-editing/spec.md
Normal file
@@ -0,0 +1,38 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 基本信息编辑表单
|
||||
UpdateSkillInfoPage SHALL 提供技能基本信息的编辑表单,预填当前数据。
|
||||
|
||||
#### Scenario: 表单预填展示
|
||||
- **WHEN** 用户从技能详情页点击"更新基本信息"进入 UpdateSkillInfoPage
|
||||
- **THEN** 表单字段预填当前技能的名称、描述、分类、标签和图标数据
|
||||
|
||||
#### Scenario: 分类动态生成
|
||||
- **WHEN** 用户在基本信息编辑表单中打开分类下拉框
|
||||
- **THEN** 下拉选项从数据源动态生成,包含所有可用分类(信息查询、效率工具、开发工具、数据分析、文档处理、业务系统)
|
||||
|
||||
#### Scenario: 提交基本信息修改
|
||||
- **WHEN** 用户填写完基本信息后点击"保存修改"按钮
|
||||
- **THEN** 页面展示成功提示"保存成功",并返回技能详情页
|
||||
|
||||
#### Scenario: 取消编辑
|
||||
- **WHEN** 用户在基本信息编辑页面点击"取消"按钮
|
||||
- **THEN** 返回技能详情页,不保存任何修改
|
||||
|
||||
### Requirement: 技能图标选择
|
||||
UpdateSkillInfoPage 和 UploadSkillPage SHALL 提供技能图标的 emoji 选择器。
|
||||
|
||||
#### Scenario: 图标选择展示
|
||||
- **WHEN** 用户在技能创建或编辑页面看到图标选择区域
|
||||
- **THEN** 页面展示 emoji 网格(🌤️📊📝🔧💻📋🔍📈🎯⚡🌐🤖),当前选中项高亮显示
|
||||
|
||||
#### Scenario: 切换图标
|
||||
- **WHEN** 用户点击 emoji 网格中的某个图标
|
||||
- **THEN** 该图标高亮选中,之前的选中项取消高亮
|
||||
|
||||
### Requirement: 技能图标显示
|
||||
技能详情页 SHALL 在头部区域展示技能图标。
|
||||
|
||||
#### Scenario: 图标展示
|
||||
- **WHEN** 用户打开技能详情页
|
||||
- **THEN** 技能头部区域的图标位置显示该技能选择的 emoji 图标
|
||||
26
openspec/specs/developer-overview/spec.md
Normal file
26
openspec/specs/developer-overview/spec.md
Normal file
@@ -0,0 +1,26 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 开发者指标展示
|
||||
开发台总览页 SHALL 展示开发者维度的核心指标数据,以卡片形式呈现。
|
||||
|
||||
#### Scenario: 指标卡片展示
|
||||
- **WHEN** 用户打开开发台总览页
|
||||
- **THEN** 页面顶部显示4个指标卡片:我的技能总数、已发布数量、草稿数量、待审核版本数量,每个卡片包含数值
|
||||
|
||||
### Requirement: 待审核项目提醒
|
||||
开发台总览页 SHALL 展示待审核的版本项目列表。
|
||||
|
||||
#### Scenario: 待审核列表展示
|
||||
- **WHEN** 用户打开开发台总览页
|
||||
- **THEN** 页面左侧区域显示待审核项目列表,每条包含技能名称、版本号、审核状态标签和日期,点击可跳转到对应技能详情页
|
||||
|
||||
#### Scenario: 审核拒绝项展示
|
||||
- **WHEN** 待审核列表中包含被拒绝的版本
|
||||
- **THEN** 该项显示拒绝状态标签和"查看原因"链接
|
||||
|
||||
### Requirement: 最近动态展示
|
||||
开发台总览页 SHALL 展示开发者最近的操作动态记录。
|
||||
|
||||
#### Scenario: 动态列表展示
|
||||
- **WHEN** 用户打开开发台总览页
|
||||
- **THEN** 页面右侧区域显示最近操作动态列表,每条包含时间、操作描述和状态标签
|
||||
@@ -37,3 +37,44 @@
|
||||
#### Scenario: 操作失败提示
|
||||
- **WHEN** 用户执行操作失败
|
||||
- **THEN** 页面顶部展示红色错误提示"操作失败,请重试"
|
||||
|
||||
### Requirement: 技能删除确认弹窗
|
||||
系统 SHALL 提供 Modal 组件用于技能删除操作的确认。
|
||||
|
||||
#### Scenario: 技能列表删除确认
|
||||
- **WHEN** 用户点击技能列表中某个技能的"删除"按钮
|
||||
- **THEN** 页面展示确认弹窗,标题为"确认删除",内容为"确定要删除技能"{技能名称}"吗?此操作不可撤销。"
|
||||
|
||||
#### Scenario: 技能详情页删除确认
|
||||
- **WHEN** 用户点击技能详情页的"删除技能"按钮
|
||||
- **THEN** 页面展示确认弹窗,标题为"确认删除",内容为"确定要删除技能"{技能名称}"吗?此操作不可撤销。"
|
||||
|
||||
### Requirement: 版本删除确认弹窗
|
||||
系统 SHALL 提供 Modal 组件用于版本删除操作的确认。
|
||||
|
||||
#### Scenario: 版本删除确认
|
||||
- **WHEN** 用户点击版本历史表格中某个未启用版本的"删除"按钮
|
||||
- **THEN** 页面展示确认弹窗,标题为"确认删除",内容为"确定要删除此版本吗?此操作不可撤销。"
|
||||
|
||||
### Requirement: 开发台操作结果消息提示
|
||||
系统 SHALL 提供 Toast 组件用于开发台操作的结果提示。
|
||||
|
||||
#### Scenario: 上架/下架成功提示
|
||||
- **WHEN** 用户执行上架或下架操作
|
||||
- **THEN** 页面顶部展示绿色成功提示("已上架"或"已下架")
|
||||
|
||||
#### Scenario: 删除成功提示
|
||||
- **WHEN** 用户确认删除技能或版本
|
||||
- **THEN** 页面顶部展示绿色成功提示"已删除"
|
||||
|
||||
#### Scenario: 保存成功提示
|
||||
- **WHEN** 用户在更新基本信息页面点击"保存修改"按钮
|
||||
- **THEN** 页面顶部展示绿色成功提示"保存成功"
|
||||
|
||||
#### Scenario: 提交审核成功提示
|
||||
- **WHEN** 用户在上传新版本页面点击"提交审核"按钮
|
||||
- **THEN** 页面顶部展示绿色成功提示"已提交审核"
|
||||
|
||||
#### Scenario: 创建技能成功提示
|
||||
- **WHEN** 用户在创建技能页面点击"创建技能"按钮
|
||||
- **THEN** 页面顶部展示绿色成功提示"创建成功"
|
||||
|
||||
Reference in New Issue
Block a user