Commit Graph
342 Commits
Author SHA1 Message Date
yml2213 85813a5095 merge: 合并和平小店兑换功能 2026-08-08 00:03:16 +08:00
yml2213 c77e8f4641 feat(douyu): 支持工作台分页与一键导入 2026-08-07 23:06:08 +08:00
yml2213 5d8fdf8620 fix(douyu): 隔离各工作台导入账号 2026-08-07 22:52:49 +08:00
yml2213 ec5eb637bb feat(douyu): 支持和平小店商品兑换 2026-08-07 22:47:13 +08:00
yml2213 a67d144b78 支持跳过斗鱼手机号绑定并优化标签筛选 2026-08-07 22:07:39 +08:00
yml2213 535fcbb257 优化和平小店ui 2026-08-06 21:10:48 +08:00
yml2213 b962f63bd2 feat(cookies): CK 有效性检测(双接口) + 结果持久化
- 检测: 鱼丸余额(fishBall) + 用户等级(userLevelDetail)双接口均通过才判有效,
  附带鱼丸数/昵称/等级, 失败时分别说明原因, 8 并发批量检测
- 持久化: login_tasks 新增 ck_check_status/ck_check_result/ck_checked_at,
  刷新翻页不丢失; 列表与详情接口返回检测字段
- 前端: 新增"有效性"列(有效/无效+鱼丸昵称tooltip)与独立"检测时间"列,
  行内/选中批量检测按钮(cookie:view 权限), 加载时初始化历史检测结果
2026-08-06 20:58:23 +08:00
yml2213 a515ea6e0a feat(douyu): 和平小店扭蛋碎片查询 + 深色模式修复 + 任务状态 WS 即时推送
- 碎片: 新增 query_xpd_fragments 任务, 复用 e语言 gamecoin 接口取扭蛋币 jb2,
  账号已存角色回退(规避 Livelink 风控), accounts.xpd_fragments 字段与迁移
- 列表: 和平小店移除鱼翅/限制兑换/换绑时间列, 新增扭蛋碎片列;
  操作区硬编码白底改用 theme token, 深色模式适配(三个手册共用)
- 轮询: 任务状态经 WS(level=task)即时推送(二维码/绑定进度即时展示),
  pending/running/终态全覆盖, REST/WS 载荷统一 douyu_task_payload,
  raw 快照递归剥离, HTTP 轮询降频 5s/30s 兜底
2026-08-06 20:21:28 +08:00
yml2213 c05c0e044e fix(douyu): 优化和平小店绑定逻辑 2026-08-06 18:48:29 +08:00
yml2213 86459a1bd0 fix(douyu): 已绑定账号生成二维码不再立即成功, 正常等待扫码换绑
- 后端: get_xpd_bind_qr 生成二维码前记录绑定前状态(before_bound/
  before_role_name); 轮询判断改为 —— 未绑定: 检测到 bind_role=1 成功;
  已绑定(换绑): 角色名变化才算成功, 角色不变继续等待
- 前端: 弹窗保留二维码与角色信息; 轮询期间显示"当前绑定: 原角色",
  换绑成功显示新角色; 确认绑定维持手动(小程序内人工确认)
2026-08-06 18:28:06 +08:00
yml2213 ee097e1fda fix(douyu): 和平小店绑定二维码自动弹出 + 扫码后自动更新角色
- 后端: get_xpd_bind_qr 生成二维码后保持 running, 每 5s 轮询
  bindInfo(最长 300s), 检测到绑定即回写角色并自动结束
- 前端: hasBindQrcode 纳入 get_xpd_bind_qr → 新二维码自动弹出;
  弹窗显示等待扫码/绑定成功状态与角色; 对 xpd 任务隐藏
  不适用的"查询角色/确认绑定"按钮
2026-08-06 17:42:17 +08:00
yml2213 5f63d77dc3 feat(douyu): 和平小店绑定功能(生成绑定二维码/查询绑定信息)
- activity_client: xpd_bind_qr(roleParam 签发 livelink 绑定链接, 微信扫码进小程序绑定)
  + xpd_bind_info(bindInfo 查询绑定状态/角色/平台), gameRole 非 dict 边界防护
- runner/service: 注册 get_xpd_bind_qr / query_xpd_bind_info 任务, 回写
  xpd_game_name / xpd_bind_status
- router: get_xpd_bind_qr 的 url 加入列表接口保留白名单(二维码展示)
- 前端: 和平小店面板新增两个按钮, 二维码列支持 get_xpd_bind_qr 展示/放大
2026-08-06 17:33:11 +08:00
yml2213 fdc74eba8c feat(douyu): 新增和平小店查询模块(绑定角色/商品列表/点券余额)
- activity_client: getIframeUrl 签发 code/sig,道聚城 getrole.out/recommend/balance 接口
  (2026-08 起需 isCode=1 + authType=delegate + sAnchorId 才能通过 Livelink 校验)
