library-picturebook-activity/.cursor/rules/code-review-checklist.mdc
aid 418aa57ea8 Day4: 超管端设计优化 + UGC绘本创作社区P0实现
一、超管端设计优化
- 文档管理SOP体系建立,docs目录重组
- 统一用户管理:跨租户全局视角,合并用户管理+公众用户
- 活动监管全模块重构:全部活动(统计卡片+阶段筛选+SuperDetail详情页)、报名数据/作品数据/评审进度(两层合一扁平列表)、成果发布(去Tab+统计+隐藏写操作)
- 菜单精简:移除评委管理/评审规则/通知管理
- Bug修复:租户编辑丢失隐藏菜单、pageSize限制、主色统一

二、UGC绘本创作社区P0
- 数据库:10张新表(user_works/user_work_pages/work_tags等)
- 子女账号独立化:Child升级为独立User,家长切换+独立登录
- 用户作品库:CRUD+发布审核,8个API
- AI创作流程:提交→生成→保存到作品库,4个API
- 作品广场:首页改造为推荐流,标签+搜索+排序
- 内容审核(超管端):作品审核+作品管理+标签管理
- 活动联动:WorkSelector作品选择器
- 布局改造:底部5Tab(发现/创作/活动/作品库/我的)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 22:20:25 +08:00

113 lines
2.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: 代码审查检查清单(手动应用)
globs:
alwaysApply: false
---
# 代码审查检查清单
在提交代码前,请确保以下各项都已检查:
## 多租户数据隔离
- [ ] 所有数据库查询包含 `tenantId` 条件
- [ ] 创建数据时设置了 `tenantId`
- [ ] 更新/删除操作验证了 `tenantId`
- [ ] 新的 Prisma 模型包含了必需的审计字段
## 数据验证
- [ ] DTO 验证规则完整
- [ ] 前端和后端都进行了数据验证
- [ ] 使用了 TypeScript 类型定义
- [ ] 处理了所有必填字段
## 错误处理
- [ ] 所有异步操作都有错误处理
- [ ] 错误信息清晰明确
- [ ] 使用了合适的 HTTP 状态码
- [ ] 前端显示了友好的错误提示
## 权限控制
- [ ] 后端使用了 `@RequirePermission()` 装饰器
- [ ] 前端路由配置了 `permissions` meta
- [ ] 权限验证失败返回 403
- [ ] 遵循最小权限原则
## 代码质量
- [ ] 代码格式符合 ESLint/Prettier 规范
- [ ] 复杂逻辑添加了注释
- [ ] 变量和函数命名清晰
- [ ] 无硬编码配置(使用环境变量)
- [ ] 无调试代码console.log 等)
## 性能优化
- [ ] 数据库查询使用了 `include` 预加载
- [ ] 使用了 `select` 精简字段
- [ ] 实现了分页查询
- [ ] 避免了 N+1 查询
- [ ] 前端组件按需加载
## 安全性
- [ ] 敏感数据加密存储
- [ ] API 需要认证(除非 `@Public()`
- [ ] 防止了 SQL 注入(使用 Prisma
- [ ] 防止了 XSS 攻击
- [ ] Token 过期时间合理
## 测试
- [ ] 核心业务逻辑有单元测试
- [ ] 测试覆盖率 > 80%
- [ ] 所有测试通过
## Git 提交
- [ ] 提交信息清晰(使用中文)
- [ ] 提交信息格式:`类型: 描述`
- [ ] 一次提交只做一件事
- [ ] 不包含敏感信息
## 文档
- [ ] 复杂功能有文档说明
- [ ] API 接口有注释
- [ ] README 更新(如有必要)
## 使用建议
### 在提交前运行
```bash
# 后端
cd backend
pnpm lint # 代码检查
pnpm test # 运行测试
pnpm build # 确保能成功构建
# 前端
cd frontend
pnpm lint # 代码检查
pnpm build # 确保能成功构建
```
### 自动化检查
考虑使用 Git hooks如 husky自动执行检查
- pre-commit: 运行 lint
- pre-push: 运行测试
### Code Review 关注点
审查他人代码时,重点关注:
1. **数据安全**:租户隔离是否完整
2. **权限控制**:是否正确验证权限
3. **错误处理**:是否处理所有异常情况
4. **代码质量**:是否易于理解和维护
5. **性能**:是否有明显的性能问题