Easy Pivot Logo
  • 定价

安装与升级

使用

文件夹系统数据源
定时任务资源分享资源依赖分析用户与权限管理Restful接口

外部系统集成

常见问题

Restful接口

Restful接口

Restful接口

重要提示

从v1.6.0开始所有请求取消.do后缀,1.6之前的版本添加.do后缀

认证API

登陆认证, 后续Restful API所有有安全认证的接口需要使用认证成功返回的token

post auth

ParameterTypeDescriptionRequiredSince
usernameString用户名true
passwordString用户名true

成功

{
    "token": "VhzJp0k6",
    "user": {
        "password": "ee11cbb19052e40b07aac0ca060c23ee",
        "username": "user",
        "authorities": [],
        "accountNonExpired": true,
        "accountNonLocked": true,
        "credentialsNonExpired": true,
        "enabled": true,
        "userId": "244e8c1c-ec29-44de-ab37-f32f78825514",
        "company": "公司",
        "department": "研发",
        "name": "别名",
        "title": "前端"
    },
    "msg": null,
    "valid": true
}

失败

{
    "token": null,
    "user": null,
    "msg": null,
    "valid": false
}

重要提示

从1.4.3开始,采用jwt认证,token较长, 支持放到header中, 当然url中的token也会兼容

axios.create({
    headers: {
        token: 244e8c1c-ec29-44de-ab37-f32f78825514 
    }
})

资源列表

获取文件夹列表

  1. 获取当前所有文件夹,以及当前用户对文件夹访问属性

get folder/getFolderList

ParameterTypeRequiredDescriptionSince
userIdStringfalse不传则获取用户当前登录用户资源列表,传则获取指定资源列表1.2.2
  1. 获取当前所有文件夹列表

get folder/getAllFolderList

ParameterTypeRequiredDescriptionSince
userIdStringfalse不传则获取用户当前登录用户资源列表,传则获取指定资源列表1.2.2
[
    {
        "id": 10000,
        "name": "Root",
        "parentId": -1,
        "isPrivate": 0,
        "userId": "1",
        "userName": "超级管理员",
        "loginName": "peter",
        "createTime": "2018-07-04 10:22:59.0",
        "updateTime": "2018-07-04 10:22:59.0"
    },
    ...
]

获取看板列表API

  1. 获取当前用户有权限的看板列表

get board/getBoardList

ParameterTypeRequiredDescriptionSince
userIdStringfalse不传则获取用户当前登录用户资源列表,传则获取指定资源列表1.2.2
  1. 获取所有看板列表

get board/getAllBoardList

ParameterTypeDescriptionRequiredSince
无
{
    "resList": [
        {
            "folderId": 10036,
            "folderPath": "Root\\foodmart\\看板",
            "id": 91,
            "userId": "1",
            "folderName": "看板",
            "folderIsPrivate": 0,
            "name": "Foodmart综合分析看板",
            "userName": "超级管理员",
            "loginName": "peter",
            "createTime": "2019-09-27 11:48:36.0",
            "updateTime": "2020-02-19 11:59:46.0",
            "layoutType": "freelayout",
            "layout": null,
            "edit": false,
            "delete": false
        },
        ....
    ],
    "folderList": [
        {
            "id": 10000,
            "name": "Root",
            "parentId": -1,
            "isPrivate": 0,
            "userId": "1",
            "userName": "超级管理员",
            "loginName": "peter",
            "createTime": "2018-07-04 10:22:59.0",
            "updateTime": "2018-07-04 10:22:59.0",
            "edit": false,
            "delete": false
        },
        ....
    ]
}

获取数据源列表API

  1. 获取当前用户有权限访问的数据源列表

get datasource/getDatasourceList

  1. 获取所有数据源列表

get datasource/getAllDatasourceList

ParameterTypeDescriptionRequiredSince
无
[
    {
        "id": 1,
        "userId": "1",
        "name": "foodmart",
        "type": "jdbc",
        "config": null,
        "edit": false,
        "delete": false,
        "userName": "超级管理员",
        "loginName": "peter",
        "createTime": "2018-07-04 10:27:06.0",
        "updateTime": "2020-03-03 22:23:29.0"
    },
    ....
}

