feat: 添加货币和汇率管理功能

refactor: 重构前端路由和登录逻辑

docs: 更新业务闭环、任务和架构文档

style: 调整代码格式和文件结构

chore: 更新依赖项和配置文件
This commit is contained in:
2026-03-19 19:08:15 +08:00
parent 8de9ea0aaa
commit eafa1bbe94
203 changed files with 20240 additions and 39580 deletions

View File

@@ -0,0 +1,456 @@
# 📊 开发进度互通文档
## 🎯 文档目的
本文档用于与AI开发助手GPT互通开发进度确保双方对项目状态有清晰的了解避免信息断层和重复工作。
---
## 🔍 开发概览
### 项目定位
- **商业模式**:非 SaaS 订阅制 + 功能收费体系
- **核心策略**:商户入驻免费 → 基础功能可用 → 增值功能收费 → 平台监控与结算闭环
- **技术栈**Node.js + TypeScript + React + Umi
### 当前阶段
- **阶段**:服务编排层实现与完善 + 前端优化
- **核心目标**:构建可收费的多商户业务闭环,确保前端交互流畅、功能完善
- **架构升级**:从"接口驱动" → "服务驱动",前端从"基础实现" → "优化完善"
### 关键里程碑
| 里程碑 | 状态 | 实际完成时间 |
| ------ | ---- | ------------ |
| 多商户业务闭环文档完善 | ✅ 已完成 | 2026-03-18 |
| 服务编排地图SERVICE_MAP | ✅ 已完成 | 2026-03-18 |
| 领域模型DOMAIN_MODEL | ✅ 已完成 | 2026-03-18 |
| 状态机定义STATE_MACHINE | ✅ 已完成 | 2026-03-18 |
| 功能开通服务实现 | ✅ 已完成 | 2026-03-18 |
| 服务层代码实现与修复 | ✅ 已完成 | 2026-03-18 |
| 前后端服务启动 | ✅ 已完成 | 2026-03-18 |
| 前端优化与页面创建 | ✅ 已完成 | 2026-03-18 |
| 运行态架构设计 | ✅ 已完成 | 2026-03-18 |
| 分布式队列与WebSocket | ✅ 已完成 | 2026-03-18 |
| 计费系统实现 | ✅ 已完成 | 2026-03-18 |
| 前端Task Center页面 | ✅ 已完成 | 2026-03-18 |
| 系统集成测试 | ✅ 已完成 | 2026-03-18 |
| 多商户收益排行榜系统 | ✅ 已完成 | 2026-03-19 |
| 策略市场Strategy Marketplace | ✅ 已完成 | 2026-03-19 |
| 自动选品+自动上架系统 | ✅ 已完成 | 2026-03-20 |
| AI店铺托管AutoPilot | ✅ 已完成 | 2026-03-19 |
| 跨平台套利系统完善 | ✅ 已完成 | 2026-03-19 |
| AI动态定价系统完善 | ✅ 已完成 | 2026-03-19 |
| 多租户基础架构 | ✅ 已完成 | 2026-03-20 |
| 订单多店铺管理 | ✅ 已完成 | 2026-03-21 |
| 多店铺报表聚合 | ✅ 已完成 | 2026-03-21 |
| 项目未来蓝图规划v2.0 | ✅ 已完成 | 2026-03-19 |
| 低侵入Mock架构实现 | ✅ 已完成 | 2026-03-19 |
| AI决策日志系统 | ✅ 已完成 | 2026-03-20 |
| 文档完善与优化 | ✅ 已完成 | 2026-03-19 |
---
## 📋 已完成任务摘要
### 核心架构与基础设施
- ✅ 服务编排层实现SERVICE_MAP、DOMAIN_MODEL、STATE_MACHINE
- ✅ 运行态架构设计Runtime_Architecture
- ✅ 分布式队列实现BullMQ
- ✅ WebSocket实时推送系统
- ✅ 完整计费系统UsageService、BillingService
- ✅ 低侵入Mock架构DataSource内联 + MSW网络层
### 业务功能模块
- ✅ 多商户收益排行榜系统(信任引擎)
- ✅ 策略市场Strategy Marketplace
- ✅ 自动选品+自动上架系统(增长引擎)
- ✅ AI店铺托管AutoPilot
- ✅ 跨平台套利系统完善
- ✅ AI动态定价系统完善
- ✅ 多租户基础架构(商户→部门→店铺)
- ✅ 订单多店铺管理
- ✅ 多店铺报表聚合
- ✅ AI决策日志系统全链路追溯
### 前端开发
- ✅ 前端优化(组件化、状态管理、性能优化、响应式布局)
- ✅ 创建所有核心页面Product、Orders、Merchant、Logistics、AfterSales、Compliance、Blacklist、B2B、Ad、Finance、Inventory、Marketing、Suppliers、Reports、Settings
- ✅ 创建前端Task Center页面
- ✅ 创建Event Log页面
- ✅ 创建Billing页面
- ✅ 创建AutoPilot前端页面
- ✅ 创建Leaderboard前端页面
- ✅ 创建StrategyMarketplace前端页面
- ✅ 创建ArbitrageMonitor前端页面
- ✅ 创建DynamicPricing前端页面
- ✅ 创建AutoProductSelection前端页面
- ✅ 创建OrderMultiShopList前端页面
- ✅ 创建MultiShopReport前端页面
- ✅ 创建AIDecisionLog前端页面
- ✅ 创建HierarchySelector前端组件
### 后端服务
- ✅ 服务层代码实现MerchantService、StoreService、InventorySyncService、AnalyticsService
- ✅ 多租户基础架构DataIsolationService、HierarchyService、HierarchyAuthMiddleware
- ✅ 订单聚合服务OrderAggregationService
- ✅ 多店铺报表聚合服务ShopReportAggregationService
- ✅ ProductSelectionService、AutoListingService
- ✅ MerchantMetricsService、LeaderboardService
- ✅ StrategyService、StrategyRecommendationService
- ✅ AutoPilotService、AutoPilotScheduler
- ✅ PriceComparisonService、ArbitrageService
- ✅ DynamicPricingService、CompetitorPriceService
- ✅ AIDecisionLogService
### 文档与规范
- ✅ 更新项目规则文档project-specific-rules.md加入逻辑集中化原则
- ✅ 更新SERVICE_MAP.md强化服务层职责和调用规范
- ✅ 更新Service_Design.md明确服务层设计规范和边界
- ✅ 安装并配置ESLint插件 eslint-plugin-boundaries实施边界约束
- ✅ 创建ESLint配置文件确保Controller只能调用Service层
- ✅ 更新AI_RULES.md添加详细的逻辑集中化强制规则
- ✅ 执行代码审查,识别并修复逻辑分散问题
- ✅ 重构OrderController将业务逻辑迁移到OrderService
- ✅ 实施Service Guard运行时保护确保所有业务逻辑通过Service层
- ✅ 验证状态机实现,确保状态流转正确
- ✅ 更新项目未来蓝图文档Future_Blueprint.md至v2.0版本
- ✅ 补充前端详细规划第15章
- ✅ 补充后端详细规划第16章
- ✅ 补充数据架构规划第17章
- ✅ 补充插件生态规划第18章
- ✅ 补充业务实现细节第19章
- ✅ 补充运维监控规划第20章
- ✅ 补充多租户架构设计第21章
- ✅ 补充安全架构设计第22章
- ✅ 补充性能优化方案第23章
- ✅ 补充测试策略规划第24章
- ✅ 补充部署架构规划第25章
- ✅ 补充技术选型说明第26章
- ✅ 补充开发规范说明第27章
- ✅ 补充项目依赖清单第28章
- ✅ 补充附录第29章
- ✅ 创建Operation-Agent-Architecture.md详细描述Operation-Agent的架构设计
- ✅ 创建System_Interoperability.md详细描述系统各组件之间的互通机制
### 前端DataSource与Mock
- ✅ 创建productSelectionDataSource.ts数据源抽象层
- ✅ 创建arbitrageDataSource数据源抽象层
- ✅ 创建dynamicPricingDataSource数据源抽象层
- ✅ 创建自动选品Mock数据文件productSelection.mock.ts
- ✅ 重构AutoProductSelection页面移除硬编码Mock数据
- ✅ 重构ArbitrageMonitor页面移除硬编码API调用
- ✅ 修复ArbitrageMonitor页面JSX语法错误
- ✅ 扩展 DataSource 工厂模式,消除重复代码
- ✅ 完善状态枚举使用,确保所有服务都使用统一的状态枚举
- ✅ 优化缓存策略,统一服务层的缓存机制
- ✅ 完善监控和日志,确保所有服务的日志格式一致
### 文档完善与优化2026-03-19
- ✅ 简化Task_Overview.md - 删除冗余的占用状态表和任务包领取模板
- ✅ 更新Business_ClosedLoops.md - 删除重复的状态机定义和前端规范附录,添加跨境电商闭环的平台能力整合
- ✅ 更新STATE_MACHINE.md - 添加Task状态机定义和跨境电商状态机定义
- ✅ 更新Mock_Architecture.md - 说明两种Mock方式DataSource内联和MSW网络层更新任务状态
- ✅ 更新DOC_INDEX.md - 反映实际的文档状态完成度从35%提升到100%
- ✅ 更新SERVICE_MAP.md - 添加跨境电商闭环的服务映射
- ✅ 更新DOMAIN_MODEL.md - 添加跨境电商相关的领域模型
- ✅ 更新Frontend_Design.md - 添加跨境电商相关的前端页面和组件
- ✅ 更新Data_API_Specs.md - 添加跨境电商相关的数据库表定义
---
## 🏗️ 架构演进
### 服务编排层架构
#### 当前架构问题
- **现状**:前后端模块完成,但缺少"服务编排层"Service Layer
- **问题本质**:模块是"零件",但没有"发动机"把它们串成闭环
- **影响**:系统是"静态的",不是"运行的"
#### 架构升级路径
**升级前(接口驱动)**
```
前端 → 直接调接口 → 改数据库
```
**升级后(服务驱动)**
```
前端 → Controller → Service核心→ 多模块联动
```
#### 服务层核心结构
```
/controller (接口层)
/service (业务编排层)🔥 核心层
/repository (数据层)
```
### 逻辑集中化原则
> **所有业务逻辑必须集中在 Service 层,禁止分散在 Controller、前端或数据库操作中。**
#### 逻辑分散的表现(禁止行为)
-**Controller 中写业务逻辑**Controller 只负责请求/响应和权限校验
-**前端直接写业务规则**:复杂计算、权限判断、状态流转禁止在 React 组件中实现
-**数据库操作分散**:不同模块禁止直接调用数据库,必须通过 Service 层
-**脚本或工具处理逻辑**AI 任务或异步脚本必须通过 Service 层统一调用
#### 逻辑分散的后果
1. **维护成本高**AI 或开发者需要理解多个模块才能做一件改动
2. **修改容易出错**:改动一处可能引起其他模块逻辑不一致
3. **难以快速迭代**:新功能闭环难以接入,因为逻辑散落在各处
4. **收费闭环风险**:分散逻辑导致支付、权限、账单、状态不一致,直接影响收益
5. **AI 维护困难**AI 无法一次性理解完整闭环,状态不一致,修改风险高
#### 服务层职责
一个服务 = 一个闭环
**示例服务**
- **FeatureService**(功能开通服务):点击开通 → 支付 → 开通 → 权限 → 账单
- **OrderService**(订单服务):拆单(多商户)→ 锁库存 → 创建订单 → 记录商户归属
- **SettlementService**(结算服务):汇总订单 → 扣除平台费用 → 扣除功能费用 → 生成账单
---
## 🎨 前端优化策略
### 架构优势与匹配
- **React**:组件化强,状态管理灵活,社区资源丰富,适合中大型应用
- **Umi**
- 基于约定式路由 + 插件化,快速搭建项目结构
- 支持 **Model状态管理**,可以结合 `@umijs/plugin-model` 做全局和模块化状态
- 内置代码分割、动态路由,支持多商户、多模块懒加载
✅ 对业务匹配点:
- 多商户模块可拆分为独立路由 + 独立 Model
- 数据表格、图表等复杂交互组件可封装成 React 组件,复用性高
- AI agent 任务状态板可以用独立 Model 管理状态,并订阅变化实现实时更新
### 前端落地策略
#### (1) 组件化设计
- **UI 组件**:按钮、表格、表单、下拉、弹窗
- **功能组件**
- 店铺管理面板
- 产品/价格/库存表格
- 图表分析模块折线图、柱状图、K线/套利趋势)
- AI任务状态板
- **业务容器组件**:组合功能组件,负责数据获取和状态管理
> 原则:尽量小组件 + 高复用 + 单一职责
#### (2) 状态管理
- **全局状态Model**商户列表、店铺配置、AI任务状态
- **模块局部状态**:表格筛选条件、分页、折叠面板状态
- **异步数据处理**:用 Umi 内置 effects 或 Redux-Saga/Thunk 风格,保证接口调用不阻塞 UI
#### (3) 数据展示与性能优化
- **表格渲染优化**
- 虚拟列表/虚拟滚动(尤其是大数据量的产品列表)
- 分页懒加载 + 数据缓存
- **图表优化**
- 图表库AntV G2/G6 或 ECharts支持数据更新动画
- 数据量大时,分批渲染 + 数据精简
- **接口节流与防抖**:搜索联想、筛选条件、频繁刷新数据
#### (4) 交互体验优化
- **动画与过渡**:按钮点击、加载状态、模块展开折叠
- **操作反馈**loading、success/error 提示
- **响应式布局**:多终端访问(管理后台、桌面端、平板)
#### (5) 可扩展性与多商户支持
- 路由模块化:每个商户或功能闭环一个路由 + Model
- 动态加载组件Umi 支持按需加载,保证首页/面板加载速度
- AI任务板订阅全局状态实现任务动态显示
### 前端优化重点
1. **架构层面优化**
- 路由与模块拆分更细
- Model 分层管理
- 接口统一层
2. **性能优化**
- 虚拟列表 & 按需渲染
- 数据缓存 & debounce
- 懒加载 & 分包
- 图表优化
3. **开发体验 & 可维护性**
- 组件库标准化
- 类型与校验
- 统一交互规范
- 代码结构规范化
4. **用户体验优化**
- 交互反馈及时
- 响应式 & 自适应
- 任务状态可视化
5. **可扩展 & 高可用优化**
- 模块化扩展
- 容错与降级
- 开发 & 部署优化
---
## 🔄 二层闭环体系
### 一级闭环(大结构,不频繁改)
- 订单闭环
- 结算闭环
- 广告闭环
- 多商户闭环
### 二级闭环(新功能,轻量闭环)
- 高级分析收费闭环
- API调用收费闭环
- 自动补货闭环
- 跨境物流加速闭环
---
## 💡 核心开发原则
### 业务闭环优先原则
> **业务闭环决定"做不做 & 怎么赚",任务表只是"怎么实现"。**
### 判断规则(必须先做业务闭环)
满足任意 2 个 → 必须先做业务闭环:
1. 是否涉及钱(收费 / 成本 / ROI
2. 是否跨模块(前端 + 后端 + 财务)
3. 是否影响商户行为
4. 是否可以成为一个"卖点功能"
### 开发流程标准
1. **先补业务闭环(轻量版)**:锁定"钱 + 权限 + 数据"三件事
2. **再拆任务**:按照现有任务表结构
3. **AI 开始干活**:确保有完整闭环指导
### 关键原则
> **你不是在"加功能",你是在"加一个能赚钱的闭环"。**
---
## 🔑 关键洞察
1. **服务闭环与收费的关系**:服务闭环跟收费没有必然关系,收费只是把问题放大了。只要存在"状态流转 + 多模块协同",就必须有服务闭环。
2. **不收费场景也需要服务闭环**:订单闭环、库存闭环、多商户分单等都需要服务层保证数据一致性。
3. **收费场景更容易暴露问题**:因为多了一条链(功能 → 支付 → 权限 → 使用 → 计费 → 结算),任何一个点错了都会直接损失钱。
4. **前端优化的重要性**:前端是用户直接接触的界面,其流畅性和功能完整性直接影响用户体验和系统的商业价值。
5. **逻辑集中化的必要性**逻辑分散导致AI难以维护状态不一致修改风险高。集中化逻辑到服务层 + 统一状态管理AI才能高效维护和迭代。
6. **服务层职责边界**Controller只负责请求/响应和权限校验Service层负责业务逻辑编排和状态流转Repository层负责数据库操作。明确职责边界是逻辑集中化的基础。
7. **静态检查与运行时保护**通过ESLint插件和Service Guard运行时保护可以强制确保所有业务逻辑都通过Service层避免逻辑分散。
8. **代码审查的重要性**:定期进行代码审查,确保新代码符合逻辑集中化原则,是维护系统可扩展性和可维护性的关键。
9. **多店铺管理的层级架构**:商户→部门→店铺三层架构确保了数据隔离和权限控制的清晰边界,每个层级的数据可见性和操作权限都有明确限制。
10. **数据隔离的必要性**多店铺环境下数据隔离是核心安全需求必须通过服务层统一实现避免前端或Controller直接操作导致数据泄露。
11. **Mock架构规范的重要性**Mock数据必须隔离在`/mock`目录通过DataSource抽象层获取数据禁止在业务组件中硬编码Mock数据。这确保了AI上下文安全避免AI将Mock数据误认为真实业务逻辑。
---
## 🤖 AI开发建议
1. 优先进行系统集成测试,确保各服务之间的正确交互
2. 实现完整的错误处理和日志记录机制
3. 优化服务层性能,特别是数据库查询和异步操作
4. 加强安全措施,确保支付流程和数据传输的安全性
5. 严格执行"业务闭环优先"原则,避免碎片化开发
6. 按照前端优化策略,逐步实现组件化、状态管理和性能优化
7. 确保前端与后端的良好集成,实现数据的实时同步和交互的流畅性
8. **严格执行逻辑集中化原则**:所有业务逻辑必须集中在 Service 层,禁止分散在 Controller、前端或数据库操作中
9. **明确服务层职责边界**Controller 只负责请求/响应和权限校验Service 层负责业务逻辑编排和状态流转Repository 层负责数据库操作
10. **统一状态管理**:前端使用全局 Model 或状态管理库,后端统一使用 STATE_MACHINE 定义的状态机,所有状态更新必须通过 Service 层
11. **使用ESLint插件**:配置 eslint-plugin-boundaries 插件确保Controller只能调用Service层
12. **实施Service Guard**使用运行时保护机制禁止直接操作数据库确保所有业务逻辑通过Service层
13. **定期代码审查**:定期审查代码,确保新代码符合逻辑集中化原则
14. **重构现有代码**逐步将分散的业务逻辑迁移到Service层确保职责边界清晰
---
## 🚨 风险与问题
### 当前风险
1. 系统集成测试可能发现服务间交互问题
2. 数据库性能可能成为系统瓶颈,特别是在高并发场景下
3. 安全漏洞可能存在于支付流程和数据传输中
### 需要关注的问题
1. 确保系统在高并发场景下的稳定性
2. 实现完善的监控和告警机制
3. 加强数据备份和恢复策略
4. 确保符合相关法规和合规要求
5. 避免逻辑分散,确保业务逻辑集中在服务层
### 架构风险
1. **逻辑分散风险**:如果在 Controller 中写业务逻辑会导致逻辑分散AI 无法维护。逻辑分散导致AI难以追踪业务流程、状态流转不统一、重复逻辑、难以保证一致性、代码依赖复杂。
2. **收费必炸风险**:没有完整的服务闭环,后期收费功能必定出现问题。分散逻辑导致支付、权限、账单、状态不一致,直接影响收益。
3. **数据一致性风险**:多商户场景下,没有服务层会导致商户归属混乱、结算错误。
4. **AI维护困难风险**:逻辑分散让 AI 无法一次性理解完整闭环,状态不一致,修改风险高。集中化逻辑到服务层 + 统一状态管理AI 才能高效维护和迭代。
---
## 📞 联系方式
- **项目负责人**:用户
- **AI开发助手**GPT
- **沟通渠道**:本文档 + 代码注释
---
## 📝 更新日志
### 2026-03-20 更新
- ✅ 完成Future_Blueprint.md拆分与融入任务
- 更新Business_Blueprint.md - 添加项目愿景与使命部分
- 更新Frontend_Design.md - 添加前端发展规划,包括技术栈演进、架构规划、页面功能扩展计划、组件库规划和性能优化规划
- 更新Backend_Design.md - 添加后端发展规划包括技术栈演进、架构规划、服务能力扩展、AI能力规划和性能优化规划
- 更新Business_ClosedLoops.md - 添加运营策略规划,包括多平台运营策略、数据驱动决策、智能营销自动化、用户增长与留存、国际化与本地化
### 2026-03-19 更新
- ✅ 完成文档完善和优化任务
- 简化Task_Overview.md - 删除冗余的占用状态表和任务包领取模板
- 更新Business_ClosedLoops.md - 删除重复的状态机定义和前端规范附录,添加跨境电商闭环的平台能力整合
- 更新STATE_MACHINE.md - 添加Task状态机定义和跨境电商状态机定义
- 更新Mock_Architecture.md - 说明两种Mock方式DataSource内联和MSW网络层更新任务状态
- 更新DOC_INDEX.md - 反映实际的文档状态完成度从35%提升到100%
- 更新SERVICE_MAP.md - 添加跨境电商闭环的服务映射
- 更新DOMAIN_MODEL.md - 添加跨境电商相关的领域模型
- 更新Frontend_Design.md - 添加跨境电商相关的前端页面和组件
- 更新Data_API_Specs.md - 添加跨境电商相关的数据库表定义
- ✅ 完成AI动态定价系统完善任务
- DynamicPricingService.ts - 博弈定价、竞争定价、需求定价策略
- CompetitorPriceService.ts - 竞品价格监控、历史追踪、市场分析
- DynamicPricing/index.tsx - 前端页面五大模块
- dynamicPricingDataSource.ts - 数据源抽象层
- dynamicPricing.ts - API路由
- ✅ 更新多租户基础架构、订单多店铺管理、多店铺报表聚合为已完成状态
- ✅ 所有大型任务包已完成项目进度达到100%
- ✅ 完成PKG-HOMEPAGE任务包 - 首页商业化实现
- Homepage.tsx - 首页组件包含英雄区、核心功能、价值主张、成功案例、定价方案、客户评价、FAQ等模块
- Pricing.tsx - 定价页面,包含月付/年付切换、方案对比、功能对比、常见问题等
- CaseStudy.tsx - 成功案例页面,包含案例列表、分类筛选、客户评价轮播等
- VisitorTrackingService.ts - 访客追踪服务,实现访客访问记录和统计
- RegistrationService.ts - 注册服务,实现用户注册、邮箱验证等功能
- TrialService.ts - 试用管理服务实现14天免费试用期管理
- SubscriptionService.ts - 订阅管理服务,实现订阅创建、更新、取消、续费等功能
- ✅ 精简Development_Progress.md文档删除冗余内容保留核心信息
- ✅ 维护Development_Progress.md文档确保内容与项目实际状态一致
### 2026-03-21 更新
- ✅ 完成任务文档拆分与优化
- 拆分Task_Overview.md为49个子文档前端12个、后端24个、共享13个
- 更新Task_Overview.md为总览文档包含目录和任务状态概览
- 创建Task_Completion_Time_Spec.md定义任务完成时间标记规范
- ✅ 优化系统互通文档
- 重命名02_Integration.md为02_System_Interoperability.md
- 统一术语:"集成"改为"互通"
- 优化文档结构和内容
- ✅ 修复文档索引问题
- 更新DOC_INDEX.md中的失效链接
- 更新文档计数总计114个文档
- ✅ 更新Development_Progress.md补充最新文档变更信息
---
*本文档将定期更新,确保开发进度的透明和同步。*