From 25ac5223918605db523e4b483bceeb8b97c22296 Mon Sep 17 00:00:00 2001 From: Txiaochen Date: Sat, 17 Oct 2026 17:30:36 +0800 Subject: [PATCH] =?UTF-8?q?v0=20plus=E9=99=84=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 unlockmusic.py:解锁(解禁)歌曲 + 解禁 Master / Re:Master 难度,整个流程复用 upsert.py 的 run() - 买票前置闸门 api/ChargeGuard.py:必须先跑过 GetUserCharge,且同进程只允许买一次 - buy_ticket.py 票源改为 GetUserCharge,不再调用 GetGameCharge - UpsertUserAll 与买票的冷却统一为 15 秒 - api/ 文件名统一 PascalCase(文件名 = 函数名) - 项目改名 Astral,README 加 Logo、鸣谢与开发者说明 - 自检 284 项 --- README.md | 114 +++++++++-- api/ChargeGuard.py | 150 ++++++++++++++ api/{chime.py => Chime.py} | 6 +- api/{get_game_charge.py => GetGameCharge.py} | 6 +- ...et_game_settings.py => GetGameSettings.py} | 10 +- ...t_need_user_data.py => GetNeedUserData.py} | 48 ++--- ...et_user_activity.py => GetUserActivity.py} | 8 +- ..._user_character.py => GetUserCharacter.py} | 8 +- api/GetUserCharge.py | 63 ++++++ api/{get_user_course.py => GetUserCourse.py} | 8 +- api/{get_user_data.py => GetUserData.py} | 8 +- api/{get_user_extend.py => GetUserExtend.py} | 8 +- ...et_user_favorite.py => GetUserFavorite.py} | 8 +- ...avorite_item.py => GetUserFavoriteItem.py} | 8 +- ..._friend_bonus.py => GetUserFriendBonus.py} | 8 +- api/{get_user_ghost.py => GetUserGhost.py} | 8 +- ...et_user_intimate.py => GetUserIntimate.py} | 8 +- api/{get_user_item.py => GetUserItem.py} | 8 +- ...aleidx_scope.py => GetUserKaleidxScope.py} | 10 +- ...er_login_bonus.py => GetUserLoginBonus.py} | 8 +- api/{get_user_map.py => GetUserMap.py} | 8 +- ...{get_user_mission.py => GetUserMission.py} | 8 +- api/{get_user_music.py => GetUserMusic.py} | 8 +- ...get_user_new_item.py => GetUserNewItem.py} | 6 +- api/{get_user_option.py => GetUserOption.py} | 8 +- ...{get_user_preview.py => GetUserPreview.py} | 8 +- api/{get_user_rating.py => GetUserRating.py} | 8 +- ...mend_music.py => GetUserRecommendMusic.py} | 8 +- api/{get_user_region.py => GetUserRegion.py} | 8 +- api/{get_user_rival.py => GetUserRival.py} | 8 +- ...user_shop_stock.py => GetUserShopStock.py} | 8 +- api/{log_setup.py => LogSetup.py} | 2 +- api/{maimai_net.py => MaimaiNet.py} | 4 +- api/{ping.py => Ping.py} | 8 +- api/{upsert_user_all.py => UpsertUserAll.py} | 177 +++++++++++++++- ...er_chargelog.py => UpsertUserChargelog.py} | 58 +++++- ...r_getter_common.py => UserGetterCommon.py} | 6 +- api/{userlogin.py => UserLogin.py} | 8 +- api/{userlogout.py => UserLogout.py} | 8 +- api/__init__.py | 189 ++++++++++-------- api/get_user_charge.py | 45 ----- buy_ticket.py | 37 ++-- config.py.example | 10 +- icon/Astral.png | Bin 0 -> 526810 bytes selftest.py | 159 ++++++++++++++- unlockmusic.py | 138 +++++++++++++ upsert.py | 45 ++++- use_ticket.py | 2 +- 48 files changed, 1137 insertions(+), 348 deletions(-) create mode 100644 api/ChargeGuard.py rename api/{chime.py => Chime.py} (98%) rename api/{get_game_charge.py => GetGameCharge.py} (89%) rename api/{get_game_settings.py => GetGameSettings.py} (95%) rename api/{get_need_user_data.py => GetNeedUserData.py} (92%) rename api/{get_user_activity.py => GetUserActivity.py} (87%) rename api/{get_user_character.py => GetUserCharacter.py} (86%) create mode 100644 api/GetUserCharge.py rename api/{get_user_course.py => GetUserCourse.py} (90%) rename api/{get_user_data.py => GetUserData.py} (91%) rename api/{get_user_extend.py => GetUserExtend.py} (86%) rename api/{get_user_favorite.py => GetUserFavorite.py} (93%) rename api/{get_user_favorite_item.py => GetUserFavoriteItem.py} (92%) rename api/{get_user_friend_bonus.py => GetUserFriendBonus.py} (89%) rename api/{get_user_ghost.py => GetUserGhost.py} (87%) rename api/{get_user_intimate.py => GetUserIntimate.py} (84%) rename api/{get_user_item.py => GetUserItem.py} (94%) rename api/{get_user_kaleidx_scope.py => GetUserKaleidxScope.py} (88%) rename api/{get_user_login_bonus.py => GetUserLoginBonus.py} (90%) rename api/{get_user_map.py => GetUserMap.py} (91%) rename api/{get_user_mission.py => GetUserMission.py} (87%) rename api/{get_user_music.py => GetUserMusic.py} (93%) rename api/{get_user_new_item.py => GetUserNewItem.py} (95%) rename api/{get_user_option.py => GetUserOption.py} (87%) rename api/{get_user_preview.py => GetUserPreview.py} (95%) rename api/{get_user_rating.py => GetUserRating.py} (86%) rename api/{get_user_recommend_music.py => GetUserRecommendMusic.py} (89%) rename api/{get_user_region.py => GetUserRegion.py} (84%) rename api/{get_user_rival.py => GetUserRival.py} (95%) rename api/{get_user_shop_stock.py => GetUserShopStock.py} (89%) rename api/{log_setup.py => LogSetup.py} (99%) rename api/{maimai_net.py => MaimaiNet.py} (99%) rename api/{ping.py => Ping.py} (93%) rename api/{upsert_user_all.py => UpsertUserAll.py} (93%) rename api/{upsert_user_chargelog.py => UpsertUserChargelog.py} (88%) rename api/{user_getter_common.py => UserGetterCommon.py} (97%) rename api/{userlogin.py => UserLogin.py} (97%) rename api/{userlogout.py => UserLogout.py} (97%) delete mode 100644 api/get_user_charge.py create mode 100644 icon/Astral.png create mode 100644 unlockmusic.py diff --git a/README.md b/README.md index 4245d90..5881ccb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -

WaHappy

+

+ Astral +

+ +

Astral

