refactor(terminology): 统一术语标准并优化代码类型安全

- 将B2B统一为TOB术语
- 将状态值统一为大写格式
- 优化类型声明,避免使用any
- 将float类型替换为decimal以提高精度
- 新增术语标准化文档
- 优化路由结构和菜单分类
- 添加TypeORM实体类
- 增强加密模块安全性
- 重构前端路由结构
- 完善任务模板和验收标准
This commit is contained in:
2026-03-20 09:43:50 +08:00
parent eafa1bbe94
commit 48a78137c5
132 changed files with 13767 additions and 2140 deletions

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View File

@@ -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实现输入输出过滤

View 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
- ✅ 代码体积优化
- ✅ 缓存策略有效