- 迁移 0016: accounts xpd_* 字段、douyu_config 小店配置(actAlias/actId/rid)、
  douyu_xpd_goods_snapshot 商品快照表
- runner/service/router/schema 注册 query_xpd_role/refresh_xpd_goods/query_xpd_balance
  三个任务,任务结果剥离 role.raw 防 openid 泄露
- 前端: 和平小店路由/菜单/DouyuTasksPage 三态/商品下拉/配置弹窗
2026-08-06 17:23:59 +08:00
yml2213 f8de495029 fix(douyu): 账号标签列表按用户可见范围过滤 & 导入弹窗切换筛选时清空已选 2026-08-06 14:11:48 +08:00
yml2213 25880e91a7 斗鱼客服导入账号 支持tag 2026-08-06 13:20:12 +08:00
yml2213 335f5cf57b 优化首页统计和任务请求 2026-08-05 10:41:40 +08:00
yml2213 2fda47c631 优化任务列表性能和本地登录代理 2026-08-05 10:03:18 +08:00
yml2213 dff0d7db9e feat(douyu): 工作台默认空白账号,导入/移除通过 localStorage 持久化,刷新不再加载全部账号 2026-08-04 16:25:49 +08:00
yml2213 a466e11c9c 优化斗鱼绑定状态同步 2026-08-02 17:54:36 +08:00
yml2213 c62f52a067 fix(douyu): 绑定失败提示仅弹一次,刷新页面不再重复提示历史失败任务 2026-08-02 13:51:48 +08:00
yml2213 555f179b41 feat(douyu): 精英宝典工作台支持上下/左右布局切换并记忆偏好 2026-08-02 13:50:17 +08:00
yml2213 1b06694c66 fix(douyu): 确认绑定回查按已生效绑定判定并支持同步延迟等待 & 失败提示优化为待绑定账号换绑限制文案 & 前端居中弹窗提示 2026-08-02 13:37:15 +08:00
yml2213 de2e53748d fix(douyu): 修复未换绑成功时角色信息被待确认新角色污染 & 增加绑定接口明细日志 2026-08-02 13:18:56 +08:00
yml2213 4fab6ed0aa 增加域名 2026-08-02 11:53:36 +08:00
yml2213 fcf1dec549 feat(douyu): 二维码弹窗增加复制二维码/复制链接按钮
- 新增 QrActions 组件:复制二维码图片、复制二维码链接(含 execCommand 降级)
- 精英宝典绑定/电竞手册/支付三个弹窗统一功能按钮在上、操作按钮在下
2026-08-01 17:41:46 +08:00
yml2213 c95d6963b8 feat(douyu): 兑换成功后自动刷新积分 & 修复兑换图片首开裂图
- 兑换成功后自动调用积分查询,更新账号最新积分并写入任务结果
- 兑换图片并发生成竞态修复:同任务共享 in-flight Promise,避免 revoke 导致裂图
- 兑换图片移除积分展示
2026-08-01 17:28:36 +08:00
yml2213 e22436bfd6 fix(账号): 批量导入跳过已存在的重复账号
- 导入前按用户名(大小写不敏感)查库去重,同批文本内重复也跳过
- 返回消息区分格式跳过与重复跳过数量
2026-08-01 13:27:06 +08:00
yml2213 592eef3582 feat(douyu): 兑换成功后生成结果图片并自动复制到剪贴板
- 账号表格新增兑换图片列,展示每账号最近兑换成功的结果卡片
- 新完成兑换任务自动生成图片并复制到剪贴板(批量时最后完成者覆盖)
- canvas 绘制兑换卡片:商品图/商品名/游戏角色/区服/兑换账号/时间
- 后端兑换成功结果补充 game_name/game_channel/account_name 字段
- 不支持剪贴板的环境降级为点击查看大图
2026-08-01 13:23:22 +08:00
yml2213 3e95cf208d 修复刷新页面后停止按钮消失:从后端任务派生 activeBatchIds 驱动停止按钮显示与停止目标 2026-08-01 13:06:34 +08:00
yml2213 ddb1d63417 重构 DouyuTasksPage 布局:删除任务记录区,操作工具栏移至账号表格上方,账号表格全宽 2026-08-01 13:00:16 +08:00
yml2213 11b249f1fb 账号导入--可以直接打标签 2026-08-01 12:24:19 +08:00
yml2213 d417d15d9b feat(douyu): 账号表格新增最近结果列,支持快速查看二维码
- 新增 latestTaskByAccount 按账号聚合最近一条任务
- 账号表新增最近结果列:任务类型Tag+查看按钮+进度文案
- 有二维码/弹窗的任务显示查看按钮,点击直接打开对应弹窗
- 二维码收起后可在账号表快速重新打开,无需去任务记录查找
2026-08-01 11:49:43 +08:00
yml2213 8c6c0bcfde feat(douyu): 精英宝典支持多批次并发与多二维码并行扫码
- useWebSocketLogs 改为多连接(Map),新增 connectBatch/closeBatch/closeAll,旧 connect/close 向后兼容
- DouyuTasksPage runningBatchId 单值改为 Set 集合,移除 batchBusy 全局锁,右键菜单按账号维度禁用
- 二维码弹窗支持多账号标签切换并行扫码,恢复三弹窗互斥
- connectBatch 已有连接时不清日志,修复 onerror 不更新 connected
- 修复自动弹出循环覆盖 active 标签的 bug
2026-08-01 11:37:53 +08:00
yml2213 dbf78b825c fix: 修复账号列表表格高度在不同分辨率下翻页按钮被裁剪问题
账号表格缺少 scroll.y 导致表体按内容自然撑开,低分辨率下
15 行内容超出容器,底部分页器被裁掉。改用 ResizeObserver
动态监听容器高度并计算 scroll.y,与任务记录表格共用同一个
observer,表体内部滚动、分页器固定底部,适配所有分辨率。
2026-08-01 10:55:23 +08:00
yml2213 2756613eeb fix: 修复任务记录表格高度在不同分辨率下底部被裁剪问题
表格缺少 scroll.y 导致 antd v6 中表体按内容自然撑开,
低分辨率下分页器被推出可视区域。改用 ResizeObserver 动态
监听容器高度并计算 scroll.y,使表头固定、表体内部滚动、
分页器固定底部,适配所有分辨率。
2026-08-01 10:37:39 +08:00
yml2213 b17ce8d420 feat: 兑换商品下拉框增加库存显示
goodsLabel 从 raw.count 取剩余库存并拼接到标签末尾,
格式变为「套装-浪漫天命 / 360积分 / 库存8144」。
精英宝典和电竞手册两处下拉框共用该函数,一次改动两处生效。
2026-08-01 10:35:04 +08:00
yml2213 bdecc40c55 fix: 精英宝典工作台右侧任务记录改为固定比例布局
将主布局 gridTemplateColumns 从固定像素 minmax(520px, 560px)
改为固定比例 minmax(0, 2fr) minmax(0, 1fr),
使左右两侧在不同分辨率下始终保持 2:1 比例。
2026-08-01 10:34:48 +08:00
yml2213 947539f01e 修复限制兑换显示文案 2026-08-01 10:03:02 +08:00
yml2213 72cf0e5fef fix: 修复斗鱼Cookie导出422路由冲突 & 优化登录密码错误提示
- cookies.py: 将 GET /export 路由移至 GET /{task_id} 之前,避免
  动态路径 task_id:int 误匹配 'export' 导致 422 校验错误
