Commit Graph
12 Commits
Author SHA1 Message Date
Txiaochen c537e00865 docs(README): 补充 isNew* 位串 0/1/2 的含义
依据 VOExtensions.cs:309-364 的 BuildListData():
  0 = 存量更新(旧数据里已有同主键条目)-> UPDATE
  1 = 新增(旧数据里没有)            -> INSERT
  2 = 无变化(只有 userFavoriteList 用)

并写明:对已存在的条目填 1 会导致 HTTP 500(服务端 INSERT 重复记录)。
2026-10-07 23:27:30 +08:00
Txiaochen bc145fe853 特别鸣谢改为超链接 2026-10-07 00:29:24 -04:00
Txiaochen 0c995d3b78 更新 README.md 2026-10-07 00:28:04 -04:00
Txiaochen ebccb9cc9a 跟进了现在的token使用数量 2026-10-07 00:19:02 -04:00
Txiaochen cdbdfb63fa v0版本完成:精简 README、修正转生流程、每包禁止 2 首
1) reincarnate.py 流程修正(按使用方口径)
   登录 -> 等待 -> 上传 -> 登出(type=1) -> 续关登录 -> 等待 -> 上传 -> 登出 -> ...
   - 每包之间**先登出再续关**(原来只在最后登出一次)
   - 登出改用 type=1(LogoutType.Logout)
     真机抓包实证 UserLogoutApi 就是 type=1(带 delayLog);
     续关场景用 4(TestIn)会出问题 —— 那是「测试登入/顶号」的语义
   - 新增 --wait N(默认 5.0 秒,每次上传前的等待)

2) 新增分批器 split_batches:★ 每包恰好 2 首会被服务端拒绝
   - 1 / 3 / 4 首都正常,只有 2 首不行
   - 分批时主动避开:10 首 [4,4,2] -> [4,3,3];6 首 [4,2] -> [3,3];
     5 首 per=3 [3,2] -> [3,1,1]
   - --per-packet 只接受 1/3/4
   - 自检加了 1..299 首 × per∈{1,3,4} 的全量扫描

3) README 精简(24 KB -> 11 KB)
   - 删掉「关于购买功能票(已解决)」(根因分析移到 docs)
   - 删掉「常见坑与注意事项」(移到 docs)
   - 功能票只列 2/3/5 倍票;只简述用票原理
   - 转生只简述「干了什么」
   - netdelivery 只讲用法,不讲运行原理
   - 新增「文档索引」章节

4) 自检 238 -> 249 项全绿
2026-10-07 11:23:30 +08:00
Txiaochen 4959487a71 docs(README): 补全主脚本用法,新增 netdelivery 章节
- 新增「主脚本一览」总表(副作用 / 是否需要二维码)
- upsert.py:独立成章,--extra-data 归位
- buy_ticket.py:补参数表 + 三道安全检查说明
- use_ticket.py:补参数表 + 真机消耗票券的报文依据
- reincarnate.py:补参数表 + 流程/分批/续关/playlog 合成原理
- netdelivery.py:新增章节(ALL.Net DLI,查/下 .app 与 .opt)
- 新增「常见坑与注意事项」(二维码 / 账号状态 / 功能票 / 副作用 /
  日志 / 网络 / 不入库清单)
- 「将来」改为「已完成 / 将来」,列出 v0 全部交付
- 项目框架补上 netdelivery.py 与 download/
2026-10-07 01:22:38 +08:00
Txiaochen 8e3bd6fcaa 重构:Get* 命名统一 + 用户数据落盘 + use_ticket / reincarnate
1) 命名统一(服务端 API 名带 Get 的,脚本名与函数名一律带 get/Get)
   - 26 个 api 脚本改名:userdata.py -> get_user_data.py 等
   - 7 个 game_*.py -> get_game_*.py
   - 38 个函数改名:UserData -> GetUserData 等
   - upsert_snapshot.py -> get_need_user_data.py,
     fetch_upsert_snapshot -> GetNeedUserData
   - user_getter_common.fetch_all_pages -> get_all_pages

2) GetNeedUserData 抓到的数据自动落盘
   - <工程根>/data/<userId>.json,新数据总是覆盖老数据
   - 新增 save_user_data / load_user_data / user_data_path /
     list_saved_user_ids / DATA_DIR / PROJECT_ROOT
   - data/ 已加入 .gitignore

3) use_ticket.py(新)
   - 读取账号当前持有的功能票,用 UpsertUserAll 消耗掉
   - 依据:GetUserChargeApi 与 UpsertUserAllApi 的 userChargeList 格式相同;
     真机实证 userChargeList.stock -1 + useTicketId + playCredit
   - playCredit = 投币数 + 票的 creditNum(VOExtensions.cs:838-845)

4) reincarnate.py(新)
   - 账号数据迁移(转生):A 的数据克隆到 B
   - 每包最多 4 首(真机一局上限),包间用续关登录换新 loginId
     续关依据:ContinueProcess.cs:403 -> PacketUserLogin(isContinue: true)
   - playlog 从曲目记录反推合成(没有对应的 Get 接口)

自检 238 项全绿。
2026-10-06 23:32:09 +08:00
Txiaochen 05c3f222fa chore: 不再提交 config.py,改为 config.py.example 模板
- config.py 加入 .gitignore(含机台/店铺私有标识,不入库)
- 新增 config.py.example:机台与店铺标识 6 项留空待填
- README:新增「先填 config.py」步骤,列出必填项
- 脱敏:清除仓库里的 userId / clientId / placeId / regionId / rating
- selftest:改为显式传值,不再依赖 config.py(换配置也能全绿)
2026-10-06 15:33:28 +08:00
Txiaochen 52cbae6b67 feat(upsert): 新增 --extra-data,可手工覆盖/补写 upsertUserAll 节点
- 支持 JSON 字符串与 JSON 文件路径,可重复指定(后者覆盖前者)
- 节点名与 JSON 都在**扫码之前**校验,写错直接退出,不浪费二维码
- README:补 --extra-data 用法;标题居中;简化 source 说明
2026-10-06 15:09:33 +08:00
Txiaochen fc475d3167 更新 README.md 2026-10-06 02:56:02 -04:00
Txiaochen 16353c0b72 docs(readme): 补充分支说明(mai / docs),明确 docs 在独立分支 2026-10-06 14:45:21 +08:00
Txiaochen 1636a79141 feat: WaHappy v0 —— 舞萌DX 纯网络游戏助手(占位版)
当前仅 upsert.py 可用:扫码登录 -> 上传一局成绩 -> 落库回查 -> 登出。

- api/ 下 40+ 个接口模块已实现,236 项零网络自检全绿
- 上传成绩链路已真机跑通,报文与真机抓包逐字节一致
- 开发文档见 docs 分支;source/ 与 logs/ 不入库
2026-10-06 14:42:06 +08:00