获取数据集列表API

  1. 获取当前用户有权限的数据集列表

get/post dataset/getDatasetList

ParameterTypeRequiredDescriptionSince
userIdStringfalse不传则获取用户当前登录用户资源列表,传则获取指定资源列表1.2.2
  1. 获取所有数据集列表

get/post dataset/getAllDatasetList

ParameterTypeDescriptionRequiredSince
无
{
    "resList": [
        {
            "folderId": 10030,
            "folderPath": "Root\\ES",
            "id": 41,
            "userId": "1",
            "name": "es-bank",
            "categoryName": "默认分类",
            "userName": "超级管理员",
            "loginName": "peter",
            "createTime": "2018-09-21 16:47:07.0",
            "updateTime": "2020-02-20 18:13:48.0",
            "data": null,
            "edit": false,
            "delete": false
        },
        ....
    ],
    "folderList": [
        {
            "id": 10000,
            "name": "Root",
            "parentId": -1,
            "isPrivate": 0,
            "userId": "1",
            "userName": "超级管理员",
            "loginName": "peter",
            "createTime": "2018-07-04 10:22:59.0",
            "updateTime": "2018-07-04 10:22:59.0",
            "edit": false,
            "delete": false
        },
        ....
    ]
}

获取图表列表API

  1. 获取用户有权限的图表列表

get widget/getWidgetList

ParameterTypeRequiredDescriptionSince
userIdStringfalse不传则获取用户当前登录用户资源列表,传则获取指定资源列表1.2.2
  1. 获取所有独立保存的所有图表列表

get widget/getAllWidgetList

{
  "resList": [
    {
      "folderId": 10004,
      "folderPath": "Root\\foodmart\\图表\\交叉表",
      "id": 9,
      "userId": "1",
      "name": "2.3-行占比-开销占比",
      "categoryName": null,
      "userName": "超级管理员",
      "loginName": "peter",
      "createTime": "2018-07-04 11:42:01.0",
      "updateTime": "2020-03-07 14:51:19.0",
      "dataset": null,
      "data": null,
      "edit": false,
      "delete": false
    },
    ...
  ],
  "folderList": [
    {
      "id": 10042,
      "name": "ddd",
      "parentId": 10032,
      "isPrivate": 0,
      "userId": "1",
      "userName": "超级管理员",
      "loginName": "peter",
      "createTime": "2018-12-06 12:08:19.0",
      "updateTime": "2018-12-06 12:08:41.0",
      "edit": false,
      "delete": false
    },
    ...
  ]
}

看板

大屏导出图片

get export/exportCockpit

ParameterTypeRequiredDescriptionSince
boardIdlongtrue大屏ID1.6.0
timeoutintfalse等待截图时长, 单位s, 默认15s1.6.0
scalelongtrue图片解析率, 默认11.6.0
typelongtruepng/jpeg/pdf, 导出类型默认png1.6.0
@RequestMapping(value = "/exportCockpit")
public ResponseEntity<byte[]> exportCockpit(
    @RequestParam Long boardId,
    @RequestParam(defaultValue = "15") Integer timeout, // 等待截图时长,单位s
    @RequestParam(defaultValue = "1") float scale, // 图片解析率
    @RequestParam(defaultValue = "png") String type // png/jpeg/pdf
) 

授权

模块

code模块desc
menu功能菜单模块
datasource数据源模块
dataset数据集模块
widget图表模块
board看板模块
job定时任务模块

功能菜单模块介绍

功能菜单部分目前为硬编码

 {resId: 1,  pid:-1, name: "配置",          }
 {resId: 2,  pid:1,  name: "数据源管理",    }
 {resId: 3,  pid:1,  name: "数据集管理",    }
 {resId: 4,  pid:-1,  name: "自助分析",      }
 {resId: 41, pid:-1,  name: "复杂报表",      }
 {resId: 5,  pid:-1, name: "看板",          }
 {resId: 51, pid:5,  name: "看板管理",      }
 {resId: 52, pid:5,  name: "网格布局",      }
 {resId: 53, pid:5,  name: "驾驶舱布局",    }
 {resId: 7,  pid:-1, name: "管理",          }
 {resId: 71, pid:7,  name: "权限模板",      }
 {resId: 8,  pid:7,  name: "用户管理",      }
 {resId: 81, pid:8,  name: "用户资源管理",  }
 {resId: 9,  pid:1,  name: "定时任务",      }
 {resId: 91, pid:1,  name: "邮件发送",      }
 {resId: 10, pid:-1, name: "资源分享",      }