- LoginPage.tsx: 密码错误(401)时清空密码框并自动聚焦,方便快速重试
- database.py/migrations/env.py: 应用内嵌调用 alembic 时跳过 fileConfig,
  避免覆盖 uvicorn 日志配置导致启动日志丢失
- client.ts: 401 拦截排除 /auth/login,避免登录失败时误跳转吞掉错误提示
2026-07-30 13:04:40 +08:00
yml2213 8de269f958 增加兑换 2026-07-28 18:12:11 +08:00
yml2213 624198bca4 优化电竞手册换绑时间展示 2026-07-28 17:27:35 +08:00
yml2213 d7a8666fe4 新增电竞手册独立绑定流程 2026-07-28 17:12:08 +08:00
yml2213 63962811f8 优化斗鱼任务操作体验 2026-07-25 11:58:30 +08:00
yml2213 6ca7898520 优化斗鱼支付后自动刷新 2026-07-25 11:46:11 +08:00
yml2213 3350b56f5c 优化任务操作台交互体验 2026-07-25 11:21:53 +08:00
yml2213 73ec12bcbc 统一开发环境使用 MySQL 2026-07-25 11:01:57 +08:00
yml2213 10f298b4e1 支持账号按筛选全量批量操作 2026-07-25 10:50:56 +08:00
yml2213 09efb23f58 迁移前自动升级 SQLite 结构 2026-07-25 10:37:02 +08:00
yml2213 2c4ff6901f 修复容器迁移脚本导入路径 2026-07-25 10:33:37 +08:00
yml2213 32f9eadfdb 支持 MySQL 迁移与性能优化 2026-07-25 10:23:19 +08:00