一个平台,覆盖桌面授权的全链路
从第一份授权到自动更新,每个模块都对应真实 API 与后台界面。下面按能力分区说明边界与关键设计。
01
授权与激活
订阅、买断、买断+维护期、试用与浮动授权,一套模型覆盖。
- 激活、校验、停用、暂停、恢复、吊销,全生命周期有审计
- 每设备或每用户名额;数据库层原子并发,重试安全
- 宽限期、离线续验间隔与授权到期时间相互独立
- 支持 Idempotency-Key,网络抖动不会重复占用设备位
授权列表3 个套餐
WB-8F2K-••••-M4Q9激活
WB-2C7N-••••-T8R1试用
WB-9Q4V-••••-K2L6已过期
WB-5H1D-••••-P7X3已吊销
02
Ed25519 离线验签
私钥不出服务器,客户端内置公钥即可本地验证。
- token 内含设备指纹、套餐、权益与到期时间,篡改即失效
- exp 是联网续验间隔,vun 是授权到期;两者分离,避免误伤
- 断网、内网、隔离环境仍可启动与解锁功能
- 权益以 ftr 字段下发的,客户端按字段判断能力
offline-verify.tsEd25519
const payload = JSON.parse( Buffer.from(token.split('.')[0], 'base64url') ); assert(payload.did === deviceId); assert(payload.fpr === fingerprint); assert(payload.exp > Date.now() / 1000); assert(payload.ftr.publish !== false);
03
试用与自助领证
邮箱验证码注册,立即拿到试用授权,不需要人工介入。
- 免费套餐可开 self-signup,按 checkout_id 生成领证页
- 每邮箱每产品一份;每日领取上限可配置
- 已有可用付费授权的地址直接登录,不会重复发试用
- 试用到期自动回落到免费套餐,数据与授权保留
/signup/••••31 天试用
邮箱验证码已发送
创建账号OK
签发试用授权WB-2C7N
发送邮件完成
04
支付与订阅
把「收款」和「发证」接在一起,而不是两张皮。
- Stripe Checkout 支持订阅、买断、试用与一次性付款
- webhook + 成功页 + 定时对账三层保障,漏单可追回
- 升降级按比例计费,退款自动回滚授权状态
- 客户自助账单门户、发票与到期提醒
Stripepaid
Pro · 年付$290.00
按比例升级+$12.40
退款已回滚
webhook + 对账3/3
05
席位与权益
所有者与成员各有密钥,席位超限会自动暂停而不是报错。
- 所有者 + 成员独立密钥,成员只能管理自己的设备
- 席位收缩时最后加入的成员暂停,释放席位立即恢复
- 布尔、数值与配额三类权益,支持付费附加包
- 团队邀请、移除成员与设备归属清晰可审计
团队席位3 / 3
owner@studio.dev所有者
dev@studio.dev成员
qa@studio.dev暂停
释放席位后自动恢复wait
06
自动更新分发
授权与更新共用一个发布源,过期、吊销、维护期都能生效。
- Sparkle、Velopack、Tauri 使用同一份发布源
- 原子发布与 yank 回滚;每个产物单独 Ed25519 签名
- S3 兼容对象存储,支持许可证门控下载
- 维护期与最低支持版本控制谁该收到哪个版本
appcast.xmlv2.8.1
UnionUser-2.8.1.dmgsigned
UnionUser-2.8.0.exeyanked
维护期2027-11-05
许可证门控on
07
用量与配额
原子扣减,不会被并发请求透支。
- 小时、日、月、年四种滚动周期
- 配额扣减与授权校验同源,避免两套数据打架
- 阈值 webhook 提前预警,而不是等超额才告警
- 客户端可实时查询剩余额度
本月配额8,420 / 10,000
今日312
阈值提醒80%
webhookdelivered
08
后台与客户门户
运营需要的界面与客户自助需要的界面,都开箱即用。
- 产品、套餐、授权、客户、API Key、Webhook、分析、审计与团队角色
- 邮件模板与品牌定制,域名可换
- 客户门户:设备解绑、席位管理、换套餐、发票与续费
- 完整审计日志,谁在什么时候改了什么
客户门户portal
我的授权3
已激活设备2 / 3
下一期账单2026-12-05
发票下载PDF