# 技术架构图 ## 系统整体架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 前端应用层 │ ├─────────────────────────────────────────────────────────────┤ │ API网关/负载均衡 │ ├─────────────────────────────────────────────────────────────┤ │ Midway.js 应用层 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Controller │ │ Middleware │ │ Guards │ │ │ │ 层 │ │ 层 │ │ 层 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Service │ │ DTO │ │ Utils │ │ │ │ 层 │ │ 层 │ │ 层 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Entity │ │ Enum │ │ Config │ │ │ │ 层 │ │ 层 │ │ 层 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ 数据持久层 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ MySQL │ │ Redis │ │ File Store │ │ │ │ Database │ │ Cache │ │ (Future) │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ 第三方服务集成 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │WooCommerce │ │ FreightCom │ │ CanadaPost │ │ │ │ API │ │ 物流API │ │ 物流API │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ UniExpress │ │ 邮件服务 │ │ 其他API │ │ │ │ 物流API │ │ SMTP │ │ 服务 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 业务模块架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 业务模块层 │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 产品管理 │ │ 订单管理 │ │ 库存管理 │ │ │ │ │ │ │ │ │ │ │ │ • 产品CRUD │ │ • 订单同步 │ │ • 库存追踪 │ │ │ │ • 分类管理 │ │ • 状态管理 │ │ • 多仓管理 │ │ │ │ • 变体管理 │ │ • 退款处理 │ │ • 采购管理 │ │ │ │ • WP同步 │ │ • 统计分析 │ │ • 调拨管理 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 物流管理 │ │ 客户管理 │ │ 用户管理 │ │ │ │ │ │ │ │ │ │ │ │ • 运单生成 │ │ • 客户信息 │ │ • 用户认证 │ │ │ │ • 物流集成 │ │ • 标签管理 │ │ • 权限管理 │ │ │ │ • 运费计算 │ │ • 评级系统 │ │ • 角色管理 │ │ │ │ • 状态同步 │ │ • 行为分析 │ │ • JWT令牌 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 统计分析 │ │ Webhook │ │ 系统管理 │ │ │ │ │ │ │ │ │ │ │ │ • 销售统计 │ │ • WP事件 │ │ • 配置管理 │ │ │ │ • 库存统计 │ │ • 订单同步 │ │ • 定时任务 │ │ │ │ • 客户统计 │ │ • 产品同步 │ │ • 日志管理 │ │ │ │ • 报表生成 │ │ • 状态更新 │ │ • 监控告警 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 数据流架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 数据流向图 │ │ │ │ WooCommerce ──────┐ │ │ │ │ │ │ │ Webhook │ API调用 │ │ ▼ ▼ │ │ ┌─────────────────────────────────┐ │ │ │ API Gateway │ │ │ │ (Midway.js App) │ │ │ └─────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────┐ │ │ │ Controller Layer │ │ │ │ • 请求验证 │ │ │ │ • 参数转换 │ │ │ │ • 响应格式化 │ │ │ └─────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────┐ │ │ │ Service Layer │ │ │ │ • 业务逻辑处理 │ │ │ │ • 数据转换 │ │ │ │ • 第三方服务调用 │ │ │ └─────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────┐ │ │ │ Entity Layer │ │ │ │ • ORM映射 │ │ │ │ • 数据验证 │ │ │ │ • 关系管理 │ │ │ └─────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────┐ │ │ │ MySQL Database │ │ │ │ • 数据持久化 │ │ │ │ • 事务管理 │ │ │ │ • 索引优化 │ │ │ └─────────────────────────────────┘ │ │ │ │ 第三方服务 ◄──────────────────────── Service Layer │ │ • FreightCom │ │ • CanadaPost │ │ • UniExpress │ │ • SMTP邮件 │ └─────────────────────────────────────────────────────────────┘ ``` ## 核心实体关系图 ``` ┌─────────────────────────────────────────────────────────────┐ │ 核心实体关系 │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Product │ │ Category │ │ Flavors │ │ │ │ │────│ │ │ │ │ │ │ • id │ │ • id │ │ • id │ │ │ │ • name │ │ • name │ │ • name │ │ │ │ • sku │ │ • slug │ │ • value │ │ │ │ • price │ └─────────────┘ └─────────────┘ │ │ └─────────────┘ │ │ │ │ │ │ 1:N │ │ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Variation │ │ Stock │ │ StockPoint │ │ │ │ │ │ │────│ │ │ │ │ • id │ │ • id │ │ • id │ │ │ │ • productId │ │ • quantity │ │ • name │ │ │ │ • sku │ │ • productSku│ │ • address │ │ │ │ • price │ └─────────────┘ └─────────────┘ │ │ └─────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Order │ │ OrderItem │ │ Customer │ │ │ │ │────│ │ │ │ │ │ │ • id │ │ • id │ │ • id │ │ │ │ • status │ │ • orderId │ │ • email │ │ │ │ • total │ │ • productId │ │ • rate │ │ │ │ • customerId│────│ • quantity │ └─────────────┘ │ │ └─────────────┘ └─────────────┘ │ │ │ │ │ │ 1:N │ │ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Shipment │ │ShipmentItem │ │ Service │ │ │ │ │────│ │ │ │ │ │ │ • id │ │ • id │ │ • id │ │ │ │ • orderId │ │ • shipmentId│ │ • name │ │ │ │ • trackingNo│ │ • quantity │ │ • type │ │ │ │ • status │ └─────────────┘ │ • config │ │ │ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 技术选型说明 ### 框架选择 - **Midway.js**: 企业级Node.js框架,提供完整的IoC容器和装饰器支持 - **TypeScript**: 强类型支持,提高代码质量和可维护性 - **TypeORM**: 功能强大的ORM框架,支持多种数据库 ### 数据库选择 - **MySQL**: 成熟稳定的关系型数据库,适合电商业务的复杂关系 - **Redis**: (建议添加) 高性能缓存,提升系统响应速度 ### 第三方集成 - **WooCommerce**: 主流电商平台,API完善 - **物流服务商**: 多家物流公司集成,提供灵活的物流选择 - **JWT**: 无状态认证,适合分布式系统 ### 开发工具 - **Swagger**: API文档自动生成 - **ESLint**: 代码规范检查 - **Jest**: 单元测试框架