VeryReport报表软件不仅支持页面集成,也支持通过开放接口获取系统数据。
VeryReport开放接口对接步骤如下:
开通开放接口权限
添加授权
获取accessToken
通过accessToken调用开放接口
为角色设置开放权限后,拥有该角色的用户即可调用对应开放接口。在菜单「系统管理」、「角色管理」,点击「添加」或者「修改」角色, 选择相应的开放接口,点击「保存」,即完成该角色添加开放接口权限,如下图所示:
添加授权入口:「系统管理」->「授权管理」,点击「新建」,依次输入「授权名称」、「令牌过期时间」、「描述」,点击「保存]」,如下图所示:
获取accessToken方式有两种:第一种,在授权列表中点击「token」按钮获取;第二种:通过接口获取accessToken。
在授权列表中点击「token」按钮获取,如下图所示:
弹出accessToken页面,如下图所示:
获取accessToken接口如下:
POST http://host:port/oauth/refreshToken
请求体:
Content-Type: applicaiton/json
{
"oauthId":7,//授权编号
"loginName":"admin",//用户名
"password":"admin123"//用户密码
}
返回示例:
{
"code": 0,
"msg": "操作成功",
"data": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTk3MDgxNTAsImFjY2Vzc1Rva2VuIjoie1widXNlcklkXCI6MSxcInVzZXJOYW1lXCI6XCJhZG1pblwifSIsImlhdCI6MTY5OTcwNjM1MH0.vsqw1Yc6yC6hUvM0-upkL8BjhtvNVZHnJMA20Z04DGs"
}
data为accessToken,accessToken在具有过期时间,当过期后,需要再次申请token。
调用VeryReport开放接口,参数必须包含oauthId和accessToken,oauthId是授权编号,通过2.2节添加的授权编号;accessToken为调用接口的令牌, 通过2.3节方式获取,注意令牌有过期时间,需要定时刷新令牌。当然,令牌过期时间,可以设置非常长的时间,为了安全性,不建议这么做设置过长时间,建议设置为30分钟。
比如,查询用户列表接口:
POST http://host:port/api/v1/users
请求url如下:
http://127.0.0.1:8088/open/api/v1/users?oauthId=8&accessToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MDAzMTYwNjUsImFjY2Vzc1Rva2VuIjoie1widXNlcklkXCI6MTMzLFwidXNlck5hbWVcIjpcInRlc3RcIn0iLCJpYXQiOjE3MDAzMTQyNjV9.nhAtjKx4n1twn1f2KwIu82odcqs8tDFd2PtK0h3uVhk
返回示例:
{
"msg": "操作成功",
"code": 0,
"data": [
{
"id": 1,
"creator": "",
"editor": "",
"createTime": 1679319081625,
"updateTime": 1679319081625,
"params": {},
"deptId": 103,
"parentId": null,
"roleId": null,
"loginName": "admin",
"username": "管理员"
]
}