- 移除未使用的TabPane组件 - 修复类型定义和导入方式 - 优化mock数据源的环境变量判断逻辑 - 更新文档结构并归档旧文件 - 添加新的UI组件和Memo组件 - 调整API路径和响应处理
16 KiB
16 KiB
16 其他独立业务闭环
本文档包含其他独立的业务闭环:定价与利润决策、核心服务优先级、多店铺管理、商家选择发货、客户/商家押金
1️⃣5️⃣ 定价与利润决策闭环(Pricing & Profit Decision Loop)
- 目标:基于成本、市场和业务目标,自动生成定价策略和利润优化建议。
- 流程:
- 成本数据收集 → 市场分析 → 定价策略生成 → 利润预测 → 决策执行
- 决策点:
- 利润率红线控制(B2C < 20% 预警,B2B < 15% 禁止)
- 价格弹性分析
- 竞争定价策略
- 输入:商品成本、运费、平台费、广告预估、市场竞争数据
- 输出:
- 建议售价
- 建议 ROI
- 上架决策(开/关)
- 广告投放 ROI 区间
- 最大可承受 CPA
5️⃣0️⃣ 核心服务优先级闭环(Core Service Priority Loop)
- 目标:确定核心业务服务的优先级顺序,确保资源合理分配。
- 流程:
- 服务评估:
- 业务价值评估
- 技术复杂度评估
- 资源需求评估
- 风险评估
- 优先级排序:
- 基于业务价值的排序
- 基于依赖关系的排序
- 基于时间窗口的排序
- 资源分配:
- 人力分配
- 技术资源分配
- 时间规划
- 执行监控:
- 进度跟踪
- 资源使用监控
- 风险预警
- 服务评估:
- 决策点:
- 优先级调整时机
- 资源重新分配决策
- 项目范围变更管理
- 输入:服务需求、业务目标、资源状况
- 输出:优先级排序结果、资源分配计划、执行进度报告
- 状态机:
ASSESSMENT→PRIORITIZATION→RESOURCE_ALLOCATION→EXECUTION→MONITORING
5️⃣7️⃣ 多店铺管理闭环(Multi-Shop Management Loop)
- 目标:实现多店铺、多商户、多部门的统一管理与数据隔离,支持独立站/外部独立站/报表等一对多交互
- 层级架构:
商户(Merchant) → 部门(Department) → 店铺(Shop) ↓ ↓ ↓ 商户级数据 部门级数据 店铺级数据 - 流程:
- 店铺注册与配置:
- 店铺类型划分(独立站/平台店/外部独立站)
- 平台账号绑定
- 店铺基础信息配置
- 店铺状态管理
- 权限配置:
- 层级权限继承
- 数据访问范围控制
- 操作权限分配
- 角色管理
- 数据隔离:
- 店铺级数据隔离
- 部门级数据聚合
- 商户级数据汇总
- 跨店铺数据访问控制
- 业务操作:
- 商品管理(单店/批量)
- 订单管理(单店/聚合)
- 库存管理(单店/同步)
- 价格管理(单店/批量)
- 报表聚合:
- 单店报表
- 部门聚合报表
- 商户汇总报表
- 跨店对比分析
- 店铺注册与配置:
- 决策点:
- 店铺类型划分标准
- 数据权限边界定义
- 报表聚合规则
- 跨店操作权限
- 输入:店铺信息、商户信息、部门信息、用户角色
- 输出:
- 店铺管理界面
- 跨店铺数据报表
- 权限控制策略
- 数据隔离配置
- 状态机:
SHOP_REGISTERED→SHOP_CONFIGURED→SHOP_ACTIVE→SHOP_SUSPENDED→SHOP_CLOSED
2️⃣0️⃣ 商家选择发货闭环(Merchant Selective Fulfillment Loop)
- 目标:商家可选择自己有库存的订单发货,剩余由平台/公司发货。
- 流程:
- 订单选择
- 商家登录落地页选择自己有货的订单发货
- 系统检查
- 押金或余额是否足够覆盖订单
- 时效性(保证订单不过期)
- 订单状态更新
- 状态流转:
available → requested → shipped → completed - 剩余无货订单由平台/公司自己发货
- 状态流转:
- 订单选择
- 决策点:
- 订单分配规则
- 库存检查策略
- 时效保证机制
- 输入:
- 商家库存信息
- 订单数据
- 押金/余额状态
- 输出:
- 订单分配结果
- 发货状态更新
- 异常订单标记
1️⃣9️⃣ 客户/商家押金与账户管理闭环(Customer/Merchant Deposit & Account Management Loop)
- 目标:管理客户预缴押金、账户余额,支持订单抵扣和提现。
- 流程:
- 押金管理
- 客户预缴押金(例:100 元抵 2 单)
- 押金余额、已抵扣订单数量记录
- 账户管理
- 客户可查看:可申请发货订单、历史回款、押金/余额状态
- 自动扣减押金或余额完成发货操作
- 提现管理
- 检查账户余额 → 生成提现单 → 审核 → 打款
- 押金管理
- 决策点:
- 押金抵扣规则
- 提现审核流程
- 余额管理策略
- 输入:
- 客户押金信息
- 订单数据
- 提现申请
- 输出:
- 押金/余额状态
- 提现处理结果
- 财务流水记录
相关KPI
定价与利润决策闭环
| KPI 指标 | 描述 | 适用业务类型 |
|---|---|---|
| 定价准确率 | 建议售价与最优价格的偏差率 | TOC + TOB |
| 利润率达标率 | 达到目标利润率的商品比例 | TOC + TOB |
| 定价决策时效 | 从成本数据到定价决策的时间 | TOC + TOB |
| 价格竞争力 | 与市场平均价格的对比 | TOC + TOB |
| 利润预测准确率 | 预测利润与实际利润的偏差率 | TOC + TOB |
多店铺管理闭环
| KPI 指标 | 描述 | 适用业务类型 |
|---|---|---|
| 店铺数量 | 管理的店铺总数 | TOC + TOB |
| 活跃店铺数 | 活跃店铺数量 | TOC + TOB |
| 跨店订单量 | 跨店铺订单数量 | TOC + TOB |
| 数据隔离有效性 | 数据隔离的成功率 | TOC + TOB |
| 报表生成效率 | 报表生成的平均时间 | TOC + TOB |
7️⃣7️⃣ Node Agent 任务执行闭环(Node Agent Task Execution Loop)
- 目标:通过 Playwright 自动化代理执行无 API 平台的操作任务,实现采集、刊登、订单处理等自动化。
- 架构:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Server │◄────►│ Hub │◄────►│ Node-Agent │ │ (主控端) │ │ (任务调度) │ │ (Playwright)│ └─────────────┘ └─────────────┘ └─────────────┘ │ ┌──────▼──────┐ │ Chromium │ │ (无API平台) │ └─────────────┘ - 流程:
- 节点注册:
- Node Agent 启动时向 Hub 注册
- 上报节点 ID、版本、操作系统、主机名
- 加载本地店铺配置
- 心跳维持:
- 定时向 Hub 发送心跳(默认 30 秒)
- 维持节点在线状态
- 检测连接异常并自动重连
- 任务轮询:
- 定时从 Hub 拉取任务(默认 10 秒)
- 获取待执行的任务队列
- 按优先级和店铺隔离规则执行
- 任务执行:
- 启动 Playwright 浏览器实例
- 配置代理 IP 和浏览器指纹
- 执行具体任务(采集/刊登/订单处理)
- 收集执行结果和截图
- 结果上报:
- 向 Hub 上报任务执行结果
- 包含状态、数据、错误信息
- 支持重试机制
- 节点注册:
- 任务类型:
任务类型 说明 适用平台 COLLECT_PRODUCT商品数据采集 TikTok Shop, Temu, 1688 COLLECT_ORDER订单数据采集 TikTok Shop, Temu PUBLISH_PRODUCT商品刊登 TikTok Shop, Temu PROCESS_ORDER订单处理(发货、取消) TikTok Shop, Temu SYNC_INVENTORY库存同步 TikTok Shop, Temu MANAGE_AD广告管理 TikTok Shop - 店铺隔离策略:
- 一店一上下文:每个店铺独立的 profileDir、proxy、fingerprintPolicy
- 同店任务串行:同一店铺的任务严格串行执行
- 跨店任务并行:不同店铺的任务可并行执行
- 反检测策略:
策略 说明 指纹隔离 每个店铺独立浏览器指纹 代理 IP 每个店铺独立代理 行为模拟 随机延迟、鼠标轨迹 User-Agent 随机 UA 轮换 - 决策点:
- 任务优先级排序
- 浏览器实例数量控制
- 失败重试策略
- 异常处理机制
- 输入:任务配置、店铺信息、代理配置、指纹策略
- 输出:执行结果、采集数据、截图日志
- 状态机:
- 节点:
OFFLINE→REGISTERING→ONLINE→BUSY→OFFLINE - 任务:
PENDING→PULLED→EXECUTING→SUCCESS/FAILED
- 节点:
7️⃣8️⃣ 前端-后端-Node Agent 调用链路闭环(Frontend-Backend-NodeAgent Call Chain Loop)
- 目标:定义从前端操作到 Node Agent 执行的完整调用链路,确保数据流和状态同步。
- 架构层次:
┌─────────────────────────────────────────────────────────────┐ │ 用户操作层 │ │ Dashboard (React) → 用户点击"采集商品"按钮 │ └──────────────────────────┬──────────────────────────────────┘ │ HTTP Request ▼ ┌─────────────────────────────────────────────────────────────┐ │ API 网关层 │ │ Server Controller → 权限校验 → 参数验证 → 调用 Service │ └──────────────────────────┬──────────────────────────────────┘ │ Service Call ▼ ┌─────────────────────────────────────────────────────────────┐ │ 业务逻辑层 │ │ Service → 创建任务 → 存入数据库 → 推送到 Hub 队列 │ └──────────────────────────┬──────────────────────────────────┘ │ Queue Push ▼ ┌─────────────────────────────────────────────────────────────┐ │ 任务调度层 │ │ Hub → 任务队列 → 分配给 Node Agent → 监控执行状态 │ └──────────────────────────┬──────────────────────────────────┘ │ Task Pull ▼ ┌─────────────────────────────────────────────────────────────┐ │ 执行代理层 │ │ Node Agent → Playwright 执行 → 采集数据 → 上报结果 │ └──────────────────────────┬──────────────────────────────────┘ │ Result Report ▼ ┌─────────────────────────────────────────────────────────────┐ │ 数据回写层 │ │ Hub → 更新任务状态 → 通知 Server → WebSocket 推送前端 │ └─────────────────────────────────────────────────────────────┘ - 调用链路示例(商品采集):
- 前端发起:
// Dashboard: 用户点击采集按钮 const handleCollect = async () => { const result = await collectProductDataSource.create({ platform: 'TikTok', shopId: 'shop-123', productUrl: 'https://...' }); }; - 后端处理:
// Server: Controller → Service @router.post('/api/v1/collect/product') async collectProduct(req: Request, res: Response) { const task = await CrawlerService.createCollectTask(req.body); await HubQueueService.pushTask(task); res.json({ taskId: task.id, status: 'PENDING' }); } - Hub 调度:
// Hub: 任务队列管理 async pushTask(task: Task) { await TaskQueue.add(task); await this.notifyNodeAgents(); } - Node Agent 执行:
// Node Agent: Playwright 执行 async executeTask(task: NodeTask) { const browser = await chromium.launch({ proxy: task.proxy }); const page = await browser.newPage(); const data = await this.collectProduct(page, task.payload); await this.reportReceipt({ taskId: task.id, data }); } - 结果回写:
// Server: 接收结果 @router.post('/api/v1/publish/receipt') async handleReceipt(req: Request, res: Response) { await CrawlerService.saveCollectResult(req.body); await WebSocketService.notifyFrontend(req.body.taskId, 'SUCCESS'); }
- 前端发起:
- 状态同步机制:
机制 说明 WebSocket 推送 实时推送任务状态到前端 轮询查询 前端定时查询任务状态 事件总线 内部服务间状态同步 - 决策点:
- 任务优先级设置
- 超时处理策略
- 失败重试机制
- 并发控制策略
- 输入:用户操作、任务配置、执行参数
- 输出:任务状态、执行结果、通知消息
- 状态机:
USER_ACTION→API_REQUEST→TASK_CREATED→TASK_QUEUED→TASK_EXECUTING→TASK_COMPLETED→RESULT_SAVED→FRONTEND_NOTIFIED
相关KPI
Node Agent 任务执行闭环
| KPI 指标 | 描述 | 适用业务类型 |
|---|---|---|
| 任务成功率 | 成功执行的任务比例 | TOC + TOB |
| 平均执行时间 | 任务执行的平均耗时 | TOC + TOB |
| 节点在线率 | Node Agent 在线时间比例 | TOC + TOB |
| 采集数据准确率 | 采集数据的准确性 | TOC + TOB |
| 反检测成功率 | 未被平台检测的成功率 | TOC + TOB |
前端-后端-Node Agent 调用链路闭环
| KPI 指标 | 描述 | 适用业务类型 |
|---|---|---|
| 端到端延迟 | 从用户操作到结果返回的时间 | TOC + TOB |
| 链路成功率 | 完整链路执行成功的比例 | TOC + TOB |
| 状态同步延迟 | 状态更新到前端显示的时间 | TOC + TOB |
| 错误恢复率 | 错误后自动恢复的比例 | TOC + TOB |