1. 分享链接
1.1. 资源说明
1.1.1. 分享链接定义
衡石系统为应用设置分享链接,用户不需要登录衡石系统就可以查看此应用下面的仪表盘和图表。
目录结构说明
字段 | 类型 | 描述 |
---|---|---|
id | BIGINT | 分享链接id |
hash | STRING | 分享的hash |
objectType | STRING | 分享的类型,目前可选类型为 app |
objectId | NUMBER | 应用的id |
title | STRING | 应用的标题 |
isDelete | BOOL | 是否被删除 |
enable | BOOL | 是否被启用 |
1.2. 接口说明
1.2.1. 1、启用/停用分享链接
请求URL
PUT /api/shares/switch
需要认证:是
请求参数
Request Body 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
objectType | STRING | 是 | 分享的类型 |
objectId | NUMBER | 是 | 应用的id |
enable | BOOLEAN | 是 | true 表示启用分享, false 表示停用分享 |
返回对象的格式说明
启用请求返回对象的格式说明
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
objectType | STRING | 是 | 分享的类型 |
objectId | NUMBER | 是 | 应用的id |
enable | BOOLEAN | 是 | true |
hash | STRING | 是 | 分享的 hash |
title | STRING | 是 | 应用的标题 |
停用请求返回对象的格式说明
停用请求只返回请求状态,返回对象为空。
接口示例1: 启用分享链接
PUT /api/shares/switch
{"objectType":"app","objectId":1478,"enable":true}
返回:
{
"version": "2.7-SNAPSHOT@91b4b72#null",
"code": 0,
"msg": "success",
"data": {
"id": 59,
"hash": "E8B10104A",
"objectType": "app",
"objectId": 1478,
"createdBy": 1,
"createdAt": "2019-12-16 09:42:10",
"title": "新建应用 (5)",
"enable": true
}
}
接口示例2: 停用分享链接
PUT /api/shares/switch
{"objectType":"app","objectId":1478,"enable":false}
返回:
{
"version": "2.7-SNAPSHOT@91b4b72#null",
"code": 0,
"msg": "success",
"data": {}
}
1.2.2. 2、重新生成分享链接
请求URL
PUT /api/shares/refresh
需要认证:是
请求参数
Request Body 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
objectType | STRING | 是 | 分享的类型 |
objectId | NUMBER | 是 | 应用的id |
返回对象的格式说明
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
objectType | STRING | 是 | 分享的类型 |
objectId | NUMBER | 是 | 应用的id |
enable | BOOLEAN | 是 | true |
hash | STRING | 是 | 分享的 hash |
title | STRING | 是 | 应用的标题 |
接口示例1: 重新生成分享链接
PUT /api/shares/refresh
{"objectType":"app","objectId":1478}
返回:
{
"version": "2.7-SNAPSHOT@91b4b72#null",
"code": 0,
"msg": "success",
"data": {
"id": 60,
"hash": "E1C0FDEAC",
"objectType": "app",
"objectId": 1478,
"createdBy": 1,
"createdAt": "2019-12-16 09:47:01",
"title": "新建应用 (5)",
"enable": true
}
}
1.2.3. 获取 app 的共享 hash 签名
请求URL
GET /api/apps/{appId}/share/signature
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appId | INTEGER | 是 | 应用的 id |
返回对象的格式说明
返回的是可用的url参数字符串
接口示例1
请求
GET /api/apps/11384/share/signature?where=%5B%7B%22kind%22%3A%22constant%22%2C%22op%22%3Atrue%7D%5D
响应结果
{ "version": "3.5-SNAPSHOT@@git.commit.id.abbrev@#null", "code": 0, "msg": "success", "data": "where=%5B%7B%22kind%22%3A%22constant%22%2C%22op%22%3Atrue%7D%5D&utcSecond=1624508733&signature=a129c5e37f1e74703acf7d425181df74ffaa9c34" }
1.2.4. 通过共享信息获取签名
请求URL
POST /api/shares/signature
请求参数
Request Body
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
appHash | STRING | 是 | 应用的共享 hash |
where | STRING | 否 | 需要添加的 where 过滤条件 |
having | STRING | 否 | 需要添加的 having 过滤条件 |
utcSecond | INTEGER | 否 | 签名的时间戳,用于配置了有效期的共享 |
返回对象的格式说明
返回的是可用的url参数字符串
接口示例1
- 请求
POST /api/shares/signature
```json { "appHash":"ninininini", "utcSecond":10101011, "where":"[{\"kind\":\"formula\",\"op\":\"isnotnull({A})\"}]" }
2. 响应结果
```json
{
"version": "3.5-SNAPSHOT@@git.commit.id.abbrev@#null",
"code": 0,
"msg": "success",
"data": "where=%5B%7B%22kind%22%3A%22formula%22%2C%22op%22%3A%22isnotnull%28%7BA%7D%29%22%7D%5D&utcSecond=10101011&signature=703dc6e05ac3b25a58358f78d42723b7a08aa287"
}