logo

ScriptCat

  • 首页
  • 社区
  • 脚本列表
  • 浏览器扩展
  1. /
  2. 脚本市场
  3. /
  4. Steam 消费历史分类器
  • 首页
  • 代码
  • 反馈
  • 评分
  • 版本列表
油猴中文网
脚本猫
GitHub
管理日志
服务协议
隐私政策
免责声明

© 2022-至今 ScriptCat. All rights reserved.

版本历史

查看所有已发布的版本,包括正式版本和预发布版本。您可以安装任何版本或查看其源代码。
共 5 个版本正式 5预发布 0
显示第 1-5 项,共 5 项
2.2.2最新版本
8 天前

加载中…
安装此版本
2.2.1
21 天前

加载中…
安装此版本
2.2.0
21 天前

加载中…
安装此版本
2.1.25
1 个月前

加载中…
安装此版本
2.1.24
1 个月前
安装此版本

Steam 消费历史分类器 2.2.1 → 2.2.2 更新日志

2.2.2 是一个问题修复与健壮性增强版本,主要解决了汇率 API 稳定性、大数据量下的性能瓶颈、快捷键冲突等实际使用中暴露的问题,同时对多个边界条件进行了加固。


🌐 汇率 API 稳定性增强

  • 多备用源容灾:fetchRatesAndFillSummary 中汇率获取从单一 @latest CDN 源扩展为三个候选源依次尝试:
    1. cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/…
    2. 昨日日期固定版本(避免 @latest 偶发 502)
    3. latest.currency-api.pages.dev 官方备用源
  • 任一源成功即停止重试,大幅降低“全部货币送礼额度”弹窗因汇率接口临时故障而显示加载失败的概率。
  • 相应地,@connect 白名单新增 latest.currency-api.pages.dev。

📊 图表渲染健壮性提升

钱包曲线支持负余额

  • buildLineSvg 新增 minVal 参数,纵轴范围从 [0, maxVal] 扩展为 [minVal, maxVal]。
  • 钱包余额曲线在透支场景下不再将负值截断为 0,真实反映余额波动。

大数据量下极值计算防栈溢出

  • 钱包曲线中 Math.max(...bals) / Math.min(...bals) 替换为循环遍历。
  • 当好友历史记录达数万条时,避免调用栈超限(RangeError: Maximum call stack size exceeded)。

🧩 数据准确性与边界条件修复

原价购买明细剔除 0 元条目

  • showDiscount 中 fullPriceCount 和 fullPriceItems 不再计入价格为 0 的购买记录。
  • 统计卡片“原价购买”数量与明细表行数保持一致,消除数据口径偏差。

礼品额度滑块分界点解析加固

  • thresholdPct 解析增加 Number.isFinite() 判断,防止 dataset.threshold 为 undefined 或 NaN 时回退逻辑误判。
  • 当送礼额度恰好为 0 时,滑块正确停在分界点位置。

导出 CSV 金额货币符号修正

  • getRowPayments 中金额格式化使用该行自身的货币符号(row.dataset.currency),而非统一使用主货币符号。
  • 非主货币行导出的支付金额不再显示错误的货币符号。

⚡ 交互与快捷键优化

快捷键不再劫持组合键

  • keydown 监听增加 e.ctrlKey、e.metaKey、e.altKey 检查。
  • 不再拦截 Ctrl+S(保存页面)、Ctrl+D(收藏)、Ctrl+P(打印)等系统组合键。

bfcache 恢复时键盘监听去重

  • 页面从浏览器往返缓存(bfcache)恢复时,先移除旧的 keydown 监听器再添加新监听。
  • 避免多次 init() 调用导致按键响应一次触发多次。

🏷️ 其他修复

  • 面板记忆标签修正:activatePanel 中 state._lastPanel 在 fullprice 面板关闭时正确回退到 discount,下次打开分析窗口默认进入折扣统计而非空白面板。
  • 新增 @connect 白名单:latest.currency-api.pages.dev 加入连接许可。

📦 升级提示

本次更新为维护性版本,不涉及数据结构或存储格式变更,完全向下兼容。建议所有用户更新以提升汇率模块的稳定性。

如有任何问题,欢迎到 GreasyFork 反馈区 提交。

Steam 消费历史分类器 2.2.0 → 2.2.1 更新日志

本次更新新增了月度消费趋势和钱包余额曲线两个时间序列分析面板,将数据洞察从静态结构延伸至动态变化。同时重构了送礼额度界面,拆分“已送礼”为全部历史与30天内自定义两个维度,并统一了所有可切换货币面板的标题货币徽章交互。


