跳转至

LicenseAuthtimeController(License 信息)

返回当前系统 License 授权信息(授权类型、组织、版本、版权文案、各功能开关、IP 绑定、过期时间、当前服务器 IP 等),供管理控制台 License 页面展示。无 License 时返回 LicenseUtil 提供的默认占位结构。

  • 类级基址${myapps.context-path.manager:}/api/authtime(完整路径:{manager-context}/api/authtime<相对路径>
  • Tag:License 模块(源码 @Tag(name = "License 模块")
  • 控制器源码obpm-manager/src/main/java/cn/myapps/manager/authtime/controller/license/LicenseAuthtimeController.java
  • 公共说明
  • 类继承 BaseAuthTimeController,通过其 success(errmsg, data) / error(errcode, errmsg, errors) 返回统一 Resource(字段 errcode/errmsg/data/errors,结构见 ../index.md「统一响应结构」)。
  • 类级 @Scope("prototype"),每次请求注入新实例(与多数 manager 控制器不同,但对外部调用无影响)。
  • 端点在 try/catch 内捕获 Exceptione.printStackTrace(),返回 errcode=500errmsg=e.getMessage()data=null(HTTP 状态码仍为 200,由 @ResponseStatus(HttpStatus.OK) 锁定)。
  • 鉴权说明见 index.md「鉴权说明」(adminToken JWT)。/api/authtime/licenseinfo **不在**鉴权白名单中,仍需 adminToken。

1. 获取 License 信息

调用 LicenseUtil.getLicenseInfo() 取当前 License 信息并转 JSONObject 后包进统一 Resource 返回。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/licenseinfo(完整:{manager-context}/api/authtime/licenseinfo
  • 鉴权:是(需管理员 adminToken,详见 index.md「鉴权说明」)
  • Tag:License 模块

请求参数

无。

请求示例

GET /api/authtime/licenseinfo HTTP/1.1

响应

结构:统一 ResourcedataobjectJSONObject.fromObject(LicenseUtil.getLicenseInfo()),字段来自 LicenseUtil 反射调用 License 对象 getter;取不到 License 时回退为默认占位结构)。字段如下:

字段 类型 说明
licenseType string 授权类型(默认占位时取 Environment.licenseType
organization string 授权组织名称(默认占位为 ""
version string 授权版本(默认占位为 ""
copyrighttext string 版权文案(默认占位为 ""
weixinEnable boolean 是否启用微信(默认占位为 false
watermarkEnable boolean 是否启用水印(默认占位为 false
ipBinding boolean 是否启用 IP 绑定(默认占位为 false
ipAddr string 绑定的 IP 地址(默认占位为 ""
expiresIn number(long) 过期时间戳(毫秒);默认占位为 -1
expired boolean 是否已过期(expiresIn > 0 && 当前时间 > expiresIn;默认占位为 false
serverIp string 当前服务器 IP(默认占位为 ""

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "licenseType": "ENTERPRISE",
    "organization": "示例企业",
    "version": "10.0",
    "copyrighttext": "Copyright © 2026 ...",
    "weixinEnable": true,
    "watermarkEnable": true,
    "ipBinding": true,
    "ipAddr": "192.168.1.10",
    "expiresIn": 1798761600000,
    "expired": false,
    "serverIp": "192.168.1.10"
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }