
QiuSWandClaude Opus 5
656b7a8c49
feat: 专属 Chrome 管理与淘宝登录检查 (#9)
由 Codex (gpt-5.6-sol) 实施,Claude 审核。MVP2 第一块。
internal/taobao/chrome.go
- EnsureBrowser 按四项条件判断能否复用已有实例:PID 存在、进程命令行
属于本程序专属 profile、CDP 端口可访问、存在 page 类型目标
- 启动前遍历整个端口段,发现已有 Chrome 但状态文件丢失时报错而不是
再起一个,避免同一 profile 出现两个实例损坏登录数据
- CloseBrowser 必须先校验 PID 归属才允许 taskkill,防止误杀使用者
自己的 Chrome
internal/taobao/cdp.go
- 基于 gorilla/websocket 的最小 CDP 客户端(该依赖原本就在模块图里,
由 Wails 引入,此处仅从 indirect 提为直接依赖)
- CookieNames 的结构体只声明 Name 和 Domain,Cookie 的值根本不会
进入内存,比"取到但不使用"更彻底
internal/taobao/login.go
- 两层判定:四个必需 Cookie 齐全,且我的淘宝页面标题与正文不含
六个阻断词
- 昵称只作展示,不参与判定。这是对参考 Python 实现的一处有意偏离:
参考实现要求解析出昵称才算有效,但该解析依赖淘宝页面文案,
淘宝一改版就会永远解析不到,导致登录永远判为无效、全局停止门
永久触发、工具彻底不可用。放宽的代价可控:误判为已登录时后续
MTOP 请求会失败,那条链路本就有 token 失效处理。
app.go 只在点击按钮时启动 Chrome,startup 不自动启动。
前端:设置页两个按钮接真实方法并显示检查结果;侧栏淘宝状态灯
监听 taobao:status 事件。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbdtsD3ohhSMy3KPoCgARq
2026-09-03 09:13:40 +08:00
..
2026-09-02 17:20:44 +08:00
2026-09-02 21:02:58 +08:00
2026-09-02 15:59:54 +08:00
2026-09-02 21:13:12 +08:00
2026-09-03 09:13:40 +08:00