📈 月度消费趋势

按自然月汇总已加载记录的支出(直购、内购、送礼、市场买入)与收入(市场卖出、充值、退款)。页面展示月均消费、峰值月份、有效消费月数三张统计卡,主区域为支出/收入双折线图。支持通过标题货币徽章切换货币,数据自动重算。缺失月份自动补零,确保折线平滑连续。


💰 钱包余额曲线

基于每行记录的“钱包余额”列绘制余额走势图,展示最新余额、最高余额、最低余额及有效记录数。仅统计当前选定货币,时间正序排列,面积填充折线图清晰反映余额波动。注意:曲线仅覆盖已加载的记录,完整历史需点击“加载更多”获取全部数据。


⚡ 送礼额度面板重构

  • 将原来的“已送礼(全部)”拆分为两行:
    • 已送礼(全部):系统记录的礼物总额(橙色,只读)。
    • 已送礼(30天内):滑块自定义值(粉色,可调),初始等于30天内系统记录金额。
  • 滑块仅影响30天送礼金额和剩余额度,不影响历史事实,便于模拟不同送礼策略。
  • 整体行间距压缩,图标缩小,界面更紧凑。

🎯 标题货币徽章统一

  • 所有支持货币切换的面板(柱状图、送礼额度、折扣统计、内购分析、月度趋势、钱包曲线)的标题右侧统一显示可点击的货币徽章(含旗帜、符号、代码),点击切换货币,数据即时刷新。
  • 移除了旧版标题栏右侧的独立货币按钮。
  • 柱状图改为单货币视图,左右并排显示支出与收入柱状图,聚焦当前币种。

🎨 样式与界面优化

  • 柱状图面板采用双列网格布局,卡片自动铺满高度,无内部滚动条。
  • 月度趋势和钱包曲线的统计卡片自适应换行,折线图带阴影与自动采样标签。
  • 修复“加载更多”按钮内部样式被覆盖的问题,确保与主界面风格一致。

🔧 技术变更

  • 新增 showMonthlyTrend()、showWalletCurve()、buildLineSvg() 函数。
  • CUR_SWITCH_PANELS 扩展支持 barchart、monthly、wallet。
  • MODAL_NAV 新增两项导航,快捷键 M(月度趋势)和 W(钱包曲线)。
  • 新增 --stroke-pink CSS 变量,优化送礼额度卡片 flex 布局。

📦 升级提示

  • 新增快捷键:M 月度趋势,W 钱包曲线(现有 D/B/R/G/K/I 保持不变)。
  • 柱状图现为单货币详细视图,多货币对比请使用“分类占比”环形图。
  • 送礼额度滑块仅影响30天送礼金额,不改变系统记录的历史礼物总额。
  • 钱包曲线数据范围取决于已加载记录,建议先加载完整历史获得全面曲线。

🙏 致谢

感谢用户对时间序列分析功能的期待,以及送礼额度界面的优化建议。特别感谢 fawazahmed0 提供的免费汇率 API,为多货币折算提供支持。

Steam 消费历史分类器 2.1.25 → 2.2.0 更新日志

本次更新将六大分析功能整合为统一分析窗口,支持面板级货币独立切换,并新增全货币数据看板与实时汇率折算汇总,多货币用户可一站式查看所有币种的消费结构、送礼额度及折扣表现。


🖥️ 统一分析窗口(标签页架构)

  • 分类占比、收支柱状图、转区 CD、送礼额度、折扣统计、内购分析 合并为单一固定窗口,顶部标签切换,无需反复弹窗。
  • 主界面工具栏由六个独立图标合并为 “消费分析” 按钮,快捷键 D/B/R/G/K/I 仍可直接跳转。
  • 窗口尺寸扩大(1100×720px),毛玻璃效果,与 Steam 界面风格统一。

💱 面板独立货币切换

  • 送礼额度 / 折扣统计 / 内购分析 三个面板标题栏新增货币下拉按钮,可独立选择该面板使用的货币。
  • 下拉列表仅显示有相关交易记录的货币,切换不影响全局主货币,也不影响其他面板。
  • 各面板的货币选择会被记忆,下次打开自动恢复。

📊 全货币数据展示与实时汇率折算

全货币卡片(分类占比 & 收支柱状图)

  • 环形图与柱状图面板同时展示所有货币的独立图表卡片,主货币优先,其余按消费金额降序排列。
  • 各货币卡片独立统计,互不折算,脚注说明规则。

