{{ flowText }}
+
+ {{ CANONICAL_SPEC }}
+ valid=true, in_grace=true 照常放行并提示续费;吊销/暂停无宽限,立即失效。server_time(容忍 5 分钟),否则判定需要联网重验。activation_token 仅在激活时下发一次,必须持久保存;解绑(deactivate)必须携带,仅凭序列号无法解绑他人设备。节点:{{ e }}
验签/离线公钥(hex):{{ publicKey || '加载中…' }}
+
桌面工具推荐形态:Ed25519 验签 + 多端点容灾 + 周检调度 + 激活令牌本地存储(钥匙串/文件)。
+
+ Web 端激活页 + 周检组件;浏览器场景令牌存 localStorage,桌面 WebView 场景建议桥接本地文件。
+
+ useLicense Hook + 激活组件,与 Vue 版能力对等(验签 / 容灾 / 宽限期提示 / 令牌保存)。
+
+ 子命令:activate / verify / heartbeat / deactivate / devices;状态文件 ~/.opsx/license.json 保存令牌(0600 权限)。
+
+ 场景:自有 Web 平台的关键接口在服务端代理验证授权(序列号不暴露给浏览器,带 5 分钟缓存降低授权服务器压力)。宽限期内视同有效。
+
+ 已过期,宽限期剩余 {{ state.grace_days_left }} 天,请续费
+{{ state.message }}
+已过期,宽限期剩 {state.grace_days_left} 天
+ if (!state.valid) { + return ( +{state.message}
+