|
|
e0871d0b7a
|
docs: 添加部署方案文档与 Gitea Actions CI 配置
Build & Deploy Admin / deploy (push) Failing after 16s
- 新增 CI 部署指南,包含 Runner 基础设施适配、HTTPS 证书实操经验、故障排查
- 新增 deploy.yml workflow,基于 Act Runner volume 挂载实现原子部署
|
2026-04-22 03:04:26 +08:00 |
|
|
|
37b936ec52
|
feat: 对接题目查询接口,统一数据模型与 API 规范
- Question.stem 从 string 改为 { text: string } 对象,匹配 API 多语言题干格式
- 新增 contentType 字段(text/image/video/audio)
- knowledgeCard 从扁平字段重组为嵌套对象 { summary, deepDive?, sourceRef? }
- source/stats 改为可选字段,UI 添加空值回退
- 查询参数对齐:search→keyword, sort→sortBy, order→sortOrder
- QuestionForm 接入 createQuestion/updateQuestion API
- KnowledgeCardFields 组件重命名 props 匹配新结构
|
2026-04-12 00:34:09 +08:00 |
|
|
|
a822e91c63
|
feat: 对接题目批量导入接口(JSON + CSV)
- 新增 ImportQuestionItem / ImportSuccessResult / ImportValidationError 类型,匹配 API 规范
- importQuestions 改用 API 规范的 stem: { text }、contentType、嵌套 knowledgeCard 结构
- 新增 importQuestionsCsv 函数,POST text/plain 到 /admin/questions/import-csv
- 重写 ImportQuestionsDialog:JSON/CSV 双模式 Tab 切换、预览、校验错误详情展示
|
2026-04-11 23:40:14 +08:00 |
|
|
|
4cb26daa02
|
feat: 对接题目批量发布/归档/删除接口
替换原单一 batch 端点为 batch-publish、batch-archive、batch-delete 三个独立端点,
BatchResult 类型对齐 API 规范(total/succeeded/failed),新增 BatchResultDialog
展示批量操作结果及失败项详情。
|
2026-04-11 22:36:15 +08:00 |
|
|
|
d1af1dbe11
|
feat: 对接题目状态转换接口,补全转换路径和错误处理
- 补全 draft→archived、reviewing→archived 转换路径,与 API 规范对齐
- 添加 draft→archived、reviewing→archived 状态流转描述文案
- 为 confirmStatusChange、handleApproveUgc、handleRejectUgc 添加 try/catch 错误处理
|
2026-04-11 21:56:59 +08:00 |
|
|
|
8e3d4ed190
|
refactor: 对接 duoqi-api 管理员管理接口规范
- 精简角色类型:移除 moderator,仅保留 super_admin 和 admin
- Admin 数据模型补全 isActive、updatedAt 字段
- 创建/重置密码改为展示服务端生成的 plainPassword(含复制按钮)
- 新增编辑管理员对话框(用户名、角色、启用/停用状态)
- fetchAdmins 支持分页和筛选参数
- loginWithToken 适配向后兼容的 { authenticated } 响应格式
- 添加内联成功/错误消息提示
|
2026-04-11 18:53:37 +08:00 |
|
|
|
66fc078b3c
|
refactor: 对接 duoqi-api 管理员登录规范
- ApiResponse 改为标准 { success, data, error } 格式
- 登录响应使用 accessToken/refreshToken 字段
- AdminRole 新增 super_admin 角色
- auth-store 支持 refreshToken 存储
- 所有 API 调用处理 data 可能为 null 的情况
|
2026-04-11 17:46:00 +08:00 |
|
|
|
2c2fc952f9
|
refactor: 对接 duoqi-api 文档规范
- API 路径前缀改为 /v1/admin
- 分类管理改用服务端分页(page/limit),移除未定义的 search/status 筛选
- 知识卡字段重命名:basic→summary、deep→deepDive
- 各页面移除不必要的 limit 参数
|
2026-04-11 15:10:44 +08:00 |
|
|
|
b6dc6848af
|
docs: 更新 CLAUDE.md — 知识卡页面和排序功能补全
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 18:42:44 +08:00 |
|
|
|
1fc27207e0
|
feat: 完善知识卡独立页面和题目列表排序
- 新增 /knowledge-cards 独立路由和列表页面
- 知识卡支持搜索、完成度筛选、详情查看和快速编辑
- 题目列表添加排序控件(创建时间/更新时间/难度 + 升降序)
- API 层支持 sort 和 order 参数
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 18:41:45 +08:00 |
|
|
|
87a1f39d51
|
docs: 更新 CLAUDE.md 和 dev-spec.md — Phase 3 完成
- CLAUDE.md: 更新 Current Status、Architecture 树、Auth flow 说明
- dev-spec.md: 更新状态为 Phase 3 已完成
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 18:23:58 +08:00 |
|
|
|
2a58fbcbae
|
fix: 登录页支持 Token 和账号密码两种方式
- 添加 Tab 切换,同时支持 Token 登录和账号密码登录
- Token 登录兼容原有后端 API
- 账号密码登录为 Phase 3d 的多管理员功能准备
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 15:46:09 +08:00 |
|
|
|
0a31f8634e
|
feat: 实现 Phase 3 — UGC 审核、举报处理、运营配置、多管理员
Phase 3a - UGC 审核队列:
- 题目列表添加来源 Tab 切换(全部/官方/用户投稿)
- UGC 审核对话框,支持通过/拒绝并填写备注
- 添加来源列和审核操作入口
Phase 3b - 举报处理:
- 举报列表页面,支持搜索和筛选
- 举报详情对话框,支持驳回/采纳处理
- 5 种举报原因和 4 种处理状态
Phase 3c - 运营配置:
- 设置页面使用 Tabs 布局
- 活动配置:XP 加成、时间范围、状态管理
- 推送文案:模板管理、变量支持、测试发送
- 通用设置:应用级配置项管理
Phase 3d - 多管理员支持:
- 用户名密码登录(替换 Token 登录)
- 管理员管理页面:创建、删除、重置密码
- 角色区分:admin(管理员)/ moderator(审核员)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 15:38:07 +08:00 |
|
|
|
f73246b523
|
docs: 更新 CLAUDE.md — Phase 2 完成
|
2026-04-08 12:30:54 +08:00 |
|
|
|
fbc8bbb04d
|
feat: 实现 Phase 2 — 用户详情页、反馈管理、订阅管理、CSV 导出
Phase 2a: 用户详情页(资料卡片、游戏统计、答题历史、章节进度)
Phase 2b: 反馈管理页面(类型/状态筛选、详情弹窗、状态变更)
Phase 2c: 订阅等级管理(等级变更对话框、权益对比)
Phase 2d: CSV 导出(用户/反馈/题目列表,Excel 兼容 BOM)
|
2026-04-08 12:29:06 +08:00 |
|
|
|
7efcf97ef4
|
docs: 更新 CLAUDE.md — Phase 1c 进度
|
2026-04-08 00:06:10 +08:00 |
|
|
|
cd8d384a35
|
feat: 实现用户列表基础版(只读,Phase 1c)
|
2026-04-08 00:04:32 +08:00 |
|
|
|
7b41df191f
|
feat: 实现题目批量操作 — 发布/下架/删除(Phase 1c)
|
2026-04-08 00:01:56 +08:00 |
|
|
|
850a9157e5
|
feat: 实现技能树章节管理 CRUD + 重排序(Phase 1c)
|
2026-04-07 23:52:11 +08:00 |
|
|
|
4bbdc590f4
|
feat: 实现批量导入题目功能,Phase 1b 完成
- 新建 ImportQuestionsDialog 三步导入对话框(输入→预览→结果)
- 支持 JSON 文件上传和手动粘贴,Zod 格式校验
- 新增 importQuestions API 函数 + ImportResult 类型
- 题目列表页新增批量导入按钮
- Phase 1b 全部功能完成
|
2026-04-07 23:23:57 +08:00 |
|
|
|
a5025e633e
|
feat: 完善题目状态流转 UI(Phase 1b)
- 新建 StatusTransitionDialog 确认对话框,显示流转方向和操作说明
- 状态列增加快速操作按钮(主流转),下拉菜单保留全部流转路径
- 新增 TRANSITION_LABELS 常量定义各状态的流转动作标签
|
2026-04-07 23:20:16 +08:00 |
|
|
|
9314dc8505
|
feat: 实现知识卡编辑组件(Phase 1b)
- 新建 KnowledgeCardFields 组件:基础版/深度版编辑、字符计数器、来源参考、预览面板
- 提取 QuestionForm 中内联的知识卡字段为独立组件
- 新增 sourceRef 字段到类型定义和表单 schema
|
2026-04-07 23:16:01 +08:00 |
|
|
|
1f2581efe9
|
docs: 更新 CLAUDE.md — Phase 1b 进度 + 新增编码注意事项
- 更新 Current Status 为 Phase 1b in progress
- 更新架构树反映实际目录结构
- 新增 Gotchas:Zod v4 import 路径、verbatimModuleSyntax、react-hook-form 泛型逆变
- 清理重复条目
|
2026-04-07 12:14:19 +08:00 |
|
|
|
918ca279d6
|
feat: 实现题库管理 CRUD(Phase 1b)
- 题目列表页:TanStack Table + 多维度筛选(搜索/状态/分类/难度)+ 分页 + 状态流转 + 删除
- 新建/编辑页:独立路由页面,含题干、正确答案、干扰项编辑器(4-6个)、分类选择、难度、状态、知识卡
- API 封装:question-api.ts 6 个函数(CRUD + 状态流转)
- 组件:StatusBadge、DistractorEditor、QuestionForm、columns
- 修正 QUESTION_STATUSES key: review → reviewing
- 新增 shadcn/ui 组件:textarea、separator
|
2026-04-07 12:10:25 +08:00 |
|
|
|
d176048172
|
feat: 实现分类管理 CRUD(Phase 1b)
- 分类列表:TanStack Table 表格 + 搜索 + 状态筛选 + 分页
- 新建/编辑:对话框表单,Zod 校验,slug 自动生成
- 删除确认:AlertDialog 确认对话框
- API 封装:category-api.ts 5 个 CRUD 函数
- 新增 shadcn/ui 组件:table、dialog、select、badge、dropdown-menu、alert-dialog
|
2026-04-07 11:41:41 +08:00 |
|
|
|
23e0438f2c
|
更新 CLAUDE.md:反映 Phase 1a 完成状态,补充库版本注意事项
- 更新项目状态为 Phase 1a 完成
- 补充实际目录结构(含 styles/globals.css)
- 新增 Key Patterns:路由配置、API 客户端细节
- 新增 Gotchas:shadcn/ui CLI 路径、ky v2 API、TS6、Tailwind v4
- 移除过时的"Pre-implementation"描述
|
2026-04-07 10:53:28 +08:00 |
|
|
|
ccc32538a1
|
初始化项目骨架(Phase 1a)
- Vite + React + TypeScript 项目初始化
- Tailwind CSS v4 + shadcn/ui 配置(button, card, input, label)
- React Router v7 路由:登录页、数据看板、题库/分类/用户/设置占位页
- AdminLayout 布局:侧边栏导航 + 顶栏
- ky v2 HTTP 客户端,自动附加 Bearer token
- Zustand auth store + localStorage 持久化
- 认证保护:未登录自动重定向到 /login
- 数据看板骨架(4 统计卡片 + 图表占位)
- 类型定义:question, user, category, api
|
2026-04-07 10:51:22 +08:00 |
|