Commit Graph
165 Commits
Author SHA1 Message Date
chengma d7e609434e feat: 完成T-204b采集自动回写
采集完成且本轮有成功采集任务时,Tab① 自动启动 WriteBackWorker 回写旧标题和旧封面路径到当前批次 Excel。

保留手动回写旧数据到 Excel 作为自动回写失败后的重试入口;原 Excel 被占用时提示关闭文件后手动重试,SQLite 采集结果不回滚。

新增 GUI 测试覆盖自动触发、无成功采集不触发、锁文件提示手动重试;同步 T-204b 任务状态、current-state、api、architecture 与 progress。
2026-06-27 14:47:08 +08:00
chengma b9d84e71ec feat: 完成T-204旧字段回写
实现 Excel 旧标题与旧封面路径回写原文件,按 source_file_abs/source_sheet/source_row 定位行,支持输出列自动追加、xlsm 保留 VBA、文件占用中文错误提示与 export_copy 另存副本。

Tab① 增加回写旧数据按钮与 WriteBackWorker,后台调用 excel.write_back,锁文件时提示关闭后重试;补充 Excel 与 GUI 单测覆盖回写、锁文件、另存副本和 worker 调用。

同步 harness 文档:T-204 标记完成,新增 T-204b 记录采集完成自动回写缺口,扩展 T-205 覆盖 Chrome 未启动/未登录引导保护,并更新 current-state、routes、api、architecture、requirements 与 progress。
2026-06-27 14:37:58 +08:00
chengma 8fe979942c fix: 调整登录检测入口URL
无 Shopee tab 时,登录检测改为打开卖家中心根地址 https://<region_host>/,默认 https://seller.shopee.tw/。

商品编辑 URL 仍保持 /portal/product 路径不变;更新登录检测单测与 API/架构/当前状态/progress 文档。
2026-06-27 12:05:33 +08:00
chengma 6e00b1b093 feat: 完成Tab①采集旧数据
新增 CollectWorker,通过后台线程逐条采集旧标题和旧封面,成功后立即 db.set_collected 写库。

采集前按别名匹配账号并检测登录态;未匹配或未登录写 skipped,单条采集失败 mark_failed 后继续。

Tab① 增加采集/停止按钮和进度状态回传;补充 GUI 测试覆盖成功采集、未登录略过和未匹配略过;同步任务文档与 progress。
2026-06-27 11:51:42 +08:00
chengma 3bf42dc11e feat: 完成Tab①导入汇总栏
在 CollectTab 增加导入汇总栏,展示文件数、解析行数、有效/无效、匹配与未匹配数量。

TaskTableModel 支持全部/未匹配过滤,未匹配按钮可筛出别名未匹配账号的任务。

补充 GUI 单测覆盖汇总文本、匹配明细和未匹配筛选;同步任务看板、API 合约、当前状态与 progress。
2026-06-27 11:40:51 +08:00
chengma 6f36118b7e feat: 完成Tab①任务导入列表
实现 CollectTab 与 TaskTableModel,Tab① 接入导入 Excel 按钮、QTableView 任务列表和未匹配别名略过标记。

新增 GUI 测试覆盖 Tab① 接入、任务展示、未匹配标记和导入刷新;同步任务状态、API 合约、当前状态与 progress。

加入标准空模板 shopee待处理任务模板.xlsx,并更新 ignore/文档规则:模板可提交,运营填写后的 Excel 业务文件默认忽略。
2026-06-27 11:29:48 +08:00
chengma 893aa56881 feat: 完成Excel导入入库
实现 app/excel.py 多文件导入,解析账号名、别名、商品id,记录 source_file_abs/source_sheet/source_row/row_key。

导入时支持缺必需列整文件拒绝、脏行逐行跳过统计,并写入 batches/tasks;补充 match_summary 与回写占位。

新增 tests/test_excel.py 覆盖入库、缺列拒绝、多文件容错和别名匹配;同步任务看板、API 合约、当前状态和 progress。
2026-06-27 10:59:51 +08:00
chengma 742193607b feat: 完成账号桌面快捷方式
- 新增 chrome.create_shortcut 使用 PowerShell WScript.Shell 生成 .lnk

- 快捷方式参数复用 Chrome 启动参数,包含调试端口、allow-origins 和账号 user-data-dir

- 在账号服务层和 Tab④ 增加快捷方式入口,不包含密码或密钥

- 补充 chrome/accounts/gui 测试并同步任务、API、路由、当前状态和进度文档
2026-06-27 10:38:21 +08:00
chengma 598df5f20b feat: 完成Tab④账号管理
- 新增 accounts 服务层,封装账号 CRUD、目录创建、端口分配与登录检测

- 接入 PySide6 账号管理 Tab:表格、账号弹窗、启动登录、后台检测登录

- 密码仅本地保存并在 UI 打码,表格不展示明文;不自动登录或填密码

- 增加顶部 Tab 栏防误点样式,扩大点击区域并高亮当前 Tab

- 补充账号服务和 GUI 单元测试,并同步架构、API、路由、任务和进度文档
2026-06-27 10:30:45 +08:00
chengma 479ab5c41d feat: 完成PySide6 worker基座
- 新增 BaseWorker 通用 signals、取消标记和统一 run 入口

- 新增 run_worker QThread 包装与生命周期清理

- 新增 worker 单元测试覆盖 signal、取消、异常和类型校验

- 更新任务看板、API 合约、架构、当前状态和进度记录
2026-06-27 10:05:29 +08:00
chengma b8318c881d feat: 完成PySide6主窗口骨架
- 实现 MainWindow + 固定顺序五 Tab QTabWidget + 状态栏

- 新增 offscreen GUI 单元测试覆盖 Tab 顺序和状态栏切换

- 缺 PySide6 时提供明确启动错误,避免无声失败

- 更新任务看板、API 合约、当前状态和进度记录
2026-06-27 09:56:53 +08:00
chengma deb12cb76c feat: 完成登录状态检测
- 增强 editor 登录检测,新增 login_status 详情结果

- 保留 is_logged_in bool 包装并处理登录页、缺 Cookie 等状态

- 新增登录检测单元测试覆盖 CDP 分支

- 更新任务看板、API 合约、当前状态和进度记录
2026-06-27 09:42:41 +08:00
chengma e325f66eef feat: 完成Chrome启动器
- 新增 app/chrome.py 拼装远程调试启动参数并启动 Chrome

- 实现 /json/version 端口探测并禁用环境代理

- 新增 chrome 单元测试覆盖参数、Popen 和端口就绪

- 更新任务看板、API 合约、当前状态和进度记录
2026-06-27 09:33:54 +08:00
chengma d3afe69c10 feat: 完成账号目录slug工具
- 新增 app/config.py,生成稳定账号 slug 并创建 user-data-dir

- db 账号创建复用统一 slug 规则

- 新增 config 单元测试覆盖 slug 和目录创建

- 更新任务看板、API 合约、当前状态和进度记录
2026-06-27 09:21:33 +08:00
chengma aba272dd21 test: 建立单元测试基座
- 新增 unittest tests 基座,覆盖 appconfig 与 db 纯逻辑

- 增加 excel/prompts 未实现模块的契约占位测试

- 补强 config.json 对 *_token 与 *_password 的敏感字段拦截

- 更新任务看板、当前状态、API 合约和进度记录
2026-06-27 09:17:20 +08:00