692c849e0dfc74cb3492204d72d6da633f921202
【动机】 上一版"统一接口"虽然合并了 resolve / resolveAudio,但 resolve 内部仍有不对称: - showmessage / audioDomain / audioBucket: pickString(chain) ?? config.xxx - appVersion / appDownload / gameVersion / gameZip: 只 pickInt/String(chain), 顶层声明这 4 个字段也读不到 【方案】 - RemoteConfig 加 4 个 String? 字段(appVersion/appDownload/gameVersion/gameZip) 配齐与节点 struct 同款 7 字段集合 - extension RemoteConfig: RemoteConfigNode(自然 conform) - buildChain 首行 var chain = [config]:根始终作为最浅一层 - resolve() 去掉 ?? config.xxx 三处特殊兜底,全 7 字段一律 pickString/Int(chain) 【效果】 - 节点链 1..5 长(含根);所有字段一视同仁,pickString 倒序找即天然包含顶层 - 任何字段都可以在顶层 / agent / game / channel / market 任一层声明,最深层赢 - 算法对称、代码无字段级特殊分支 【硬约束(Plan ADR-009 同步)】 新增字段:加进协议 + 5 个 struct(含 RemoteConfig)+ ResolvedVersion + resolve() 内一行 pickString/Int(chain, \.xxx);不允许 ?? config.xxx 类回退。 BuildProject 通过。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Description
No description provided
24 MiB
Languages
Swift
94.5%
Objective-C++
2.9%
JavaScript
1.8%
C
0.6%
Objective-C
0.2%