权限/资源对象结构Res

属性类型Required描述
resTypeStringtrue资源模块, 对应值: menu、datasource、dataset、widget、board、job
resIdlongtrue对应模块资源ID
editbooleanfalse是否具有编辑权限
deletebooleanfalse是否具有删除权限

用户权限

  1. 全量更新用户权限

post admin/updateUserRes

  1. 增量授权用户权限

post admin/grantUserRes

  1. 增量删除用户权限

post admin/revokeUserRes

ParameterTypeDescriptionRequiredSince
userIdArrJSON String用户ID数组,支持一次更新多个用户权限true1.2.0
resIdArrJSON StringRes[], 权限/资源列表数组
_this.updateUserRes = function (userIds, resIds) {
    return _axios.post('admin/updateUserRes', {
        userIdArr: JSON.stringify(userIds),
        resIdArr: JSON.stringify(resIds),
    });
};
  • userIdArr
["uid1", "uid2"]
  • resIds
[
  {
    "resId": 1,
    "resType": "menu",
    "edit": false
  },
  {
    "resId": 1,
    "resType": "datasource",
    "edit": false
  },
  {
    "resId": 7,
    "resType": "widget",
    "edit": false
  },
  {
    "resId": 1,
    "resType": "dataset",
    "edit": false
  },
  {
    "resId": 6745078,
    "resType": "folder",
    "edit": false
  }
]
  1. ServiceStatus
propvaluedesc
status1、21成功,2失败
msgsuccess, error msg相关消息
objObject为原始数字,测为操作影响记录数
  1. 更新成功
{
    "status": "1",
    "msg": "success", 
    "obj": 4,
    "id": null
}
  1. 更新失败
{
    "status": "2",
    "msg": "No Module Permission!",
    "obj": null,
    "id": null
}

查询用户授权

  1. 查询所有用户授权列表

get admin/getAllUserResList

ParameterTypeDescriptionRequiredSince
无
  1. 查询指定用户授权列表

get/post admin/getUserResListByUserId

ParameterTypeDescriptionRequiredSince
userIdSringtrue
[
    {
        "userResId": "034f6429-cff6-4274-b5ff-2f9df9f8e1c4",
        "userId": "244e8c1c-ec29-44de-ab37-f32f78825514",
        "resId": 10042,
        "resType": "folder",
        "edit": false,
        "delete": false,
        "createTime": null
    },
    {
        "userResId": "123ee3dc-44f8-4c58-8f68-c56c78a239a4",
        "userId": "244e8c1c-ec29-44de-ab37-f32f78825514",
        "resId": 47,
        "resType": "widget",
        "edit": false,
        "delete": false,
        "createTime": null
    },
    ...
]

授权用户角色

  1. 增量授权用户角色

post admin/grantRoles

  1. 增量删除用户所属角色

post admin/deleteUserRole

ParameterTypeDescriptionRequiredSince
userIdArrJSON StringJSON.stringify(Arrary of User Id)["BoNSmgq5"]true
roleIdArrJSON StringJSON.stringify(Arrary of Role Id)true
  • Request
userIdArr: '["BoNSmgq5"]'
roleIdArr: '["kZKs0eAB","mW7MgbRi"]'
  • Response

ServiceStatus

{
    "status": "1",
    "msg": "success", 
    "obj": 4,
    "id": null
}

角色查询

  1. 查询当前用户为管理员的角色列表

get admin/getRoleList

  1. 查询所有角色列表

get admin/getRoleListAll

  • Request
ParameterTypeDescriptionRequiredSince
无
  • Response
[
    {
        "roleId": "9yp5FYGV",
        "roleName": "Foodmart国家访问规则",
        "userId": "admin"
    },
    {
        "roleId": "afff8e98-c223-4b71-8a44-946b9eeb9585",
        "roleName": "体验账号",
        "userId": "1"
    },
    ...
]

