v0.5.6 — 网页端重构 + NetworkUnlockMod 补丁修复
v0.5.6
网页端重构 (docs/items_browser.html)
设计令牌:39 个硬编码色值 / 144 处颜色字面量收敛为 :root 令牌(唯一处定义);新增 27 个类别身份色 --c-<category>;清除 8 处内联 style=;补 prefers-reduced-motion。
可访问性(WCAG AA,浏览器实测计算样式):
--fg-para#7a8290 → #8f95a1(卡片上 4.21 → 5.42)--fg-faint#6a7280 → #9096a0(最低 3.16 → 4.55)- 分类 active 标签改用
color-mix(类别色 88%, #fff),29 个类别全部 ≥4.5(最低 4.53),此前 12/28 不达标 - 全站
:focus-visible焦点环;卡片/库存行role=button tabindex=0(Enter/Space);toastrole=status aria-live=polite;aria-pressed;Escape 关闭详情
健壮性:新增 apiFetch(path, ms) 统一入口(AbortController 超时、非 JSON 容错),收敛 8 处重复 fetch 样板;esc() 补引号转义;搜索 120ms 防抖;toast clearTimeout 消除竞态;轮询 document.hidden 门控。
修真实 UX 缺陷(假成功):/api/health 只证明 HTTP 线程存活、不触主线程,而 OnUpdate 主线程在窗口失焦/未进存档时不排空 —— 旧版据此谎报「已连接」,/api/spawn 只入队即返回 200 却报「已生成」。现增加二级探针 /api/mine 判定主线程可达(失焦显示黄点「主线程未响应」),并在生成后轮询确认 token 落地才报成功,超时明确提示「已入队但未见产物」。后端未改动。
零回归:481 卡 / 0 重复 stableId / 0 模板泄漏 / 无横向溢出;头部过期计数(写 429,实际 481)改为运行时写入。
NetworkUnlockMod 修复
- 补
[assembly: HarmonyDontPatchAll]—— MelonLoader 默认自动 PatchAll,与原显式PatchAll双路径叠加导致 Prefix 执行两遍 OnPreferencesSaved幂等化 —— 该事件为全局订阅,启动期被误触发 9 次重建 HashSet 并打日志- 配置分隔符补 \t —— 从表格粘贴的
id1\tid2原先被当作单个 id,静默不解锁
产物
| 文件 | 大小 | 配置 |
|---|---|---|
| ProgressMod.dll | 70656 B | Release |
| InventorySorter.dll | 57856 B | Release |
| NetworkUnlockMod.dll | 8704 B | Release |
说明
- 三个 DLL 均以
dotnet build -c Release构建,0 警告 0 错误;ilspycmd核验为 Release 配置(Debuggable为最小IgnoreSymbolStoreSequencePoints)。强制-t:Rebuild两次字节相同,构建确定性成立。 - 与 v0.5.5 资产哈希不同(尺寸相同、源码零差异):定位为构建环境漂移(.NET SDK / 游戏侧引用程序集更新);嵌入 PDB 路径一致,逐字节差异仅 149/70656 B 且集中于元数据区。今日构建为权威产物。