feat(usage): NewAPI 订阅额度行 + 修复配置面板错误百分比(v0.8.4)
Release / Version consistency (push) Canceled after 0s
Release / Build (macos-latest) (push) Canceled after 0s
Release / Build (ubuntu-latest) (push) Canceled after 0s
Release / Build (windows-latest) (push) Canceled after 0s
Release / Attach macOS install script (push) Canceled after 0s

- NewAPI 用量查询新增 /api/subscription/self:订阅额度占比作为独立一行展示,
  与钱包余额(/api/user/self)分开——两者是互相独立的账本
- 多订阅全部展示;订阅行 unit=% 自动参与预警阈值
- 老版本站点(无订阅接口 404)或无订阅时静默降级,行为与 v0.8.3 一致
- 修复配置面板「测试查询」对金额行错算百分比(曾把钱包余额显示为「已用 29%」);
  抽出 isMoneyRow/isPlanRow/percentOf 到 usage-display.ts 与卡片共用
- models.dev 快照同步至 2026-10-15(8,876 模型 / 230 供应商)
- 测试:Rust 205(+5)、前端 150(+4),tsc 零错误
This commit is contained in:
KimiSwitch Dev committed 2026-10-15 21:17:35 +08:00
1 parent f643802f82
commit e00f6b6591
17 files changed
+21307 -3515

No files matched your search

@@ -0,0 +1,41 @@
# KimiSwitch v0.8.4
用量查询增强:NewAPI 中转站现在同时展示**订阅额度占比**与**钱包余额**两套数据,并修掉配置面板把钱包金额误算成百分比的问题。
## NewAPI 订阅额度(新增)
- **订阅与钱包分开展示**:NewAPI 站点有两套互相独立的账本——**钱包余额**(`/api/user/self`)与**订阅套餐额度**(`/api/subscription/self`)。此前只查询前者,订阅额度完全看不到;现在两者各占一行:
```
⚡ 订阅 · 41% 已使用 16d 后重置 ← 订阅额度占比(本周期)
💰 余额 500 ← 钱包余额
```
- **多个活跃订阅全部展示**:站点返回多个订阅时逐行列出,不隐藏
- **订阅行参与预警阈值**:订阅是配额占比行,达到配置面板设定的阈值时会高亮提醒
- **重置时间**:显示订阅的下一次重置倒计时(如「16d 后重置」)
## 修复
- **配置面板的错误百分比**:此前「测试查询」结果对各行**无条件**拼接 `used/total%`,会把钱包余额算成「已用 29%」这类无意义的累计消耗率(`used_quota / (quota + used_quota)`,没有业务含义)。现在只有真正的配额行才显示百分比,与供应商卡片口径完全一致
## 兼容性
- **老版本 NewAPI 站点无影响**:站点没有 `/api/subscription/self` 接口(404)或账号无订阅时静默降级,只显示钱包行,行为与 v0.8.3 完全一致
- **不改配置格式**:仅调整用量查询实现与界面渲染,`config.toml`、IPC 契约、`UsageData` 结构均无变化
## 其他
- models.dev 快照同步至 2026-10-15(8,876 模型 / 230 供应商)
- **Windows 安装包改为以 NSIS(`.exe`)为主,MSI 不再主动发布**:应用内「检查更新」优先下载 NSIS 安装包(无 exe 的历史版本自动回落 `.msi`);历史版本的 `.msi` 仍可下载
## 测试
- 前端 150 项(新增 4 项:行判定 / 百分比计算 / 订阅标签)
- Rust 205 项(新增 5 项:订阅解析、多订阅、空订阅、零额度不除零、超额钳制)
- 已用真实 NewAPI 站点实测:订阅占比与站点网页控制台、API 原始数据三方一致
## 下载
- **Windows**:`.exe`(NSIS 安装包)
- **macOS / Linux**:见 [Releases](https://github.com/billowliu2/KimiSwitch/releases)(由 CI 构建)