mirror of
https://github.com/kuaifan/dootask.git
synced 2026-09-18 18:06:23 +00:00
- 在线授权登录时账号名下有多条可用授权则弹窗选择,选定后复用验证码确认签发(login/confirm) - 新增 Doo::licenseDecode / licenseBindingError;保存离线 license 与创建用户前校验付费档 SN/MAC 与本机匹配 - 诊断展示与校验门槛纳入不限人数(people==0)档
6.4 KiB
6.4 KiB
id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
| id | title | type | feature | scope | locale | aliases | related_tools | related_pages | prerequisites | negative | last_verified | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| license.online.howto | 在线授权(邮箱验证码登录 / 申请试用 / 自动续期) | howto | license | super-admin | zh |
|
|
|
v1.8.45 |
在线授权(邮箱验证码登录 / 申请试用 / 自动续期)
DooTask 的 License 页提供两种授权方式,可在页面顶部 Tab 切换:
- 离线授权:手动粘贴 License 原文(见 license.howto),无自动续期。
- 在线授权:用 App Store 注册邮箱 + 邮箱验证码登录自助签发,终端自动定时续期(类似 JetBrains 账号激活)。
入口
桌面端:左上角头像 →「系统设置」→「License」→ 顶部「在线授权」Tab(仅管理员可见)。
怎么用
登录授权与申请试用共用同一套「邮箱 + 验证码」输入,先发码再选择动作:
- 在「在线授权」Tab 输入 App Store 注册邮箱
- 点击「发送验证码」→ 系统向该邮箱发码(按钮进入 60 秒倒计时,发码成功后提示验证码已发送至脱敏邮箱)
- 填入收到的验证码
已有授权 → 登录授权
- 填好邮箱与验证码后点击「登录授权」
- 终端把自身指纹(doo_sn、网卡 MAC、版本)上报授权中心,签发一张租约 License 并落地
- 成功后页面显示账号、套餐、使用人数、授权有效期、SN/MAC(与本机是否匹配)、当前状态
账号名下有多条可用授权时
- 若该账号名下有两条及以上本机可用的授权(座位空闲、或本机已在用的),登录时会弹出「选择要使用的授权」窗口,逐条列出套餐、使用人数、授权有效期,本机已在用的会标注「当前设备使用中」
- 选中一条后点击「确定授权」即对该条签发(复用刚才的验证码,无需重新发码)
- 只有一条可用时不弹窗,直接签发;没有可用授权则提示申请试用或购买;名下授权都被其它实例占用时提示需先在原实例释放(换机)
没有正式授权 → 申请试用
- 填好邮箱与验证码后点击「申请试用」即开通试用授权并签发
- 试用默认 14 天 / 不限人数(具体以 App Store 管理员配置为准,时长硬上限 60 天),每个账号仅能申请一次
日常维护
- 自动续期:终端每小时检查,租约将尽时自动向授权中心续期,无需人工干预(需保持联网);进入授权页时也会静默刷新一次
- 换机 / 退出:「退出在线授权」会释放该账号在授权中心占用的座位,并把终端回落到基础版;换机时先在原实例退出,再到新实例登录
状态与提醒(断网/欠费时的分级降级)
在线授权按租约 + 本地宽限分四级,提醒会显示在「License」页与仪表盘顶部横幅(仅管理员可见):
| 状态 | 含义 | 影响 |
|---|---|---|
| 生效中 | 续期正常 | 无 |
| 即将到期 | 续期失败或租约临近 | 仅提醒 |
| 已过期 | 租约已到期 | 限制新增用户(沿用离线过期的既有行为) |
| 已吊销 | 过期超过宽限期或授权被收回 | 回落基础版(最多 3 人,超出的账号按既有规则禁用) |
只要在租约窗口内恢复联网并成功续期一次,即可回到「生效中」。
SN / MAC 与本机匹配
在线授权签发的 License 内嵌了签发时的终端 SN 与网卡 MAC。正常情况下二者与本机一致,「在线授权」Tab 保持极简,只显示账号、套餐、使用人数、有效期与状态(带颜色圆点),不常驻展示 SN/MAC 这类技术细节。
一旦 SN 或 MAC 与本机不匹配,页面顶部会浮出告警卡,并展开「诊断详情」逐项列出「授权 SN / 当前 SN / 授权 MAC / 当前 MAC」及匹配标记(✓/✕);同一批告警也会出现在仪表盘顶部横幅。「离线授权」Tab(手动粘贴场景)则始终以列表展示 SN/MAC,用行尾标签直陈匹配与否、不匹配时整行标红,IP/域名/创建时间等低频字段收纳在「更多信息」里。
授权成功后若终端的 SN 或 MAC 发生变化,行为不同:
- MAC 变化(SN 不变):属于同一实例,下一次自动续期会用新的 MAC 重新签发 License 自动恢复,通常无感;重签前的短暂窗口可能出现 MAC 不匹配告警。
- SN 变化:视为换机。续期会被授权中心判为座位被占用而拒绝重签,原 License 因 SN 对不上而失效,终端将按状态机走向「已过期 → 已吊销」并回落基础版。需在原实例(或让管理员在 App Store 授权中心)释放座位后,在新实例重新登录授权。
怎么自检
- 接口
POST api/license/status返回当前在线授权状态(mode/plan/people/lease_expired_at/status) - 提醒文案同样并入
POST api/system/license的error数组,便于脚本巡检
不支持
- 普通管理员能看授权信息但不能登录/签发;只有超级管理员(id=1)能操作
- 在线授权依赖联网;完全离线/内网隔离部署请用离线授权(粘贴原文)
- 在 App Store 内购买 License 为后续能力,当前在线授权面向已售出/试用账号