查询用户所属角色

  1. 查询用户所属角色

get admin/getUserRoleList

  • Request
ParameterTypeDescriptionRequiredSince
userIdString用户ID,不传则查所有用户角色false
  • Response
[
    {
        "userRoleId": 5297009885287913052,
        "userId": "cf592eb2-91fd-4319-925e-141d5a1b58b3",
        "roleId": "afff8e98-c223-4b71-8a44-946b9eeb9585"
    },
    {
        "userRoleId": 2139519606675883725,
        "userId": "cf592eb2-91fd-4319-925e-141d5a1b58b3",
        "roleId": "o7OfQhTB"
    }
    .....
]

角色权限

用户管理

User对象结构

属性值类型Requied解释
userIdStringtrueid 主键
loginNameStringtrue登陆名
userNameStringtrue昵称
userPasswordStringtrue密码
companyStringfalse公司
departmentStringfalse部门
titleStringfalse职务
validDatetimestampfalse截止有效期
enabledbooleanfalse是否有效

新增用户

post admin/saveNewUser

  • Request
ParameterTypeDescriptionRequiredDefaultSince
userJSON String用户对象false
md5Pwdboolean密码是否加密falsefalse
{
  "loginName": "biuser",
  "userName": "爱分析",
  "userPassword": 'xxxx',
  "company": "公司名称", 
  "department": "BI",
  "title": "分析师",
  "validDate": 4073990400000,
  "enabled": true
}
  • Response

成功

{
    "status": "1",
    "msg": "success",
    "obj": {
        "userId": "Sl4LqKFe",
        "loginName": "api-new",
        "userName": "新建api",
        "userPassword": "f561aaf6ef0bf14d4208bb46a4ccb3ad",
        "userStatus": null,
        "company": "公司名称",
        "department": "BI",
        "title": "分析师",
        "validDate": 4073990400000,
        "enabled": true
    },
    "id": null
}

失败

{
    "status": "2",
    "msg": "No Module Permission!",
    "obj": null,
    "id": null
}

更新用户

post admin/updateUser

  • Request
ParameterTypeDescriptionRequiredDefaultSince
userJSON String用户对象true
md5Pwdboolean密码是否加密falsefalse
{
  "userId": "cf592eb2-91fd-4319-925e-141d5a1b58b3",
  "loginName": "biuser",
  "userName": "爱分析",
  "userPassword": null, // 密码为空则不修改密码
  "company": "楚果", 
  "department": "BI",
  "title": "分析师",
  "validDate": 4073990400000,
  "enabled": true
}

删除用户

post/get admin/deleteUser

ParameterTypeDescriptionRequiredDefaultSince
userIdString用户IDtrue
  • Response 成功
{
    "status": "1", // 接口是否调用成功
    "msg": "success",
    "obj": 1, // 0 为接口调用成功,但是没有删除数据
    "id": null
}

获取用户信息

get/post admin/getUserList?token=yU2TbYpA

ParameterTypeDescriptionRequiredDefaultSince
userIdString用户ID, 不传获取所有用户列表false
  • Response
[
    {
        "userId": "a18033335555",
        "loginName": "a18033335555",
        "userName": "18033335555",
        "userPassword": null, // 不返回密码
        "userStatus": null,
        "company": null,
        "department": null,
        "title": null,
        "validDate": null,
        "enabled": false
    },
    {
        "userId": "admin",
        "loginName": "admin",
        "userName": "admin",
        "userPassword": null, // 不返回密码
        "userStatus": null,
        "company": null,
        "department": null,
        "title": null,
        "validDate": null,
        "enabled": true
    },
    ....
]

用户与权限管理

用户与权限管理

以 iframe 形式嵌入看板

以 iframe 形式嵌入看板

On this page

Restful接口认证API资源列表获取文件夹列表获取看板列表API获取数据源列表API获取数据集列表API获取图表列表API看板大屏导出图片授权模块功能菜单模块介绍权限/资源对象结构Res用户权限查询用户授权授权用户角色角色查询查询用户所属角色角色权限用户管理User对象结构新增用户更新用户删除用户获取用户信息
登录免费试用