T-585 Chrome 路径自动检测
This commit is contained in:
@@ -445,6 +445,7 @@ data/images/<batch_id>/<slug>/<task_id>_<item_id>_new.<ext> # AI 生成的新
|
||||
|
||||
- 无 Shopee tab 时打开卖家中心根地址 `https://<region_host>/`(默认 `https://seller.shopee.tw/`),重定向到登录页或缺会话 Cookie(`SPC_ST`/`SPC_U`)→ 未登录;不自动登录,提示人工登录。
|
||||
- ④「启动登录」只负责准备该账号独立 user-data-dir + CDP 端口的 Chrome,供用户人工登录;该入口必须幂等:若端口已响应,复用现有账号 Chrome 并打开/激活卖家中心登录 tab,不再新开 Chrome;若端口未响应,才启动 Chrome。「检测登录」只验证当前 Chrome/CDP/会话 Cookie 是否可用。① 采集的预检会复用同一幂等启动能力,自动确保本轮匹配账号 Chrome 就绪但不自动登录;③ 更新的预检只检测,不自动启动缺失浏览器。若商品详情页或卖家中心重定向到 `accounts.shopee.tw/seller/login`,必须按登录页处理,返回 `LOGIN_PAGE` 并在 GUI 显示未登录。
|
||||
- T-585 后新配置的 `chrome_path` 默认留空。程序在数据目录就绪、强制升级检查通过后、创建主窗口前,仅当当前路径为空或不可启动时,按当前用户/本机 Windows App Paths(含 64/32 位视图)、标准 Chrome 目录和 `PATH` 自动寻找 `chrome.exe`;命中才持久化归一化绝对路径,并在状态栏显示“已自动定位 Chrome”。有效的自定义/便携版路径和可从 PATH 启动的 `chrome.exe` 不覆盖;不扫描整盘、不检测 Edge 或 Chromium。⑤的“自动检测”只填入输入框并标记未保存,仍由用户点“保存设置”确认写入。
|
||||
|
||||
## 七、CDP 已验证事实(务必遵守)
|
||||
|
||||
|
||||
+5
-2
@@ -3,7 +3,7 @@ id: T-585
|
||||
title: Chrome 路径自动检测(注册表+标准目录,Chrome-only,仅空/失效才填)+ ⑤「自动检测」按钮
|
||||
phase: 7
|
||||
deps: [T-557]
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-10
|
||||
---
|
||||
|
||||
@@ -67,4 +67,7 @@ created: 2026-07-10
|
||||
|
||||
## 执行记录
|
||||
|
||||
(做完在这里写:改了什么文件、跑了什么验证命令及结果、遇到的阻塞、关键决策。)
|
||||
- 已完成:`appconfig.DEFAULT_CONFIG["chrome_path"]` 改为空;`app.chrome` 新增 Chrome-only 路径归一化、HKCU/HKLM App Paths(64/32 位视图)、标准目录和 PATH 检测,以及仅在当前配置无效时持久化自动定位结果的服务。
|
||||
- 已完成:GUI 启动在数据目录和强制升级检查通过后执行自动定位,并把同一份配置传给主窗口;命中后状态栏保留“已自动定位 Chrome”。⑤设置页新增“自动检测”,只填输入框并标记未保存,不直接写配置;未命中不清空原值。
|
||||
- 已同步:`docs/04-architecture.md` 记录路径来源与覆盖边界;`docs/troubleshooting.md` 增加 Chrome 路径排障步骤。
|
||||
- 验证:干净工作树执行 `py -3.10 -m unittest discover -s tests`(335 项通过)、`python -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`,全部通过。新增测试覆盖注册表视图/优先级、带引号环境变量值、LOCALAPPDATA、Edge 排除、PATH 保护、空/失效/有效配置,以及设置页和启动状态栏行为。
|
||||
|
||||
@@ -2,6 +2,22 @@
|
||||
|
||||
> 本文只记录可复用的本地排障步骤。T-538 后用户数据默认位于 `data/`,涉及 `data/config.json`、`data/config/ai_models.json`、`data/config/cmhub.json`、`data/cmshopee.db`、`data/chrome_user_data_dir/`、`data/images/` 时,默认它们是本机敏感或业务数据,必须保持 gitignore,不把真实密码、API Key、Cookie、token 写入文档、日志或提交。
|
||||
|
||||
## ④启动登录提示 Chrome 路径无效或找不到 Chrome
|
||||
|
||||
### 推荐修复
|
||||
|
||||
打开⑤“设置”,在“Chrome路径”右侧先点“自动检测”。检测到后会填入完整路径并提示结果,随后点“保存设置”。
|
||||
|
||||
如果没有检测到,不会清空当前输入内容。请点“选择...”手动选择本机的 `chrome.exe`;便携版、任意目录解压版或没有注册表记录的 Chrome 都需要这一步。不要选择 Edge、Chromium 或文件夹路径,本软件只使用 Google Chrome 保持各账号独立登录态。
|
||||
|
||||
### 检查顺序
|
||||
|
||||
1. 确认本机已安装 Google Chrome,并能手动打开。
|
||||
2. 在⑤先点“自动检测”,再保存设置。
|
||||
3. 仍失败时,点“选择...”定位 `chrome.exe`,再回④点击“启动登录”。
|
||||
|
||||
程序首次启动只会在当前路径为空或已失效时自动定位 Chrome;已经保存且有效的自定义路径不会被自动覆盖。
|
||||
|
||||
## 启动时报 “AI 模型 category 必须是 text 或 image”
|
||||
|
||||
### 现象
|
||||
|
||||
Reference in New Issue
Block a user