API Documentation

更新、授权和后台管理接口文档

统一后的授权系统支持在线激活、离线签发和 hybrid 混合模式。所有签发结果都基于 RSA 私钥签名,客户端仅使用公钥校验,并且同时校验 项目 ID 与项目 slug,确保不同项目之间无法串用授权码。

更新日志

公开返回最新已发布版本和变更内容。

授权查询

按项目和授权码查询状态,防止项目之间串用。

在线激活

登记机器码并返回签名 Token,适合联网环境。

离线签发

创建授权时直接选择模式并填写机器码,提交后立即返回签名 Token。

GET

获取更新日志

客户端按项目和渠道获取最新已发布版本以及更新内容。

/api/public/changelog?project=electron-auth-shell&channel=stable
请求参数
  • project: 项目标识
  • channel: stable / beta / hotfix / alpha
响应示例
{
  "project": "electron-auth-shell",
  "channel": "stable",
  "latestVersion": "1.8.0",
  "publishedAt": "2026-04-22T08:00:00.000Z",
  "entries": [
    { "type": "feature", "title": "新增任务看板" }
  ]
}
GET

查询授权状态

客户端按项目 ID 和授权码查询授权状态,避免不同项目之间串用授权码。

/api/public/license/query?projectId=ec832350-9135-4ab3-beb6-f192b673aba3&code=EA-2026-0001
请求参数
  • projectId: 项目 ID
  • code: 授权码
响应示例
{
  "projectId": "ec832350-9135-4ab3-beb6-f192b673aba3",
  "projectSlug": "electron-auth-shell",
  "code": "EA-2026-0001",
  "status": "active",
  "type": "subscription",
  "seats": 20,
  "activationCount": 3,
  "remainingDays": 356,
  "expiresAt": "2027-04-22T00:00:00.000Z"
}
POST

在线激活并签发令牌

客户端提交项目 ID、授权码和机器信息,服务端登记设备后返回签名 Token,可用于在线或混合模式。

/api/public/license/activate
请求参数
  • projectId
  • code
  • machineCode
  • deviceName
  • osName
  • ipAddress
响应示例
{
  "success": true,
  "token": "LIC1.eyJ2IjoxLCJpc3MiOiJwcm9qZWN0LW1hbmFnZSIsLi4ufQ.signature",
  "payload": {
    "pid": "ec832350-9135-4ab3-beb6-f192b673aba3",
    "pslug": "electron-auth-shell",
    "mode": "online",
    "device": "DESKTOP-001"
  }
}

后台接口

POST/api/auth/login

登录后台并写入会话 Cookie。

GET/api/auth/session

查询当前登录状态。

POST/api/auth/logout

退出登录并清理会话。

POST/api/admin/projects

创建项目,仅 super_admin 可用。

PATCH/api/admin/projects/:id

更新项目资料或授权开关,仅 super_admin 可用。

POST/api/admin/releases

创建版本,仅 super_admin 可用。

POST/api/admin/changelog-entries

创建更新日志条目,仅 super_admin 可用。

POST/api/admin/tasks

创建待办任务,仅 super_admin 可用。

PATCH/api/admin/tasks/:id

更新任务状态、进度和优先级,仅 super_admin 可用。

DELETE/api/admin/tasks/:id

删除任务,仅 super_admin 可用。

POST/api/admin/licenses

创建授权记录。

GET/api/admin/licenses/:id

查看授权详情。

PATCH/api/admin/licenses/:id

更新授权状态、座位数、有效期和备注。

POST/api/admin/licenses/:id/issue-offline

为指定授权和机器码签发离线 Token。

DELETE/api/admin/licenses/:id

删除授权。

DELETE/api/admin/licenses/:id/devices/:activationId

移除设备激活记录。

GET/api/admin/users

获取后台用户列表,仅 super_admin 可用。

POST/api/admin/users

创建管理员或代理商账号,仅 super_admin 可用。

GET/api/admin/users/:id/permissions

查看指定用户的项目权限。

POST/api/admin/users/:id/permissions

为指定用户分配项目权限。

错误码

400
参数缺失或格式错误
401
未登录或会话已失效
403
当前账号没有操作该资源的权限
404
资源不存在
409
业务冲突,例如设备席位不足