接口对接新手指引

1.概述

VeryReport报表软件不仅支持页面集成,也支持通过开放接口获取系统数据。

VeryReport开放接口对接步骤如下:

  • 开通开放接口权限

  • 添加授权

  • 获取accessToken

  • 通过accessToken调用开放接口

2.开放接口对接

2.1 开通开放接口权限

为角色设置开放权限后,拥有该角色的用户即可调用对应开放接口。在菜单「系统管理」、「角色管理」,点击「添加」或者「修改」角色, 选择相应的开放接口,点击「保存」,即完成该角色添加开放接口权限,如下图所示:

开通开放接口权限
2.2 添加授权

添加授权入口:「系统管理」->「授权管理」,点击「新建」,依次输入「授权名称」、「令牌过期时间」、「描述」,点击「保存]」,如下图所示:

报表集成获取授权
2.3 获取accessToken

获取accessToken方式有两种:第一种,在授权列表中点击「token」按钮获取;第二种:通过接口获取accessToken。

2.3.1 通过按钮获取accessToken

在授权列表中点击「token」按钮获取,如下图所示:

获取token按钮

弹出accessToken页面,如下图所示:

显示token
2.3.2 通过接口获取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。

2.4 通过accessToken调用开放接口

调用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": "管理员"       ] }