简介
在 Steam 点数商店(https://store.steampowered.com/points/shop)左侧菜单增加搜索功能,获取用户已拥有的游戏 appid 并交叉比对卡牌数据库,支持按名称/拼音首字母搜索有卡牌的游戏(即有点数商店物品的游戏),一键跳转到对应游戏的点数商店页 。找物品太费劲?侧边栏直接按名称/拼音搜你拥有的卡牌游戏,一键跳到对应点数物品页;光标一停还能看当前特卖/活动入口和 Steam 热卖游戏,换季没上线自动沿用上一场。附带点数余额与历史分析。免 webapi_token,登录即用。
v2.5.0 — 搜索框悬停「发现」面板
新功能
- 鼠标移入搜索框(或聚焦且输入为空)展开发现面板:当前 / 最近一场特卖 Hero 卡 + 2 个最近活动 + Steam 热卖游戏,点击直达
/points/shop/app/{appid}。
- 活动目录来自点数商店
#application_config[data-loyaltystore] 的 eligible_apps.apps[](与官方「来自特卖与活动」同源),名称 / 封面用 IStoreBrowseService/GetItems 批量解析,不再维护逐年硬编码表。
- 跨年 / 换季回退:当年同季活动未上线时沿用上一场,并提示「2027 年冬季特卖尚未开始 · 沿用 2026 年数据」;冬季特卖按
year-1 视为当季。
- 热卖榜取
featuredcategories 的 top_sellers + specials,有点数物品的排前面;灰点 = 暂无物品,绿点 = 已拥有。
- 面板宽度与左侧边栏列宽像素对齐(窄栏自动收紧字号 / 行高 / 缩略图),SPA 重排后自动贴回输入框下方。



功能特性
- 侧边栏搜索框:在点数商店左侧菜单顶部注入搜索输入框,紧贴点数余额下方、分类列表上方
- 2.1新功能: 点数消费变化分析,一眼看清点数消费变化趋势
- 用户已拥有游戏获取:通过
dynamicstore/userdata API 获取用户已拥有的 appid 列表,三级回退(GDynamicStore 页面变量 → API → null 降级显示全部)
- 卡牌数据库交叉比对:从 SteamCardExchange API(主)和 nolddor/steam-badges-db(备用)获取全量卡牌游戏数据库(~15000+ 款),交叉比对用户已拥有的游戏,筛选出有卡牌的游戏
- 游戏级搜索:搜索粒度从"单个物品"改为"游戏",搜索结果为用户拥有的有卡牌游戏,点击直接跳转到该游戏的点数商店页
- 拼音模糊搜索:复用
sglv-pinyin.lib.js 的 searchByPinyin 函数,支持中文拼音首字母匹配(如输入"wzry"匹配"王者荣耀"),降级为普通子串匹配
- 搜索结果下拉:fixed 定位浮层避免被侧边栏 overflow 裁剪,每条结果含游戏胶囊图、名称、卡牌数量标签、AppID、右箭头指示器
- 键盘导航:↑↓ 切换结果项,Enter 跳转,Esc 关闭,鼠标 hover 高亮
- 一键跳转:点击搜索结果通过 React SPA 内部导航(pushState + popstate)跳转到
/points/shop/app/{appid},失败时回退整页跳转
- 索引状态徽章:搜索框下方显示索引构建进度,点击可手动刷新
- 重新注入守卫:React SPA 路由切换导致侧边栏重渲染时,每 2 秒检测搜索框是否丢失并自动重新注入