Files
makemd/docs/Sync_Checklist.md

944 lines
24 KiB
Markdown
Raw Normal View History

# 项目同步清单
> 本文档记录了整个项目中需要同步的所有内容,确保前后端一致性
---
## 1. 类型定义同步
### 1.1 前后端类型共享
- **前端类型导入**`dashboard/src/types/index.ts` 从后端导入共享类型
- **后端类型定义**`server/src/shared/types/` 目录下的类型定义
- **类型边界**:遵循 Schema 驱动开发,确保 API 返回数据经过 Schema 验证
### 1.2 类型定义文件
- **前端本地类型**
- `certificate.ts`
- `dataSourceMap.ts`
- `datasource.ts`
- `order.ts`
- `platform.ts`
- `procurement.ts`
- `product.ts`
- `productManagement.ts`
- `productSelection.ts`
- `user.ts`
- `warehouse.ts`
- **后端共享类型**
- `domain/User.ts`
- `domain/Product.ts`
- `domain/Order.ts`
- `domain/Inventory.ts`
- `domain/ShopInfo.ts`
- `domain/Certificate.ts`
- `domain/ProductSelection.ts`
- `batch-operation.ts`
- `enums/index.ts`
- `dto/index.ts`
- `shared/index.ts`
### 1.3 类型转换流程
```
API 返回数据 → Schema 验证 → DTO 转换 → Domain 模型
```
---
## 2. 图标管理同步
### 2.1 统一图标导出
- **图标文件**`dashboard/src/imports/icons.ts`
- **图标库**Ant Design Icons
- **使用原则**:确保整个项目中图标使用的一致性
### 2.2 图标使用规范
- 避免重复导入图标
- 避免使用不同版本的图标
- 统一图标命名和引用方式
---
## 3. 服务层同步
### 3.1 数据源服务
- **服务导出文件**`dashboard/src/services/index.ts`
- **数据源服务列表**
- abTestDataSource
- adOptimizationDataSource
- afterSalesDataSource
- aiActionTaskDataSource
- aiSuggestionDataSource
- analyticsDataSource
- arbitrageDataSource
- auditDataSource
- autoExecutionDataSource
- b2bTradeDataSource
- baseDataSource
- batchOperationDataSource
- blacklistDataSource
- certificateDataSource
- chatbotDataSource
- clientDataSource
- commandDataSource
- creativeDataSource
- crossBorderIntegrationDataSource
- customerDataSource
- dashboardDataSource
- dynamicPricingDataSource
- exchangeDataSource
- executionResultDataSource
- financeDataSource
- governanceDataSource
- humanApprovalDataSource
- independentSiteDataSource
- instanceDataSource
- inventoryDataSource
- leaderboardDataSource
- logisticsDataSource
- marketingDataSource
- materialProcessingDataSource
- merchantDataSource
- monitoringDataSource
- nlpDataSource
- omnichannelCommunicationDataSource
- omnichannelDataSource
- omnichannelMarketingDataSource
- operationAgentDataSource
- operationLogDataSource
- orderDataSource
- orderManagementDataSource
- platformAuthDataSource
- procurementDataSource
- productDataSource
- productManagementDataSource
- productSelectionDataSource
- recommendationDataSource
- reportsDataSource
- returnDataSource
- roleDataSource
- saasTenantDataSource
- serviceManagerDataSource
- settingsDataSource
- shopDataSource
- shopReportDataSource
- sovereigntyDataSource
- storeCreationDataSource
- suppliersDataSource
- syncDataSource
- systemStatusDataSource
- taskCenterDataSource
- telemetryDataSource
- traceDataSource
- unifiedFulfillmentDataSource
- userAssetDataSource
- userDataSource
- vaultDataSource
- warehouseDataSource
- webhookDataSource
### 3.2 API 服务
- **前端 API 服务**`dashboard/src/services/api/`
- **后端 API 接口**`server/src/api/`
- **同步要求**:确保前端 API 服务与后端 API 接口保持一致
### 3.3 服务调用链
- 确保服务层的调用链清晰
- 避免跨 Domain 直接操作数据库模型
- 通过 Service 层暴露接口或 EventBus 异步通信
---
## 4. 导入配置同步
### 4.1 统一导入
- **导入配置文件**`dashboard/src/imports/index.ts`
- **导入模块**
- react
- antd
- icons
- charts
- utils
- datasources
- constants
- types
### 4.2 模块依赖
- 确保模块之间的依赖关系清晰
- 避免循环依赖
- 统一模块导入方式
---
## 5. 业务闭环同步
### 5.1 商品域
- **数据采集与清洗闭环**
- 状态变化:`RAW_DATA``CLEANED``ANALYZED``READY_FOR_LISTING`
- 触发条件:定时任务、手动触发、事件触发
- **商品刊登闭环**
- 状态变化:`READY_FOR_LISTING``LISTING_IN_PROGRESS``LISTED``MONITORING``NEED_UPDATE``UPDATED`
- 决策点:前置套利/利润分析、TOB阶梯价审批策略
- **素材管理闭环**
- 状态机:`UPLOADED``PROCESSING``PENDING_REVIEW``APPROVED``IN_USE``ARCHIVED`/`REJECTED`
- **商品主数据闭环**
- 流程:数据采集 → 标准化处理 → 主数据维护 → 数据分发
- **SKU变体与结构闭环**
- 流程SPU创建 → SKU生成 → 平台SKU映射 → 同步管理
- **多平台商品管理闭环**
- 状态机:`PRODUCT_CREATED``PLATFORM_MAPPED``SYNCHRONIZED``UPDATED`
### 5.2 订单域
- **订单履约闭环**
- 状态机:`PULLED``PENDING_REVIEW``CONFIRMED``ALLOCATED``READY_TO_SHIP``SHIPPED``DELIVERED``CLOSED`
- **售后逆向闭环**
- 流程:售后请求处理 → 退货处理 → 退款处理
- **订单集中管理闭环**
- 状态流转:`available → requested → shipped → completed`
- **一站式订单履约闭环**
- 状态机:`ORDER_RECEIVED``ORDER_PROCESSED``IN_FULFILLMENT``SHIPPED``DELIVERED``SYNCHRONIZED`
- **订单拆分与合并闭环**
- 流程:订单分析 → 拆分/合并决策 → 子订单生成 → 履约执行
- **异常订单处理闭环**
- 流程:异常检测 → 分类处理 → 解决方案执行 → 结果反馈
### 5.3 库存域
- 库存管理
- 库存同步
- 库存预警
### 5.4 财务域
- 财务核算
- 对账
- 结算
---
## 6. 多平台数据同步
### 6.1 平台集成
- **支持平台**
- TikTok
- Shopee
- Amazon
- eBay
- AliExpress
- Temu
- Shopify
- Walmart
- MercadoLibre
- Lazada
- Coupang
- SHEIN
### 6.2 跨平台数据
- 跨平台商品数据一致性
- 跨平台订单数据一致性
- 跨平台库存数据一致性
### 6.3 平台状态
- 平台商品状态实时同步
- 平台订单状态实时同步
- 平台库存状态实时同步
---
## 7. 权限和组织架构同步
### 7.1 RBAC 模型
- **预设角色**
- ADMIN - 全权
- MANAGER - 运营主管
- OPERATOR - 运营专员
- FINANCE - 财务主管
- SOURCING - 采购专家
- LOGISTICS - 物流专家
- ANALYST - 数据分析师
### 7.2 组织层级结构
```
平台Platform
商户/公司Tenant/Organization
组织结构Org Tree
├── 部门A主管
│ ├── 组A1组长
│ │ ├── 员工1
│ │ └── 员工2
│ └── 组A2组长
│ └── 员工3
└── 部门B主管
└── ...
```
### 7.3 数据范围类型
- **SELF** - 只看自己
- **TEAM** - 看自己组
- **DEPT** - 看自己部门
- **ORG** - 看整个公司
- **ALL** - 全平台(超管)
### 7.4 店铺角色权限
- **owner** - 拥有者
- **admin** - 管理员
- **operator** - 运营
- **viewer** - 只读
### 7.5 授权模型
- **API授权**Shopify、Amazon
- **Agent授权**TikTok、Shopee
---
## 8. 状态机同步
### 8.1 状态定义
- 确保各个业务闭环的状态机定义在整个系统中保持一致
- 状态机定义文件:`server/src/core/engine/`
### 8.2 状态流转
- 确保状态流转的规则和触发条件在整个系统中保持一致
- 状态流转必须通过 Service 层
### 8.3 状态监控
- 确保状态变更的监控和通知机制同步
- 状态变更必须记录日志
---
## 9. 配置管理同步
### 9.1 配置驱动
- 确保配置驱动的设计在整个系统中保持一致
- 配置文件:`server/src/config/`
### 9.2 环境变量
- 前端环境变量:
- `REACT_APP_USE_MOCK` - 前端Mock开关
- 后端环境变量:
- `USE_MOCK` - 后端Mock开关
### 9.3 Mock 配置
- Mock 文件目录:`dashboard/src/mock/`
- Mock 数据定义:`dashboard/src/mock/data/`
- Mock 配置:`dashboard/src/mock/msw.ts`
---
## 10. 日志和监控同步
### 10.1 日志格式
```typescript
{
timestamp: string;
level: string;
traceId: string;
tenantId: string;
shopId: string;
taskId?: string;
service: string;
method: string;
message: string;
duration?: number;
error?: ErrorInfo;
}
```
### 10.2 日志级别
- **DEBUG** - 开发调试
- **INFO** - 正常业务流程
- **WARN** - 潜在问题
- **ERROR** - 错误异常
### 10.3 监控指标
- 确保监控指标的定义和采集在整个系统中保持一致
- 监控服务:`server/src/core/monitoring/MonitoringService.ts`
### 10.4 告警机制
- 确保告警机制的配置和触发条件在整个系统中保持一致
- 告警类型:系统告警、业务告警、性能告警
---
## 11. 国际化同步
### 11.1 语言文件
- **中文**`dashboard/src/locales/zh-CN.ts`
- **英文**`dashboard/src/locales/en-US.ts`
### 11.2 国际化策略
- 确保国际化的实现策略在整个系统中保持一致
- 支持的语言:中文、英文
---
## 12. 插件系统同步
### 12.1 插件注册
- 插件注册文件:`dashboard/src/plugins/`
- 插件管理器:`server/src/core/runtime/PluginManager.ts`
### 12.2 插件接口
- 确保插件接口的定义和实现在整个系统中保持一致
- 插件类型定义:`dashboard/src/plugins/FeatureTypes.ts`
### 12.3 扩展点
- 确保扩展点的定义与前端扩展机制保持一致
- 扩展点注册:`dashboard/src/plugins/FeatureRegistry.ts`
---
## 13. 数据模型同步
### 13.1 三层商品模型
```
SPU产品层
├── SKU-001库存单元层
│ ├── Listing-A平台商品层
│ ├── Listing-B平台商品层
│ └── Listing-C平台商品层
├── SKU-002库存单元层
│ └── Listing-D平台商品层
└── SKU-003库存单元层
└── Listing-E平台商品层
```
### 13.2 订单模型
- 订单模型的定义和使用在整个系统中保持一致
- 订单状态机:`server/src/core/engine/OrderStateMachine.ts`
### 13.3 用户模型
- 用户模型的定义和使用在整个系统中保持一致
- 用户类型定义:`server/src/shared/types/domain/User.ts`
---
## 14. 价格体系同步
### 14.1 三层价格体系
```
┌─────────────────────────────────────────┐
│ 1⃣ 基准价层Base Price Layer
│ SKU.base_price │
│ 用途:统一锚点、人工理解 │
└──────────────┬──────────────────────────┘
┌─────────────────────────────────────────┐
│ 2⃣ 策略层Strategy Layer
│ PriceStrategy: │
│ - scope: 平台/店铺/Listing │
│ - type: multiplier/fixed/dynamic │
│ 用途:规则定义、批量控制 │
└──────────────┬──────────────────────────┘
┌─────────────────────────────────────────┐
│ 3⃣ Listing层Final Price Layer
│ PlatformListing.price │
│ 用途:真正赚钱的地方 │
└─────────────────────────────────────────┘
```
### 14.2 价格策略类型
- **MULTIPLIER** - 倍率定价
- **FIXED** - 固定定价
- **DYNAMIC** - 动态定价
### 14.3 价格计算公式
```
最终价格 = override_price || strategy计算结果 || base_price
```
### 14.4 多平台定价
- 确保多平台定价的策略和执行在整个系统中保持一致
- 价格服务:`server/src/api/controllers/PricingController.ts`
---
## 15. 数据同步策略
### 15.1 同步频率
- 确保数据同步的频率和触发条件在整个系统中保持一致
- 同步服务:`dashboard/src/services/syncDataSource.ts`
### 15.2 冲突处理
- 确保数据同步的冲突处理机制在整个系统中保持一致
- 冲突处理策略:先声明者优先、后到者避让、协商解决
### 15.3 同步状态
- 确保数据同步的状态监控和异常处理在整个系统中保持一致
- 同步状态监控:实时同步状态、异常状态及时处理
---
## 16. 枚举类型同步
### 16.1 前端枚举
- 确保前端使用的枚举类型与后端保持一致
- 枚举定义:`dashboard/src/types/` 下的枚举类型
### 16.2 后端枚举
- **枚举定义文件**`server/src/shared/types/enums/`
- `PlatformType.ts`
- `StoreStatus.ts`
- `BusinessEnums.ts`
### 16.3 枚举值
- 确保枚举值的命名和数值在整个系统中保持一致
- 枚举值的使用必须统一
---
## 17. 配置文件同步
### 17.1 依赖版本
- **前端依赖**`dashboard/package.json`
- **后端依赖**`server/package.json`
- 确保前后端依赖版本保持一致
### 17.2 环境配置
- **前端环境配置**
- `.env.development`
- `.env.production`
- **后端环境配置**
- 对应的环境配置文件
- 确保环境配置保持一致
### 17.3 构建配置
- **前端构建配置**`dashboard/.umirc.ts`
- **后端构建配置**`server/` 下的构建配置
- 确保构建配置保持一致
---
## 18. 平台连接器同步
### 18.1 连接器实现
- **连接器目录**`server/src/core/connectors/`
- **支持平台**
- AliExpressConnector.ts
- Alibaba1688Connector.ts
- AmazonConnector.ts
- FacebookAdsConnector.ts
- GoogleAdsConnector.ts
- ShopeeConnector.ts
- ShopifyConnector.ts
- TemuConnector.ts
- TikTokAdsConnector.ts
- TikTokConnector.ts
### 18.2 适配器同步
- **适配器目录**`server/src/core/operation/adapters/`
- **适配器列表**
- AliExpressAdapter.ts
- AmazonAdapter.ts
- EbayAdapter.ts
- GenericAdapter.ts
- ShopeeAdapter.ts
- TikTokAdapter.ts
### 18.3 平台API
- 确保平台API的调用方式和参数在前后端保持一致
- API文档`docs/api/` 目录下的平台API文档
---
## 19. 核心引擎同步
### 19.1 状态机
- **状态机目录**`server/src/core/engine/`
- **状态机列表**
- CoreEngineService.ts
- DataStateMachine.ts
- OrderStateMachine.ts
- ProductStateMachine.ts
- RuleEngineService.ts
- WorkflowEngineService.ts
### 19.2 工作流引擎
- 工作流引擎的定义和执行需要与前端流程保持一致
- 工作流服务:`server/src/core/engine/WorkflowEngineService.ts`
### 19.3 规则引擎
- 规则引擎的规则定义和执行需要与前端业务逻辑保持一致
- 规则服务:`server/src/core/engine/RuleEngineService.ts`
---
## 20. 数据隔离同步
### 20.1 店铺隔离
- **店铺隔离服务**`server/src/core/isolation/ShopIsolationService.ts`
- 确保与前端店铺管理保持一致
### 20.2 租户隔离
- 租户隔离的实现需要与前端租户管理保持一致
- 租户控制器:`server/src/api/controllers/TenantController.ts`
### 20.3 数据范围
- 数据范围的定义和验证需要与前端权限管理保持一致
- 数据范围类型SELF, TEAM, DEPT, ORG, ALL
---
## 21. 安全服务同步
### 21.1 认证服务
- **认证控制器**`server/src/api/controllers/AuthController.ts`
- 确保与前端登录和授权保持一致
### 21.2 授权服务
- **RBAC引擎**`server/src/core/auth/RBACEngine.ts`
- 确保与前端权限管理保持一致
### 21.3 安全配置
- 安全配置的定义需要与前端安全措施保持一致
- 安全服务:`server/src/core/security/`
---
## 22. 监控和日志同步
### 22.1 监控服务
- **监控服务**`server/src/core/monitoring/MonitoringService.ts`
- 确保与前端监控保持一致
### 22.2 日志服务
- 日志服务的实现需要与前端日志记录保持一致
- 日志格式和级别统一
### 22.3 告警机制
- 告警机制的定义需要与前端通知保持一致
- 告警类型和触发条件统一
---
## 23. 数据治理同步
### 23.1 数据质量
- **数据质量服务**`server/src/core/data/DataQualityService.ts`
- 确保与前端数据管理保持一致
### 23.2 数据合规
- **数据合规服务**`server/src/core/governance/DataComplianceService.ts`
- 确保与前端合规管理保持一致
### 23.3 数据集成
- **数据集成平台**`server/src/core/data/DataIntegrationPlatform.ts`
- 确保与前端数据同步保持一致
---
## 24. 服务编排同步
### 24.1 服务注册
- **服务注册表**`server/src/core/orchestrator/ServiceRegistry.ts`
- 确保与前端服务调用保持一致
### 24.2 服务监控
- **服务监控**`server/src/core/orchestrator/ServiceMonitor.ts`
- 确保与前端服务状态保持一致
### 24.3 服务编排
- **服务编排器**`server/src/core/orchestrator/ServiceOrchestrator.ts`
- 确保与前端业务流程保持一致
---
## 25. 部署和迁移同步
### 25.1 部署脚本
- 前端和后端的部署脚本需要保持一致
- CI/CD 配置:`.github/workflows/ci-cd.yml`
### 25.2 数据库迁移
- 数据库迁移的实现需要与前端数据模型保持一致
- 数据库配置:`server/src/config/database.ts`
### 25.3 版本管理
- 版本管理的实现需要与前端版本控制保持一致
- 版本号统一管理
---
## 26. 插件和扩展同步
### 26.1 插件管理器
- **插件管理器**`server/src/core/runtime/PluginManager.ts`
- 确保与前端插件系统保持一致
### 26.2 扩展点
- 扩展点的定义需要与前端扩展机制保持一致
- 扩展点注册统一
### 26.3 插件接口
- 插件接口的定义需要与前端插件实现保持一致
- 插件类型定义统一
---
## 27. 测试同步
### 27.1 测试用例
- 前端和后端的测试用例需要保持一致
- 测试目录:`server/src/__tests__/`
### 27.2 测试数据
- 测试数据的定义需要与前端和后端测试保持一致
- Mock 数据:`dashboard/src/mock/data/`
### 27.3 测试环境
- 测试环境的配置需要与前端和后端测试保持一致
- 测试配置:`dashboard/jest.config.js`, `server/jest.config.js`
---
## 28. 文档同步
### 28.1 API文档
- API文档的定义需要与前端和后端实现保持一致
- API文档目录`docs/api/`
### 28.2 架构文档
- 架构文档的定义需要与前端和后端架构保持一致
- 架构文档目录:`docs/ARCH/`, `docs/archive/01_Architecture/`
### 28.3 业务文档
- 业务文档的定义需要与前端和后端业务逻辑保持一致
- 业务文档目录:`docs/loops/`
---
## 29. TypeScript 编译同步
### 29.1 编译配置
- **前端编译配置**`dashboard/tsconfig.json`
- **后端编译配置**`server/tsconfig.json`
- 确保编译配置保持一致
### 29.2 类型检查
- 确保前后端类型检查规则保持一致
- 禁止使用 `any` 类型,使用 `unknown` + 类型守卫
### 29.3 编译错误
- 确保编译错误的处理方式保持一致
- 编译错误必须阻断 CI/CD
---
## 30. 错误处理同步
### 30.1 统一错误格式
```typescript
interface ApiError {
code: string;
message: string;
details?: unknown;
traceId: string;
}
```
### 30.2 错误码规范
- 格式:`[模块]_[类型]_[序号]`
- 确保错误码在整个系统中保持一致
### 30.3 异常处理
- 全局异常处理机制需要保持一致
- 异常日志记录需要保持一致
---
## 31. 五元组追踪同步
### 31.1 五元组定义
```typescript
{
tenantId: string;
shopId: string;
taskId: string;
traceId: string;
businessType: 'TOC' | 'TOB';
}
```
### 31.2 追踪机制
- 确保五元组追踪在整个系统中保持一致
- 所有任务与日志必须携带五元组
### 31.3 追踪ID
- 确保追踪ID的生成和使用在整个系统中保持一致
- 追踪ID服务`server/src/core/runtime/SnowflakeIDService.ts`
---
## 32. Mock 数据同步
### 32.1 Mock 数据原则
- 禁止硬编码 Mock 数据
- 通过 DataSource 抽象层获取数据
- 环境变量控制:`REACT_APP_USE_MOCK`, `USE_MOCK`
### 32.2 Mock 文件规范
- Mock 文件必须包含 `[MOCK]` 标记
- Mock 文件必须放在 `/mock` 目录
- Mock 数据定义:`dashboard/src/mock/data/`
### 32.3 AI 识别规则
- AI 忽略 `/mock` 目录下所有文件
- AI 忽略包含 `[MOCK]` 标记的文件
- AI 优先分析 `/services` 下的 DataSource 层
---
## 33. 逻辑集中化同步
### 33.1 核心原则
- 所有业务逻辑必须集中在 Service 层
- 禁止分散在 Controller、前端或数据库操作中
### 33.2 Controller 层职责
- 接收 HTTP 请求和参数验证
- 调用 Service 层处理业务逻辑
- 返回响应给前端
- 权限校验(通过 `authorize()` 中间件)
### 33.3 Service 层职责
- 业务逻辑编排和状态流转
- 多模块协同和数据一致性保证
- 事务管理和异常处理
- 调用 Repository 层或外部 API
---
## 34. 任务包领取同步
### 34.1 任务包定义
```
任务包 = 同一闭环的连续任务 + 依赖链完整 + 文件归属明确
```
### 34.2 领取规则
- 优先领取任务包
- 最小粒度:单次领取不少于 2 个相关任务
- 依赖自包含:领取的任务包内依赖必须闭环
### 34.3 任务包类型
- **闭环包**:同一业务闭环的全部任务
- **模块包**:同一模块的连续任务
- **依赖链包**:有依赖关系的任务链
---
## 35. 协作防撞车同步
### 35.1 模块分区锁定
- 领取任务时必须声明占用的模块/闭环名称
- 涉及的主要文件路径
- 预计完成时间
### 35.2 文件占用声明
- 在 Task_Overview.md 顶部维护 🔒 当前占用区
- 谁领取谁编辑
- 后写入方必须先 Read 最新内容,增量合并
### 35.3 撞车处理优先级
- 先声明者优先
- 后到者避让
- 协商解决
---
## 36. 利润红线同步
### 36.1 利润红线定义
- B2B 利润率 < 15% → 禁止报价
- B2C 利润率 < 20% → 触发风控预警
### 36.2 计价收敛
- 所有价格计算必须走 PricingService
- 禁止 Controller 或前端硬编码价格公式
### 36.3 套利计算口径
- 禁止仅用 "售价 - 采购价" 判断套利
- 必须使用净利公式(含平台费/物流/税费/汇率/售后/广告摊销)
---
## 37. 无 API 平台约束同步
### 37.1 No-API Bridge
- 必须走 No-API Bridge + PENDING_REVIEW
- 禁止全自动直发
### 37.2 Win 节点隔离
- 一店一上下文profileDir/proxy/fingerprintPolicy
- 同店任务:严格串行执行
---
## 38. 企业交付底线同步
### 38.1 必备功能
- ✅ 租户隔离
- ✅ 审计追责
- ✅ 配额治理
- ✅ SLA 指标可观测
### 38.2 交付标准
- 数据库表已初始化
- 核心逻辑已闭环
- 通过 GetDiagnostics 校验
---
## 39. 代码质量门禁同步
### 39.1 命名规范
- 服务类统一使用 `Service` 后缀
- 禁止使用 `Manager`/`Helper` 等后缀
### 39.2 注释规范
- 每个服务类包含完整 JSDoc
- 明确标识任务ID和功能描述
### 39.3 文件规模限制
- 单文件 ≤ 1500 行
- 单函数 ≤ 120 行
- UI 组件 ≤ 300 行
---
## 40. 数据库约束同步
### 40.1 表命名规范
- 所有表必须以 `cf_` 开头
- 金额字段必须使用 `decimal(10,2)`,禁止 float/double
- 物理属性单位:长度, 重量(kg), 体积(m³)
### 40.2 数据完整性
- cf_product 表必须保证 (platform, productId) 唯一
- images/skus/attributes 入库前序列化,出库解析
- 所有建表语句必须使用 `db.schema.hasTable` 前置校验
---
## 总结
以上是整个项目中需要同步的所有内容涵盖了类型定义、图标管理、服务层、导入配置、业务闭环、多平台数据、权限组织架构、状态机、配置管理、日志监控、国际化、插件系统、数据模型、价格体系、数据同步策略、枚举类型、配置文件、平台连接器、核心引擎、数据隔离、安全服务、监控日志、数据治理、服务编排、部署迁移、插件扩展、测试、文档、TypeScript 编译、错误处理、五元组追踪、Mock 数据、逻辑集中化、任务包领取、协作防撞车、利润红线、无 API 平台约束、企业交付底线、代码质量门禁、数据库约束等 40 个方面。
确保这些内容的同步,可以提高系统的一致性、可靠性和可维护性,减少因数据不一致或配置不同步导致的问题。