fix: 解歌的 isNewItemList 按主键回读再算,不再一律发 1
排查「发 11820 解歌不显示」时发现两处问题: - applyItemListPatch 的 isNewItemList 一直硬写全 '1'(新增),从没读服务器 已有行。真机 BuildListData 是按 (itemKind, itemId) 比对快照给 0/1 的, 重复解锁一首已存在的歌时服务器按插入冲突丢行,表现就是上传成功但没生效。 这和角色/地图/万花筒三处的处理不一致,现补齐。 - 新增 TitleApiService.getUserItems/getUserItemKeys。GetUserItemApi 是按 itemKind 分页的,首次 nextIndex 要按 itemKind * 1e10 编码 (PacketGetUserItem.cs:19),发 0 只会拿到空页。 - 解锁上传后回读复查,把「服务器没存这行道具」与「存了但曲目池不给进」分开报。 - 待解锁列表含 10000~19999 的 DX 曲时提示:Master/Re:Master 不像老曲那样 白送(IsUnlockMaster 里 id<10000 直接放过),必须显式带 itemKind 6/7。 需要说明:一首歌进不进选曲池由 NotesListManager.cs:70 决定 (IsOpenEvent(eventName) && !IsGameNgMusicId),事件窗口来自 GetGameEventApi、 曲目本体来自机台 Music.xml。11820 若卡在这一层,任何用户包都改不动, 复查那一步就是为了把这种情况和包的问题区分开。 README 补 isNew*List 语义、曲目可见性链路与 DX 段解锁规则三条说明。 删除因此不再被引用的 unlockMusicSuccess。
This commit is contained in:
1 parent
6438fb2171
commit
80df51c239
6 files changed
+213
-4
No files matched your search
+16
-1
@@ -219,7 +219,22 @@ class AppStrings {
|
||||
static const unlockRunning = '执行中...';
|
||||
static const unlockStepFetch = '拉取用户数据';
|
||||
static const unlockStepUpload = '上传解锁数据';
|
||||
static const unlockMusicSuccess = '解锁数据上传完成';
|
||||
|
||||
static String unlockVerified(int count) =>
|
||||
'解锁数据上传完成,复查 GetUserItemApi 已确认 $count 行道具被服务器保存。'
|
||||
'若游戏里还是没有这首歌,卡点在曲目池而不是用户包:机台 Music.xml 没有这个 '
|
||||
'musicId、它绑定的 eventName 活动不在开放窗口内(GetGameEventApi)、'
|
||||
'或者它落在 NG 名单里。这三种情况上传什么都不会显示。';
|
||||
static String unlockNotSaved(String list) =>
|
||||
'数据包已被接受,但复查时服务器上没有 $list 这些行 —— '
|
||||
'服务器没有写入 upsertUserAll.userItemList。';
|
||||
static String unlockVerifyFailed(String error) =>
|
||||
'解锁数据上传完成,但复查道具列表失败,无法确认是否写入:$error';
|
||||
static const unlockDxRangeNotice =
|
||||
'10000 ~ 19999 这段 DX 曲:Master / Re:Master 不像老曲那样白送 —— '
|
||||
'客户端 IsUnlockMaster 里 id < 10000 直接返回 true,DX 段必须显式带上 '
|
||||
'itemKind 6 / 7 的行。Re:Master 还要该曲 subEventName 指向的事件处于开放 '
|
||||
'窗口内,那一条用户包改不动。';
|
||||
|
||||
// Collectibles (收藏品获取 / UpsertUserAll 上传收藏品道具)
|
||||
// itemKind: 1=姓名框 2=称号 3=头像 10=搭档 11=背景板 12=功能票
|
||||
|
||||
Reference in new issue
Block a user