2026-07-01 17:19:35 +08:00
|
|
|
|
# 产品与 UI 评估(模块 / 组件合理性)
|
|
|
|
|
|
|
|
|
|
|
|
> 立场:以**产品经理(工作流 / 业务逻辑)+ UI 设计师(布局 / 组件 / 信息层级)**双视角,评估当前 5 Tab GUI 的所有模块与组件是否合理,并给出优化方案。
|
|
|
|
|
|
> 基线:`docs/routes.md` 界面结构 + `docs/current-state.md` 当前实现快照(2026-07-01)。
|
|
|
|
|
|
> 性质:评估与建议,不改代码。落地项见文末优先级清单,可转 `docs/06-tasks.md` 正式任务。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 当前状态说明(2026-07-01)
|
|
|
|
|
|
|
2026-07-04 10:56:08 +08:00
|
|
|
|
本文保留当时的产品/UI评估原文,但部分 P0 项已在后续任务中落地:T-509 已支持②「新标题」列本地微调;T-508 已把③「重置更新状态」移到任务表右键菜单,并强化「开始更新」主操作;T-510 已把用户可见「预览本轮更新」统一为「检查本轮更新」。继续落地时,不要把这些历史问题重复建任务;当前剩余可执行项以 `docs/06-tasks.md` 的 T-511 及之后任务为准。
|
2026-07-01 17:19:35 +08:00
|
|
|
|
## 总判断
|
|
|
|
|
|
|
|
|
|
|
|
整体架构成熟、克制、内部一致:5 Tab 流水线映射 `imported → collected → generated → applied` 四阶段;worker/QThread、`run_logs` 运行日志、Excel 回写重试、安全二次确认在各 Tab 高度统一;安全红线(③二次确认、`committed` 提示、批次软删除)落得扎实。**定位是"给熟练运营重复使用"的桌面工具,作为日常工具是合理的。**
|
|
|
|
|
|
|
|
|
|
|
|
问题不在 bug,而在设计取舍留下的**体验债**——集中在下面 4 个结构性问题与若干 Tab 级问题。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 一、信息架构层(最高优先)
|
|
|
|
|
|
|
|
|
|
|
|
### 1. Tab 顺序与真实依赖顺序矛盾——首次用户逆流
|
|
|
|
|
|
|
|
|
|
|
|
Tab 排列 `①采集 → ②生成 → ③更新 → ④账号 → ⑤设置`(工作流优先),但流程导航第一步是"④账号管理(首次必做)",③之前还要"⑤设置配置安全开关"。**前置条件被放在最后两个 Tab。**
|
|
|
|
|
|
|
|
|
|
|
|
- 熟练用户:账号早配好,高频①②③在前 → 正确。
|
|
|
|
|
|
- 首次用户:①点采集被拦、③点更新被拦,需反向跳④⑤ → 逆流。
|
|
|
|
|
|
|
|
|
|
|
|
取舍可接受,但代价是首次引导必须极强。现状是被动拦截(按钮禁用 + 执行前提示去④)。
|
|
|
|
|
|
|
|
|
|
|
|
**优化方案**:①②③在"无账号 / 未登录"时,用**显式空状态引导卡片**替代灰按钮,例如「第一步:前往『④账号管理』配置并登录账号 →」并带跳转按钮;账号就绪后卡片消失,老用户无感。
|
|
|
|
|
|
|
|
|
|
|
|
### 2. ③ 的安全开关藏在 ⑤,是隐性耦合
|
|
|
|
|
|
|
|
|
|
|
|
"允许真实提交""允许更新封面"是 ③ 能否工作的闸门,却住在 ⑤。为安全(不易误触)这样分是对的,但**发现性差**:首次真实更新被拦截时,用户未必知道去⑤开哪个开关。
|
|
|
|
|
|
|
|
|
|
|
|
**优化方案**:③ 的安全拦截弹窗**写明被哪个具体开关拦下**(如"未允许真实提交"),并提供「前往设置」深链按钮直接跳到 ⑤ 对应分区。
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 缺批次级总览——多批次场景盲区
|
|
|
|
|
|
|
|
|
|
|
|
现在每个 Tab 各自按批次筛选看自己的列表,**没有任何地方一眼看到"批次X:导入5 / 已采集5 / 已生成3 / 已更新0"**。软删除上线后批次持续累积,运营管理多批次只能在①②③间来回数数。这是随规模暴露的缺口。
|
|
|
|
|
|
|
|
|
|
|
|
**优化方案**:加一个轻量**批次进度总览**(各阶段计数)。落点可选:①顶部按选中批次显示阶段进度条,或独立"概览"区/弹窗。数据可由 `db.list_tasks(batch_id=...)` 按 `stage/status` 聚合,无需新表。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 二、逐 Tab 评估
|
|
|
|
|
|
|
|
|
|
|
|
### ① 导入采集
|
|
|
|
|
|
|
|
|
|
|
|
- **PM**:导入汇总栏(文件/行/有效/匹配/未匹配可点筛)是亮点,把校验关口前置,专业。
|
|
|
|
|
|
- **UI**:筛选弱于②③——只有"批次 + 全部/未匹配",缺"店铺/商品ID/状态"四联筛,量大时难定位单店铺,与②③不一致。
|
|
|
|
|
|
- **优化**:① 对齐②③的店铺/商品ID/状态筛选(至少店铺筛选),保持三个列表页筛选心智一致。
|
|
|
|
|
|
|
|
|
|
|
|
### ② AI生成
|
|
|
|
|
|
|
|
|
|
|
|
- **PM(历史问题,已由 T-509 解决)**:原评估时新标题不可编辑、只能重生成/重置;当前②已支持本地微调 `new_title`,继续保留该能力。
|
|
|
|
|
|
- **当前处理**:该项已由 T-509 落地,后续不要重复建“标题编辑”任务;只在回归测试中确认编辑后进入③仍走同样确认。
|
|
|
|
|
|
- **UI**:左侧 1/4 窄列塞了标题提示词 + 封面模板(下拉 + 新建/保存/另存为/重命名/删除 6 按钮)+ 插入/预览,密度过高。
|
|
|
|
|
|
- **优化**:封面模板的低频管理动作(另存为/重命名/删除)收进图标菜单或右键;或评估把模板管理移入⑤,左栏只留"选模板 + 编辑 + 预览"。
|
|
|
|
|
|
|
|
|
|
|
|
### ③ 更新shopee
|
|
|
|
|
|
|
|
|
|
|
|
- **PM**:逻辑最重也最严谨——预览→安全开关→确认→就绪预检→分批→回写→汇总,闭环完整,风险控制到位,保留。
|
|
|
|
|
|
- **UI(历史问题,已由 T-508/T-510 解决)**:原评估时按钮行 `[预览][开始更新][停止][重置更新状态][回写Excel]` 5 连排;当前「检查本轮更新」文案已统一,`重置更新状态` 已移到任务表右键菜单,后续只需继续做语义色和风险视觉强化。
|
|
|
|
|
|
- **当前处理**:重置入口与文案统一已由 T-508/T-510 落地;剩余只做 `开始更新` 的风险视觉强化、`回写Excel` 次级化等 T-512/T-513 范围内的颜色/层级调整。
|
|
|
|
|
|
|
|
|
|
|
|
### ④ 账号管理
|
|
|
|
|
|
|
|
|
|
|
|
- **PM**:密码本地明文"仅参考"、不自动登录、人工登录 + 程序检测——安全取舍正确且清醒。
|
|
|
|
|
|
- **UI**:表格 + 按钮组清晰,●登录状态指示好,`检测登录`手动触发(不擅自开浏览器)对。基本无异议。
|
|
|
|
|
|
|
|
|
|
|
|
### ⑤ 设置
|
|
|
|
|
|
|
|
|
|
|
|
- **PM**:内容过载,AI模型 master-detail + 角色参数 + 路径端口 + Shopee安全 + 执行模式 5 类混在一页。几乎不改的基础设施(Chrome路径/端口/DB路径)和高频安全开关(允许提交)混排。
|
|
|
|
|
|
- **UI**:已在做 3 列响应式优化,方向对;但残留 `test_item_id`、`dry_run` 兼容字段是 UI 技术债。
|
|
|
|
|
|
- **优化**:视觉分区——"每次可能要动的"安全开关/执行模式一组,"装完不碰的"基础设施一组;清理或彻底隐藏 `test_item_id`/`dry_run` 兼容入口。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 三、跨切面问题
|
|
|
|
|
|
|
|
|
|
|
|
- **"重置"系列(②③)是开发联调工具(T-404a 明说"联调重试辅助")泄漏进生产 UI**。对非技术运营,"退回 collected/generated"语义会困惑。
|
|
|
|
|
|
- **优化**:先明确它服务谁。若面向运营,改文案为"退回重做"并收进右键/高级区;若纯开发用,考虑加开关默认隐藏。
|
|
|
|
|
|
- **一致性做得好(保留)**:worker 模式、`run_logs` 全 Tab 统一、①③回写重试按钮对称、批次为统一枢轴。
|
|
|
|
|
|
- **容器选型合理(保留)**:线性流水线用 Tab 而非 Wizard 是对的——熟练用户要能任意跳转、重跑单阶段,Tab 支持这点。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 四、优先级清单(可转 `docs/06-tasks.md`)
|
|
|
|
|
|
|
|
|
|
|
|
| 优先级 | 问题 | 建议动作 | 涉及 |
|
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
|
| **已落地** | ②新标题不可编辑直推线上 | T-509 已开放行内编辑 `new_title` | `app/gui.py` ②、`app/db.py` |
|
|
|
|
|
|
| **已部分落地** | ③按钮行主次不分、重置误触 | T-508 已将单行"重置"移行右键菜单;视觉强化继续由 T-512/T-513 承接 | `app/gui.py` ③ |
|
|
|
|
|
|
| **P1** | 首次用户逆流撞墙 | ①②③无账号时做显式空状态引导卡片,替代灰按钮 | `app/gui.py` ①②③ |
|
|
|
|
|
|
| **P1** | ③安全开关藏⑤、发现性差 | ③拦截弹窗写明具体开关 + "去设置"深链 | `app/gui.py` ③⑤ |
|
|
|
|
|
|
| **P1** | 缺批次级总览 | 加批次阶段计数总览(聚合现有 `list_tasks`) | `app/gui.py`、`app/db.py` |
|
|
|
|
|
|
| **P2** | ⑤设置过载 + 兼容字段技术债 | 安全开关 vs 基础设施分区;清理隐藏兼容字段 | `app/gui.py` ⑤ |
|
|
|
|
|
|
| **P2** | ①筛选弱于②③ | ①对齐"店铺/商品ID/状态"筛选 | `app/gui.py` ① |
|
2026-07-02 11:26:03 +08:00
|
|
|
|
| **P2** | ②左栏组件密度过高 | 已由 T-518 落地:封面模板低频动作折叠进②本页「模板操作」,第一版不移入⑤ | `app/gui.py` ② |
|
2026-07-01 17:19:35 +08:00
|
|
|
|
|
|
|
|
|
|
> 落地顺序建议:P0 中已落地项只做回归;剩余事项以 `docs/06-tasks.md` 的 T-511 及之后任务为准,按防误操作/首次可用性/体验打磨的收益排序推进。每条落任务时补现状/方案/验收要点,并遵守 `docs/05-coding-rules.md` 验证清单。
|