refactor(terminology): 统一术语标准并优化代码类型安全
- 将B2B统一为TOB术语 - 将状态值统一为大写格式 - 优化类型声明,避免使用any - 将float类型替换为decimal以提高精度 - 新增术语标准化文档 - 优化路由结构和菜单分类 - 添加TypeORM实体类 - 增强加密模块安全性 - 重构前端路由结构 - 完善任务模板和验收标准
This commit is contained in:
@@ -20,6 +20,41 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-P001 → FE-P002 → FE-P003
|
||||
- FE-P002 → FE-P004
|
||||
- FE-P002 → FE-P005 → FE-P006, FE-P007
|
||||
```
|
||||
FE-P001 ─► FE-P002 ─┬─► FE-P003
|
||||
├─► FE-P004
|
||||
└─► FE-P005 ─┬─► FE-P006
|
||||
└─► FE-P007
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 商品列表页面能正确渲染商品数据
|
||||
- [x] 商品详情页面能显示完整的商品信息
|
||||
- [x] 商品上架表单能正确提交商品信息
|
||||
- [x] 素材上传组件能成功上传文件并返回素材URL
|
||||
- [x] 商品ROI分析页面能显示准确的ROI数据
|
||||
- [x] AI智能定价功能能提供合理的价格建议
|
||||
- [x] 商品利润监控面板能显示利润趋势
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的商品管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
|
||||
@@ -17,5 +17,36 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-O001 → FE-O002, FE-O003
|
||||
- FE-O002 → FE-O004
|
||||
```
|
||||
FE-O001 ─┬─► FE-O002 ─► FE-O004
|
||||
└─► FE-O003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 订单列表页面能正确渲染订单数据
|
||||
- [x] 订单详情页面能显示完整的订单信息
|
||||
- [x] 多平台订单聚合展示能整合不同平台的订单数据
|
||||
- [x] 异常订单处理界面能有效处理异常订单
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的订单管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
|
||||
@@ -17,6 +17,39 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-AD001 → FE-AD002, FE-AD003
|
||||
- FE-AD003 → FE-AD004, FE-AD006
|
||||
- FE-AD004 → FE-AD005
|
||||
```
|
||||
FE-AD001 ─┬─► FE-AD002
|
||||
└─► FE-AD003 ─┬─► FE-AD004 ─► FE-AD005
|
||||
└─► FE-AD006
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 广告计划管理页面能正确显示广告计划列表
|
||||
- [x] 广告投放界面能成功执行广告投放
|
||||
- [x] ROI分析页面能显示准确的广告效果数据
|
||||
- [x] AI广告优化功能能提供有效的优化建议
|
||||
- [x] 自动调整策略配置能正确配置调整规则
|
||||
- [x] 广告效果监控面板能显示实时效果数据
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的广告管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
|
||||
@@ -14,4 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-SR001 → FE-SR002, FE-SR003
|
||||
```
|
||||
FE-SR001 ─┬─► FE-SR002
|
||||
└─► FE-SR003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 退货申请页面能正确提交退货申请
|
||||
- [x] 退款处理界面能有效处理退款请求
|
||||
- [x] 售后客服界面能显示和处理客服工单
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的售后处理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
|
||||
@@ -14,4 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-TOB001 → FE-TOB002, FE-TOB003
|
||||
```
|
||||
FE-TOB001 ─┬─► FE-TOB002
|
||||
└─► FE-TOB003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 企业报价页面能正确生成报价单
|
||||
- [x] 批量订单界面能成功提交批量订单
|
||||
- [x] 合同管理页面能显示和管理合同信息
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的B2B贸易流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-MA001 是基础任务,无依赖
|
||||
- FE-MA002 依赖 FE-MA001
|
||||
- FE-MA003 依赖 FE-MA001
|
||||
```
|
||||
FE-MA001 ─┬─► FE-MA002
|
||||
└─► FE-MA003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 素材管理页面能正确显示素材列表
|
||||
- [x] 素材上传界面能成功上传素材并返回URL
|
||||
- [x] 素材审核界面能有效审核素材
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的素材管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-FR001 是基础任务,无依赖
|
||||
- FE-FR002 依赖 FE-FR001
|
||||
- FE-FR003 依赖 FE-FR001
|
||||
```
|
||||
FE-FR001 ─┬─► FE-FR002
|
||||
└─► FE-FR003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 对账管理页面能正确显示对账列表
|
||||
- [x] 对账详情界面能显示完整的对账信息
|
||||
- [x] 异常处理界面能有效处理对账异常
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的资金对账流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-RA001 是基础任务,无依赖
|
||||
- FE-RA002 依赖 FE-RA001
|
||||
- FE-RA003 依赖 FE-RA001
|
||||
```
|
||||
FE-RA001 ─┬─► FE-RA002
|
||||
└─► FE-RA003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 报表管理页面能正确显示报表列表
|
||||
- [x] 报表生成界面能成功生成报表数据
|
||||
- [x] 数据大屏界面能显示实时数据
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的报表生成流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-PM001 是基础任务,无依赖
|
||||
- FE-PM002 依赖 FE-PM001
|
||||
- FE-PM003 依赖 FE-PM001
|
||||
```
|
||||
FE-PM001 ─┬─► FE-PM002
|
||||
└─► FE-PM003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 角色管理页面能正确显示角色列表
|
||||
- [x] 权限管理界面能成功分配权限
|
||||
- [x] 用户角色分配界面能正确分配用户角色
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的权限管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-FA001 是基础任务,无依赖
|
||||
- FE-FA002 依赖 FE-FA001
|
||||
- FE-FA003 依赖 FE-FA001
|
||||
```
|
||||
FE-FA001 ─┬─► FE-FA002
|
||||
└─► FE-FA003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 功能列表页面能正确显示功能列表
|
||||
- [x] 功能激活界面能成功激活功能
|
||||
- [x] 支付管理界面能显示支付记录
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的功能开通流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-COM001 是基础任务,无依赖
|
||||
- FE-COM002 依赖 FE-COM001
|
||||
- FE-COM003 依赖 FE-COM001
|
||||
```
|
||||
FE-COM001 ─┬─► FE-COM002
|
||||
└─► FE-COM003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 证书管理页面能正确显示证书列表
|
||||
- [x] 合规检查界面能成功执行合规检查
|
||||
- [x] 证书到期提醒能及时发送通知
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的合规管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
@@ -14,6 +14,35 @@
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- FE-LOG001 是基础任务,无依赖
|
||||
- FE-LOG002 依赖 FE-LOG001
|
||||
- FE-LOG003 依赖 FE-LOG001
|
||||
```
|
||||
FE-LOG001 ─┬─► FE-LOG002
|
||||
└─► FE-LOG003
|
||||
```
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [x] 物流选择界面能正确显示物流方案
|
||||
- [x] 物流跟踪页面能显示实时物流信息
|
||||
- [x] 运费计算页面能准确计算运费
|
||||
- [x] 所有页面响应时间不超过2秒
|
||||
- [x] 页面布局合理,用户体验良好
|
||||
|
||||
## 测试要求
|
||||
|
||||
- [x] 单元测试:覆盖组件渲染和状态管理
|
||||
- [x] 集成测试:验证与后端API的交互
|
||||
- [x] 端到端测试:模拟完整的物流管理流程
|
||||
- [x] 兼容性测试:确保在不同浏览器中正常运行
|
||||
|
||||
## 性能要求
|
||||
|
||||
- 页面加载时间:首屏加载时间 < 2秒
|
||||
- 响应时间:用户操作响应时间 < 1秒
|
||||
- 并发处理:支持100个并发用户
|
||||
|
||||
## 安全要求
|
||||
|
||||
- 输入验证:所有用户输入必须经过验证
|
||||
- 权限控制:基于用户角色的访问控制
|
||||
- 数据加密:敏感数据传输加密
|
||||
- 防止XSS:实现输入输出过滤
|
||||
177
docs/00_Business/tasks/frontend/13_code_review_fixes.md
Normal file
177
docs/00_Business/tasks/frontend/13_code_review_fixes.md
Normal file
@@ -0,0 +1,177 @@
|
||||
# 代码审查修复任务(前端)
|
||||
|
||||
## 任务列表
|
||||
|
||||
| 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 的类型安全。
|
||||
|
||||
**典型违规模式**:
|
||||
```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.ts`
|
||||
- `dashboard/src/services/orderDataSource.ts`
|
||||
- `dashboard/src/pages/Pricing.tsx`
|
||||
- `dashboard/src/pages/Analytics/index.tsx`
|
||||
- `dashboard/src/pages/Marketing/Ads.tsx`
|
||||
- `dashboard/src/pages/Return/ReturnMonitor.tsx`
|
||||
- `dashboard/src/services/certificateDataSource.ts`
|
||||
- `dashboard/src/services/arbitrageDataSource.ts`
|
||||
- `dashboard/src/components/HierarchySelector/index.tsx`
|
||||
- `dashboard/src/pages/Product/MaterialUpload.tsx`
|
||||
- `dashboard/src/services/userAssetDataSource.ts`
|
||||
- `dashboard/src/services/returnDataSource.ts`
|
||||
- `dashboard/src/services/abTestDataSource.ts`
|
||||
- `dashboard/src/services/merchantDataSource.ts`
|
||||
- `dashboard/src/services/logisticsDataSource.ts`
|
||||
- `dashboard/src/services/blacklistDataSource.ts`
|
||||
- `dashboard/src/services/taskCenterDataSource.ts`
|
||||
- `dashboard/src/services/marketingDataSource.ts`
|
||||
- `dashboard/src/services/financeDataSource.ts`
|
||||
- `dashboard/src/services/afterSalesDataSource.ts`
|
||||
- `dashboard/src/services/independentSiteDataSource.ts`
|
||||
- `dashboard/src/services/b2bTradeDataSource.ts`
|
||||
|
||||
**验收标准**:
|
||||
- ✅ 减少 `any` 类型使用至 10 处以下
|
||||
- ✅ 定义明确的接口类型
|
||||
- ✅ 通过 TypeScript 严格检查
|
||||
- ✅ 类型覆盖率 > 95%
|
||||
|
||||
**实施步骤**:
|
||||
1. 识别所有使用 `any` 的位置
|
||||
2. 定义明确的接口类型
|
||||
3. 使用类型断言替代 `as any`
|
||||
4. 运行 TypeScript 检查验证
|
||||
|
||||
**整改示例**:
|
||||
```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
|
||||
- ✅ 代码体积优化
|
||||
- ✅ 缓存策略有效
|
||||
Reference in New Issue
Block a user