# token-list-share Sub2API 用量排行榜前端(Vue 3 + Vite + ECharts,多页:index / list / groups)。 ## 跑起来 ```bash pnpm install && pnpm dev # http://127.0.0.1:5176,Vite 代理 /api 并注入 ADMIN_API_KEY pnpm build # vue-tsc 类型检查 + vite build,产出 dist/ ``` 配置走 `.env`(已 gitignore,模板见 `.env.example`)。 ## 必须守住的约定 - 排行**不排除 admin**,只过滤 `requests <= 0` 的账号(2026-09 决策,别再加回去)。 - 成本字段用 `actual_cost`(参考成本口径,UI 文案叫「参考成本」,不叫「实际成本」)。 - 模型「单价」是**参考价,一律带 `~` 前缀**:优先分组配置的 `model_pricing`,缺价模型懒加载 Sub2API 内置目录 `/admin/channels/model-pricing?model=`。 - 单价逻辑只挂在模型上,**不要按人摊均**。 - 界面文案统一 `Token`(首字母大写),表头样式禁用 `text-transform: uppercase`。 - 页面名分保持中立(「用量排行」「用量榜」),不加评价性徽章/高亮等引导元素。 - 面向用户的品牌名是「行业应用」(页眉 eyebrow);代码注释里指代后端系统仍可写 Sub2API,不要全局替换。 - 线上整站有 nginx HTTP Basic Auth(含 `/api/`、`/data/`、`/bailian-admin/`),账号密码只在服务器 htpasswd(apr1),不进 git;对线上做 curl/探测要么预期 401,要么带 `-u`。开关与换人用 `deploy.sh auth`,不要手改 nginx 配置里的 auth_basic。 - 颜色走 `src/style.css` 的 CSS 变量:成本 `--accent` 橙、Token `--token` 钢蓝、金 `--gold`;图表内因 ECharts 读不到 CSS 变量而硬编码同值,改色时两处同步。 - 百炼 Token Plan 额度:数据来自服务器探针写出的静态快照 `/data/bailian.json`(契约见 `types.ts` 的 `BailianSnapshot`,`schema: 1`,含只读的 `reset_cards` 重置卡列表)。**Cookie/Key 只留在服务器 `/etc/bailian-probe.env`,绝不进前端产物、快照文件或 git;探针(bailian-probe.py)只调 reset-card/list 等只读接口,绝不接 reset-card/use**。用卡写操作只有 `deploy/reset-card-server.py`(本机 127.0.0.1:18082,nginx `/bailian-admin/`)在 Admin Key + 卡归属校验后才允许代发;分组页入口默认 CSS 隐藏,需 `localStorage.bailian-reset-card='1'` 开启。Sub2API 的智谱额度通道(账号 `extra.zhipu_*`)复用不到百炼:平台是 openai/anthropic、`account_mode` 为空、域名不在识别表内,别指望接进 `cn_provider_quota_service`。 ## 结构 - `src/App.vue` 排行主页;`src/groups/GroupsApp.vue` 分组页(分组配 `src/groups.config.ts`,含百炼额度卡)。 - `src/api.ts` 数据层(Sub2API 接口 + 百炼快照读取,快照失败返回 null 不阻断页面);`src/format.ts` 格式化与时区(Asia/Shanghai)。 - `deploy/bailian-probe.py` 百炼额度探针(Python 3 标准库,cookie 主路 / apikey 验证路);部署见 `deploy/DEPLOY.md` 第 5 节。 - 生产部署为同域反代,见 `deploy/DEPLOY.md`;现行环境(10.1.192.225:18081 → `/usr/dcits/token-list-share`)的发布/换 Cookie 用根目录 `deploy.sh`(web / cookie / probe / nginx / auth / status / all)。