feat: 完善开发台功能 - 新增总览页、技能筛选分页、版本管理操作、基本信息独立编辑

- 新增 DevOverviewPage 开发者总览页(指标卡片、待审核项目、最近动态)
- 新增 UpdateSkillInfoPage 基本信息编辑页(与版本上传分离)
- MySkillsPage 增加关键词/分类/状态筛选和分页
- SkillEditorPage 基本信息只读、增加上架/下架/删除操作、版本拒绝原因展示
- NewVersionPage 简化为仅版本说明和技能包上传
- UploadSkillPage 增加动态分类、图标选择器、移除模型兼容性
- 数据层新增 icon/rejectionReason 字段和 developerOverview 总览数据
- DeveloperPage 侧边栏新增总览导航入口
- 同步更新 openspec 规格文档和 README
This commit is contained in:
2026-03-20 15:07:12 +08:00
parent 0473a68dc2
commit 9c487f3ed6
17 changed files with 869 additions and 137 deletions

View File

@@ -89,12 +89,14 @@ grandclaw-archtype/
│ │ │ ├── AddProjectPage.jsx # 新增/编辑项目
│ │ │ └── AdminLogsPage.jsx # 全局日志查询
│ │ └── developer/ # 开发台子页面
│ │ ├── MySkillsPage.jsx # 我的技能
│ │ ├── DevOverviewPage.jsx # 开发者总览
│ │ ├── MySkillsPage.jsx # 我的技能(筛选+分页)
│ │ ├── SkillEditorPage.jsx # 技能详情(只读+操作)
│ │ ├── UploadSkillPage.jsx # 创建技能
│ │ ├── NewVersionPage.jsx # 上传新版本
│ │ ├── UpdateSkillInfoPage.jsx # 更新基本信息
│ │ ├── NewVersionPage.jsx # 上传新版本(仅版本信息)
│ │ ├── DevDocsPage.jsx # 开发文档
│ │ ── DevAccountPage.jsx # 开发者设置
│ │ └── SkillEditorPage.jsx # 技能详情/编辑
│ │ ── DevAccountPage.jsx # 开发者设置
│ └── styles/ # SCSS样式模块
│ ├── _variables.scss # 设计系统变量
│ ├── _mixins.scss # 可复用混入
@@ -165,10 +167,12 @@ pnpm build
- **日志查询**:全局系统日志查询,支持多维度筛选(关键词、用户、部门、类型、状态、时间范围)
### 5. 开发台Developer
- **我的技能**开发的技能列表
- **创建技能**上传新技能
- **上传新版本**:为已发布的技能上传新版本
- **技能编辑**:编辑技能配置、版本管理
- **总览**:开发者指标卡片(我的技能总数、已发布、草稿、待审核)、待审核项目列表、最近动态
- **我的技能**:技能列表,支持关键词搜索、分类筛选、状态筛选、分页,支持上架/下架、删除操作
- **技能详情**:基本信息只读展示、版本历史管理(启用/下载/删除)、审核拒绝原因展示
- **创建技能**:基本信息表单 + 技能图标选择 + 技能包上传
- **更新基本信息**:独立页面编辑技能名称/描述/分类/标签/图标,与版本上传分离
- **上传新版本**:仅包含版本说明和技能包上传,不含基本信息编辑
- **开发文档**:技能开发相关文档
- **开发者设置**:开发者账号信息
@@ -431,7 +435,7 @@ localStorage.setItem('console_currentScene', 'welcome');
localStorage.setItem('admin_currentPage', 'overview');
// 开发台
localStorage.setItem('developer_currentPage', 'mySkills');
localStorage.setItem('developer_currentPage', 'overview');
localStorage.setItem('developer_currentSkillId', '1');
```
@@ -535,7 +539,7 @@ const members = api.members.list();
- `api.skills` - 技能市场(列表、详情、文件、版本、图标)
- `api.conversations` - 聊天场景和对话历史
- `api.logs` - 操作日志(列表、筛选)
- `api.developer` - 开发台数据(技能、分类、模型、文档)
- `api.developer` - 开发台数据(总览、技能、分类、文档)
- `api.members` - 项目成员
- `api.tasks` - 定时任务
- `api.admin` - 管理台(总览、部门、用户、项目、全局日志)
@@ -547,7 +551,7 @@ const members = api.members.list();
### 数据文件说明
- `conversations.js`:聊天场景和对话历史
- `skills.js`:技能市场数据,包含技能详情、文件列表、版本历史
- `developerData.js`:开发台数据,包含我的技能、技能分类、开发文档
- `developerData.js`:开发台数据,包含我的技能(含图标、版本审核状态)、技能分类、开发者总览、开发文档
- `logs.js`:操作日志数据(成功/失败/警告状态)
- `tasks.js`:定时任务数据(包含任务配置和执行日志)
- `adminData.js`:管理台数据(部门列表、用户列表、项目列表、总览指标、全局日志、可选项数据)