0ca06df078
refactor: 移除阿里云融合认证集成,保留基础设施以备后续使用
...
CI/CD Pipeline / Code Quality (push) Failing after 19s
CI/CD Pipeline / Unit Tests (push) Has been skipped
CI/CD Pipeline / Build & Deploy Test (push) Has been skipped
CI/CD Pipeline / Build & Deploy Production (push) Has been skipped
移除 fusion-auth-client、融合认证路由和阿里云 SDK 依赖,
同时保留 findOrCreatePhone、appSettings 表、auth-providers
管理端和 /auth/providers 端点等基础设施。
2026-06-01 10:18:15 +08:00
7682bb2ae7
refactor: 融合认证 schemeCode 按平台拆分为独立环境变量
...
CI/CD Pipeline / Code Quality (push) Failing after 18s
CI/CD Pipeline / Unit Tests (push) Has been skipped
CI/CD Pipeline / Build & Deploy Test (push) Has been skipped
CI/CD Pipeline / Build & Deploy Production (push) Has been skipped
不同端(Android/iOS/Harmony)在阿里云控制台使用不同的方案 Code,
单一 ALIYUN_FUSION_SCHEME_CODE 无法满足多端需求。改为按平台映射
三个独立环境变量,providers 端点也按平台精确判断可用性。
同步更新 API 文档:补充 fusion/token 请求参数表和 Harmony 平台支持。
2026-05-28 23:43:21 +08:00
a2282975ca
feat: 集成阿里云融合认证实现手机号一键登录与登录方式管理
...
- 新增 POST /auth/fusion/token 获取 SDK 鉴权 Token
- 新增 POST /auth/fusion/verify 用 verifyToken 换取手机号并登录/注册
- 新增 GET /auth/providers 按平台返回可用登录方式列表
- 新增 PUT /admin/auth-providers 管理端热切换第三方登录开关
- 新增 appSettings 表存储运行时配置,支持不重启生效
- 修复 schema 中超长外键名称导致的 db:push 失败
2026-05-27 22:50:11 +08:00
b2e5b8f789
docs: 补充 POST /v1/auth/link 接口文档与 CLAUDE.md 项目约定
...
- 新增 /auth/link 游客账号关联接口的完整 API 文档
(认证表、请求/响应格式、场景说明、幂等保证、错误码 CONFLICT)
- CLAUDE.md 补充相关项目引用和编码行为约定
2026-05-24 00:41:39 +08:00
7dcaf65585
Refresh API reference for current routes
2026-05-18 11:55:54 +08:00
0ee3522280
更新 API 参考文档对齐游戏化变更
...
- 排行榜响应新增 meta 字段含周信息/分组/奖励预览
- xp 改为本周 XP,说明排名基于 20-30 人分组
- 广告恢复 session 新增 Plus 用户 subscriptionBenefits 响应
- 标注旧恢复接口已废弃,指向 session+complete 两步流程
2026-05-13 22:11:52 +08:00
6bf9db9820
扩展游戏化启动与商店 DTO
2026-05-13 17:38:54 +08:00
b74201d6e0
实现游戏化道具使用接口
2026-05-13 17:31:54 +08:00
ff75c34873
实现游戏化商店购买接口
2026-05-13 17:16:30 +08:00
5bb6ba29a2
Record idempotent challenge answers
2026-05-11 21:34:27 +08:00
1d84de8d15
Create challenge sessions with five questions
2026-05-11 18:32:40 +08:00
2649b24277
Add ad recovery API contract
2026-05-05 16:12:04 +08:00
db2f3af8a3
feat: 完善题目列表查询接口,支持搜索、多维筛选和排序
...
- 新增关键词搜索(同时匹配题干 stem 和选项 distractors)
- 新增按难度(difficulty)、来源(source)筛选
- 新增动态排序:支持 createdAt/updatedAt/difficulty,可选 asc/desc
- 路由层增加 sortBy/sortOrder 白名单校验
2026-04-12 00:04:11 +08:00
aeebcba77c
feat: 添加题目批量导入接口(JSON + CSV)
...
- POST /admin/questions/import 支持 JSON 数组导入(1-200 条)
- POST /admin/questions/import-csv 支持 CSV 文本导入
- 全有或全无事务策略,先验校验后统一插入
- 包含 categoryId 外键存在性校验
- CSV 解析器支持引号内逗号、换行和 "" 转义
2026-04-11 23:23:09 +08:00
1b142f2866
feat: 添加题目批量发布、归档和删除接口
...
- 新增 batchUpdateStatus 通用方法,带状态流转校验和 BatchResult 报告
- 改造 batchPublish 使用新方法,返回成功/失败详情
- 新增 batchArchive 和 batch-delete 端点(软删除)
- 使用 inArray 批量查询和更新,优化数据库往返
- 更新 API 文档,补充三个批量接口说明
2026-04-11 22:19:02 +08:00
6a5490dea4
feat: 添加题目状态变更接口(带流转校验)
...
新增 PATCH /admin/questions/:id/status 接口,支持题目状态流转并校验合法性:
- draft → reviewing, archived
- reviewing → published, draft, archived
- published → archived
- archived → draft
2026-04-11 21:17:34 +08:00
f260fd6bfb
feat: 添加管理员管理 API
...
- 新增管理员类型定义 (src/types/admin.ts)
- 新增管理员管理服务 (src/services/admin/admin-management-service.ts)
- 新增管理员管理路由 (src/routes/admin/admins.ts)
- 更新 API 参考文档
功能:
- GET /v1/admin/admins - 获取管理员列表(支持分页和筛选)
- GET /v1/admin/admins/:id - 获取管理员详情
- POST /v1/admin/admins - 创建管理员(super_admin 专属)
- PUT /v1/admin/admins/:id - 更新管理员信息(super_admin 专属)
- DELETE /v1/admin/admins/:id - 软删除管理员(super_admin 专属)
- POST /v1/admin/admins/:id/reset-password - 重置密码(super_admin 专属)
安全特性:
- BCrypt 密码哈希
- 随机密码生成(12 位,包含大小写字母、数字、符号)
- 软删除机制
- 防止删除最后一个 super_admin
- 防止管理员修改自己的关键信息
- 使用 Drizzle ORM ne() 操作符防止 SQL 注入
2026-04-11 18:36:24 +08:00
3991a02a8c
feat: 添加管理员用户名密码登录功能
...
新增 /v1/admin/auth/login 接口,支持用户名密码登录获取 JWT Token。
- 添加 admin_users 表存储管理员账号和哈希密码
- 使用 bcryptjs 进行密码哈希(cost=10)
- JWT Token 认证优先,保留 ADMIN_TOKEN 作为向后兼容
- 记录登录审计日志到 admin_audit_log
- 种子数据创建默认管理员(username: admin, password: admin123)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 15:25:31 +08:00
4c0419649b
docs: update admin categories API with pagination parameters
...
- Add page/limit query parameters documentation
- Update response format to include pagination metadata
- Specify parameter constraints (page ≥ 1, limit 1-50)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 12:57:24 +08:00
2dd5f18822
docs: add API reference and environment variable guide
...
- docs/api-reference.md: comprehensive API documentation for client and admin endpoints
- docs/env-secrets-guide.md: guide for generating secure keys and tokens
2026-04-11 12:01:53 +08:00