舞萌DX 的游戏助手
@@ -11,21 +15,22 @@ ## 这是什么 -WaHappy 是一个用 **Python 纯网络方式**与舞萌DX(SDGB 国服)游戏服务器交互的工具集。 +Astral 是一个用 **Python 纯网络方式**与舞萌DX(SDGB 国服)游戏服务器交互的工具集。 它不修改游戏、不注入进程,只是把游戏客户端做的事用脚本重做一遍: -扫码登录 → 取数据 → 上传成绩 → 登出。 +扫码登录 → 取数据 → 上传成绩 / 解锁歌曲 → 登出。 > 协议实现全部来自反编译源码与真机网络日志的双向验证, > 每个关键常量在代码注释里都标了**源码行号**。 --- -## 当前状态:v0 +## 当前状态:v0 plus 附加功能 | 脚本 | 状态 | |---|---| | **`upsert.py`** | ✅ **可用** —— 扫码登录 → 上传一局成绩 → 落库回查 → 登出 | +| **`unlockmusic.py`** | ✅ **可用** —— 解锁(解禁)歌曲 / 难度(复用 `upsert.py` 整套流程) | | **`buy_ticket.py`** | ✅ **可用** —— 购买功能票 | | **`use_ticket.py`** | ✅ **可用** —— 消耗当前持有的功能票 | | **`reincarnate.py`** | 🔧 已实现(**未实跑**)—— 账号数据迁移(转生) | @@ -59,35 +64,44 @@ v0 的开发过程中,我反复把同一个目标拆成小段丢给 AI,结 ## 项目框架 ``` -WaHappy/ +Astral/ ├── config.py 运行时可配置项(机台标识 / 歌曲数据 / 日志级别)★ 需自建 ├── config.py.example 配置模板 +├── icon/ Logo ├── upsert.py ★ 主脚本:扫码登录 → 上传成绩 → 登出 +├── unlockmusic.py 主脚本:解锁(解禁)歌曲(复用 upsert.py 的 run()) ├── buy_ticket.py 主脚本:购买功能票 ├── use_ticket.py 主脚本:消耗当前持有的功能票 ├── reincarnate.py 主脚本:账号数据迁移(转生) ├── netdelivery.py 主脚本:查 / 下 .app / .opt 更新包 -├── selftest.py 零网络自检(249 项,判据 = 源码 + 真机日志) +├── selftest.py 零网络自检(284 项,判据 = 源码 + 真机日志) │ ├── api/ ★ 所有与服务器交互的模块(一个接口一个脚本) │ ├── __init__.py 统一导出 + 日志自动跟踪 -│ ├── maimai_net.py 网络核心(AES / deflate / URL 混淆 / Cookie) -│ ├── log_setup.py 日志(INFO / DEBUG 双模式) -│ ├── upsert_user_all.py 上传成绩(36 节点 / 110 字段 / 差分) -│ ├── get_need_user_data.py 结算快照编排 + 落盘 data/.json +│ ├── MaimaiNet.py 网络核心(AES / deflate / URL 混淆 / Cookie) +│ ├── LogSetup.py 日志(INFO / DEBUG 双模式) +│ ├── ChargeGuard.py 买票前置闸门(必须先跑过 GetUserCharge) +│ ├── UpsertUserAll.py 上传成绩 / 解锁歌曲(36 节点 / 110 字段 / 差分) +│ ├── GetNeedUserData.py 结算快照编排 + 落盘 data/.json │ └── ... 40+ 个接口脚本 │ ├── data/ 每账号一份用户数据快照(.json)★ 不入库 ├── download/ netdelivery.py 下载的 .app / .opt ★ 不入库 -├── logs/ 日志输出(latest.log + 日期.log)★ 不入库 -└── source/ 反编译源码 ★ 不入库,需自备 +└── logs/ 日志输出(latest.log + 日期.log)★ 不入库 ``` **设计约定**:`api/` 里每个脚本 = 一个接口,对外暴露一个**能传参的函数**。 主脚本只负责编排,日志和协议细节都在 `api/` 内部。 -**命名约定**:服务端 API 名里带 `Get` 的,**脚本名与函数名一律带 `get` / `Get`** -(不要模棱两可)。所以取数脚本全是 `get_*.py`,函数是 `GetXxx`。 +**命名约定**:**文件名 = 函数名**,都按首字母大写的驼峰切分,一一对应: + +| 服务端接口 | 脚本 | 函数 | +|---|---|---| +| `GetUserDataApi` | `api/GetUserData.py` | `GetUserData()` | +| `UpsertUserAllApi` | `api/UpsertUserAll.py` | `UpsertUserAll()` | +| `UserLoginApi` | `api/UserLogin.py` | `UserLogin()` | + +服务端 API 名里带 `Get` 的,脚本名与函数名一律带 `Get`(不要模棱两可)。 ### 分支说明 @@ -97,7 +111,10 @@ WaHappy/ | **`docs`** | 孤儿分支 —— 只有 `docs/`,开发文档与踩坑记录 | 两个分支**没有共同的提交历史**,各自独立。 -`source/` 是反编译源码,**需要自备**。 + +> 🛠 **给开发者**:协议实现对照的反编译源码(`Assembly-CSharp` / `AMDaemon.NET` 等) +> 不入库,需要自己准备一份放在 `source/`;代码注释里的行号都指向它。 +> 只是用工具的话**完全不需要**这个目录。 --- @@ -136,7 +153,7 @@ copy config.py.example config.py # Windows ### 3. 跑自检 ```bash -python selftest.py # 零网络自检,应该 249 项全绿(不依赖你的 config) +python selftest.py # 零网络自检,应该 284 项全绿(不依赖你的 config) ``` ### 主脚本一览 @@ -144,6 +161,7 @@ python selftest.py # 零网络自检,应该 249 项全绿(不依赖 | 脚本 | 干什么 | 副作用 | 需要二维码 | |---|---|---|---| | `upsert.py` | 上传一局成绩 | ★ 有 | ✅ | +| `unlockmusic.py` | 解锁(解禁)歌曲 / 难度 | ★ 有 | ✅ | | `buy_ticket.py` | 购买功能票 | ★ 有 | ✅ | | `use_ticket.py` | 消耗当前持有的功能票 | ★ 有 | ✅ | | `reincarnate.py` | 账号数据迁移(转生) | ★ 有 | ✅(目标号;源号可选) | @@ -168,8 +186,9 @@ python upsert.py "<二维码>" --send # 常用开关 python upsert.py "<二维码>" --send --debug # 日志里带完整收发报文 -python upsert.py "<二维码>" --send --cooldown 0 # 跳过发包前 60 秒冷却 +python upsert.py "<二维码>" --send --cooldown 0 # 跳过发包前 15 秒冷却 python upsert.py "<二维码>" --send --no-verify # 跳过上传后的落库回查 +python unlockmusic.py "<二维码>" --send --music 11414 # 解锁歌曲 / 解禁难度 ``` **换歌 / 换成绩只改 `config.py` 的 `PLAY_*`,不用动任何代码。** @@ -199,7 +218,7 @@ python upsert.py "<二维码>" --send --extra-data extra.json | `1` | **新增** —— 旧数据里**没有**同主键的条目 | INSERT | | `2` | **无变化** —— 只有 `userFavoriteList` 用,其他节点不会出现 | 跳过 | -主键见 `api/upsert_user_all.py` 的 `DIFF_PRIMARY_KEYS` +主键见 `api/UpsertUserAll.py` 的 `DIFF_PRIMARY_KEYS` (如 `userKaleidxScopeList` 用 `gateId`、`userMusicDetailList` 用 `musicId`+`level`)。 > ⚠️ **对已存在的条目填 `1` 会 HTTP 500** —— 服务端会去 INSERT 一条重复记录。 @@ -210,10 +229,52 @@ python upsert.py "<二维码>" --send --extra-data extra.json --- +## unlockmusic.py —— 解锁(解禁)歌曲 + +```bash +python unlockmusic.py "<二维码>" --music 11414 # 预检,不发包 +python unlockmusic.py "<二维码>" --music 11414 --send # ★ 真实解锁 +python unlockmusic.py "<二维码>" --music 1085,11414 --send # 多首,逗号分隔 +python unlockmusic.py "<二维码>" --music 11414 --send --no-unlock-remaster +``` + +**它没有自己的协议实现** —— 整个流程直接复用 `upsert.py` 的 `run()`: +扫码 → 预览 → 登录 → `UpsertUserAll` → 落库回查 → 登出,一模一样。 +唯一多出来的东西是「要解锁哪些歌」这个入参。 + +**解锁也不是单独的接口** —— 它是往 `userItemList` 里补几条 `UserItem`: + +| itemKind | 解锁什么 | +|---|---| +| `5` | 歌曲本体(`MusicUnlockList`) | +| `6` | Master 难度(`MusicUnlockMasterList`) | +| `7` | Re:Master 难度(`MusicUnlockReMasterList`) | + +条目形如 `{"itemKind":5,"itemId":1085,"stock":1,"isValid":true}`。 + +- **标准谱(`musicId < 10000`)的 Master / Re:Master 天生解锁**,只写 `kind5`; + 只有 DX 谱(`>= 10000`)才需要写 `kind6` / `kind7`。 +- 服务器上**已存在的条目会自动跳过** —— 重复插入会让服务端直接 HTTP 500。 +- Re:Master 还受活动开关约束,那是机台侧的事,脚本改不了;写了也可能进游戏仍是灰的。 + +| 参数 | 说明 | +|---|---| +| `--music ID[,ID...]` | 要解锁的 musicId,可重复、可逗号分隔(`--unlock-music` 也认) | +| `--send` | 真正发包(不加就是预检,零副作用) | +| `--no-unlock-master` | 不解禁 Master | +| `--no-unlock-remaster` | 不解禁 Re:Master | +| `--cooldown N` / `--no-verify` / `--debug` | 和 `upsert.py` 完全一样 | + +> 依据反编译源码 `VOExtensions.cs:981-1008`(四个解锁列表并进 `userItemList`) +> 与 `NotesListManager.cs:415/455`(`if (id < 10000) return true;`)。 +> 这部分**没有真机抓包可对照**(机台侧的解锁不上报),是按源码实现的。 + +--- + ## buy_ticket.py —— 购买功能票 ```bash -python buy_ticket.py "<二维码>" --list # 只列当前票券和可买的票 +python buy_ticket.py "<二维码>" --list # 登录后只列当前票券,不购买 python buy_ticket.py "<二维码>" --charge-id 2 # 预检:只看报文 python buy_ticket.py "<二维码>" --charge-id 2 --send # ★ 真实购买 ``` @@ -228,10 +289,17 @@ python buy_ticket.py "<二维码>" --charge-id 2 --send # ★ 真实购买 ### 它做的安全检查 -1. 买之前查 `GetGameChargeApi` —— 目标票不在可购买清单里就**连登录都不做**直接退出 -2. 跑前查 `GetUserChargeApi` —— **账号已持有功能票时直接拒绝购买**(重复购买有封号风险) +1. 跑前查 `GetUserChargeApi` —— **账号已持有功能票时直接拒绝购买**(重复购买有封号风险) +2. 买票前 **15 秒等待**(贴近真机节奏) 3. 跑后再查一次确认状态 +> **票源只看 `GetUserChargeApi`**(账号自己的票券表),不再看 `GetGameChargeApi` +> (那是机台本地的上架清单,跟账号状态无关)。 +> +> `UpsertUserChargelog` 内部还有两道硬闸门: +> **必须先跑过 `GetUserCharge`**(`api/ChargeGuard.py` 记账), +> 以及**同一账号同一进程只允许买一次票** —— 都拦在发包之前。 + --- ## use_ticket.py —— 消耗当前持有的功能票 @@ -372,7 +440,8 @@ if __name__ == "__main__": - ✅ 账号数据快照落盘(`data/.json`) - ✅ 账号数据迁移(转生) - ✅ 查 / 下 `.app` / `.opt` 更新包 -- ✅ 零网络自检 249 项 +- ✅ 解锁歌曲 / 解禁 Master 与 Re:Master 难度 +- ✅ 零网络自检 284 项 - ✅ MelonLoader 抓包 Mod(`gamehook/`) **将来可能会加** @@ -412,6 +481,7 @@ if __name__ == "__main__": - **志成🍥** —— 提供脱壳 DLL - [**WorkBuddy AI**](https://www.workbuddy.ai/)—— 提供 AI 模型 - **DeepSeek V4.1 Flash** —— 主要代码编写 +- **GPT-Image-2** —— Logo 设计 - [**NVIDIA NIM**](https://build.nvidia.com/models)、 [**AMD**](https://developer.amd.com.cn/radeon/tokenfactory)、 [**Kilo**](https://kilo.ai/)—— 提供 AI 模型 diff --git a/api/ChargeGuard.py b/api/ChargeGuard.py new file mode 100644 index 0000000..64d5f58 --- /dev/null +++ b/api/ChargeGuard.py @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +""" +ChargeGuard.py —— 买票前置闸门(GetUserCharge 必须已经跑过) +================================================================================ + +★ 这个模块解决什么问题: + + ```` + 错误写法(危险): + UpsertUserChargelog(user_id, 2, login.loginDateTime, confirm=True) + # ↑ 没先查 GetUserCharge —— 万一账号已经持有一张功能票, + # 服务端看到的就是「重复购买」,有封号风险。 + ``` + + 正确写法: + ``` + held = GetUserCharge(user_id) # ① 先查:有没有持票 + ... + UpsertUserChargelog(user_id, 2, ...) # ② 再买 + ``` + + 本模块在 ① 里记一笔「这个 user_id 刚查过票券」,在 ② 里检查这笔记录, + 没查过就抛 `ChargelogGuardError`(**未发包**)。 + +★ 还顺手挡第二件事:**同一个账号在同一个进程里只允许买一次票**。 + 真机买票是「买完立刻被这一局用掉」(stock--),正常状态 stock 恒为 0; + 脚本连着买两张是明显的异常行为,这里直接拦掉。 + +★ 记忆只存在于**当前进程**(内存字典),脚本退出即清空 —— 不做持久化, + 免得下次运行时被上一次的记录误拦。 + +依据: + source/Assembly-CSharp/Manager/TicketManager.cs:130-174 UseTicketPrepare + source/Assembly-CSharp/Manager/TicketManager.cs:234-253 RequestUserCharge + source/Assembly-CSharp/Net.Packet.Mai2/PacketGetUserCharge.cs:20 + source/Assembly-CSharp/Net.Packet.Mai2/PacketUploadUserChargelog.cs:19 +""" + +from __future__ import annotations + +import time +from typing import Any, Dict, List, Optional + +#: GetUserCharge 结果的「新鲜度」窗口(秒)。 +#: 超过这个时间才买票,认为那次查询已经过期,需要重查。 +CHARGE_READ_FRESH_SEC = 600.0 + +#: user_id -> 最近一次 GetUserCharge 的 monotonic 时刻 +_LAST_READ: Dict[int, float] = {} + +#: user_id -> 最近一次 GetUserCharge 返回的 userChargeList(原样) +_LAST_LIST: Dict[int, List[Dict[str, Any]]] = {} + +#: user_id -> 本进程内已经买过的 chargeId 列表 +_PURCHASES: Dict[int, List[int]] = {} + + +# ============================================================================= +# 一、GetUserCharge 侧:记一笔 +# ============================================================================= + +def note_user_charge_read( + user_id: int, + charge_list: Optional[List[Dict[str, Any]]] = None, +) -> None: + """ + 记录「刚刚为这个 user_id 查过票券」。 + + ★ 由 GetUserCharge() 在拿到响应后自动调用,调用方不用管。 + """ + try: + uid = int(user_id) + except (TypeError, ValueError): + return + _LAST_READ[uid] = time.monotonic() + if isinstance(charge_list, list): + _LAST_LIST[uid] = [c for c in charge_list if isinstance(c, dict)] + + +def last_read_age(user_id: int) -> Optional[float]: + """距上次 GetUserCharge 过了多少秒;从没查过返回 None。""" + try: + uid = int(user_id) + except (TypeError, ValueError): + return None + ts = _LAST_READ.get(uid) + if ts is None: + return None + return max(0.0, time.monotonic() - ts) + + +def has_fresh_read( + user_id: int, + max_age: float = CHARGE_READ_FRESH_SEC, +) -> bool: + """这个 user_id 最近(max_age 秒内)查过 GetUserCharge 吗?""" + age = last_read_age(user_id) + if age is None: + return False + return age <= float(max_age) + + +def last_charge_list(user_id: int) -> List[Dict[str, Any]]: + """最近一次 GetUserCharge 返回的 userChargeList(没有则空表)。""" + try: + return list(_LAST_LIST.get(int(user_id)) or []) + except (TypeError, ValueError): + return [] + + +def held_charges(user_id: int) -> List[Dict[str, Any]]: + """最近一次查到的「持有中」(stock > 0)的票券。""" + return [c for c in last_charge_list(user_id) if int(c.get("stock", 0) or 0) > 0] + + +# ============================================================================= +# 二、UpsertUserChargelog 侧:买之前查 +# ============================================================================= + +def note_charge_purchase(user_id: int, charge_id: int) -> None: + """记录「这个 user_id 刚刚买了一张 chargeId 的票」。""" + try: + uid = int(user_id) + except (TypeError, ValueError): + return + _PURCHASES.setdefault(uid, []).append(int(charge_id)) + + +def purchased_charge_ids(user_id: int) -> List[int]: + """本进程内这个 user_id 已经买过的 chargeId。""" + try: + return list(_PURCHASES.get(int(user_id)) or []) + except (TypeError, ValueError): + return [] + + +def reset(user_id: Optional[int] = None) -> None: + """清空记忆(测试用;不传 user_id 就全清)。""" + if user_id is None: + _LAST_READ.clear() + _LAST_LIST.clear() + _PURCHASES.clear() + return + try: + uid = int(user_id) + except (TypeError, ValueError): + return + _LAST_READ.pop(uid, None) + _LAST_LIST.pop(uid, None) + _PURCHASES.pop(uid, None) diff --git a/api/chime.py b/api/Chime.py similarity index 98% rename from api/chime.py rename to api/Chime.py index bdb858e..aa7b5b6 100644 --- a/api/chime.py +++ b/api/Chime.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -chime.py —— 扫码登录(二维码 -> userId + token) +Chime.py —— 扫码登录(二维码 -> userId + token) ================================================================================ 功能:把微信二维码串(或二维码 URL)交给 aimedb 服务器,换取 userId 与 token。 @@ -76,7 +76,7 @@ QR_OPEN_GAME_ID = "MAID" QR_TITLE_KEY = "SDGB" QR_USER_AGENT = "WC_AIME_LIB" -from .log_setup import log_debug, log_error, log_info, log_request, log_response +from .LogSetup import log_debug, log_error, log_info, log_request, log_response # ============================================================================= # 二维码格式常量(CCommQRCode.cs + 技术规范) @@ -288,7 +288,7 @@ def ParseQRCode(qr_input: str, *, chip_id: str = DEFAULT_CHIP_ID) -> Tuple[int, if __name__ == "__main__": import sys - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("chime_test") diff --git a/api/get_game_charge.py b/api/GetGameCharge.py similarity index 89% rename from api/get_game_charge.py rename to api/GetGameCharge.py index dc840dc..f6d3ae9 100644 --- a/api/get_game_charge.py +++ b/api/GetGameCharge.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_game_charge.py —— 取游戏计费配置(GetGameChargeApi) +GetGameCharge.py —— 取游戏计费配置(GetGameChargeApi) ================================================================================ 取服务器下发的计费档位。 @@ -22,8 +22,8 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient, request_dict +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient, request_dict @dataclass diff --git a/api/get_game_settings.py b/api/GetGameSettings.py similarity index 95% rename from api/get_game_settings.py rename to api/GetGameSettings.py index 42281e9..303dc96 100644 --- a/api/get_game_settings.py +++ b/api/GetGameSettings.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_game_settings.py —— 获取游戏设置(GetGameSettingApi) +GetGameSettings.py —— 获取游戏设置(GetGameSettingApi) ================================================================================ 功能:取服务器下发的运行时配置(维护窗口、心跳间隔、包超时、各类上限)。 @@ -25,8 +25,8 @@ from typing import Optional from config import CLIENT_ID, PLACE_ID, TIMEOUT_MS -from .log_setup import log_info, log_warning -from .maimai_net import MaimaiNetClient, request_dict +from .LogSetup import log_info, log_warning +from .MaimaiNet import MaimaiNetClient, request_dict # ============================================================================= @@ -154,7 +154,7 @@ def is_ping_disabled(settings: GameSettingResponseVO) -> bool: # ============================================================================= if __name__ == "__main__": - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("gamesettings_test") @@ -166,7 +166,7 @@ if __name__ == "__main__": print(" " + name.ljust(34) + "= " + str(getattr(gs, name))) return 0 except Exception as exc: - from .log_setup import log_error + from .LogSetup import log_error log_error("获取游戏设置失败:" + str(exc)) return 1 finally: diff --git a/api/get_need_user_data.py b/api/GetNeedUserData.py similarity index 92% rename from api/get_need_user_data.py rename to api/GetNeedUserData.py index 3ffe97d..bde27eb 100644 --- a/api/get_need_user_data.py +++ b/api/GetNeedUserData.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- """ -get_need_user_data.py —— 结算快照编排(统一调用各取数脚本) +GetNeedUserData.py —— 结算快照编排(统一调用各取数脚本) ================================================================================ 功能:一键抓取 UpsertUserAll 需要的全部基线数据,整理成「节点字典」。 -★ 本模块**只做编排**,取数逻辑都在各自的 api 脚本里(get_user_data.py / get_user_map.py …)。 +★ 本模块**只做编排**,取数逻辑都在各自的 api 脚本里(GetUserData.py / GetUserMap.py …)。 -------------------------------------------------------------------------------- 为什么需要快照 @@ -41,29 +41,29 @@ from typing import Any, Dict, List, Optional, Sequence from config import CLIENT_ID, PLACE_ID, PLAY_SHOP_ITEM_IDS, REGION_ID, TIMEOUT_MS -from .log_setup import log_debug, log_info, log_warning -from .maimai_net import MaimaiNetClient +from .LogSetup import log_debug, log_info, log_warning +from .MaimaiNet import MaimaiNetClient # 各取数脚本(一个接口一个脚本) -from .get_user_data import GetUserData -from .get_user_extend import GetUserExtend -from .get_user_option import GetUserOption -from .get_user_character import GetUserCharacter -from .get_user_ghost import GetUserGhost -from .get_user_map import GetUserMapAll -from .get_user_login_bonus import GetUserLoginBonusAll -from .get_user_rating import GetUserRating -from .get_user_item import GetUserItemAll -from .get_user_music import GetUserMusicDetailAll -from .get_user_course import GetUserCourseAll -from .get_user_charge import GetUserCharge -from .get_user_favorite import GetUserFavoriteAll -from .get_user_activity import GetUserActivity -from .get_user_mission import GetUserMissionData -from .get_user_intimate import GetUserIntimate -from .get_user_shop_stock import GetUserShopStock -from .get_user_favorite_item import GetUserFavoriteItemAll -from .get_user_kaleidx_scope import GetUserKaleidxScope +from .GetUserData import GetUserData +from .GetUserExtend import GetUserExtend +from .GetUserOption import GetUserOption +from .GetUserCharacter import GetUserCharacter +from .GetUserGhost import GetUserGhost +from .GetUserMap import GetUserMapAll +from .GetUserLoginBonus import GetUserLoginBonusAll +from .GetUserRating import GetUserRating +from .GetUserItem import GetUserItemAll +from .GetUserMusic import GetUserMusicDetailAll +from .GetUserCourse import GetUserCourseAll +from .GetUserCharge import GetUserCharge +from .GetUserFavorite import GetUserFavoriteAll +from .GetUserActivity import GetUserActivity +from .GetUserMission import GetUserMissionData +from .GetUserIntimate import GetUserIntimate +from .GetUserShopStock import GetUserShopStock +from .GetUserFavoriteItem import GetUserFavoriteItemAll +from .GetUserKaleidxScope import GetUserKaleidxScope # ============================================================================= @@ -372,7 +372,7 @@ def summarize_snapshot(snapshot: Dict[str, Any]) -> Dict[str, int]: if __name__ == "__main__": import sys - from .log_setup import log_error, setup_logging, teardown_logging + from .LogSetup import log_error, setup_logging, teardown_logging def _main() -> int: setup_logging("get_need_user_data_test") diff --git a/api/get_user_activity.py b/api/GetUserActivity.py similarity index 87% rename from api/get_user_activity.py rename to api/GetUserActivity.py index 878e396..c99f129 100644 --- a/api/get_user_activity.py +++ b/api/GetUserActivity.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_activity.py —— 取用户活动记录(GetUserActivityApi) +GetUserActivity.py —— 取用户活动记录(GetUserActivityApi) ================================================================================ 取玩家的活动/成就记录(playList 与 musicList 两个列表)。 @@ -25,9 +25,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserActivity( diff --git a/api/get_user_character.py b/api/GetUserCharacter.py similarity index 86% rename from api/get_user_character.py rename to api/GetUserCharacter.py index 0a1d187..6bfa128 100644 --- a/api/get_user_character.py +++ b/api/GetUserCharacter.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_character.py —— 取用户角色列表(GetUserCharacterApi) +GetUserCharacter.py —— 取用户角色列表(GetUserCharacterApi) ================================================================================ 取玩家所有角色的等级与觉醒度(真机 312 条)。 @@ -23,9 +23,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserCharacter( diff --git a/api/GetUserCharge.py b/api/GetUserCharge.py new file mode 100644 index 0000000..b6d719b --- /dev/null +++ b/api/GetUserCharge.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +""" +GetUserCharge.py —— 取用户票券(GetUserChargeApi) +================================================================================ + +取玩家的票券持有情况(真机 3 条)。 + +对应接口:GetUserChargeApi +请求体 :UserIdRequestVO +响应 :{userId, length, userChargeList:[{chargeId,stock,purchaseDate,validDate,extNum1}]} +依据 :source/Assembly-CSharp/Net.VO.Mai2/UserChargeRequestVO.cs + +★ 回传 Upsert 时要丢掉 extNum1(真机 Upsert 报文里没有这个字段)。 + +★ 调用本接口会**登记一次「票券已查询」**(见 api/ChargeGuard.py)。 + UpsertUserChargelog 发包前会检查这笔登记 —— 没查过票就买票会被直接拒绝。 + +调用示例: + from api import GetUserCharge +""" + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from config import CLIENT_ID, TIMEOUT_MS + +from .ChargeGuard import note_user_charge_read +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO + + +def GetUserCharge( + user_id: int, + *, + client_id: str = CLIENT_ID, + timeout_ms: Optional[int] = None, + client: Optional[MaimaiNetClient] = None, +) -> Dict[str, Any]: + """ + 取用户票券(对应 GetUserChargeApi)。 + + 返回: + 原始响应 dict,含 userChargeList + """ + log_info("取用户票券:user_id=" + str(user_id)) + raw = _get("GetUserChargeApi", UserIdRequestVO(userId=user_id), user_id, + client_id=client_id, timeout_ms=timeout_ms, client=client) + + # ★ 记一笔「这个账号刚查过票券」—— + # UpsertUserChargelog 发包前会检查这笔记录,没查过就拒绝购买。 + # 见 api/ChargeGuard.py 的说明。 + lst = (raw.get("userChargeList") if isinstance(raw, dict) else None) or [] + note_user_charge_read(user_id, lst) + held = [c for c in lst if isinstance(c, dict) and int(c.get("stock", 0) or 0) > 0] + if held: + log_info("★ 该账号当前持有 " + str(len(held)) + " 张功能票:" + + "、".join("chargeId=" + str(c.get("chargeId")) + + " stock=" + str(c.get("stock")) for c in held)) + else: + log_info("该账号当前没有持有功能票") + return raw diff --git a/api/get_user_course.py b/api/GetUserCourse.py similarity index 90% rename from api/get_user_course.py rename to api/GetUserCourse.py index e1a0a34..f4adf46 100644 --- a/api/get_user_course.py +++ b/api/GetUserCourse.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_course.py —— 取用户课题模式成绩(GetUserCourseApi) +GetUserCourse.py —— 取用户课题模式成绩(GetUserCourseApi) ================================================================================ 取玩家的 COURSE(课题)模式通关记录(真机 16 条)。 @@ -21,9 +21,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserCourseRequestVO, get_all_pages +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserCourseRequestVO, get_all_pages def GetUserCourse( diff --git a/api/get_user_data.py b/api/GetUserData.py similarity index 91% rename from api/get_user_data.py rename to api/GetUserData.py index bc66644..a6a8cdd 100644 --- a/api/get_user_data.py +++ b/api/GetUserData.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_data.py —— 取用户全量数据(GetUserDataApi) +GetUserData.py —— 取用户全量数据(GetUserDataApi) ================================================================================ 取玩家档案(86 个字段的大对象),是 upsertUserAll.userData 的**唯一正确来源**。 @@ -29,9 +29,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserData( diff --git a/api/get_user_extend.py b/api/GetUserExtend.py similarity index 86% rename from api/get_user_extend.py rename to api/GetUserExtend.py index ce04197..15d4e39 100644 --- a/api/get_user_extend.py +++ b/api/GetUserExtend.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_extend.py —— 取用户扩展设置(GetUserExtendApi) +GetUserExtend.py —— 取用户扩展设置(GetUserExtendApi) ================================================================================ 取玩家上次的选曲 / 分类 / 卡片槽等扩展状态。 @@ -23,9 +23,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserExtend( diff --git a/api/get_user_favorite.py b/api/GetUserFavorite.py similarity index 93% rename from api/get_user_favorite.py rename to api/GetUserFavorite.py index f62ce22..d72f6cf 100644 --- a/api/get_user_favorite.py +++ b/api/GetUserFavorite.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_favorite.py —— 取用户收藏(GetUserFavoriteApi) +GetUserFavorite.py —— 取用户收藏(GetUserFavoriteApi) ================================================================================ 取玩家各类收藏夹(称号 / 头像 / 相框 / 搭档 / 背景…)。 @@ -24,9 +24,9 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info, log_warning -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserFavoriteRequestVO, FAVORITE_ITEM_KINDS +from .LogSetup import log_info, log_warning +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserFavoriteRequestVO, FAVORITE_ITEM_KINDS def GetUserFavorite( diff --git a/api/get_user_favorite_item.py b/api/GetUserFavoriteItem.py similarity index 92% rename from api/get_user_favorite_item.py rename to api/GetUserFavoriteItem.py index 2e2dc8a..f5dc0d2 100644 --- a/api/get_user_favorite_item.py +++ b/api/GetUserFavoriteItem.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_favorite_item.py —— 取用户收藏曲目/对手(GetUserFavoriteItemApi) +GetUserFavoriteItem.py —— 取用户收藏曲目/对手(GetUserFavoriteItemApi) ================================================================================ 取玩家收藏的乐曲(kind=1)或收藏的对手(kind=2)。 @@ -24,9 +24,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserFavoriteItemRequestVO, get_all_pages +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserFavoriteItemRequestVO, get_all_pages #: kind 取值 FAVORITE_ITEM_KIND_MUSIC = 1 # 收藏乐曲 diff --git a/api/get_user_friend_bonus.py b/api/GetUserFriendBonus.py similarity index 89% rename from api/get_user_friend_bonus.py rename to api/GetUserFriendBonus.py index 81d608e..47ae068 100644 --- a/api/get_user_friend_bonus.py +++ b/api/GetUserFriendBonus.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_friend_bonus.py —— 取用户好友里程(GetUserFriendBonusApi) +GetUserFriendBonus.py —— 取用户好友里程(GetUserFriendBonusApi) ================================================================================ 取玩家本次可领取的好友里程(getMiles)。 @@ -21,9 +21,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info, log_warning -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info, log_warning +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserFriendBonus( diff --git a/api/get_user_ghost.py b/api/GetUserGhost.py similarity index 87% rename from api/get_user_ghost.py rename to api/GetUserGhost.py index 1e69116..97a0957 100644 --- a/api/get_user_ghost.py +++ b/api/GetUserGhost.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_ghost.py —— 取用户幽灵数据(GetUserGhostApi) +GetUserGhost.py —— 取用户幽灵数据(GetUserGhostApi) ================================================================================ 取玩家的「幽灵」对战记录(真机 15 条)。 @@ -24,9 +24,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserGhost( diff --git a/api/get_user_intimate.py b/api/GetUserIntimate.py similarity index 84% rename from api/get_user_intimate.py rename to api/GetUserIntimate.py index f6cbb5b..8c7015b 100644 --- a/api/get_user_intimate.py +++ b/api/GetUserIntimate.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_intimate.py —— 取用户搭档亲密度(GetUserIntimateApi) +GetUserIntimate.py —— 取用户搭档亲密度(GetUserIntimateApi) ================================================================================ 取玩家与各搭档的亲密度(真机 2 条)。 @@ -20,9 +20,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserIntimate( diff --git a/api/get_user_item.py b/api/GetUserItem.py similarity index 94% rename from api/get_user_item.py rename to api/GetUserItem.py index 21a7632..e50deb8 100644 --- a/api/get_user_item.py +++ b/api/GetUserItem.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_item.py —— 取用户道具(GetUserItemApi) +GetUserItem.py —— 取用户道具(GetUserItemApi) ================================================================================ 取玩家各类道具的库存(真机按 kind 分 12 次请求)。 @@ -38,9 +38,9 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_debug, log_info, log_warning -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserItemRequestVO, ITEM_KINDS, ITEM_NEXT_INDEX_FACTOR +from .LogSetup import log_debug, log_info, log_warning +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserItemRequestVO, ITEM_KINDS, ITEM_NEXT_INDEX_FACTOR def GetUserItem( diff --git a/api/get_user_kaleidx_scope.py b/api/GetUserKaleidxScope.py similarity index 88% rename from api/get_user_kaleidx_scope.py rename to api/GetUserKaleidxScope.py index 301beaf..ed02184 100644 --- a/api/get_user_kaleidx_scope.py +++ b/api/GetUserKaleidxScope.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_kaleidx_scope.py —— 取 KALEIDX 门进度(GetUserKaleidxScopeApi / GetGameKaleidxScopeApi) +GetUserKaleidxScope.py —— 取 KALEIDX 门进度(GetUserKaleidxScopeApi / GetGameKaleidxScopeApi) ================================================================================ 对应接口: @@ -17,7 +17,7 @@ get_user_kaleidx_scope.py —— 取 KALEIDX 门进度(GetUserKaleidxScopeApi ★★ 重要区分(曾导致 userData 取空) -------------------------------------------------------------------------------- GameKaleidxScopeResponseVO 里**只有** gameKaleidxScopeList 字段,没有 userData。 -玩家档案 userData 的正确来源是 GetUserDataApi(见 get_user_data.py)。 +玩家档案 userData 的正确来源是 GetUserDataApi(见 GetUserData.py)。 真机日志里「GetGameKaleidxScope 的响应带 userData」是抓包工具把时间相邻的 两条响应合并显示造成的假象 —— 不要据此给 GetGameKaleidxScopeApi 发 userId, @@ -33,9 +33,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, EmptyRequestVO, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, EmptyRequestVO, UserIdRequestVO def GetUserKaleidxScope( diff --git a/api/get_user_login_bonus.py b/api/GetUserLoginBonus.py similarity index 90% rename from api/get_user_login_bonus.py rename to api/GetUserLoginBonus.py index a4b9d14..19a7a7a 100644 --- a/api/get_user_login_bonus.py +++ b/api/GetUserLoginBonus.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_login_bonus.py —— 取用户登录奖励(GetUserLoginBonusApi) +GetUserLoginBonus.py —— 取用户登录奖励(GetUserLoginBonusApi) ================================================================================ 取玩家的登录奖励领取进度(真机 38 条,分两页)。 @@ -22,9 +22,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserLoginBonusRequestVO, get_all_pages +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserLoginBonusRequestVO, get_all_pages def GetUserLoginBonus( diff --git a/api/get_user_map.py b/api/GetUserMap.py similarity index 91% rename from api/get_user_map.py rename to api/GetUserMap.py index d6513d0..a31d252 100644 --- a/api/get_user_map.py +++ b/api/GetUserMap.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_map.py —— 取用户地图进度(GetUserMapApi) +GetUserMap.py —— 取用户地图进度(GetUserMapApi) ================================================================================ 取玩家各地图的推进距离(真机 104 条)。 @@ -23,9 +23,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdPageRequestVO, get_all_pages +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdPageRequestVO, get_all_pages def GetUserMap( diff --git a/api/get_user_mission.py b/api/GetUserMission.py similarity index 87% rename from api/get_user_mission.py rename to api/GetUserMission.py index 516a6cf..0766665 100644 --- a/api/get_user_mission.py +++ b/api/GetUserMission.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_mission.py —— 取用户任务与周数据(GetUserMissionDataApi) +GetUserMission.py —— 取用户任务与周数据(GetUserMissionDataApi) ================================================================================ 取玩家的任务进度与周常数据(真机 6 条任务)。 @@ -25,9 +25,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserMissionData( diff --git a/api/get_user_music.py b/api/GetUserMusic.py similarity index 93% rename from api/get_user_music.py rename to api/GetUserMusic.py index dc0073e..19982a7 100644 --- a/api/get_user_music.py +++ b/api/GetUserMusic.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_music.py —— 取用户曲目成绩(GetUserMusicApi) +GetUserMusic.py —— 取用户曲目成绩(GetUserMusicApi) ================================================================================ 取玩家全部曲目的历史成绩归档(真机 739 组)。 @@ -27,9 +27,9 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserMusicRequestVO, get_all_pages +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserMusicRequestVO, get_all_pages def GetUserMusicDetail( diff --git a/api/get_user_new_item.py b/api/GetUserNewItem.py similarity index 95% rename from api/get_user_new_item.py rename to api/GetUserNewItem.py index 7df9afb..36880c8 100644 --- a/api/get_user_new_item.py +++ b/api/GetUserNewItem.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_new_item.py —— 取新增道具(GetUserNewItemListApi) +GetUserNewItem.py —— 取新增道具(GetUserNewItemListApi) ================================================================================ 上传结算后查询「本次新增了哪些道具」(真机响应 userItemList 为空)。 @@ -25,8 +25,8 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, PLAY_VERSION_INT, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient, request_dict +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient, request_dict @dataclass diff --git a/api/get_user_option.py b/api/GetUserOption.py similarity index 87% rename from api/get_user_option.py rename to api/GetUserOption.py index 298ef01..028b13c 100644 --- a/api/get_user_option.py +++ b/api/GetUserOption.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_option.py —— 取用户游戏设置(GetUserOptionApi) +GetUserOption.py —— 取用户游戏设置(GetUserOptionApi) ================================================================================ 取玩家的音符速度、判定显示、音量等游戏内设置(48 个字段)。 @@ -24,9 +24,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserOption( diff --git a/api/get_user_preview.py b/api/GetUserPreview.py similarity index 95% rename from api/get_user_preview.py rename to api/GetUserPreview.py index a0eb785..ba76dfb 100644 --- a/api/get_user_preview.py +++ b/api/GetUserPreview.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_preview.py —— 用户预览(GetUserPreviewApi) +GetUserPreview.py —— 用户预览(GetUserPreviewApi) ================================================================================ 功能:刷卡后欢迎界面的数据(昵称、Rating、是否已登录、封禁状态…)。 @@ -29,8 +29,8 @@ from typing import Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info, log_warning -from .maimai_net import MaimaiNetClient, request_dict +from .LogSetup import log_info, log_warning +from .MaimaiNet import MaimaiNetClient, request_dict @dataclass @@ -133,7 +133,7 @@ def GetUserPreview( if __name__ == "__main__": import sys - from .log_setup import log_error, setup_logging, teardown_logging + from .LogSetup import log_error, setup_logging, teardown_logging def _main() -> int: setup_logging("userpreview_test") diff --git a/api/get_user_rating.py b/api/GetUserRating.py similarity index 86% rename from api/get_user_rating.py rename to api/GetUserRating.py index 1dae87d..74772e9 100644 --- a/api/get_user_rating.py +++ b/api/GetUserRating.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_rating.py —— 取用户 Rating 明细(GetUserRatingApi) +GetUserRating.py —— 取用户 Rating 明细(GetUserRatingApi) ================================================================================ 取玩家的 Rating 构成(旧谱 / 新谱 / 下一档候选 + 段位)。 @@ -23,9 +23,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserRating( diff --git a/api/get_user_recommend_music.py b/api/GetUserRecommendMusic.py similarity index 89% rename from api/get_user_recommend_music.py rename to api/GetUserRecommendMusic.py index efc5458..5835218 100644 --- a/api/get_user_recommend_music.py +++ b/api/GetUserRecommendMusic.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_recommend_music.py —— 取推荐曲目(GetUserRecommendRateMusicApi / GetUserRecommendSelectMusicApi) +GetUserRecommendMusic.py —— 取推荐曲目(GetUserRecommendRateMusicApi / GetUserRecommendSelectMusicApi) ================================================================================ 对应接口: @@ -23,9 +23,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserRecommendRateMusic( diff --git a/api/get_user_region.py b/api/GetUserRegion.py similarity index 84% rename from api/get_user_region.py rename to api/GetUserRegion.py index d29253f..2f34105 100644 --- a/api/get_user_region.py +++ b/api/GetUserRegion.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_region.py —— 取用户地区游玩统计(GetUserRegionApi) +GetUserRegion.py —— 取用户地区游玩统计(GetUserRegionApi) ================================================================================ 取玩家在各地区的游玩次数。 @@ -21,9 +21,9 @@ from typing import Any, Dict, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserIdRequestVO def GetUserRegion( diff --git a/api/get_user_rival.py b/api/GetUserRival.py similarity index 95% rename from api/get_user_rival.py rename to api/GetUserRival.py index 3c5436d..e515c30 100644 --- a/api/get_user_rival.py +++ b/api/GetUserRival.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_rival.py —— 取用户对手数据(GetUserRivalDataApi / GetUserRivalMusicApi) +GetUserRival.py —— 取用户对手数据(GetUserRivalDataApi / GetUserRivalMusicApi) ================================================================================ 取玩家的对手名单及其曲目成绩。 @@ -28,9 +28,9 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import ( +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import ( _get, UserRivalRequestVO, UserRivalMusicRequestVO, diff --git a/api/get_user_shop_stock.py b/api/GetUserShopStock.py similarity index 89% rename from api/get_user_shop_stock.py rename to api/GetUserShopStock.py index 68fd2a8..7839f90 100644 --- a/api/get_user_shop_stock.py +++ b/api/GetUserShopStock.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -get_user_shop_stock.py —— 取用户商店库存(GetUserShopStockApi) +GetUserShopStock.py —— 取用户商店库存(GetUserShopStockApi) ================================================================================ 取玩家在各商店商品的已兑换次数。 @@ -24,9 +24,9 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, PLAY_SHOP_ITEM_IDS, TIMEOUT_MS -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserShopStockRequestVO +from .LogSetup import log_info +from .MaimaiNet import MaimaiNetClient +from .UserGetterCommon import _get, UserShopStockRequestVO def GetUserShopStock( diff --git a/api/log_setup.py b/api/LogSetup.py similarity index 99% rename from api/log_setup.py rename to api/LogSetup.py index 241cc94..7473db1 100644 --- a/api/log_setup.py +++ b/api/LogSetup.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -log_setup.py —— 统一日志模块(INFO / DEBUG 双模式) +LogSetup.py —— 统一日志模块(INFO / DEBUG 双模式) ================================================================================ 【两种模式】 diff --git a/api/maimai_net.py b/api/MaimaiNet.py similarity index 99% rename from api/maimai_net.py rename to api/MaimaiNet.py index a83e314..7953dbf 100644 --- a/api/maimai_net.py +++ b/api/MaimaiNet.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -maimai_net.py —— 舞萌DX 网络核心层(纯 HTTP 复刻) +MaimaiNet.py —— 舞萌DX 网络核心层(纯 HTTP 复刻) ================================================================================ 本模块是【唯一】直接和游戏服务器说话的地方,其余 api 脚本都通过它收发报文。 @@ -133,7 +133,7 @@ AES_IV = b"F>;24DjU9W6ZsRH[" #: 用法:URL 尾段 = md5(逻辑接口名 + "MaimaiChn" + OBFUSCATE_PARAM) 小写 hex OBFUSCATE_PARAM = "8bF76dE9" -from .log_setup import log_debug, log_error, log_request, log_response +from .LogSetup import log_debug, log_error, log_request, log_response # ============================================================================= # 协议常量 diff --git a/api/ping.py b/api/Ping.py similarity index 93% rename from api/ping.py rename to api/Ping.py index f587713..ff97376 100644 --- a/api/ping.py +++ b/api/Ping.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -ping.py —— 心跳探活(PingMaimaiChn) +Ping.py —— 心跳探活(PingMaimaiChn) ================================================================================ 功能:向游戏服务器发一次心跳,确认链路可达。 @@ -41,8 +41,8 @@ from typing import Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_info, log_warning -from .maimai_net import MaimaiNetClient, request_dict +from .LogSetup import log_info, log_warning +from .MaimaiNet import MaimaiNetClient, request_dict def Ping( @@ -80,7 +80,7 @@ def Ping( if __name__ == "__main__": - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("ping_test") diff --git a/api/upsert_user_all.py b/api/UpsertUserAll.py similarity index 93% rename from api/upsert_user_all.py rename to api/UpsertUserAll.py index 9fae97d..bcde612 100644 --- a/api/upsert_user_all.py +++ b/api/UpsertUserAll.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -upsert_user_all.py —— 上传成绩(UpsertUserAllApi) +UpsertUserAll.py —— 上传成绩(UpsertUserAllApi) ================================================================================ 功能:把一局游玩的完整结算数据写进服务器。这是**唯一有副作用**的接口。 @@ -158,8 +158,8 @@ PLAY_AFTER_GRADE_RANK = 1 #: True = 从曲目记录推(仅调试用) DERIVE_GRADE_FROM_MUSIC_DETAIL = False -from .log_setup import log_debug, log_error, log_info, log_warning -from .maimai_net import ( +from .LogSetup import log_debug, log_error, log_info, log_warning +from .MaimaiNet import ( MaimaiNetClient, local_utc_offset_seconds, login_date_time_now, @@ -552,7 +552,7 @@ def build_favorite_delta( "2" = 服务器侧有对应 itemKind(无论内容是否一致) "1" = 服务器侧查不到该 itemKind - ★ 关键:**优先用 Get 侧最原始的响应建索引**,不要先用 get_user_favorite.py + ★ 关键:**优先用 Get 侧最原始的响应建索引**,不要先用 GetUserFavorite.py 的「补 itemKind」逻辑归一化 —— 真机里 itemKind=10 的响应回的是 {"itemKind":null, "itemIdList":[]},正因为查不到才自然产生 "1"。 @@ -1894,6 +1894,117 @@ def apply_play_effects( # 十二、组装 upsertUserAll # ============================================================================= +# ----------------------------------------------------------------------------- +# ★ 歌曲解锁(解禁):MusicUnlock* 不是独立节点,而是并入 userItemList 的 UserItem +# ----------------------------------------------------------------------------- +# 依据 source/Assembly-CSharp/Manager/UserData.cs:132-138 —— 客户端有四个解锁列表: +# MusicUnlockList / MusicUnlockMasterList / MusicUnlockReMasterList / MusicUnlockStrongList +# 它们**没有**对应的 userXxxList 节点,导出时统一并进 userItemList: +# source/Assembly-CSharp/Net.VO.Mai2/VOExtensions.cs:981-1008 +# MusicUnlockList -> itemKind = 5 +# MusicUnlockMasterList -> itemKind = 6 +# MusicUnlockReMasterList -> itemKind = 7 +# MusicUnlockStrongList -> itemKind = 8 +# 条目形如 {"itemKind":5,"itemId":1085,"stock":1,"isValid":true} +# (真机 data/12570152.json 的 userItemList 里 kind5=77 条、kind6=446 条、kind7=34 条) +# +# ★ 难度解锁的「天生免费」规则: +# source/Assembly-CSharp/Manager/NotesListManager.cs:415-453 IsUnlockMaster +# source/Assembly-CSharp/Manager/NotesListManager.cs:455-494 IsUnlockReMaster +# 两个函数开头都有 `if (id < 10000) return true;` +# -> musicId < 10000(标准谱)的 Master / Re:Master **天生解锁**,不必写 kind6/7; +# 只有 musicId >= 10000(DX 谱)才需要额外解锁。 +# ★ 另外 Re:Master 还受活动开关约束(IsUnlockReMaster 里的 +# `if (!instance.IsOpenEvent(subEventId)) return false;`), +# 那是机台/服务端侧的开关,脚本改不了 —— 写了 kind7 也可能进游戏仍是灰的。 +# +# ★ 写 kind5 只是「把这首歌标记为已解锁」,不携带任何成绩; +# 成绩另由 userMusicDetailList 承载,纯解锁不需要打歌。 + +#: UserItem.itemKind 取值(source/Assembly-CSharp/Manager/UserData.cs:132-138) +ITEM_KIND_MUSIC_UNLOCK = 5 +ITEM_KIND_MUSIC_UNLOCK_MASTER = 6 +ITEM_KIND_MUSIC_UNLOCK_REMASTER = 7 +ITEM_KIND_MUSIC_UNLOCK_STRONG = 8 + +#: 小于这个 musicId 的谱面 Master / Re:Master 天生解锁(NotesListManager.cs:415/455) +UNLOCK_MASTER_MIN_MUSIC_ID = 10000 + + +def build_unlock_items( + music_ids: Sequence[int], + existing: Optional[Sequence[Any]] = None, + *, + master: bool = True, + remaster: bool = True, + unlock_base: bool = True, +) -> Tuple[List[Dict[str, Any]], List[str]]: + """ + 构造「解锁歌曲 / 解禁难度」要追加的 userItemList 条目。 + + ★ 只返回**服务器上还没有**的条目;已存在的跳过(重复插入会让服务端报错)。 + + 参数: + music_ids: 要解锁的 musicId 列表(重复的自动去掉) + existing: 服务器现有的 userItemList(GetUserData 里的那份), + 用来判断哪些条目已经存在 + master: True = 同时解锁 Master 难度(仅 musicId >= 10000 才写 kind6) + remaster: True = 同时解锁 Re:Master 难度(仅 musicId >= 10000 才写 kind7) + unlock_base: True = 解锁歌曲本体(kind5) + + 返回: + (条目列表, 说明文字列表) + 条目形如 {"itemKind":5,"itemId":1085,"stock":1,"isValid":true} + """ + have: set = set() + for it in existing or []: + if isinstance(it, dict): + try: + have.add((int(it.get("itemKind")), int(it.get("itemId")))) + except (TypeError, ValueError): + continue + + ids: List[int] = [] + for raw in music_ids or []: + try: + mid = int(raw) + except (TypeError, ValueError): + continue + if mid <= 0 or mid in ids: + continue + ids.append(mid) + + items: List[Dict[str, Any]] = [] + notes: List[str] = [] + + def _add(kind: int, mid: int, what: str) -> None: + if (kind, mid) in have: + notes.append("解锁检查:musicId=" + str(mid) + " 的" + what + + "已经解锁(itemKind=" + str(kind) + "),跳过") + return + have.add((kind, mid)) + items.append({"itemKind": kind, "itemId": mid, "stock": 1, "isValid": True}) + notes.append("解锁:musicId=" + str(mid) + " " + what + + "(itemKind=" + str(kind) + ")") + + for mid in ids: + if unlock_base: + _add(ITEM_KIND_MUSIC_UNLOCK, mid, "歌曲本体") + if mid < UNLOCK_MASTER_MIN_MUSIC_ID: + # ★ 标准谱(musicId < 10000)Master/Re:Master 天生解锁,不需要条目 + if master or remaster: + notes.append("解锁检查:musicId=" + str(mid) + + " 是标准谱(< " + str(UNLOCK_MASTER_MIN_MUSIC_ID) + + "),Master/Re:Master 天生解锁,跳过") + continue + if master: + _add(ITEM_KIND_MUSIC_UNLOCK_MASTER, mid, "Master 难度") + if remaster: + _add(ITEM_KIND_MUSIC_UNLOCK_REMASTER, mid, "Re:Master 难度") + + return items, notes + + def build_user_all( snapshot: Optional[Any] = None, play: Optional[PlayData] = None, @@ -1909,6 +2020,9 @@ def build_user_all( playlog_id: int = 0, play_date_time: Optional[int] = None, extra_data: Optional[Any] = None, + unlock_music_ids: Optional[Sequence[int]] = None, + unlock_master: bool = True, + unlock_remaster: bool = True, ) -> Dict[str, Any]: """ 组装 upsertUserAll 的 36 个节点。 @@ -1932,6 +2046,10 @@ def build_user_all( playlog_id: UserLoginApi 的 loginId(用于 userGamePlaylogList) extra_data: ★ 额外 JSON(dict / JSON 字符串 / 文件路径), 自动匹配插入 36 节点,**优先级高于 patch**。见 merge_extra_data。 + unlock_music_ids: ★ 要解锁(解禁)的 musicId 列表。见 build_unlock_items。 + 写进 userItemList:kind5=歌曲本体、kind6=Master、kind7=Re:Master。 + unlock_master: 解锁时是否一并解禁 Master(仅 DX 谱 musicId >= 10000 生效) + unlock_remaster: 解锁时是否一并解禁 Re:Master(同上) 返回: 36 节点的 dict @@ -2039,6 +2157,34 @@ def build_user_all( for note in merge_extra_data(user_all, extra_data): log_info(note) + # ---- ★ 歌曲解锁(解禁)---- + # 放在 extra_data 之后:extra_data 可能整体替换了 userItemList, + # 解锁条目追加到最终列表末尾,位串补 "1"(= 服务端侧新增该 item)。 + # 依据见本文件「歌曲解锁」注释块。 + if unlock_music_ids: + unlock_items, unlock_notes = build_unlock_items( + unlock_music_ids, + existing=user_all.get("userItemList") or [], + master=unlock_master, + remaster=unlock_remaster, + ) + for note in unlock_notes: + log_info(note) + if unlock_items: + old_items = list(user_all.get("userItemList") or []) + old_bits = user_all.get("isNewItemList") + if not isinstance(old_bits, str): + old_bits = "" + if len(old_bits) != len(old_items): + # 先对齐到旧列表长度,避免新条目被 sync_bits_to_arrays 补成 "0" + old_bits = (old_bits + "0" * len(old_items))[:len(old_items)] + user_all["userItemList"] = old_items + unlock_items + user_all["isNewItemList"] = old_bits + "1" * len(unlock_items) + log_info("★ 本次解锁共新增 " + str(len(unlock_items)) + + " 个 userItem 条目(位串补 " + "1" * len(unlock_items) + ")") + else: + log_info("解锁检查:指定的歌曲/难度在服务器上都已经解锁,无需改动") + # ---- 清理内部字段 ---- for key in list(user_all.keys()): if key.startswith("_"): @@ -2350,16 +2496,16 @@ def _resolve_api_func(name: str, fallback: Any = None) -> Any: def _lazy(name: str) -> Any: """按名字延迟取 api 子模块里的原始函数(_resolve_api_func 的兜底)。""" if name == "GetNeedUserData": - from .get_need_user_data import GetNeedUserData + from .GetNeedUserData import GetNeedUserData return GetNeedUserData if name == "GetUserNewItemList": - from .get_user_new_item import GetUserNewItemList + from .GetUserNewItem import GetUserNewItemList return GetUserNewItemList if name == "GetUserData": - from .get_user_data import GetUserData + from .GetUserData import GetUserData return GetUserData if name == "GetUserMusicDetailAll": - from .get_user_music import GetUserMusicDetailAll + from .GetUserMusic import GetUserMusicDetailAll return GetUserMusicDetailAll raise PatchError("未知的内部 api:" + str(name)) @@ -2478,6 +2624,9 @@ def UpsertUserAll( auto_characters: bool = True, play: Optional[PlayData] = None, extra_data: Optional[Any] = None, + unlock_music_ids: Optional[Sequence[int]] = None, + unlock_master: bool = True, + unlock_remaster: bool = True, patch: Optional[Dict[str, Any]] = None, user_playlog_list: Optional[List[Any]] = None, pre_new_item_list: bool = True, @@ -2533,6 +2682,14 @@ def UpsertUserAll( "isNewKaleidxScopeList": "1"} 优先级最高(覆盖快照演算出的同名字段)。 没给位串时会按数组长度补 "0" 并给出提示。 + unlock_music_ids: ★ 要解锁(解禁)的 musicId 列表,例如 [1085, 11414]。 + 写进 userItemList:kind5=歌曲本体、kind6=Master、kind7=Re:Master。 + ★ musicId < 10000(标准谱)的 Master/Re:Master 天生解锁, + 只写 kind5;只有 DX 谱(>= 10000)才写 kind6/7。 + ★ 已存在的条目自动跳过(重复插入服务端会报错)。 + 见 build_unlock_items 上方的源码依据。 + unlock_master: 解锁时是否一并解禁 Master 难度(默认 True) + unlock_remaster: 解锁时是否一并解禁 Re:Master 难度(默认 True) patch: 同 extra_data 的旧接口(只收 dict,不补位串提示)。 user_playlog_list: 本局成绩明细(可选;不传则用 play 自动构造一条) pre_new_item_list: True(默认)= 发包前先调 GetUserNewItemListApi @@ -2624,6 +2781,8 @@ def UpsertUserAll( # ---------- 阶段 5:组装 upsertUserAll(快照基线 + 本局演算 + 差分)---------- user_all = build_user_all( snapshot=snapshot, play=p, patch=patch, extra_data=extra_data, + unlock_music_ids=unlock_music_ids, + unlock_master=unlock_master, unlock_remaster=unlock_remaster, login_date_time=login_date_time, auth_date_time=auth_date_time, place_id=place_id, place_name=place_name, region_id=region_id, region_name=region_name, client_id=client_id, @@ -2709,7 +2868,7 @@ def UpsertUserAll( # ============================================================================= if __name__ == "__main__": - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("upsert_user_all_test") diff --git a/api/upsert_user_chargelog.py b/api/UpsertUserChargelog.py similarity index 88% rename from api/upsert_user_chargelog.py rename to api/UpsertUserChargelog.py index 4d982d5..db1e5ca 100644 --- a/api/upsert_user_chargelog.py +++ b/api/UpsertUserChargelog.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- r""" -upsert_user_chargelog.py —— 购买功能票 / 上传购买记录(UpsertUserChargelogApi) +UpsertUserChargelog.py —— 购买功能票 / 上传购买记录(UpsertUserChargelogApi) ================================================================================ 功能:把「买了一张功能票」这件事上报给服务器,并把该票的持有数 +1。 @@ -140,9 +140,15 @@ PAID_TICKET_IDS = (2, 3, 4, 5, 6) TICKET_VALID_HOUR_OFFSET = -4 TICKET_VALID_DAYS = 90 -from .log_setup import log_debug, log_error, log_info, log_warning -from .maimai_net import MaimaiNetClient, request_dict -from .upsert_user_all import UpsertResponseVO, resolve_api_func +from .ChargeGuard import ( + has_fresh_read, + last_read_age, + note_charge_purchase, + purchased_charge_ids, +) +from .LogSetup import log_debug, log_error, log_info, log_warning +from .MaimaiNet import MaimaiNetClient, request_dict +from .UpsertUserAll import UpsertResponseVO, resolve_api_func class ChargelogConfirmError(RuntimeError): @@ -334,6 +340,8 @@ def UpsertUserChargelog( client_id: str = CLIENT_ID, guard_no_stock: bool = True, guard_purchasable: bool = True, + guard_require_charge_read: bool = True, + guard_single_purchase: bool = True, confirm: Optional[bool] = None, dry_run: bool = False, timeout_ms: Optional[int] = None, @@ -368,6 +376,16 @@ def UpsertUserChargelog( (抛 ChargelogGuardError,未发包)。 理由见 ChargelogGuardError 的 docstring —— 有封号风险。 确认要强行购买才传 False。 + guard_require_charge_read: + ★ 默认 True = **运行本函数之前必须先调用过 GetUserCharge** + (本进程内、10 分钟内),否则直接拒绝购买。 + 目的:防止「没查票就买票」造成同一账号重复购买。 + 显式传了 charge_list 也算「查过了」。 + 实现见 api/ChargeGuard.py。 + guard_single_purchase: + ★ 默认 True = **同一账号在同一进程里只允许买一次票**。 + 真机买完票会立刻被本局用掉(stock 恒为 0), + 连着买两张属于异常行为。实现见 api/ChargeGuard.py。 confirm: 副作用闸门;None 时取 config.UPSERT_CHARGELOG_CONFIRM dry_run: True = 只构造并返回报文,绝不发包 @@ -387,6 +405,34 @@ def UpsertUserChargelog( log_warning("chargeId=" + str(charge_id) + " 不在 PAID_TICKET_IDS=" + str(tuple(PAID_TICKET_IDS)) + " 里 —— 它可能不是可购买的付费票") + # ---------- 0. ★ 前置闸门:必须先跑过 GetUserCharge ---------- + # ★ 为什么放在「取当前状态」之前:下面那一步在 charge_list 为空时会 + # 自己调一次 GetUserCharge —— 闸门若放在后面,它自己就把自己放行了。 + if guard_require_charge_read and charge_list is None: + if not has_fresh_read(user_id): + msg = ("安全检查未通过:本次购买之前**没有调用过 GetUserCharge**。\n" + " 买票前必须先查一次账号当前票券(有没有持票),否则无法排除" + "「重复购买」——服务端看到的是状态矛盾,有**封号风险**。\n" + " 正确顺序:GetUserCharge(user_id) -> UpsertUserChargelog(...)\n" + " 或者直接把查到的票券列表传进来:charge_list=[...]\n" + " 见 api/ChargeGuard.py。") + log_error(msg) + raise ChargelogGuardError(msg) + log_info("前置检查通过:本次购买前已调用 GetUserCharge(" + + str(round(float(last_read_age(user_id) or 0.0), 1)) + " 秒前)") + + # ---------- 0.5 ★ 前置闸门:同一账号本进程内只允许买一次 ---------- + if guard_single_purchase: + done = purchased_charge_ids(user_id) + if done: + msg = ("安全检查未通过:本进程内该账号(user_id=" + str(user_id) + + ")**已经买过功能票**(chargeId=" + str(done) + ")。\n" + " 真机买完票会立刻被这一局用掉,正常状态 stock 恒为 0;" + "连着买两张属于异常行为,有**封号风险**。\n" + " 确需强行购买请传 guard_single_purchase=False。") + log_error(msg) + raise ChargelogGuardError(msg) + # ---------- 1. 取当前状态 ---------- if charge_list is None: log_info("未传 charge_list,自动抓取当前票券 ...") @@ -540,6 +586,8 @@ def UpsertUserChargelog( log_info("购买成功:returnCode=" + str(resp.returnCode) + " apiName=" + resp.apiName) log_info(" 票名 " + name + " 库存 " + str(old_stock) + " -> " + str(stock)) + # ★ 记一笔「这个账号本进程已经买过票」,同进程再买会被前置闸门拦下 + note_charge_purchase(user_id, charge_id) return resp @@ -548,7 +596,7 @@ def UpsertUserChargelog( # ============================================================================= if __name__ == "__main__": - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("chargelog_test") diff --git a/api/user_getter_common.py b/api/UserGetterCommon.py similarity index 97% rename from api/user_getter_common.py rename to api/UserGetterCommon.py index bfc308b..47af408 100644 --- a/api/user_getter_common.py +++ b/api/UserGetterCommon.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -user_getter_common.py —— 各取数脚本的公共底座 +UserGetterCommon.py —— 各取数脚本的公共底座 ================================================================================ 只提供三样东西,取数逻辑都在各自的脚本里: @@ -36,8 +36,8 @@ from typing import Any, Callable, Dict, List, Optional from config import CLIENT_ID, TIMEOUT_MS -from .log_setup import log_debug, log_warning -from .maimai_net import MaimaiNetClient, get_default_client +from .LogSetup import log_debug, log_warning +from .MaimaiNet import MaimaiNetClient, get_default_client # ============================================================================= diff --git a/api/userlogin.py b/api/UserLogin.py similarity index 97% rename from api/userlogin.py rename to api/UserLogin.py index bf03e3a..9e83cb8 100644 --- a/api/userlogin.py +++ b/api/UserLogin.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -userlogin.py —— 用户正式登录(UserLoginApi) +UserLogin.py —— 用户正式登录(UserLoginApi) ================================================================================ 功能:创建登录会话,返回 loginId / loginDateTime / 登录天数统计。 @@ -48,8 +48,8 @@ from typing import Optional from config import CLIENT_ID, PLACE_ID, REGION_ID, TIMEOUT_LONG_MS -from .log_setup import log_debug, log_error, log_info -from .maimai_net import ( +from .LogSetup import log_debug, log_error, log_info +from .MaimaiNet import ( MaimaiNetClient, local_utc_offset_seconds, login_date_time_now, @@ -198,7 +198,7 @@ def UserLogin( if __name__ == "__main__": import sys - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("userlogin_test") diff --git a/api/userlogout.py b/api/UserLogout.py similarity index 97% rename from api/userlogout.py rename to api/UserLogout.py index 77276a6..c0e4504 100644 --- a/api/userlogout.py +++ b/api/UserLogout.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -userlogout.py —— 用户登出(UserLogoutApi) +UserLogout.py —— 用户登出(UserLogoutApi) ================================================================================ 功能:结束登录会话,可选上报本次会话的网络统计(delayLog)。 @@ -39,8 +39,8 @@ from typing import Any, Dict, List, Optional from config import CLIENT_ID, PLACE_ID, REGION_ID, TIMEOUT_MS -from .log_setup import log_debug, log_error, log_info -from .maimai_net import MaimaiNetClient, request_dict +from .LogSetup import log_debug, log_error, log_info +from .MaimaiNet import MaimaiNetClient, request_dict #: DelayLog.request 的定长(DelayLog.cs:17) DELAY_LOG_SLOTS = 26 @@ -228,7 +228,7 @@ def UserLogout( if __name__ == "__main__": import sys - from .log_setup import setup_logging, teardown_logging + from .LogSetup import setup_logging, teardown_logging def _main() -> int: setup_logging("userlogout_test") diff --git a/api/__init__.py b/api/__init__.py index 1a6ab6c..c3b19f3 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -20,59 +20,60 @@ api 包 —— 统一导出 目录结构(一个 api 一个脚本) -------------------------------------------------------------------------------- 基础设施 - log_setup.py 统一日志(INFO / DEBUG 双模式) - maimai_net.py 网络核心(AES / deflate / URL 混淆 / Cookie) - user_getter_common.py 取数脚本公共底座(请求 VO / _get / 翻页) + LogSetup.py 统一日志(INFO / DEBUG 双模式) + MaimaiNet.py 网络核心(AES / deflate / URL 混淆 / Cookie) + UserGetterCommon.py 取数脚本公共底座(请求 VO / _get / 翻页) + ChargeGuard.py ★ 买票前置闸门:买票前必须先跑过 GetUserCharge 会话链路 - chime.py 扫码登录 -> userId + token - get_game_settings.py GetGameSettingApi(游戏设置) - ping.py 心跳探活 - get_user_preview.py GetUserPreviewApi(用户预览) - userlogin.py UserLoginApi(正式登录 -> loginId + loginDateTime) - userlogout.py UserLogoutApi(登出) + Chime.py 扫码登录 -> userId + token + GetGameSettings.py GetGameSettingApi(游戏设置) + Ping.py 心跳探活 + GetUserPreview.py GetUserPreviewApi(用户预览) + UserLogin.py UserLoginApi(正式登录 -> loginId + loginDateTime) + UserLogout.py UserLogoutApi(登出) 上传 / 结算(有副作用的接口) - upsert_user_all.py ★ UpsertUserAllApi(上传成绩) - upsert_user_chargelog.py UpsertUserChargelogApi(购买功能票) - get_need_user_data.py ★ 结算快照编排(统一调用下面的取数脚本), + UpsertUserAll.py ★ UpsertUserAllApi(上传成绩 + 解锁歌曲/解禁难度) + UpsertUserChargelog.py UpsertUserChargelogApi(购买功能票) + GetNeedUserData.py ★ 结算快照编排(统一调用下面的取数脚本), 并把结果落盘到 <工程根>/data/.json ★ 命名约定:服务端 API 名里带 Get 的,**脚本名与函数名一律带 get / Get** (不要模棱两可)。所以下面这些文件全是 get_ 开头。 取数 —— GetUser*(一个接口一个脚本) - get_user_data.py GetUserDataApi - get_user_extend.py GetUserExtendApi - get_user_option.py GetUserOptionApi - get_user_character.py GetUserCharacterApi - get_user_ghost.py GetUserGhostApi - get_user_map.py GetUserMapApi - get_user_login_bonus.py GetUserLoginBonusApi - get_user_rating.py GetUserRatingApi - get_user_item.py GetUserItemApi - get_user_music.py GetUserMusicApi - get_user_course.py GetUserCourseApi - get_user_charge.py GetUserChargeApi - get_user_favorite.py GetUserFavoriteApi - get_user_activity.py GetUserActivityApi - get_user_mission.py GetUserMissionDataApi - get_user_intimate.py GetUserIntimateApi - get_user_shop_stock.py GetUserShopStockApi - get_user_favorite_item.py GetUserFavoriteItemApi - get_user_rival.py GetUserRivalDataApi / GetUserRivalMusicApi - get_user_friend_bonus.py GetUserFriendBonusApi - get_user_kaleidx_scope.py GetUserKaleidxScopeApi / GetGameKaleidxScopeApi - get_user_region.py GetUserRegionApi - get_user_recommend_music.py GetUserRecommendRateMusicApi / GetUserRecommendSelectMusicApi - get_user_new_item.py GetUserNewItemListApi + GetUserData.py GetUserDataApi + GetUserExtend.py GetUserExtendApi + GetUserOption.py GetUserOptionApi + GetUserCharacter.py GetUserCharacterApi + GetUserGhost.py GetUserGhostApi + GetUserMap.py GetUserMapApi + GetUserLoginBonus.py GetUserLoginBonusApi + GetUserRating.py GetUserRatingApi + GetUserItem.py GetUserItemApi + GetUserMusic.py GetUserMusicApi + GetUserCourse.py GetUserCourseApi + GetUserCharge.py GetUserChargeApi + GetUserFavorite.py GetUserFavoriteApi + GetUserActivity.py GetUserActivityApi + GetUserMission.py GetUserMissionDataApi + GetUserIntimate.py GetUserIntimateApi + GetUserShopStock.py GetUserShopStockApi + GetUserFavoriteItem.py GetUserFavoriteItemApi + GetUserRival.py GetUserRivalDataApi / GetUserRivalMusicApi + GetUserFriendBonus.py GetUserFriendBonusApi + GetUserKaleidxScope.py GetUserKaleidxScopeApi / GetGameKaleidxScopeApi + GetUserRegion.py GetUserRegionApi + GetUserRecommendMusic.py GetUserRecommendRateMusicApi / GetUserRecommendSelectMusicApi + GetUserNewItem.py GetUserNewItemListApi 取数 —— GetGame* - get_game_settings.py GetGameSettingApi - get_game_charge.py GetGameChargeApi + GetGameSettings.py GetGameSettingApi + GetGameCharge.py GetGameChargeApi """ -from .log_setup import ( +from .LogSetup import ( # 会话 setup_logging, teardown_logging, @@ -107,8 +108,8 @@ from .log_setup import ( # 1) 网络核心 # --------------------------------------------------------------------------- -from .maimai_net import ( - # 协议常量(原在 config.py,已下沉到 maimai_net.py) +from .MaimaiNet import ( + # 协议常量(原在 config.py,已下沉到 MaimaiNet.py) BASE_URL, AES_KEY, AES_IV, @@ -141,9 +142,9 @@ from .maimai_net import ( # 2) 会话链路 # --------------------------------------------------------------------------- -from .chime import ( +from .Chime import ( ParseQRCode, - # aimedb / QR 常量(原在 config.py,已下沉到 chime.py) + # aimedb / QR 常量(原在 config.py,已下沉到 Chime.py) AIMEDB_HOST, AIMEDB_PORT, AIMEDB_PATH, @@ -153,7 +154,7 @@ from .chime import ( QR_USER_AGENT, ) -from .get_game_settings import ( +from .GetGameSettings import ( GetGameSettings, GameSetting, GameSettingRequestVO, @@ -162,21 +163,21 @@ from .get_game_settings import ( is_ping_disabled, ) -from .ping import Ping +from .Ping import Ping -from .get_user_preview import ( +from .GetUserPreview import ( GetUserPreview, UserPreviewRequestVO, UserPreviewResponseVO, ) -from .userlogin import ( +from .UserLogin import ( UserLogin, UserLoginRequestVO, UserLoginResponseVO, ) -from .userlogout import ( +from .UserLogout import ( UserLogout, LogoutType, DelayLog, @@ -193,7 +194,7 @@ from .userlogout import ( # 3) 上传成绩 # --------------------------------------------------------------------------- -from .upsert_user_all import ( +from .UpsertUserAll import ( UpsertUserAll, PlayData, build_play_from_config, @@ -236,6 +237,13 @@ from .upsert_user_all import ( load_extra_data, merge_extra_data, verify_upsert_landing, + # ★ 歌曲解锁(解禁):写进 userItemList 的 itemKind 5/6/7 + build_unlock_items, + ITEM_KIND_MUSIC_UNLOCK, + ITEM_KIND_MUSIC_UNLOCK_MASTER, + ITEM_KIND_MUSIC_UNLOCK_REMASTER, + ITEM_KIND_MUSIC_UNLOCK_STRONG, + UNLOCK_MASTER_MIN_MUSIC_ID, default_user_weekly_data, default_user_2p_playlog, calc_play_special, @@ -255,7 +263,7 @@ from .upsert_user_all import ( USER_MISSION_DROP_KEYS, ) -from .get_need_user_data import ( +from .GetNeedUserData import ( GetNeedUserData, save_snapshot, load_snapshot, @@ -270,8 +278,24 @@ from .get_need_user_data import ( list_saved_user_ids, ) -from .upsert_user_chargelog import ( - # 票券主数据(原在 config.py,已下沉到 upsert_user_chargelog.py) +# --------------------------------------------------------------------------- +# ★ 买票前置闸门:GetUserCharge 必须先跑过(见 api/ChargeGuard.py) +# --------------------------------------------------------------------------- + +from .ChargeGuard import ( + CHARGE_READ_FRESH_SEC, + has_fresh_read, + held_charges, + last_charge_list, + last_read_age, + note_charge_purchase, + note_user_charge_read, + purchased_charge_ids, + reset as reset_charge_guard, +) + +from .UpsertUserChargelog import ( + # 票券主数据(原在 config.py,已下沉到 UpsertUserChargelog.py) TICKET_CREDIT_NUM, TICKET_NAMES, PAID_TICKET_IDS, @@ -294,7 +318,7 @@ from .upsert_user_chargelog import ( # 4) 取数公共底座 # --------------------------------------------------------------------------- -from .user_getter_common import ( +from .UserGetterCommon import ( EmptyRequestVO as GetterEmptyRequestVO, UserIdRequestVO as GetterUserIdRequestVO, UserIdPageRequestVO, @@ -318,37 +342,37 @@ from .user_getter_common import ( # 5) 取数脚本(一个接口一个脚本) # --------------------------------------------------------------------------- -from .get_user_data import GetUserData -from .get_user_extend import GetUserExtend -from .get_user_option import GetUserOption -from .get_user_character import GetUserCharacter -from .get_user_ghost import GetUserGhost -from .get_user_map import GetUserMap, GetUserMapAll -from .get_user_login_bonus import GetUserLoginBonus, GetUserLoginBonusAll -from .get_user_rating import GetUserRating -from .get_user_item import GetUserItem, GetUserItemAll -from .get_user_music import GetUserMusicDetail, GetUserMusicDetailAll -from .get_user_course import GetUserCourse, GetUserCourseAll -from .get_user_charge import GetUserCharge -from .get_user_favorite import GetUserFavorite, GetUserFavoriteAll -from .get_user_activity import GetUserActivity -from .get_user_mission import GetUserMissionData -from .get_user_intimate import GetUserIntimate -from .get_user_shop_stock import GetUserShopStock -from .get_user_favorite_item import ( +from .GetUserData import GetUserData +from .GetUserExtend import GetUserExtend +from .GetUserOption import GetUserOption +from .GetUserCharacter import GetUserCharacter +from .GetUserGhost import GetUserGhost +from .GetUserMap import GetUserMap, GetUserMapAll +from .GetUserLoginBonus import GetUserLoginBonus, GetUserLoginBonusAll +from .GetUserRating import GetUserRating +from .GetUserItem import GetUserItem, GetUserItemAll +from .GetUserMusic import GetUserMusicDetail, GetUserMusicDetailAll +from .GetUserCourse import GetUserCourse, GetUserCourseAll +from .GetUserCharge import GetUserCharge +from .GetUserFavorite import GetUserFavorite, GetUserFavoriteAll +from .GetUserActivity import GetUserActivity +from .GetUserMission import GetUserMissionData +from .GetUserIntimate import GetUserIntimate +from .GetUserShopStock import GetUserShopStock +from .GetUserFavoriteItem import ( GetUserFavoriteItem, GetUserFavoriteItemAll, FAVORITE_ITEM_KIND_MUSIC, FAVORITE_ITEM_KIND_RIVAL, ) -from .get_user_rival import GetUserRivalData, GetUserRivalMusic, GetUserRivalMusicAll -from .get_user_friend_bonus import GetUserFriendBonus, extract_gift_points -from .get_user_kaleidx_scope import GetUserKaleidxScope, GetGameKaleidxScope -from .get_user_region import GetUserRegion -from .get_user_recommend_music import GetUserRecommendRateMusic, GetUserRecommendSelectMusic -from .get_user_new_item import GetUserNewItemList, UserNewItemListRequestVO +from .GetUserRival import GetUserRivalData, GetUserRivalMusic, GetUserRivalMusicAll +from .GetUserFriendBonus import GetUserFriendBonus, extract_gift_points +from .GetUserKaleidxScope import GetUserKaleidxScope, GetGameKaleidxScope +from .GetUserRegion import GetUserRegion +from .GetUserRecommendMusic import GetUserRecommendRateMusic, GetUserRecommendSelectMusic +from .GetUserNewItem import GetUserNewItemList, UserNewItemListRequestVO -from .get_game_charge import GetGameCharge, GameChargeRequestVO +from .GetGameCharge import GetGameCharge, GameChargeRequestVO # --------------------------------------------------------------------------- # 6) 需要日志跟踪的 api 函数(新增 api 时把函数名加到这里) @@ -369,6 +393,7 @@ _API_FUNCS = ( "merge_extra_data", "verify_upsert_landing", "build_user_all", + "build_unlock_items", # --- 购买功能票 --- "UpsertUserChargelog", "ticket_name", @@ -471,8 +496,16 @@ __all__ = [ # ---- 上传成绩 ---- "UpsertUserAll", "PlayData", "build_play_from_config", "derive_play_characters", "load_extra_data", "merge_extra_data", "verify_upsert_landing", + # ---- 歌曲解锁(解禁)---- + "build_unlock_items", "UNLOCK_MASTER_MIN_MUSIC_ID", + "ITEM_KIND_MUSIC_UNLOCK", "ITEM_KIND_MUSIC_UNLOCK_MASTER", + "ITEM_KIND_MUSIC_UNLOCK_REMASTER", "ITEM_KIND_MUSIC_UNLOCK_STRONG", # ---- 购买功能票 ---- "UpsertUserChargelog", "ChargelogConfirmError", "ChargelogGuardError", + # ---- 买票前置闸门(GetUserCharge 必须先跑过)---- + "CHARGE_READ_FRESH_SEC", "has_fresh_read", "held_charges", "last_charge_list", + "last_read_age", "note_charge_purchase", "note_user_charge_read", + "purchased_charge_ids", "reset_charge_guard", "UserChargeVO", "UserChargelogVO", "UserChargelogRequestVO", "ticket_name", "ticket_price", "calc_valid_date", "parse_wall_time", "now_cst", "UserAllRequestVO", "UpsertResponseVO", diff --git a/api/get_user_charge.py b/api/get_user_charge.py deleted file mode 100644 index 7f165aa..0000000 --- a/api/get_user_charge.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -""" -get_user_charge.py —— 取用户票券(GetUserChargeApi) -================================================================================ - -取玩家的票券持有情况(真机 3 条)。 - -对应接口:GetUserChargeApi -请求体 :UserIdRequestVO -响应 :{userId, length, userChargeList:[{chargeId,stock,purchaseDate,validDate,extNum1}]} -依据 :source/Assembly-CSharp/Net.VO.Mai2/UserChargeRequestVO.cs - -★ 回传 Upsert 时要丢掉 extNum1(真机 Upsert 报文里没有这个字段)。 - -调用示例: - from api import GetUserCharge -""" - -from __future__ import annotations - -from typing import Any, Dict, Optional - -from config import CLIENT_ID, TIMEOUT_MS - -from .log_setup import log_info -from .maimai_net import MaimaiNetClient -from .user_getter_common import _get, UserIdRequestVO - - -def GetUserCharge( - user_id: int, - *, - client_id: str = CLIENT_ID, - timeout_ms: Optional[int] = None, - client: Optional[MaimaiNetClient] = None, -) -> Dict[str, Any]: - """ - 取用户票券(对应 GetUserChargeApi)。 - - 返回: - 原始响应 dict,含 userChargeList - """ - log_info("取用户票券:user_id=" + str(user_id)) - return _get("GetUserChargeApi", UserIdRequestVO(userId=user_id), user_id, - client_id=client_id, timeout_ms=timeout_ms, client=client) diff --git a/buy_ticket.py b/buy_ticket.py index eb7ba02..8d2266f 100644 --- a/buy_ticket.py +++ b/buy_ticket.py @@ -8,11 +8,14 @@ buy_ticket.py —— 主脚本范例:扫码登录 → 购买功能票 → 登 ParseQRCode -> GetUserPreview -> UserLogin -> UpsertUserChargelog -> UserLogout +★ 本脚本判断「能买什么票」**只看 GetUserChargeApi**(账号自己的票券表), + 不再调 GetGameChargeApi(那是机台本地的上架清单,跟账号状态无关)。 + UpsertUserChargelog 内部会自动做这些事(所以主脚本不用管): 1. 调 GetUserChargeApi 取当前票券列表(算「购买后库存」) 2. 调 GetUserDataApi 取 playCount / playerRating 3. 按 TicketManager.cs:564 算 validDate(现在 -4h +90d,取日期补 04:00:00) - 4. 查 TICKET_CREDIT_NUM(已下沉到 api/upsert_user_chargelog.py)得到 + 4. 查 TICKET_CREDIT_NUM(已下沉到 api/UpsertUserChargelog.py)得到 userChargelog.price(= ticket.creditNum) 5. 闸门 → 发包 @@ -20,7 +23,7 @@ UpsertUserChargelog 内部会自动做这些事(所以主脚本不用管): 用法 -------------------------------------------------------------------------------- python buy_ticket.py <二维码> # 预检:只看报文,不发包 - python buy_ticket.py <二维码> --list # 只列当前票券和可买的票 + python buy_ticket.py <二维码> --list # 登录后只列当前票券,不购买 python buy_ticket.py <二维码> --charge-id 3 # 指定票(默认 5 = 5倍券) python buy_ticket.py <二维码> --charge-id 2 --send # ★ 真实购买 python buy_ticket.py <二维码> --charge-id 2 --send --debug @@ -60,7 +63,6 @@ from api import ( ChargelogConfirmError, ChargelogGuardError, GetUserCharge, - GetGameCharge, ticket_name, GetNeedUserData, summarize_snapshot, @@ -99,7 +101,7 @@ def show_charges(user_id, label): def parse_args(argv): opts = {"qr": "", "charge_id": 5, "send": False, "list": False, - "debug": False, "skip_entry": False, "wait_before": 30.0} + "debug": False, "skip_entry": False, "wait_before": 15.0} i = 0 while i < len(argv): a = argv[i] @@ -136,27 +138,6 @@ def main() -> int: setup_logging("buy_ticket") session = {"user_id": 0, "token": "", "login_dt": 0, "logged_in": False} try: - # ---- ★★ 最早的前置检查:这张票当前**上架了吗** ---- - # ★ GetGameChargeApi 不需要登录(user_id=0),所以放在**扫码之前**, - # 不满足就直接退出 —— 不浪费二维码,也不产生任何登录会话。 - # 依据 TicketManager.cs:137-150:真机也只买 GetGameChargeApi 列出来的票。 - shop = GetGameCharge().get("gameChargeList") or [] - avail = [int(g.get("chargeId")) for g in shop - if isinstance(g, dict) and g.get("chargeId") is not None] - log_info("当前可购买 chargeId:" + str(avail)) - for g in shop: - log_info(" chargeId=" + str(g.get("chargeId")) - + " " + ticket_name(g.get("chargeId")) - + " money price=" + str(g.get("price")) - + " 有效期 " + str(g.get("startDate")) + " ~ " + str(g.get("endDate"))) - if opts["charge_id"] not in avail: - log_error("chargeId=" + str(opts["charge_id"]) - + "(" + ticket_name(opts["charge_id"]) - + ")**不在当前可购买清单里** —— 连登录都不做,直接退出。") - log_error(" 原因:服务端对未上架的票会 returnCode=0(实测过)。") - log_error(" 想买请用清单里的 chargeId:" + str(avail)) - return 4 - # ---- ★ 心跳:决定后续所有请求的 number 头 ---- # 真机序列里 Ping 在 [11],紧接着才是 GetUserPreviewApi [12]。 # 不跑的话 number 恒为 "0"(真机是 75)。 @@ -187,6 +168,10 @@ def main() -> int: # ---- ★★ 跑前:必须确认账号当前**没有**持有功能票 ---- held_before = show_charges(user_id, "购买前") + if opts["list"]: + log_info("[--list] 只查询票券状态,不购买。") + return 0 + aborted = False if held_before: log_error("账号当前已持有功能票,**拒绝购买**(重复购买有封号风险):") @@ -199,6 +184,7 @@ def main() -> int: aborted = True else: # ---- ★ 买票前等待(贴近真机节奏:真机 login 13:19:45 -> 买票 13:20:10,间隔 25s)---- + # 默认 15 秒(与 UpsertUserAll 的发包冷却一致) if opts["wait_before"] > 0: log_info("买票前等待 " + str(opts["wait_before"]) + " 秒 ...") time.sleep(opts["wait_before"]) @@ -211,6 +197,7 @@ def main() -> int: dry_run=not opts["send"], confirm=opts["send"], guard_no_stock=True, + guard_purchasable=False, # ★ 不再按 GetGameCharge 上架清单拦截 place_id=PLACE_ID, region_id=REGION_ID, ) diff --git a/config.py.example b/config.py.example index 10abdb8..aed46c8 100644 --- a/config.py.example +++ b/config.py.example @@ -31,7 +31,7 @@ config.py —— 舞萌DX 纯网络脚本工程 · 运行时可配置项 # 一、网络与加密常量 # ============================================================================= -# ★ BASE_URL / AES_KEY / AES_IV / OBFUSCATE_PARAM 已下沉到 api/maimai_net.py +# ★ BASE_URL / AES_KEY / AES_IV / OBFUSCATE_PARAM 已下沉到 api/MaimaiNet.py # --- 报文版本标识 --- # 依据:source/Assembly-CSharp/Net/NetHttpClient.cs:69 DefaultHttpHeaderEncryption = "1.55" # (请求头 Mai-Encoding 的值;1.56 ROM 实测仍发 1.55) @@ -109,7 +109,7 @@ AUTHV1_WRITE_CONFIG = False # 依据:source/ChimeLib.NET/ChimeLib/NET/COMM/CCommGetUserData.cs # + docs/舞萌DX_扫码登录协议技术规范.md -# ★ aimedb / QR 常量已下沉到 api/chime.py +# ★ aimedb / QR 常量已下沉到 api/Chime.py # ============================================================================= # 三之二、★ 功能票(Ticket)主数据 # ============================================================================= @@ -128,7 +128,7 @@ AUTHV1_WRITE_CONFIG = False # 1=Paid(付费,可在机台买) 2=Event 3=Free 4=Link 5=ShopWeekly 6=ShopChara # ★ TICKET_CREDIT_NUM / TICKET_NAMES / PAID_TICKET_IDS / # TICKET_VALID_HOUR_OFFSET / TICKET_VALID_DAYS -# 已下沉到 api/upsert_user_chargelog.py +# 已下沉到 api/UpsertUserChargelog.py #: 买票闸门(和 UpsertUserAll 一样,默认不放行) UPSERT_CHARGELOG_CONFIRM = False @@ -227,7 +227,7 @@ PLAY_IS_FREEDOM_MODE = False # 所以既推不出来也不会被服务端纠正 —— 填错只是个统计数字不对。 # 取值 = 该机台当天/本轮的累计游玩局数(每打一局 +1)。 # 真机实测:19:21 那一局 = 9,22:31 那一局 = 10。 -# ★ PLAY_LOCAL_PLAY_COUNT 恒为 2(已下沉到 api/upsert_user_all.py) +# ★ PLAY_LOCAL_PLAY_COUNT 恒为 2(已下沉到 api/UpsertUserAll.py) # --- ★ playSpecial 里的 "CalcSpecialNum"(机台硬件标志位)--- # # 依据:source/Assembly-CSharp/Manager/GameManager.cs:332-378 @@ -256,7 +256,7 @@ PLAY_IS_FREEDOM_MODE = False # 余数恰好 1024,与抓到的 CalcSpecialNum 完全吻合。 # # 改成 0 不会报错,但 playSpecial 的位模式就不是真机那种了。 -# ★ PLAY_SPECIAL_NUM = 1024 已下沉到 api/upsert_user_all.py +# ★ PLAY_SPECIAL_NUM = 1024 已下沉到 api/UpsertUserAll.py # --- 用户总游玩次数增量 --- # # ★ 默认 0 = **userData.playCount / currentPlayCount 都不变**(本局不计入总次数)。 diff --git a/icon/Astral.png b/icon/Astral.png new file mode 100644 index 0000000000000000000000000000000000000000..59a811b2bc44febb68e2af2e8f1a6740c89141e4 GIT binary patch literal 526810 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%0Dn@oH(8Xjr@jpI3Mge-`fwniZ| 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

  • 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,trOa6e+>*0)!2FArR&(b-^(OB~I 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 Gccd;KdzKwUY72= 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 b(*^E(_iy!eZF(Wc#h+;9hVNfo6+7@hWf@nD literal 0 HcmV?d00001 diff --git a/selftest.py b/selftest.py index 577861a..09dff85 100644 --- a/selftest.py +++ b/selftest.py @@ -27,6 +27,8 @@ import sys sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) import api +import unlockmusic +import upsert from api import ( BITS_TO_ARRAY, JUDGE_BOXES, @@ -38,6 +40,7 @@ from api import ( build_delta, build_favorite_delta, build_play_from_config, + build_unlock_items, build_user_all, build_user_game_playlog, build_user_playlog, @@ -49,6 +52,13 @@ from api import ( UpsertUserChargelog, ChargelogConfirmError, ChargelogGuardError, + has_fresh_read, + held_charges, + last_read_age, + note_charge_purchase, + note_user_charge_read, + purchased_charge_ids, + reset_charge_guard, ticket_name, ticket_price, calc_valid_date, @@ -70,13 +80,13 @@ from api import ( login_date_time_now, local_utc_offset_seconds, ) -from api.upsert_user_all import ( +from api.UpsertUserAll import ( ConfirmRequiredError, PatchError, UpsertUserAll, UserAllRequestVO, ) -from api.upsert_user_chargelog import _now_string +from api.UpsertUserChargelog import _now_string # ★ 这些常量原先在 config.py,2026-10-06 已下沉到各 api 模块 —— 从 api 取。 from api import ( @@ -351,7 +361,7 @@ fav_server_raw.append({"itemKind": None, "itemIdList": []}) _, fav_flags_raw = build_favorite_delta(fav_local, fav_server_raw) check("itemKind=null 的那条 -> 1(复刻真机 22212)", fav_flags_raw == "22212", fav_flags_raw) -# 归一化兜底:基线被 get_user_favorite.py 补齐 itemKind 后,服务器列表里 5 个 kind 齐全, +# 归一化兜底:基线被 GetUserFavorite.py 补齐 itemKind 后,服务器列表里 5 个 kind 齐全, # 单看列表已看不出 itemKind=10 原本是 null,必须靠 assume_missing 显式声明。 fav_server_norm = [{"itemKind": k, "itemIdList": []} for k in (3, 1, 2, 10, 11)] _, fav_flags_norm = build_favorite_delta(fav_local, fav_server_norm, (10,)) @@ -1102,6 +1112,149 @@ except ChargelogConfirmError: check("买票未开闸门抛 ChargelogConfirmError(未发包)", True) +# ============================================================================= +# 13.7 歌曲解锁(解禁) +# ============================================================================= + +section("13.7 歌曲解锁(解禁)") + +# 依据 source/Assembly-CSharp/Net.VO.Mai2/VOExtensions.cs:981-1008 +# kind5 = MusicUnlockList(歌曲本体) +# kind6 = MusicUnlockMasterList(Master) +# kind7 = MusicUnlockReMasterList(Re:Master) +# 依据 source/Assembly-CSharp/Manager/NotesListManager.cs:415/455 +# `if (id < 10000) return true;` -> 标准谱 Master/Re:Master 天生解锁 + +_unl_std, _unl_std_notes = build_unlock_items([1085]) +check("标准谱(<10000)只写 kind5,不写 kind6/7", + [it["itemKind"] for it in _unl_std] == [5], str([it["itemKind"] for it in _unl_std])) +check("解锁条目形态 = {itemKind,itemId,stock,isValid}", + _unl_std[0] == {"itemKind": 5, "itemId": 1085, "stock": 1, "isValid": True}, + str(_unl_std[0])) +check("标准谱给出「天生解锁」说明", + any("天生解锁" in n for n in _unl_std_notes), str(_unl_std_notes)) + +_unl_dx, _ = build_unlock_items([11414]) +check("DX 谱写 kind5 + kind6 + kind7", + [it["itemKind"] for it in _unl_dx] == [5, 6, 7], str([it["itemKind"] for it in _unl_dx])) + +_unl_m, _ = build_unlock_items([11414], master=False) +check("master=False 不写 kind6", [it["itemKind"] for it in _unl_m] == [5, 7], + str([it["itemKind"] for it in _unl_m])) +_unl_r, _ = build_unlock_items([11414], remaster=False) +check("remaster=False 不写 kind7", [it["itemKind"] for it in _unl_r] == [5, 6], + str([it["itemKind"] for it in _unl_r])) + +_unl_dup, _ = build_unlock_items([11414], existing=[{"itemKind": 5, "itemId": 11414}]) +check("已存在的条目自动跳过(不重复插入)", + [it["itemKind"] for it in _unl_dup] == [6, 7], str([it["itemKind"] for it in _unl_dup])) +_unl_all, _ = build_unlock_items( + [11414], existing=[{"itemKind": k, "itemId": 11414} for k in (5, 6, 7)]) +check("全都有时返回空列表", _unl_all == [], str(_unl_all)) +check("musicId 重复只写一次", len(build_unlock_items([1085, 1085])[0]) == 1) + +_ua_unl = build_user_all(baseline, login_date_time=1791159576, playlog_id=1, + unlock_music_ids=[11414]) +check("build_user_all 把解锁条目追加进 userItemList", + [it["itemKind"] for it in _ua_unl["userItemList"]] == [5, 6, 7], + str(_ua_unl["userItemList"])) +check("解锁条目的位串全是 1(新增)", _ua_unl["isNewItemList"] == "111", + _ua_unl["isNewItemList"]) +check("位串长度与 userItemList 条数一致", + len(_ua_unl["isNewItemList"]) == len(_ua_unl["userItemList"])) +check("不给 unlock_music_ids 时不产生 userItem 条目", + build_user_all(baseline, login_date_time=1791159576, + playlog_id=1)["userItemList"] == []) + +_ua_unl3 = build_user_all( + baseline, login_date_time=1791159576, playlog_id=1, + extra_data={"userItemList": [{"itemKind": 5, "itemId": 1085, + "stock": 1, "isValid": True}], + "isNewItemList": "1"}, + unlock_music_ids=[11414]) +check("extra_data 给了 userItemList 时解锁条目追加在其后", + [it["itemId"] for it in _ua_unl3["userItemList"]] == [1085, 11414, 11414, 11414], + str([it["itemId"] for it in _ua_unl3["userItemList"]])) +check("已有条目的位串保留、新条目补 1", _ua_unl3["isNewItemList"] == "1111", + _ua_unl3["isNewItemList"]) + + +# ============================================================================= +# 13.8 unlockmusic.py 的参数解析(主脚本复用 upsert.run) +# ============================================================================= + +section("13.8 unlockmusic.py 参数解析") + +_uopts = unlockmusic.parse_args(["QRCODE", "--music", "11414", "--send"]) +check("--music 解析成 int 列表", _uopts["unlock_music"] == [11414], + str(_uopts["unlock_music"])) +check("二维码取第一个非 -- 参数", _uopts["qr"] == "QRCODE", _uopts["qr"]) +check("--send 置位", _uopts["send"] is True) + +_uopts = unlockmusic.parse_args(["QR", "--music", "1085,11414", "--music", "7"]) +check("逗号(含中文逗号)+ 可重复都认", + _uopts["unlock_music"] == [1085, 11414, 7], str(_uopts["unlock_music"])) + +_uopts = unlockmusic.parse_args(["QR", "--unlock-music", "11414", + "--no-unlock-master", "--no-unlock-remaster"]) +check("--unlock-music 是 --music 的别名", _uopts["unlock_music"] == [11414]) +check("两个难度开关默认 True、可关掉", + _uopts["unlock_master"] is False and _uopts["unlock_remaster"] is False) + +_uopts = unlockmusic.parse_args(["QR", "--music", "abc"]) +check("非法 musicId 记进 unlock_bad", _uopts.get("unlock_bad") == "abc") + +check("upsert.parse_args 不再认识 --unlock-music", + "unlock_music" not in upsert.parse_args(["QR", "--unlock-music", "11414"])) +check("upsert.run 存在且可被别的脚本复用", callable(getattr(upsert, "run", None))) + + +# ============================================================================= +# 13.9 买票前置闸门(必须先跑 GetUserCharge) +# ============================================================================= + +section("13.9 买票前置闸门(必须先跑 GetUserCharge)") + +reset_charge_guard() +check("没查过票时 has_fresh_read 为 False", has_fresh_read(55555) is False) +check("没查过票时 last_read_age 为 None", last_read_age(55555) is None) + +note_user_charge_read(55555, [{"chargeId": 2, "stock": 0}, + {"chargeId": 5, "stock": 1}]) +check("查过之后 has_fresh_read 为 True", has_fresh_read(55555) is True) +check("held_charges 只挑 stock>0 的", + [c["chargeId"] for c in held_charges(55555)] == [5], str(held_charges(55555))) + +try: + UpsertUserChargelog(66666, 2, 1791159576, user_data={}, + guard_purchasable=False, dry_run=True) + check("没查票就买票应抛 ChargelogGuardError", False, "未抛异常") +except ChargelogGuardError as exc: + check("没查票就买票抛 ChargelogGuardError(未发包)", True) + check("报错信息里点明要先调 GetUserCharge", + "GetUserCharge" in str(exc), str(exc)[:120]) + +check("显式传 charge_list 视为已查票(可通过)", + UpsertUserChargelog(66666, 2, 1791159576, charge_list=[], user_data={}, + guard_purchasable=False, + dry_run=True).userCharge.chargeId == 2) + +note_charge_purchase(77777, 2) +check("purchased_charge_ids 记录已买", purchased_charge_ids(77777) == [2]) +note_user_charge_read(77777, []) +try: + UpsertUserChargelog(77777, 2, 1791159576, charge_list=[], user_data={}, + guard_purchasable=False, dry_run=True) + check("同进程重复买票应被拦下", False, "未抛异常") +except ChargelogGuardError as exc: + check("同进程重复买票抛 ChargelogGuardError", True) + check("报错信息点明已经买过", "已经买过" in str(exc), str(exc)[:120]) + +reset_charge_guard() +check("reset 之后记忆清空", + has_fresh_read(55555) is False and purchased_charge_ids(77777) == []) + + # ============================================================================= # 14. 副作用闸门 # ============================================================================= diff --git a/unlockmusic.py b/unlockmusic.py new file mode 100644 index 0000000..3a758f3 --- /dev/null +++ b/unlockmusic.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +unlockmusic.py —— 主脚本:扫码登录 → 解锁(解禁)歌曲 → 登出 +================================================================================ + +**它没有自己的协议实现** —— 整个流程直接复用 `upsert.py` 的 `run()`: +扫码 → 预览 → 登录 → UpsertUserAll → 落库回查 → 登出,一模一样。 +唯一多出来的东西是"要解锁哪些歌"这个入参。 + +-------------------------------------------------------------------------------- +为什么解锁不用单独的接口 +-------------------------------------------------------------------------------- +游戏里解锁不是一次独立的网络请求,而是**往 userItemList 里补几条 UserItem**: + + itemKind = 5 歌曲本体解锁(MusicUnlockList) + itemKind = 6 Master 难度解锁(MusicUnlockMasterList) + itemKind = 7 Re:Master 难度解锁(MusicUnlockReMasterList) + +依据 source/Assembly-CSharp/Net.VO.Mai2/VOExtensions.cs:981-1008 +(UserData.cs:132-138 那四个解锁列表不是独立节点,是并进 userItemList 的)。 + +条目长这样: + + {"itemKind": 5, "itemId": 11414, "stock": 1, "isValid": true} + +★ 标准谱(musicId < 10000)的 Master / Re:Master **天生解锁**,不会写 kind6/7 + (source/Assembly-CSharp/Manager/NotesListManager.cs:415/455 开头就是 + `if (id < 10000) return true;`);只有 DX 谱(>= 10000)才需要额外解禁。 +★ 服务器上已经有的条目**自动跳过** —— 重复插入会让服务端直接 HTTP 500。 +★ Re:Master 还受活动开关约束(IsUnlockReMaster 里的 IsOpenEvent), + 那是机台侧开关,脚本改不了;写了也可能进游戏仍是灰的。 +★ 本功能**没有真机抓包可对照**(机台侧的解锁不上报),是按源码实现的。 + +-------------------------------------------------------------------------------- +用法 +-------------------------------------------------------------------------------- + python unlockmusic.py <二维码> --music 11414 # 预检,不发包 + python unlockmusic.py <二维码> --music 11414 --send # ★ 真实解锁 + python unlockmusic.py <二维码> --music 1085,11414 --send # 多首,逗号分隔 + python unlockmusic.py <二维码> --music 11414 --send --no-unlock-remaster + + # 只要歌曲本体,不解禁任何难度 + python unlockmusic.py <二维码> --music 11414 --send --no-unlock-master --no-unlock-remaster + + # 和其它主脚本一样的通用开关 + python unlockmusic.py <二维码> --music 11414 --send --debug + python unlockmusic.py <二维码> --music 11414 --send --cooldown 0 + python unlockmusic.py <二维码> --music 11414 --send --no-verify + +| 参数 | 说明 | +|---|---| +| `--music ID[,ID...]` | 要解锁的 musicId,可重复、可逗号分隔(`--unlock-music` 也认) | +| `--send` | 真正发包(不加就是预检,零副作用) | +| `--no-unlock-master` | 不解禁 Master | +| `--no-unlock-remaster` | 不解禁 Re:Master | +| `--cooldown N` | 发包前冷却秒数,默认取 config 的 15 秒 | +| `--no-verify` | 跳过上传后的落库回查 | +| `--debug` | 本次运行打印完整收发报文 | + +日志同样是 logs/latest.log(覆盖)+ logs/YYYY-MM-DD.log(追加)。 +""" + +from __future__ import annotations + +import sys + +import upsert +from api import log_error, setup_logging, teardown_logging + + +def parse_args(argv): + """极简命令行解析:第一个非 -- 开头的参数是二维码。""" + opts = {"qr": "", "send": False, "debug": False, "no_verify": False, + "cooldown": None, "extra_data": [], + "unlock_music": [], "unlock_master": True, "unlock_remaster": True} + i = 0 + while i < len(argv): + a = argv[i] + if a == "--send": + opts["send"] = True + elif a == "--debug": + opts["debug"] = True + elif a == "--no-verify": + opts["no_verify"] = True + elif a == "--extra-data" and i + 1 < len(argv): + opts["extra_data"].append(argv[i + 1]) + i += 1 + elif a == "--cooldown" and i + 1 < len(argv): + opts["cooldown"] = float(argv[i + 1]) + i += 1 + elif a in ("--music", "--unlock-music") and i + 1 < len(argv): + # 可重复;也支持逗号分隔(中英文逗号都认) + for part in str(argv[i + 1]).replace(",", ",").split(","): + part = part.strip() + if not part: + continue + try: + opts["unlock_music"].append(int(part)) + except ValueError: + opts["unlock_bad"] = part + i += 1 + elif a == "--no-unlock-master": + opts["unlock_master"] = False + elif a == "--no-unlock-remaster": + opts["unlock_remaster"] = False + elif not a.startswith("--") and not opts["qr"]: + opts["qr"] = a + i += 1 + return opts + + +def main() -> int: + opts = parse_args(sys.argv[1:]) + if not opts["qr"] or not opts["unlock_music"]: + # 没有二维码、或者没有指定要解锁哪首 —— 直接把用法打出来 + print(__doc__) + return 1 + + if opts.get("unlock_bad"): + # 参数本身就不对,连扫码都不用做 + setup_logging("unlockmusic") + log_error("--music 里有非法 musicId:" + str(opts["unlock_bad"])) + teardown_logging() + return 6 + + # ★ 整个流程复用 upsert.run(),这里只多传三个解锁参数 + return upsert.run( + opts, + unlock_music=opts["unlock_music"], + unlock_master=opts["unlock_master"], + unlock_remaster=opts["unlock_remaster"], + log_name="unlockmusic", + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/upsert.py b/upsert.py index 0337631..0afb7d2 100644 --- a/upsert.py +++ b/upsert.py @@ -29,9 +29,12 @@ upsert.py —— 主脚本:扫码登录 → 上传成绩 → 登出 python upsert.py <二维码> # 预检:登录 + 抓快照 + 组包,不发包 python upsert.py <二维码> --send # 真实上传成绩(★ 有副作用,不可撤销) python upsert.py <二维码> --send --debug # 同上,日志里带完整收发报文 - python upsert.py <二维码> --send --cooldown 0 # 跳过发包前的 60 秒冷却 + python upsert.py <二维码> --send --cooldown 0 # 跳过发包前的 15 秒冷却 python upsert.py <二维码> --send --no-verify # 跳过上传后的落库回查 + # ★ 解锁(解禁)歌曲请用另一个主脚本(它复用本脚本的整套流程) + python unlockmusic.py <二维码> --send --music 11414 + # ★ 额外塞节点(--extra-data,可重复,后给的覆盖先给的) python upsert.py <二维码> --send --extra-data extra.json python upsert.py <二维码> --send --extra-data '{"isNewMapList":"1"}' @@ -83,6 +86,17 @@ upsert.py —— 主脚本:扫码登录 → 上传成绩 → 登出 新增条目请显式传 "1","0" 表示存量更新。 ★ JSON 在**扫码之前**就校验,写错了直接退出,不会浪费二维码。 +-------------------------------------------------------------------------------- +★ 这个文件同时是一个可复用的模块 +-------------------------------------------------------------------------------- + `run(opts, ...)` 就是整套流程(扫码 → 预览 → 登录 → UpsertUserAll → 登出), + `main()` 只做参数解析然后调它。所以别的主脚本可以直接: + + import upsert + sys.exit(upsert.run({"qr": qr, "send": True, ...}, log_name="unlockmusic")) + + unlockmusic.py 就是这么写的 —— 它只多了一个"要解锁哪些歌"的入参。 + ── 在代码里直接调 api 的等价写法 ── UpsertUserAll( @@ -146,19 +160,24 @@ def parse_args(argv): return opts -def main() -> int: - opts = parse_args(sys.argv[1:]) - if not opts["qr"]: +def run(opts, *, unlock_music=None, unlock_master=True, unlock_remaster=True, + log_name="upsert") -> int: + """跑完整套流程。upsert.py 自己用,unlockmusic.py 也复用它。 + + opts 里必须有的键:qr / send / debug / no_verify / cooldown / extra_data + unlock_music / unlock_master / unlock_remaster 三个是解锁用的,upsert.py 不传。 + """ + if not opts.get("qr"): print(__doc__) return 1 # --debug 只影响本次运行,不改 config.py - if opts["debug"]: + if opts.get("debug"): import config as _cfg _cfg.LOG_LEVEL = "debug" # 日志会话:开头一句。之后每次 api 调用都会自动记录,主脚本不用再写日志 - setup_logging("upsert") + setup_logging(log_name) # ---- ★ 先解析 --extra-data(放在扫码之前:JSON 写错就别浪费二维码了)---- extra = None @@ -186,6 +205,13 @@ def main() -> int: extra = merged log_info("--extra-data 合计 " + str(len(extra)) + " 个节点:" + ", ".join(extra)) + # ---- 解锁参数校验(同样放在扫码之前)---- + if unlock_music: + log_info("要解锁 " + str(len(unlock_music)) + " 首:" + + ", ".join(str(m) for m in unlock_music) + + "(Master=" + str(unlock_master) + + " / Re:Master=" + str(unlock_remaster) + ")") + # 会话状态:保证异常时也能登出(否则账号会卡在 isLogin=True,下次登录 returnCode=100) session = {"user_id": 0, "token": "", "login_dt": 0, "logged_in": False} try: @@ -210,6 +236,9 @@ def main() -> int: auth_date_time=login.dateTime, token=token, extra_data=extra, + unlock_music_ids=unlock_music or None, + unlock_master=unlock_master, + unlock_remaster=unlock_remaster, dry_run=not opts["send"], confirm=opts["send"], cooldown_sec=opts["cooldown"], @@ -235,5 +264,9 @@ def main() -> int: teardown_logging() +def main() -> int: + return run(parse_args(sys.argv[1:]), log_name="upsert") + + if __name__ == "__main__": sys.exit(main()) diff --git a/use_ticket.py b/use_ticket.py index ab45dad..7ce3795 100644 --- a/use_ticket.py +++ b/use_ticket.py @@ -78,7 +78,7 @@ from api import ( ConfirmRequiredError, ticket_name, Ping, - # ★ 原先在 config.py,已下沉到 api/upsert_user_chargelog.py + # ★ 原先在 config.py,已下沉到 api/UpsertUserChargelog.py TICKET_CREDIT_NUM, ) from config import (