送礼额度汇总折算

  • “显示全部”弹窗新增汇总行,通过公开汇率 API(currency-api)将各货币实时折算为主货币,显示总额度。
  • 新增进度条卡片,直观展示商店直购(蓝)、剩余额度(绿)、退款(红)、已送礼(橙)的比例。
  • 汇率加载失败时友好提示,不支持折算的币种跳过并标记 ⚠。

⚡ 交互与体验优化

  • 标签页高亮主题色,窗口打开/关闭带平滑缩放与淡入动画。
  • 自定义滚动条,表格列表滚动更顺畅。
  • “全部货币汇总”弹窗支持 ESC 关闭,优先级高于主窗口。

🌐 国际化更新

新增 13 个翻译键(zh / zh-tw / en): analysisBtn, tabDonut, tabBar, tabRegionCD, tabGift, tabDiscount, tabIngame, donutNote, giftAllAllowance, giftAllSummary, giftAllSummaryTip, giftAllLoading, giftAllRateError, giftAllPartial。


🔧 技术变更

  • 新增 GM_xmlhttpRequest 权限及 @connect cdn.jsdelivr.net,用于获取汇率数据。
  • 重构模态框管理,采用统一窗口架构,面板按需渲染。
  • state 新增 panelCurrency 字段,独立存储各面板货币选择。

📦 升级提示

  • 主界面按钮入口已变更,但快捷键仍有效。
  • 首次使用汇率折算需授予 GM_xmlhttpRequest 权限,否则仅汇总行功能受影响。
  • 数据缓存沿用,升级后自动适配,无需刷新页面。

🙏 致谢

感谢用户反馈多货币使用痛点及界面统一需求。特别感谢 fawazahmed0 提供免费汇率 API。

Steam 消费历史分类器 2.1.24 → 2.1.25 更新日志

本次更新为送礼额度窗口新增 “全部货币数据汇总” 功能,一键查看所有货币的商店直购、退款和已送礼金额,便于多货币用户全面掌握送礼额度分布。


🚀 新增功能

📊 全部货币送礼数据汇总弹窗

  • 送礼额度计算窗口左上角新增 “显示全部” 按钮。
  • 点击后弹出独立窗口,以表格形式展示所有货币(含主货币及次要货币)的:
    • 商店直购金额(Store Purchase)
    • 退款金额(Refund)
    • 已送礼金额(Gift Sent)
  • 表格按商店直购金额降序排列,主货币行带 ★ 标记,一目了然。
  • 各金额使用对应货币符号显示,支持点击弹窗外或按 ESC 关闭。

⚡ 交互与体验优化

  • 弹窗支持键盘 ESC 关闭,与主脚本快捷键体系保持一致。
  • 表格行悬停高亮,主货币行浅色背景区分,提升可读性。
  • 弹窗独立于送礼额度窗口,不影响原有滑块调节操作。

🌐 国际化更新

  • 新增以下翻译键(已同步至 zh、zh-tw、en):
    • giftShowAll:显示全部 / 顯示全部 / Show All
    • giftShowAllTitle:全部货币数据 / 全部貨幣數據 / All Currency Data
    • giftShowAllTip:各货币的商店直购、退款和已送礼金额汇总。
    • giftAllCurrency:货币 / 貨幣 / Currency
    • giftAllSent:已送礼 / 已送禮 / Gifts Sent

🎨 样式更新

  • 新增 .shc-gift-show-all-btn 按钮样式,与主 UI 风格融合。
  • 新增 .shc-gift-all-overlay 弹窗样式(深色半透明背景、圆角卡片、滚动表格)。
  • 表格头部 sticky 固定,长列表滚动时保持表头可见。
  • 金额列右对齐,使用等宽数字字体,便于比对。

🔧 内部变更

  • 新增函数:showAllCurrenciesGiftPopup()
  • 修改函数:showGiftAllowance() — 在 gift rows card header 中追加“显示全部”按钮,绑定点击事件。
  • 状态管理:弹窗关闭时移除键盘事件监听,避免内存泄漏。

📦 升级提示

  • 本次更新为功能增强,不影响现有数据统计逻辑。
  • 送礼额度窗口的“显示全部”按钮位于左上角标题行右侧,点击即可查看所有货币的送礼相关金额。
  • 建议多货币用户更新,以便更全面地掌握各货币的送礼额度分布。

🙏 致谢

感谢用户反馈多货币场景下送礼额度查看不便的问题,促成本次功能增强。