- 将B2B统一为TOB术语 - 将状态值统一为大写格式 - 优化类型声明,避免使用any - 将float类型替换为decimal以提高精度 - 新增术语标准化文档 - 优化路由结构和菜单分类 - 添加TypeORM实体类 - 增强加密模块安全性 - 重构前端路由结构 - 完善任务模板和验收标准
5.4 KiB
5.4 KiB
代码审查修复任务(前端)
任务列表
| Task ID | 闭环关联 | 任务描述 | 输入 | 输出 | 触发条件 | 状态 | 优先级 | 依赖 | 预计耗时 | 负责人 | 完成时间 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| FE-CR001 | 类型安全闭环 | 减少 any 类型使用(43 处) |
违规文件列表 | 类型定义完善 | 代码审查 | ⏳ pending | P1 | - | 6h | AI-Frontend-1 | 2026-03-25 |
| FE-CR002 | 代码质量闭环 | 统一代码风格(缩进、括号、注释) | Dashboard 源码 | 代码风格统一 | 代码审查 | ⏳ pending | P2 | - | 4h | AI-Frontend-1 | 2026-04-05 |
| FE-CR003 | Mock 规范闭环 | 验证 Mock 数据隔离规范 | Mock 文件 | Mock 规范检查 | 代码审查 | ⏳ pending | P2 | - | 2h | AI-Frontend-1 | 2026-04-05 |
| FE-CR004 | 组件规范闭环 | 统一组件命名和结构 | 组件文件 | 组件规范统一 | 代码审查 | ⏳ pending | P2 | - | 3h | AI-Frontend-1 | 2026-04-08 |
| FE-CR005 | 性能优化闭环 | 优化前端性能(懒加载、缓存) | 性能报告 | 性能优化方案 | 性能监控 | ⏳ pending | P2 | - | 8h | AI-Frontend-1 | 2026-04-15 |
相关闭环
- 类型安全闭环
- 代码质量闭环
- Mock 规范闭环
- 组件规范闭环
- 性能优化闭环
依赖关系
- FE-CR001 是基础任务,无依赖
- FE-CR002 无依赖
- FE-CR003 无依赖
- FE-CR004 无依赖
- FE-CR005 无依赖
任务详情
FE-CR001: 减少 any 类型使用
问题描述: Dashboard 模块中存在 43 处 any 类型使用,削弱了 TypeScript 的类型安全。
典型违规模式:
// ❌ 错误
const [dateRange, setDateRange] = useState(null as any);
status: status as any,
const response = await fetch(`${url}?${new URLSearchParams(params as any)}`);
违规文件列表:
dashboard/src/services/userDataSource.tsdashboard/src/services/orderDataSource.tsdashboard/src/pages/Pricing.tsxdashboard/src/pages/Analytics/index.tsxdashboard/src/pages/Marketing/Ads.tsxdashboard/src/pages/Return/ReturnMonitor.tsxdashboard/src/services/certificateDataSource.tsdashboard/src/services/arbitrageDataSource.tsdashboard/src/components/HierarchySelector/index.tsxdashboard/src/pages/Product/MaterialUpload.tsxdashboard/src/services/userAssetDataSource.tsdashboard/src/services/returnDataSource.tsdashboard/src/services/abTestDataSource.tsdashboard/src/services/merchantDataSource.tsdashboard/src/services/logisticsDataSource.tsdashboard/src/services/blacklistDataSource.tsdashboard/src/services/taskCenterDataSource.tsdashboard/src/services/marketingDataSource.tsdashboard/src/services/financeDataSource.tsdashboard/src/services/afterSalesDataSource.tsdashboard/src/services/independentSiteDataSource.tsdashboard/src/services/b2bTradeDataSource.ts
验收标准:
- ✅ 减少
any类型使用至 10 处以下 - ✅ 定义明确的接口类型
- ✅ 通过 TypeScript 严格检查
- ✅ 类型覆盖率 > 95%
实施步骤:
- 识别所有使用
any的位置 - 定义明确的接口类型
- 使用类型断言替代
as any - 运行 TypeScript 检查验证
整改示例:
// ❌ 错误
const [dateRange, setDateRange] = useState(null as any);
// ✅ 正确
import type { Dayjs } from 'dayjs';
const [dateRange, setDateRange] = useState<[Dayjs, Dayjs] | null>(null);
// ❌ 错误
status: status as any,
// ✅ 正确
status: status as 'active' | 'inactive' | 'pending',
// ❌ 错误
const response = await fetch(`${url}?${new URLSearchParams(params as any)}`);
// ✅ 正确
interface QueryParams {
page: number;
pageSize: number;
status?: string;
}
const response = await fetch(`${url}?${new URLSearchParams(params as unknown as Record<string, string>)}`);
FE-CR002: 统一代码风格
问题描述: Dashboard 模块代码风格基本统一,但仍有改进空间。
检查项:
- 缩进格式(2 空格)
- 括号使用(单行/多行)
- 注释规范(JSDoc)
- 命名规范(camelCase/PascalCase)
验收标准:
- ✅ 代码风格统一
- ✅ 通过 ESLint 检查
- ✅ 符合项目规范
- ✅ 代码可读性提升
FE-CR003: 验证 Mock 数据隔离规范
问题描述: 验证 Mock 数据是否符合项目规范,确保 Mock 数据与真实业务逻辑隔离。
检查项:
- Mock 文件是否在
/mock目录 - 是否包含
[MOCK]标记 - 是否通过环境变量控制
- 是否有 DataSource 抽象层
验收标准:
- ✅ Mock 数据完全隔离
- ✅ Mock 文件包含标记
- ✅ 环境变量控制正确
- ✅ DataSource 层完整
FE-CR004: 统一组件命名和结构
问题描述: 组件命名和结构基本规范,但需要进一步统一。
检查项:
- 组件命名(PascalCase)
- 文件命名(PascalCase.tsx)
- 组件结构(Props/State/Effects)
- 导出方式(default/named)
验收标准:
- ✅ 组件命名统一
- ✅ 文件结构规范
- ✅ Props 类型定义完整
- ✅ 组件可复用性提升
FE-CR005: 优化前端性能
问题描述: 前端性能需要优化,包括懒加载、缓存等。
优化项:
- 组件懒加载(React.lazy)
- 图片懒加载
- 路由懒加载
- 缓存策略
- 代码分割
验收标准:
- ✅ 首屏加载时间 < 2s
- ✅ Lighthouse 性能分数 > 90
- ✅ 代码体积优化
- ✅ 缓存策略有效