Commit Graph

15 Commits

Author SHA1 Message Date
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