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内捕获Exception后e.printStackTrace(),返回errcode=500、errmsg=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 模块
请求参数¶
无。
请求示例¶
响应¶
结构:统一 Resource。
data:object(JSONObject.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
}