v1.0.0
最新本版本带来两项核心改进——Steam 数据缓存定时预热架构与游戏元数据补全,并对公开 REST API 的响应结构做了规范化调整。
⚠️ REST API 破坏性变更
自本版本起,公开 REST API(/profile、/games、/recent、/badges)的响应字段统一从 Steam 原始的 snake_case 改为 camelCase,并裁剪了内部字段、补充了格式化字段(如 headerImageUrl、delisted、playtimeFormatted 等)。已通过 REST API 调用这些接口的主题或自定义前端需要同步更新 ,Finder API 不受影响。
完整字段定义请参考 README - REST API 与 使用指南 - API 接口,或 Halo 后台的 OpenAPI(Swagger)文档。
✨ 新功能
- 缓存定时预热:新增活跃信息(资料 / 最近游玩)与库藏信息(游戏库 / 徽章)两条独立预热通道,可分别配置刷新间隔;前端页面只读缓存,预热失败时用上一次数据兜底,避免页面空白
- 游戏元数据补全:通过
IStoreBrowseService/GetItems为库外游戏或 Steam API 暂未返回名称的游戏补全本地化名称、真实封面与商店链接(新发布游戏的封面带内容哈希,已无法靠 AppID 拼接) - 富文本游戏卡片支持 「不可用」标识:已下架 / 区域限制 / App ID 无效的游戏不再误显示为「加载失败」,判定口径与游戏库同源
- 新增配置项:活跃 / 库藏信息刷新间隔、游戏显示语言、游戏图片 CDN 域名重写
⚡ 优化
- 改进
appdetails接口success:false的处理:先用 GetItems 的visible=false二次确认是否真的不可见,避免接口限流时把正常游戏误判为下架 - 不可用游戏的判定结果纳入详情缓存,命中缓存期间不再重复请求 Steam API
headerImageUrl行为调整:无真实封面时改为返回 null(旧版返回 appId 拼接路径,对新游戏本就是 404)。
📚 文档
- 更新 Steam API 技术参考:补充
appdetails的success字段语义、修正header_image示例地址,完善 GetItems 行为说明 - 更新使用指南与 README:补充缓存预热行为、新增配置项、富文本卡片「不可用」处理、REST API 字段调整
资源下载
- plugin-steam-1.0.0.jar
