所有接口参数直接挂在URL上面
需要管理员提供的参数
licensePlatformHost - 许可平台地址
user - 许可平台的用户名
platform - 平台编码
token - 签名秘钥
1.创建许可与订单
接口地址
${许可平台地址}/api/license/createandorder.do
【接口参数】
参数名 | 是否必须 | 类型 | 描述 |
---|---|---|---|
timestamp | 是 | String | 当前时间,例如:Long.toString(new Date().getTime()) |
signature | 是 | String | 签名 |
eid | 是 | String | EID |
user | 是 | String | 许可平台的用户名(请联系管理员获取用户名) |
platform | 是 | String | 所属平台编码(请联系管理员获取平台编码) |
name | 是 | String | 客户企业名称 |
contactPhone | 是 | String | 手机号 |
edition | 是 | String | 版本,可选值: |
userLimited | 是 | Integer | 用户数 |
creatorUid | 是 | String | 许可创建者UID,可任意填写 |
creatorName | 是 | String | 许可创建姓名,可任意填写 |
orderExpireDate | 否 | String | 订单结束日期,日期格式:2020-05-06 该值如果不为空,将同时生成结算订单 |
orderBeginDate | 否 | String | 订单开始日期,日期格式:2020-01-06 如果设置了orderExpireDate,必须设置orderBeginDate |
【接口响应】
属性名 | 是否必须 | 类型 | 描述 |
---|---|---|---|
success | 是 | Boolean | 执行是否成功 |
message | 是 | String | 执行不成功的错误消息 |
2.下载许可
接口地址
${许可平台地址}/api/license/download.do
【接口参数】
参数名 | 是否必须 | 类型 | 描述 |
---|---|---|---|
timestamp | 是 | String | 当前时间,例如:Long.toString(new Date().getTime()) |
signature | 是 | String | 签名 |
eid | 是 | String | EID |
【接口响应】
属性名 | 是否必须 | 类型 | 描述 |
---|---|---|---|
success | 是 | Boolean | 执行是否成功 |
message | 否 | String | 执行不成功的错误消息 |
data | 否 | JSONObject | 许可文件内容,请将本对象转成String后保存为文本 |
签名示例代码
protected String generateSignature(String timestamp) throws Exception{ String token = "xxx"; String data = String.format("%s#%s", timestamp, token); Mac mac = Mac.getInstance("HmacSHA256"); mac.init(new SecretKeySpec(token.getBytes(), "HmacSHA256")); String result = Base64.encodeBase64String(mac.doFinal(data.getBytes("utf-8"))); return StringUtils.remove(result, "\r\n"); }