diff --git a/docs/06-tasks.md b/docs/06-tasks.md index b53ed08..3b371aa 100644 --- a/docs/06-tasks.md +++ b/docs/06-tasks.md @@ -64,6 +64,36 @@ | EC-004 | 图片优化关联商品 | EC-002 | 图片优化任务可关联 SKU 或 product_id,商品中心能看到图片状态 | TODO | | EC-005 | 电商统计指标 | EC-003 | 展示商品总数、待优化图片、在售商品、失败图片任务和处理趋势 | TODO | +## Phase SP · 虾皮店铺模块(CDP 多店管理) + +> 设计依据:Obsidian `项目文档/Wails多店铺CDP管理方案.md`(含 UI 与数据模型第 10 节)。架构:Wails 当编排,N 个独立 Chrome(独立 user-data-dir / 端口 / 代理)并行 CDP。分三期:P1 列表与进程编排、P2 预览宫格、P3 RPA 引擎。 + +### P1 · 列表、凭据、进程编排 + +| ID | 任务 | 依赖 | 验收要点 | 状态 | +| --- | --- | --- | --- | --- | +| SP-001 | 凭据静态加密原语 | - | `SuiStore` 增加加密/解密工具;Windows 用 DPAPI(`CryptProtectData`,绑当前用户)或主密码派生密钥;密码等敏感字段不落明文;含单元测试 | TODO | +| SP-002 | 店铺数据模型与迁移 | SP-001 | 新增 `shopee_shops` 表:名称、账号、加密密码(可选)、user-data-dir、调试端口、代理(类型/host/port/user/pass 结构化)、状态枚举(进程未启动/未登录/在线/掉线/需人工OTP/代理失效/RPA运行中)、出口IP校验状态;迁移和基础测试通过 | TODO | +| SP-003 | ShopService CRUD 与 bindings | SP-002 | 店铺增删改查 service;user-data-dir 与端口可自动分配;密码经加密原语存取;生成 Wails bindings;含测试 | TODO | +| SP-004 | 导航入口、路由与模块页骨架 | T-012 | `navItems` 增加“虾皮店铺”;`/shopee` 路由可访问;模块页为 master-detail 布局(左店铺列表区 + 右预览区占位) | TODO | +| SP-005 | 店铺列表 CRUD 界面 | SP-003, SP-004 | 列表展示名称/账号/代理/状态;可增删改;代理为结构化表单;密码为可选项且不明文回显;空态与校验提示可用 | TODO | +| SP-006 | Chrome 进程编排器 | SP-002 | Go 侧起停/守护外部 Chrome;每进程绑定 user-data-dir + 唯一调试端口 + 代理;代理带认证走 CDP `Fetch.authRequired` 或本地转发;启动后校验出口 IP 并回写状态;打包固定版本 portable Chromium | TODO | +| SP-007 | 单店打开/关闭与状态回显(路 A) | SP-005, SP-006 | 每店“打开/关闭”按钮拉起/关闭真实 headed Chrome 窗口;状态枚举实时回显到列表;掉线/代理失效可识别并提示人工 | TODO | + +### P2 · 预览宫格 + +| ID | 任务 | 依赖 | 验收要点 | 状态 | +| --- | --- | --- | --- | --- | +| SP-010 | screencast CDP 客户端 | SP-006 | 用 chromedp 连接各店调试端口;`Page.startScreencast` 拉帧;连接池管理与断连重连;帧率可配置 | TODO | +| SP-011 | 预览宫格界面 | SP-010, SP-007 | 右侧宫格按在线店铺渲染 N 格 `` 实时画面;进入/离开 tab 懒启停 screencast;帧率节流;点击某格置前对应真实 Chrome 窗口(路 A) | TODO | + +### P3 · RPA 引擎 + +| ID | 任务 | 依赖 | 验收要点 | 状态 | +| --- | --- | --- | --- | --- | +| SP-020 | RPA 步骤引擎与首个登录后流程 | SP-007 | 预设步骤模型(打开/导航/填充/点击等)+ 执行器;单店运行态与步骤日志;错误处理与中断;首个内置流程为“登录后流程”(在已登录 profile 上执行,如抓订单/改库存) | TODO | +| SP-021 | 登录辅助 RPA | SP-020 | 可选“自动填账密”步骤;走到 OTP/验证码即停下并通知人工接管;补登完成后可继续;密码经加密原语读取,不出现在日志 | TODO | + ## Backlog - 评估是否需要 Playwright / Vitest 覆盖前端关键页面。