diff --git a/ui/README.md b/ui/README.md index 4aeb60e..3559a4f 100644 --- a/ui/README.md +++ b/ui/README.md @@ -40,10 +40,10 @@ python3 -m http.server 8000 --directory ui 1. 仪表盘 Dashboard — 点数余额、本月用量、共享收益、最近交易、点数来源(分组展示有效期:赠送当日有效 / 收益与充值永久) 2. 模型市场 Marketplace — 模型浏览、搜索、厂商筛选、排序(按价格/上下文);可用性标注「多 key · 自动故障转移」(该模型配置多个上游 key,架构 v0.2 路由策略);每行「使用 / 消费」入口 → 聊天 Mock 模拟调用(按模型输出参考价扣小数点数,如 -0.38 点,产生消费交易;余额不足时阻断并提示) 3. 共享管理 Sharing — 默认只显示统计 + 我的共享列表(key 脱敏展示,可暂停/恢复/重新上架/彻底删除);点击"+ 添加 / 上架新 key"展开上架表单(须填 API Key,平台加密托管;分享者只填声明额度,单价由平台按模型定价自动计算并展示参考价),提交成功或取消后自动收起 -4. 钱包 Wallet — 点数余额、点数来源(每日赠送 1 点 · 有效期至今日 · 连续第 N 天 / 共 10 天;收益永久;充值永久,充值暂未开放)、充值/提现占位入口;收支明细已去重,统一到【交易记录】(页内提供跳转提示) +4. 钱包 Wallet — 点数余额、点数来源(每日赠送 1 点 · 有效期至今日 · 连续第 N 天 / 共 10 天;收益永久;充值永久)、**充值入口(US-4:模拟流程——输入点数 → 余额增加 → topup 交易记录,永久有效点数;文案注明"演示,真实支付后续接入";提现仍 disabled)**、**申请加额(US-20:企业成员余额低时申请更多点数 → 提交后等待管理员审批,与组织设置开关联动)**;收支明细已去重,统一到【交易记录】(页内提供跳转提示) 5. 交易记录 Transactions — 消费/收益/充值/提现/赠送(gift)唯一明细入口,Tab 筛选 + MRT 风格表格(列排序/列筛选/分页,与 Tab 叠加生效) 6. 设置 Settings — 账户、API Key 管理(完整增删改查:生成带名字、改名、删除需确认「删除后该 key 立即失效」、按名字搜索、一键复制完整 key——列表脱敏展示 atk_live_****xxxx,复制为完整值;file:// 下 clipboard API 受限时降级为选中+Ctrl/Cmd+C)、通知、偏好 -7. 管理视图 Admin(管理员 / 运营者角色专属)— Key 池管理(添加/撤销)、成员管理(改部门:下拉可选部门或"未分配";任意金额充值,正整数校验;新注册成员默认未分配部门)、用量报表(按模型/成员)、组织管理(部门列表 + 部门增删改查 + 每月点数分配,含部门汇总统计,未分配成员不计入任何部门;保留组织设置卡片,含"关闭外部注册"企业部署开关)、平台运营(运营者 = 宿主本人,职责最小化:① 运行概览——运行状态 / 用户数 / 共享 key 数 / 交易量 / 点数流入流出;② 用户充值——按用户名 / 邮箱搜索定位,输入点数金额(可为小数)确认后余额增加永久有效点数并产生一条交易记录) +7. 管理视图 Admin(管理员 / 运营者角色专属)— Key 池管理(添加/撤销)、成员管理(改部门:下拉可选部门或"未分配";任意金额充值,正整数校验;新注册成员默认未分配部门;**加额申请审批(US-20:待审批列表 → 批准=成员余额+申请点数 / 驳回)**)、用量报表(按模型/成员)、组织管理(部门列表 + 部门增删改查 + 每月点数分配,含部门汇总统计,未分配成员不计入任何部门;保留组织设置卡片,含"关闭外部注册"企业部署开关与"成员自助申请加额需管理员审批"开关——关掉后成员申请直接生效)、平台运营(运营者 = 宿主本人,职责最小化:① 运行概览——运行状态 / 用户数 / 共享 key 数 / 交易量 / 点数流入流出;② 用户充值——按用户名 / 邮箱搜索定位,输入点数金额(可为小数)确认后余额增加永久有效点数并产生一条交易记录) ## 文件结构 @@ -59,7 +59,7 @@ ui/ ## 数据说明 - 点数规则:**1 点 ≈ 1 元人民币(CNY)**;CNY 模型直接 1 元 = 1 点,USD 模型按 ~7.2 汇率折算为人民币点数;消费点数可为小数(金额保留 2 位小数) -- 点数机制(v1.7):每日赠送 1 点(当日有效,需当天登录领取,未登录日不发不积累;注册起连续 10 个自然日),钱包显示"今日赠送 +1 · 有效期至今日 · 连续第 N 天 / 共 10 天",先扣有有效期的赠送点数;分享收益与未来充值点数永久有效;**分享收益扣 10% 平台分成(收益 = 消费点数 × 90%)**;公共版当前无充值渠道(充值/提现按钮置灰"暂不支持") +- 点数机制(v1.7):每日赠送 1 点(当日有效,需当天登录领取,未登录日不发不积累;注册起连续 10 个自然日),钱包显示"今日赠送 +1 · 有效期至今日 · 连续第 N 天 / 共 10 天",先扣有有效期的赠送点数;分享收益与未来充值点数永久有效;**分享收益扣 10% 平台分成(收益 = 消费点数 × 90%)**;充值(US-4)为演示模拟流程(真实支付通道后续接入),提现暂不支持 - 上架单价不由分享者手填:单价是模型×厂商的客观属性,平台按模型价格表自动计算(参考单价 = 该模型输出价 点数/1M);模型无定价数据时给出"按默认价"兜底,不报错 - 市场模型带 `multi` 标记:表示该模型配置多个上游 key → 标注「多 key · 自动故障转移」(见 `docs/architecture.md` v0.2 路由策略);消费模拟(聊天 Mock)按 输出参考价 × 0.19M tokens 计费,扣减小数点数并产生 consume 交易(US-6) - 上架需提交 API Key(password 输入):平台加密托管、仅用于代理调用;共享列表只展示脱敏值(如 sk-****1234,前 3 后 4),不展示明文 diff --git a/ui/css/style.css b/ui/css/style.css index 80f8037..68bd410 100644 --- a/ui/css/style.css +++ b/ui/css/style.css @@ -407,6 +407,12 @@ select.input option { background: var(--bg-card); } } .modal-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; } .modal-head h3 { font-size: 16px; margin: 0; } + +/* 模态框操作行 / 充值预设(US-4) */ +.modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 4px; } +.topup-presets { display: flex; gap: 8px; margin-top: 6px; } +.topup-presets .btn { min-width: 72px; } +.topup-presets .btn.active { background: var(--accent-soft); border-color: rgba(78,205,196,.5); color: var(--accent-text); } .chat-log { flex: 1; overflow-y: auto; background: var(--bg-soft); border: 1px solid var(--border); diff --git a/ui/index.html b/ui/index.html index 4711dfd..71b25e1 100644 --- a/ui/index.html +++ b/ui/index.html @@ -194,9 +194,10 @@

点数余额 Points balance

1 点 ≈ 1 元 (1 point ≈ 1 CNY) · 消费点数可为小数

- + + - 充值 / 提现暂不支持(即将上线) + 充值(演示流程,真实支付后续接入) · 提现暂不支持
@@ -315,6 +316,10 @@

管理视图 Admin

+
+

加额申请 Raise requests (US-20:成员申请 → 管理员批准 / 驳回)

+
+