feat(iter-v2): T01 complete - security + infrastructure
- S1: .githooks/pre-commit blocks .env commits, .env.test in .gitignore - S3: TOKEN_SECRET centralized to config/token.ts, all files import from it - S3: checkTokenSecret enforces min 32-char TOKEN_SECRET at startup - S5: Refresh Token mechanism (Access 2h + Refresh 30d, dual token) - S5: POST /auth/refresh endpoint with rotation and max 5 per user - S5: Frontend request.ts auto-refresh on 40101, concurrent-safe - S6: Soft delete (deleted_at column), admin soft-delete with confirmName - S6: POST /admin/users/:id/restore endpoint - S6: All user queries filter deleted_at IS NULL - S7: DB connection requires env vars, no fallback credentials - Infra: jest.config.js, vitest.config.ts, .env.test - Infra: node-cron, jest, ts-jest, supertest, vitest, @pinia/testing
This commit is contained in:
42
CODEBUDDY.md
Normal file
42
CODEBUDDY.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Team: software-xiaocai-v2
|
||||
|
||||
小菜记账 (XiaoCai Bookkeeping) 微信小程序 v2 迭代团队。
|
||||
|
||||
## 目标
|
||||
|
||||
完成 v2 全量迭代:安全性修复、代码质量重构、性能优化、UX 增强、测试体系建设、新功能开发。
|
||||
|
||||
## 任务总览
|
||||
|
||||
| 任务 | 优先级 | 状态 | 依赖 | 描述 |
|
||||
|------|--------|------|------|------|
|
||||
| T01-remaining | P0 | pending | 无 | 完成安全修复剩余项 (S1, S5, S6, S7, 基础设施) |
|
||||
| T02 | P1 | pending | T01 | 代码质量重构 (C1-C9, 通用组件抽取) |
|
||||
| T03 | P1 | pending | T01 | 性能优化与 UX 增强 (Perf-1~7, UX-1~7) |
|
||||
| T04 | P1 | pending | T01 | 测试体系建设 (后端集成测试 + 前端 Store 测试) |
|
||||
| T05 | P1 | pending | T01 | 新功能 (财务报告推送 + 预算预警) |
|
||||
|
||||
## T01 已完成项
|
||||
|
||||
- S2: logs.ts SQL 参数化 (LIMIT/OFFSET 改为 ? 占位符)
|
||||
- S3(部分): TOKEN_SECRET 启动校验 checkTokenSecret()、backup.ts JWT_SECRET→TOKEN_SECRET、Access Token 有效期缩短为 2h
|
||||
- S4: 导出下载使用 HMAC 签名短期凭证 (/prepare 端点)
|
||||
|
||||
## T01 剩余项
|
||||
|
||||
- S1: .env 凭据泄露修复 (轮换凭据 + git-filter-repo + pre-commit 钩子)
|
||||
- S3(完善): TOKEN_SECRET 集中到 config/token.ts,移除 auth.ts 内联 fallback
|
||||
- S5: Refresh Token 双 Token 机制 (refresh_tokens 表 + 前端 401→refresh→重试)
|
||||
- S6: 软删除 (users.deleted_at + admin 恢复接口 + 全局查询过滤)
|
||||
- S7: DB 连接移除默认凭据 (connection.ts 移除 || 'localhost' 等 fallback)
|
||||
- 基础设施: .env.test、jest.config.js、vitest.config.ts
|
||||
|
||||
## 并行策略
|
||||
|
||||
T01 完成后,T02/T03/T04/T05 可并行推进。注意 T02 与 T03 有轻微文件冲突 (stores/),建议 T02 先行或约定合并策略。
|
||||
|
||||
## 参考文档
|
||||
|
||||
- PRD: `docs/prd-iteration-v2.md`
|
||||
- 架构设计: `docs/arch-iteration-v2.md`
|
||||
- 项目规范: `CLAUDE.md` + `DEV.md`
|
||||
Reference in New Issue
Block a user