API接口文档(pgsql)
在线使用:https://v.le5le.com/
采用前后端分离架构,乐吾乐后端服务提供一整套完整的web组态编辑器的所有数据接口,包含2D/3D图纸接口服务、文件接口服务和用户接口服务等,安装包版本提供后端可执行程序文件,后端源码版提供Java源码。用户也可以自行按照接口文档去实现部分必要的接口,参考接口文档如下:
全局规则
默认:所有接口返回通过是否包含error字段来判断结果成功。
•调用调用成功:直接返回数据,不能包含error字段
// 例如:请求用户信息返回结构
{
  "id": 1,
  "username": "用户名"
}
•调用失败时,返回: { error: '错误原因'}Copy
// 例如:请求用户信息返回结构
{
  "error": "请先登录",
 	"xxx": "其他可选自定义错误信息"
}Copy
以下接口除非特殊说明都需要携带以下参数
|---------------|--------|--------|-----------|
| 名称            | 位置     | 类型     | 说明        |
| Authorization | header | string | 用户登录token |
大屏接口列表
获取登录信息
URL:
/api/account/profile
Method:
GET
参数
无需多余参数
返回
|-------------|------------|----|------------|
| 名称          | 类型         | 必选 | 中文名        |
| id          | string     | 是  | 用户id       |
| account     | string     | 是  | 账户         |
| avatarUrl   | string     | 是  | 头像url      |
| username    | string     | 是  | 用户名        |
| phone       | string     | 是  |            |
| email       | string     | 是  |            |
| teams       | [object] | 是  | 团队         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| company     | object     | 是  | 公司         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| department  | object     | 是  | 部门         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| roles       | [string] | 是  | 角色         |
| inviteCode  | string     | 是  | 邀请码        |
| wechat      | string     | 是  | 关联微信账号     |
| github      | string     | 是  | 关联GitHub账号 |
| sina        | string     | 是  | 关联新浪账号     |
| vip         | integer    | 是  | 会员有效期截至时间  |
| corporation | object     | 是  | 企业         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| owner       | boolean    | 是  |            |
| license     | string     | 是  | 营业执照       |
示例:
{
  "id": "44",
    "account": "enim dolor",
    "avatarUrl": "http://dummyimage.com/100x100",
    "username": "夏超",
    "phone": "18139363365",
    "email": "e.snrsqift@qq.com",
    "teams": [
    {
      "id": "39",
      "name": "设反下门持"
    },
    {
      "id": "77",
      "name": "院装先口任年"
    },
    {
      "id": "76",
      "name": "研色问严"
    }
  ],
    "company": {
    "id": "31",
      "name": "来教元理但百"
  },
  "department": {
    "id": "94",
      "name": "的分上适传候"
  },
  "roles": [
    "in sit qui",
    "tempor in exercitation aliqua officia"
  ],
    "inviteCode": "32",
    "wechat": "aliqua ut aliquip in",
    "github": "ut aliquip",
    "sina": "consequat exercitation dolor cillum mollit",
    "vip": 1662364456
}
// 例如:请求用户信息返回结构
{
  error: '请先登录',
    xxx: '其他可选自定义错误信息'
}Copy
新增大屏项目
URL:
/api/data/v/add
Method:
POST
Body
|--------|------|--------|----|-----|-------|
| 名称     | 位置   | 类型     | 必选 | 中文名 | 说明    |
| name   | body | string | 是  | 数据项 | none  |
| image  | body | string | 是  |     | 缩略图地址 |
| data   | body | object | 是  |     | 图纸数据  |
| type   | body | string | 否  |     | 数据分类  |
| case   | body | string | 否  |     | 应用场景  |
| folder | body | string | 否  |     | 所属文件夹 |
示例:
// 下面为通用大屏项目文件示例
{
    "data": {//图纸数据
        "x": 32,
        "y": 32,
        "scale": 1,
        "pens": [
          ...
        ],
        "origin": {
            "x": 0,
            "y": 0
        },
        "center": {
            "x": 0,
            "y": 0
        },
        "paths": {},
        "template": "5580654",
        "enableMock": true,
        "tags": [
            "方案"
        ],
        "scaleMode": "1",
        "groups": [],
        "iconUrls": [],
        "version": "1.0.23",
        "component": false
    },
    "image": "xxx",
    "name": "xxx",
    "folder": "xxx",
    "shared": true,
    "userFlag": 1 
}Copy
返回
应包含新增大屏文件时,所有数据
// 下面为通用大屏文件示例
{
  "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
  "name": "新建项目",
  "image": "xxx",
  "data": {...},
  "shared": true,
  "userFlag": 1,
  "folder": "新建文件夹",
  "ownerId": "xxx",
  "ownerName": "xxx",
  "createdAt": "2021-01-17T17:56:55.41911+08:00",
  "updatedAt": "2021-01-17T17:56:55.41911+08:00"
}Copy
更新大屏项目
URL:
/api/data/v/update
Method:
POST
Body
|-------|------|--------|----|------|-------|
| 名称    | 位置   | 类型     | 必选 | 中文名  | 说明    |
| id    | body | string | 是  | 数据Id | none  |
| name  | body | string | 是  | 数据项  | none  |
| image | body | string | 是  |      | 缩略图地址 |
| data  | body | object | 是  |      | 图纸数据  |
| type  | body | string | 否  |      | 数据分类  |
| case  | body | string | 否  |      | 应用场景  |
示例:
// 相对完整的更新示例
{
    "id": "xxx",
    "data": {
        "x": 32,
        "y": 32,
        "scale": 1,
        "pens": [
            ...
        ],
        "origin": {
            "x": 0,
            "y": 0
        },
        "center": {
            "x": 0,
            "y": 0
        },
        "paths": {},
        "template": "186fe58c",
        "tags": [
            "方案"
        ],
        "groups": [],
        "version": "1.0.23",
        "iconUrls": [],
        "component": false,
        "scaleMode": "1",
        "enableMock": true,
    },
    "image": "xxx",
    "name": "xxx",
    "folder": "xxx",
    "shared": true,
    "userFlag": 1 //1 - 用户方案 2 - 用户模板
}Copy
返回
应包含新增大屏文件时,所有数据
// 下面为通用大屏文件示例
{
  "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
  "name": "新建项目",
  "image": "xxx",
  "data": {...},
  "shared": true,
  "userFlag": 1,
  "folder": "新建文件夹",
  "ownerId": "xxx",
  "ownerName": "xxx",
  "createdAt": "2021-01-17T17:56:55.41911+08:00",
  "updatedAt": "2021-01-17T17:56:55.41911+08:00"
}Copy
获取大屏项目
URL:
/api/data/v/get
Method:
POST
Body
|------------|------|--------|----|------|------------------------|
| 名称         | 位置   | 类型     | 必选 | 中文名  | 说明                     |
| id         | body | string | 否  |      | none                   |
| projection | body | string | 否  | 返回字段 | 英文逗号分隔,例如:id,name,data |
示例:
{
  "id": "xxx"
}Copy
返回
应包含新增大屏文件时,所有数据
// 下面为通用大屏文件示例
{
    "id": "xxx",
    "name": "xxx",
    "image": "xxx",
    "data": {
        "x": 32,
        "y": 32,
        "pens": [
            ...
        ],
        "tags": [
            "模板"
        ],
        "paths": {},
        "scale": 1,
        "center": {
            "x": 0,
            "y": 0
        },
        "groups": [],
        "origin": {
            "x": 0,
            "y": 0
        },
        "version": "1.0.23",
        "iconUrls": [],
        "template": "2830eac2",
        "component": false,
        "scaleMode": "1",
        "enableMock": true
    },
    "shared": true,
    "folder": "xxx",
    "teams": [],
    "ownerId": "xxx",
    "ownerName": "xxx",
    "updatedAt": "2021-01-17T17:56:55.41911+08:00"
}Copy
删除大屏项目
URL:
/api/data/v/delete
Method:
POST
Body
{
  "id": "大屏项目id"
}Copy
返回
没有特别要求,参考全局规则。
获取大屏项目列表
URL:
/api/data/v/list
Method:
POST
Query
{
  current: 1,
  pageSize: 1000,
}Copy
Body
|--------------|------|---------|----|------------|-------------------------------------|
| 名称           | 位置   | 类型      | 必选 | 中文名        | 说明                                  |
| name         | body | string  | 否  | 模糊查询name属性 | none                                |
| folder       | body | string  | 否  | 所属文件夹      | none                                |
| systemFlag   | body | integer | 否  | 系统标识       | 1 - 系统方案 2 - 系统模板。请求公共解决方案(非个人)时,必传 |
| userFlag     | body | integer | 否  | 用户标识       | 1 - 用户方案 2 - 用户模板                   |
| ownerId      | body | string  | 否  | 创建者ID      | none                                |
| ownerName    | body | string  | 否  | 创建者名称      | none                                |
| departmentId | body | string  | 否  | 部门ID       | none                                |
| teamId       | body | string  | 否  | 团队ID       | none                                |
| createdStart | body | integer | 否  | 创建时间起始点    | none                                |
| createdEnd   | body | integer | 否  | 创建时间截至点    | none                                |
| shared       | body | boolean | 否  |            | false - 未分享 true - 分享 ,不传 - 全部      |
| sort         | body | object  | 否  |            | none                                |
| key          | body | integer | 否  | 排序字段名      | > 0 升序,其他 降序                       |
| projection   | body | string  | 否  | 返回字段       | 英文逗号分隔,例如:id,name,data              |
示例:
{
  "userFlag": "1"
  "projection":"id,name,image..."//返回字段,不传默认返回所有字段
}Copy
返回
// 下面为通用大屏文件示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
          "name": "新建项目",
          "image": "xxx",
          "shared": true,
          "userFlag": 1,
          "folder": "新建文件夹",
          "ownerId": "xxx",
          "ownerName": "xxx",
          "createdAt": "2021-01-17T17:56:55.41911+08:00",
          "updatedAt": "2021-01-17T17:56:55.41911+08:00"
      },
      ...
    ]
}Copy
新增大屏组件
URL:
/api/data/v.component/add
Method:
POST
Body
同"大屏接口列表" - "新增大屏项目",仅用户组件和系统组件标识不同,详见下方示例
// 下面为通用示例
{
    "data": {
        "x": 32,
        "y": 32,
        "scale": 1,
        "pens": [
            ...
        ],
        "origin": {
            "x": 0,
            "y": 0
        },
        "center": {
            "x": 0,
            "y": 0
        },
        "paths": {},
        "template": "c3e2009",
        "enableMock": true,
        "tags": [
            "组件"
        ],
        "scaleMode": "1",
        "groups": [],
        "iconUrls": [],
        "component": true,
        "version": "1.0.23",
        "componentDatas": [
        	...
        ]
    },
    "image": "xxx",
    "name": "xxx",
    "folder": "xxx",
    "shared": true,
    "userFlag": 1//用户组件
    //"systemFlag":1//系统组件
}Copy
返回
应包含新增大屏文件时的数据
// 下面为通用大屏文件示例
{
    "id": "018d16e5-9223-7539-bc58-f35a2e20ee8b",
    "name": "新建项目",
    "image": "xxx",
    "data": {
      ...
    },
    "shared": true,
    "userFlag": 1,
    "folder": "新建文件夹",
    "ownerId": "xxx",
    "ownerName": "xx",
    "editorId": "xxx",
    "editorName": "xx",
    "createdAt": "2023-01-17T10:09:20.419817181Z",
    "updatedAt": "2023-01-17T10:09:20.419817181Z"
}Copy
更新大屏组件
URL:
/api/data/v.component/update
Method:
POST
Body
同"大屏接口列表" - "更新大屏项目",仅用户组件和系统组件标识不同,详见下方示例
// 下面为通用示例
{
    "data": {
        "x": 32,
        "y": 32,
        "scale": 1,
        "pens": [
            ...
        ],
        "origin": {
            "x": 0,
            "y": 0
        },
        "center": {
            "x": 0,
            "y": 0
        },
        "paths": {},
        "template": "c3e2009",
        "enableMock": true,
        "tags": [
            "组件"
        ],
        "scaleMode": "1",
        "groups": [],
        "iconUrls": [],
        "component": true,
        "version": "1.0.23",
        "componentDatas": [
        	...
        ]
    },
    "image": "xxx",
    "name": "xxx",
    "folder": "xxx",
    "shared": true,
    "userFlag": 1//用户组件
    //"systemFlag":1//系统组件
}Copy
返回
应包含新增大屏文件时,所有数据
// 下面为通用大屏文件示例
{
    "id": "018d16e5-9223-7539-bc58-f35a2e20ee8b",
    "name": "新建项目",
    "image": "xxx",
    "data": {
      ...
    },
    "shared": true,
    "userFlag": 1,
    "folder": "新建文件夹",
    "ownerId": "xxx",
    "ownerName": "xx",
    "editorId": "xxx",
    "editorName": "xx",
    "createdAt": "2023-01-17T10:09:20.419817181Z",
    "updatedAt": "2023-01-17T10:09:20.419817181Z"
}Copy
获取大屏组件
URL:
/api/data/v.component/get
Method:
POST
Body
{
  "id": "大屏组件id"
}Copy
返回
应包含新增大屏文件时,所有数据
// 下面为通用示例
{
    "id": "018d16e5-9223-7539-bc58-f35a2e20ee8b",
    "name": "新建项目",
    "image": "xxx",
    "data": {...},
    "shared": true,
    "userFlag": 1,
    "folder": "新建文件夹",
    "ownerId": "xxx",
    "ownerName": "xx",
    "editorId": "xxx",
    "editorName": "xx",
    "createdAt": "2023-01-17T10:09:20.419817181Z",
    "updatedAt": "2023-01-17T10:09:20.419817181Z"
}Copy
删除大屏组件
URL:
/api/data/v.component/delete
Method:
POST
Body
{
  "id": "大屏组件id"
}Copy
返回
没有特别要求,参考全局规则。
获取大屏组件列表
URL:
/api/data/v.component/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
  "userFlag": 1//用户组件
  //"systemFlag":1//系统组件
  "projection":"id,name,image..."//返回字段,不传默认返回所有字段
}Copy
返回
{
  "total":3,
  "list":[
    {
      "id": "018d16e5-9223-7539-bc58-f35a2e20ee8b",
      "name": "新建项目",
      "image": "xxx",
      "shared": true,
      "userFlag": 1,
      "folder": "新建文件夹",
      "ownerId": "xxx",
      "ownerName": "xx",
      "editorId": "xxx",
      "editorName": "xx",
      "createdAt": "2023-01-17T10:09:20.419817181Z",
      "updatedAt": "2023-01-17T10:09:20.419817181Z"
    },
    ...
  ]
}Copy
获取3D组件列表
URL:
/api/data/3d/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
  "projection":"id,name,image..."//返回字段,不传默认返回所有字段
}Copy
返回
{
  "total":1,
  "list":[
    {
      "id": "018d16e5-9223-7539-bc58-f35a2e20ee8b",
      "name": "新建项目",
      "image": "xxx",
      "createdAt": "2023-01-17T10:09:20.419817181Z",
      "updatedAt": "2023-01-17T10:09:20.419817181Z"
    }
  ]
}Copy
新建文件夹
URL:
/api/directory/add
Method:
POST
Body
{
    "fullpath": "/大屏/{case}/新建文件夹的名称"//case:方案|模板|组件|图片
  //示例:"fullpath": "/大屏/方案/新建文件夹"
}Copy
返回
{
    "id": "018d16eb-8077-7252-89c9-aad43dd3d72f",//文件夹id
    "ownerId": "0182199f-42e0-70cd-809a-3a35b7e9b39d",//文件夹创建者id
    "fullpath": "/大屏/组件/新建文件夹",//文件夹完整路径
    "createdAt": "2024-01-17T10:15:49.111891848Z",
    "updatedAt": "0001-01-01T00:00:00Z"
}Copy
更新文件夹
URL:
/api/directory/update
Method:
POST
Body
{
    "oldFullpath": "xxx",//旧文件夹
    "newFullpath": "xxx"//新文件夹
}Copy
返回
无特别要求
删除文件夹
URL:
/api/directory/delete
Method:
POST
Body
{
    "fullpaths": [
        "/大屏/方案/新建文件夹"//待删除文件夹
    ],
    "physically": true//true-物理删除 false-逻辑删除
}Copy
返回
无特别要求
获取文件夹列表
不超过16M的小文件,使用mongodb的二进制存储,非gridfs
URL:
/api/directory/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
{
    "fullpath": "/大屏/{case}"//case:方案|模板|组件|图片
}Copy
返回
{
  "total":1,
  "list":[
    {
    	"id": "018d16eb-8077-7252-89c9-aad43dd3d72f",
      "ownerId": "0182199f-42e0-70cd-809a-3a35b7e9b39d",
      "fullpath": "/大屏/组件/新建文件夹",
      "createdAt": "2024-01-17T10:15:49.111891848Z",
      "updatedAt": "0001-01-01T00:00:00Z"
		}
  ]
}Copy
上传图片
URL:
/api/image/upload
Method:
POST
FormData
•filename:string 文件名,可选
•shared:string 是否共享,默认为true
•conflict:string directory+name 如果存在,处理方式:默认不穿覆盖;new-自动重命名为一个新文件;其他-不做任何操作,返回报错
•file:Blob 文件二进制
•directory:string 文件存放文件夹,例如:'/2D/缩略图'
返回
{
    "id": "018d1b1f-eb0b-7ca5-9a31-56269e3095a6",
    "name": "test.png",//图片名称自动获取
    "fullname": "/2021/0118/1/1/3d5_4680f5a0.png",//图片完整文件名
    "url": "/2021/0118/1/1/3d5_4680f5a0.png",//图片路径
    "directory": "/大屏/图片/新建文件夹",//图片所在文件夹
    "shared": true,
    "size": 1871165,
    "ownerId": "xxx",
    "ownerName": "xxx",
    "createdAt": "2021-01-18T05:51:33.131708608Z",
    "updatedAt": "0001-01-01T00:00:00Z"
}Copy
删除图片
URL:
/api/files/delete
Method:
POST
Body
{
    "fullnames": [
        "/2021/0118/1/1/3d5_4680f5a0.png"//图片返回的完整文件名
    ],
    "physically": true//true-物理删除 false-逻辑删除
}Copy
返回
无特别要求
获取文件列表
URL:
/api/file/list
Method:
POST
Query
|----------|--------|----|-------|
| 名称       | 类型     | 必选 | 说明    |
| current  | string | 否  | 当前页   |
| pageSize | string | 否  | 每页记录数 |
Body
|-----------|---------|----|--------------------------------|
| 名称        | 类型      | 必选 | 说明                             |
| tag       | string  | 否  | none                           |
| shared    | boolean | 否  | false - 未分享 true - 分享 ,不传 - 全部 |
| type      | string  | 否  | none                           |
| name      | string  | 否  | none                           |
| directory | string  | 否  | none                           |
| children  | boolean | 否  | 包含所有子目录文件,联合directory使用        |
| deleted   | integer | 否  | 0 - 未删除, 1 - 删除 ,其他 - 全部       |
| remarks   | string  | 否  | 备注                             |
| sort      | object  | 否  | 检索结果排序规则,大于0:升序;小于0:降序         |
{
  "tag": "string",
    "shared": true,
    "type": "string",
    "name": "string",
    "directory": "string",
    "children": true,
    "deleted": 0,
    "remarks": "string",
    "sort": {
    "owner_id":   1,
      "created_at": -1
  }
}Copy
返回
{
  "total": 0,
    "list": [
    {
      "filename": "string",
      "metadata": {}
    }
  ]
}Copy
获取素材或png、svg分组列表
用于获取远程指定类型(素材、图元(png、svg))的静态图片资源目录
URL:
/api/assets/folders
Method:
POST
Body
获取素材分组列表
{
  "path": "v/material" 
}
获取png分组列表
{
  "path": "png"  
}
获取svg分组列表
{
  "path": "svg" 
}Copy
返回
{
  "list": [
    "常用图标",
    "智能家居",
    "标题",
    "电信机房",
    "装饰",
    "面板"
  ],
  "prefix": false,
  "total":6
}
或
{
  "list": [
    "v/material/常用图标/",
    "v/material/智能家居/",
    "v/material/标题/",
    "v/material/电信机房/",
    "v/material/装饰/",
    "v/material/面板/"
  ],
  "prefix": true,
  "total":6
}Copy
获取素材或png、svg文件列表
用于获取远程指定类型(素材、图元(png、svg))的静态图片资源文件列表
URL:
/api/assets/files
Method:
POST
Body
获取素材分组列表
{
  "path": "v/material" 
}
获取png分组列表
{
  "path": "png"  
}
获取svg分组列表
{
  "path": "svg" 
}Copy
返回
{
  "list": [
    "v/material/常用图标/地图标注.svg",
    "v/material/智能家居/太阳能板温度.png",
    "v/material/智能家居/指标.png",
  ],
    "prefix": true,
    "total":3
}
//或者
{
    "total": 2,
    "list": [
        "png/2.5D-采暖系统",
        "png/2.5D-制冷站"
    ],
    "prefix": true
}Copy
新增数据源
URL:
/api/data/datasources/add
Method:
POST
Body
不同类型,数据结构不一样,建议为文档类型
// 订阅实时数据类型 
{
    "name": "xxx",
    "type": "subscribe",
    "data": {
        "protocol": "http",
        "url": "/xxx",
        "options": {
            "clientId": "",
            "username": "",
            "password": "",
            "customClientId": false
        },
        "httpTimeInterval": 1000,
        "headers": "",
        "method": "GET",
        "body": ""
    }
}
// 向后台发送类型 
{
    "name": "test",
    "data": {
        "body": "",
        "headers": "",
        "httpTimeInterval": 1000,
        "method": "GET",
        "options": {
            "clientId": "test",
            "customClientId": true,
            "password": "test",
            "username": "test"
        },
        "protocol": "mqtt",
        "topics": "test",
        "url": "/xxx"
    },
    "shared": false,
    "type": "publish",
    "createdAt": "2024-01-18T09:30:53.856752442Z",
    "updatedAt": "2024-01-18T09:30:53.856752442Z"
}
// 数据集类型
{
    "name": "test",
    "type": "dataset",
    "data": {
        "devices": [//数据集
            {
                "device": "设备1",
                "label": "整数0-100",
                "id": "data-001",
                "type": "integer",
                "mock": "0-100"
            }
        ],
        "mode": "",//数据方式,默认 api-HTTP请求,空字符串-自定义
        "url": ""//获取数据集的接口,
    }
}Copy
返回
应包含新增时,所有数据
// 下面为通用示例
{
  "id": "018d16f2-55e5-743c-a498-0053afd9b219",
  "name": "test",
  "data": {
      "body": "",
      "headers": "",
      "httpTimeInterval": 1000,
      "method": "GET",
      "options": {
          "clientId": "",
          "customClientId": false,
          "password": "",
          "username": ""
      },
      "protocol": "http",
      "url": "/xxxx"
  },
  "shared": false,
  "type": "subscribe",
  "ownerId": "xxx",
  "ownerName": "xxx",
  "editorId": "xxx",
  "editorName": "xxx",
  "createdAt": "2024-01-17T10:23:16.965635509Z",
  "updatedAt": "2024-01-17T10:23:16.965635509Z"
}Copy
更新数据源
URL:
/api/data/datasources/update
Method:
POST
Body
// 订阅实时数据类型 
{
  	"id": "018d1be8-bc20-756d-bf81-7f1218668059",
    "name": "xxx",
    "data": {
        "url": "/xxx",
        "body": "",
        "method": "GET",
        "headers": "",
        "options": {
            "clientId": "",
            "password": "",
            "username": "",
            "customClientId": false
        },
        "protocol": "http",
        "httpTimeInterval": 1000
    },
    "type": "subscribe",
}
// 向后台发送类型 
{
  	"id": "018d1be8-bc20-756d-bf81-7f1218668059",
    "type": "publish",
    "name": "xxx"
    "data": {
        "protocol": "http",
        "options": {
          "clientId": "",
          "password": "",
          "username": "",
          "customClientId": false
        },
        "httpTimeInterval": 1000,
        "headers": "",
        "method": "GET",
        "body": "",
        "url": "/xxx"
    },
}
// 数据集类型
{
  	"id": "018d1be8-bc20-756d-bf81-7f1218668059",
    "name": "test",
    "type": "dataset",
    "data": {
        "devices": [//数据集
            {
                "device": "设备1",
                "label": "整数0-100",
                "id": "data-001",
                "type": "integer",
                "mock": "0-100"
            }
        ],
        "mode": "",//数据方式,默认 api-HTTP请求,空字符串-自定义
        "url": ""//获取数据集的接口,
    }
}Copy
返回
新增是配置的所有数据
// 下面为通用大屏文件示例
{
    "id": "018d16f2-55e5-743c-a498-0053afd9b219",
    "name": "test",
    "data": {
        "body": "",
        "headers": "",
        "httpTimeInterval": 1000,
        "method": "GET",
        "options": {
            "clientId": "",
            "customClientId": false,
            "password": "",
            "username": ""
        },
        "protocol": "http",
        "url": "/xxxx"
    },
    "shared": false,
    "type": "subscribe",
    "createdAt": "2024-01-17T10:23:16.965635509Z",
    "updatedAt": "2024-01-17T10:23:16.965635509Z"
}Copy
获取数据源
URL:
/api/data/datasources/get
Method:
POST
Body
{
  "id": "数据源id"
}Copy
返回
应包含新增时,所有数据
// 订阅实时数据类型 
{
    "id": "018d16f2-55e5-743c-a498-0053afd9b219",
    "name": "xxx",
    "data": {
        "url": "/xxx",
        "body": "",
        "method": "GET",
        "headers": "",
        "options": {
            "clientId": "",
            "password": "",
            "username": "",
            "customClientId": false
        },
        "protocol": "http",
        "httpTimeInterval": 1000
    },
      "createdAt": "2024-01-17T10:23:16.965635509Z",
    "updatedAt": "2024-01-17T10:23:16.965635509Z"
}
// 向后台发送类型 
{
    "id": "018d16f2-55e5-743c-a498-0053afd9b219",
    "name": "test",
    "data": {
        "body": "",
        "headers": "",
        "httpTimeInterval": 1000,
        "method": "GET",
        "options": {
            "clientId": "",
            "customClientId": false,
            "password": "",
            "username": ""
        },
        "protocol": "http",
        "url": "/xxxx"
    },
    "shared": false,
    "type": "subscribe",
    "createdAt": "2024-01-17T10:23:16.965635509Z",
    "updatedAt": "2024-01-17T10:23:16.965635509Z"
}
// 数据集类型
{
  	"id": "xxx",
    "name": "test",
    "data": {
        "devices": [//数据集
            {
                "device": "设备1",
                "label": "整数0-100",
                "id": "data-001",
                "type": "integer",
                "mock": "0-100"
            }
        ],
        "mode": "",//数据方式,默认 api-HTTP请求,空字符串-自定义
        "url": ""//获取数据集的接口,
    }
  "createdAt": "2024-01-17T10:23:16.965635509Z",
  "updatedAt": "2024-01-17T10:23:16.965635509Z"
}Copy
删除数据源
URL:
/api/data/datasources/delete
Method:
POST
Body
{
  "id": "数据源id"
}Copy
返回
没有特别要求,参考全局规则。
后台管理接口列表
2D图纸列表
URL:
/api/data/2d/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
  "name": "文件名"// 模糊查询
}Copy
返回
// 下面为通用文件列表示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
          "name": "新建项目",
          "image": "xxx",
          "shared": true,
          "userFlag": 1,
          "folder": "新建文件夹",
          "ownerId": "xxx",
          "ownerName": "xxx",
          "createdAt": "2021-01-17T17:56:55.41911+08:00",
          "updatedAt": "2021-01-17T17:56:55.41911+08:00"
        }
    ]
}Copy
3D图纸列表
URL:
/api/data/3d/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
  "name": "文件名"// 模糊查询
}Copy
返回
// 下面为通用文件列表示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d1a96-2d16-7094-b298-fbaee854be36",
          "name": "测试",
          "image": "/2021/0118/1/1/7aa4853c-b93f-4272-96f5-42d8c0e0a189_c1a9dede.png",
          "shared": false,
          "ownerId": "xxx",
          "ownerName": "xxx",
          "createdAt": "2021-01-18T11:21:06.070895+08:00",
          "updatedAt": "2021-01-18T11:21:06.070895+08:00"
      }
    ]
}Copy
大屏项目列表
URL:
/api/data/v/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
    "name": "文件名"// 模糊查询
}Copy
返回
// 下面为通用大屏文件示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
          "name": "新建项目",
          "image": "xxx",
          "shared": true,
          "userFlag": 1,
          "folder": "新建文件夹",
          "ownerId": "xxx",
          "ownerName": "xxx",
          "createdAt": "2021-01-17T17:56:55.41911+08:00",
          "updatedAt": "2021-01-17T17:56:55.41911+08:00"
      },
      ...
    ]
}Copy
更新大屏项目
同"大屏接口列表" - "更新大屏项目"
用户列表
URL:
/api/operation/account/list
Method:
POST
Query
|------------|--------|----|--------|
| 名称         | 类型     | 必选 | 说明     |
| current    | string | 否  | 当前页    |
| pageSize   | string | 否  | 每页记录数  |
| q          | string | 否  | 模糊搜索用户 |
| department | string | 否  | 部门id   |
| team       | string | 否  | 团队id   |
示例:
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
{
  "q": "模糊查询,支持用户名、邮箱、手机号等多字段同时模糊查询"
}Copy
返回
|-------|------------|------|--------|
| 名称    | 类型         | 必选   | 中文名    |
| total | number     | true | 总数     |
| list  | [object] | true | 用户信息列表 |
用户信息:
|-------------|------------|----|------------|
| 名称          | 类型         | 必选 | 中文名        |
| id          | string     | 是  | 用户id       |
| account     | string     | 是  | 账户         |
| avatarUrl   | string     | 是  | 头像url      |
| username    | string     | 是  | 用户名        |
| phone       | string     | 是  |            |
| email       | string     | 是  |            |
| teams       | [object] | 是  | 团队         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| company     | object     | 是  | 公司         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| department  | object     | 是  | 部门         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| roles       | [string] | 是  | 角色         |
| inviteCode  | string     | 是  | 邀请码        |
| wechat      | string     | 是  | 关联微信账号     |
| github      | string     | 是  | 关联GitHub账号 |
| sina        | string     | 是  | 关联新浪账号     |
| vip         | integer    | 是  | 会员有效期截至时间  |
| corporation | object     | 是  | 企业         |
| id          | string     | 是  |            |
| name        | string     | 是  |            |
| owner       | boolean    | 是  |            |
| license     | string     | 是  | 营业执照       |
{
  "total":3,
  "list":[
    {
      "id": "xxx",
      "createdAt": "xxx",
      "department": {
          "id": "666666666666666666666666",
          "name": "乐吾乐科技"
      },
      "email": "",
      "phone": "xxxxxxx",
      "roles": [
          "系统管理员",
          "运营管理员"
      ],
      "teams": [],
      "username": "Alsmile",
    }
  ]
}Copy
更新用户信息
URL:
/api/operation/account/update
Method:
POST
Body
同"大屏接口列表" - "用户列表"返回的用户信息字段
{
  "id": "xxx"
  "xxx": "其他可选"
}Copy
返回
{
  "id": "xxx",  
  "xxx": "其他可选"
}Copy
获取用户头像
URL:
/api/account/avatar/{id}
Method:
GET
Params
|----|--------|----|------|
| 名称 | 类型     | 必选 | 说明   |
| id | string | 是  | 用户id |
返回
头像文件的二进制内容
获取用户统计信息
URL:
/api/account/statistics
Method:
GET
参数
不需要额外参数
返回
|------------------------|---------|----|----------------|-----------------------------------------|
| 名称                     | 类型      | 必选 | 中文名            | 说明                                      |
| userId                 | string  | 否  | 用户ID           | none                                    |
| used                   | integer | 否  | 已使用云盘空间容量      | none                                    |
| capacity               | integer | 否  | 可使用云盘空间容量      | none                                    |
| expired                | string  | 否  | 云盘空间容量到期时间     | none                                    |
| VipDataLimit           | object  | 否  | 允许保存数据最大个数     | VIP会员用户允许保存数据(2D,3D,大屏)最大个数,普通用户返回免费个数。 |
| VipDataCount           | object  | 否  | 实际保存数据个数       | 实际已经保存数据(2D,3D,大屏)个数                    |
| DeploymentPackageLimit | object  | 否  | 允许下载离线部署包的次数   | 大屏、3D、2D                                |
| DeploymentPackageCount | object  | 否  | 已经使用的下载离线部署包次数 | none                                    |
{
  "userId": "01890b98-2a48-70d0-8002-c2db3cf46b85",
  "used": 26723050,
  "capacity": 10,
  "expired": "2025-10-23T11:28:36.574333+08:00",
  "vipDataLimit": {
    "2d": 1000,
    "3d": 1000,
    "v": 1000
  },
  "vipDataCount": {
    "2d": 17,
    "v": 2
  },
  "deploymentPackageLimit": {
    "2d": 5
  },
  "deploymentPackageCount": {
    "2d": 1
  }
}Copy
获取统计信息
URL:
/api/operation/statistics
Method:
POST
参数
不需要额外参数
返回
|-------------------|------------|----|-----------------------------------|
| 名称                | 类型         | 必选 | 中文名                               |
| accountCount      | number     | 是  | 注册用户总数                            |
| vipCount          | number     | 是  | 有效VIP用户总数:截止当前查询时间点,还没有过期的VIP用户总数 |
| orderCount        | number     | 是  | 非取消状态的订单总数                        |
| total2d           | number     | 是  | 2D图纸数据总数(不包含2D组件)                 |
| last302d          | number     | 是  | 创建时间为最近30天的2D图纸数据总数(不包含2D组件)      |
| last602d          | number     | 是  | 创建时间为最近60天的2D图纸数据总数(不包含2D组件)      |
| total3d           | number     | 是  | 同上(不包含组件)                         |
| last303d          | number     | 是  | 同上(不包含组件)                         |
| last603d          | number     | 是  | 同上(不包含组件)                         |
| totalV            | number     | 是  | 同上(不包含组件)                         |
| last30V           | number     | 是  | 同上(不包含组件)                         |
| last60V           | number     | 是  | 同上(不包含组件)                         |
| aggregationSignup | [object] | 是  | 近10天,每天的注册账号数。                    |
| aggregationVip    | [object] | 是  | 近10天,每天的充值VIP会员数。(订单状态是完成的订单)     |
| aggregationCloud  | [object] | 是  | 近10天,每天的充值云盘会员数。(订单状态是完成的订单)      |
| aggregation2d     | [string] | 是  | 近10天,每天的2D数据创建数。(不包含组件)           |
| aggregation3d     | [object] | 是  | 近10天,每天的3D数据创建数。(不包含组件)           |
| aggregationV      | [object] | 是  | 近10天,每天的大屏数据创建数。(不包含组件)           |
示例
{
    "accountCount": 18660,
    "vipCount": 100,
    "orderCount": 236,
    "total2d": 24776,
    "last302d": 33,
    "last602d": 33,
    "total3d": 545,
    "last303d": 16,
    "last603d": 70,
    "totalV": 199,
    "last30V": 18,
    "last60V": 34,
    "aggregationSignup": [
        {
            "count": 2,
            "date": "2024-01-04T00:00:00-05:00"
        }
    ],
    "aggregationVip": [
        {
            "count": 2,
            "date": "2024-01-09T00:00:00-05:00"
        },
        {
            "count": 7,
            "date": "2024-01-10T00:00:00-05:00"
        },
        {
            "count": 1,
            "date": "2024-01-11T00:00:00-05:00"
        }
    ],
    "aggregationCloud": null,
    "aggregation2d": [
        {
            "count": 5,
            "date": "2024-01-04T00:00:00-05:00"
        },
        {
            "count": 1,
            "date": "2024-01-08T00:00:00-05:00"
        },
        {
            "count": 1,
            "date": "2024-01-09T00:00:00-05:00"
        },
        {
            "count": 3,
            "date": "2024-01-10T00:00:00-05:00"
        },
        {
            "count": 6,
            "date": "2024-01-11T00:00:00-05:00"
        },
        {
            "count": 2,
            "date": "2024-01-12T00:00:00-05:00"
        }
    ],
    "aggregation3d": [
        {
            "count": 1,
            "date": "2024-01-03T00:00:00-05:00"
        },
        {
            "count": 3,
            "date": "2024-01-08T00:00:00-05:00"
        },
        {
            "count": 1,
            "date": "2024-01-10T00:00:00-05:00"
        }
    ],
    "aggregationV": [
        {
            "count": 3,
            "date": "2024-01-07T00:00:00-05:00"
        },
        {
            "count": 6,
            "date": "2024-01-10T00:00:00-05:00"
        },
        {
            "count": 2,
            "date": "2024-01-12T00:00:00-05:00"
        }
    ]
}Copy
新建部门信息
URL:
/api/operation/department/create
Method:
POST
Body
|----------|--------|----|-----|
| 名称       | 类型     | 必选 | 中文名 |
| name     | string | 是  | 名称  |
| parentId | string | 是  | 父id |
| leader   | string | 是  | 负责人 |
{
  "name": "名称",
  "parentId": "父部门ID",
  "leader":"xxx"
}Copy
返回
{
  "id": "xxx",  
  "name": "名称",
  "parentId": "父部门ID",
  "leader":"xxx"
}Copy
更新部门信息
URL:
/api/operation/department/update
Method:
POST
Body
{
  "name": "名称",
  "parentId": "父部门ID",
  "leader":"xxx"
}Copy
返回
{
  "id": "xxx",  
  "name": "名称",
  "parentId": "父部门ID",
  "leader":"xxx"
}Copy
删除部门
URL:
/api/operation/department/delete
Method:
POST
Body
{
   "id": "部门ID",
}Copy
返回
无特别要求
获取部门列表
URL:
/api/account/departments
Method:
GET
Query
|----------|--------|----|-----------|
| 名称       | 类型     | 必选 | 说明        |
| q        | string | 否  | 部门名称,模糊查询 |
| current  | string | 否  | 当前页       |
| pageSize | string | 否  | 每页记录数     |
返回
{
  "total": 1,
  "list": [
    {
      "id": "xxx",  
      "name": "名称",
      "parentId": "父部门ID",
      "leader":"xxx"
    }
  ]
}Copy
获取企业信息文件内容
URL:
/api/enterprise
Method:
GET
参数
无需多余参数
返回
{
  "helps": [
    {
      "name": "产品介绍",
      "url": "https://doc.le5le.com/document/118756411"
    },
    {
      "name": "快速上手",
      "url": "https://doc.le5le.com/document/119363000"
    },
    {
      "name": "使用手册",
      "url": "https://doc.le5le.com/document/118764244"
    },
    {
      "divider": true,
      "name": "快捷键",
      "url": "https://doc.le5le.com/document/119620214"
    },
    {
      "divider": true,
      "name": "企业服务与支持",
      "url": "https://doc.le5le.com/document/119296274"
    },
    {
      "name": "关于我们",
      "url": "https://le5le.com/about.html"
    }
  ],
  "home": "https://le5le.com",
  "name": "乐吾乐"
}Copy
用户中心接口列表
2D图纸列表
URL:
/api/data/2d/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
  "name": "文件名",// 模糊查询
  "teamId":""//团队id,可不传
}Copy
返回
// 下面为通用文件列表示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
          "name": "新建项目",
          "image": "xxx",
          "shared": true,
          "userFlag": 1,
          "folder": "新建文件夹",
          "ownerId": "xxx",
          "ownerName": "xxx",
          "createdAt": "2021-01-17T17:56:55.41911+08:00",
          "updatedAt": "2021-01-17T17:56:55.41911+08:00"
        }
    ]
}Copy
3D图纸列表
URL:
/api/data/3d/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
  "name": "文件名",// 模糊查询
  "teamId":""//团队id,可不传
}Copy
返回
// 下面为通用文件列表示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d1a96-2d16-7094-b298-fbaee854be36",
          "name": "测试",
          "image": "/2021/0118/1/1/7aa4853c-b93f-4272-96f5-42d8c0e0a189_c1a9dede.png",
          "shared": false,
          "ownerId": "xxx",
          "ownerName": "xxx",
          "case":"",//场景
          "createdAt": "2021-01-18T11:21:06.070895+08:00",
          "updatedAt": "2021-01-18T11:21:06.070895+08:00"
      }
    ]
}Copy
大屏项目列表
URL:
/api/data/v/list
Method:
POST
Query
{
  "current": 1,//当前第几页,默认1
  "pageSize": 1000,//每页记录数,默认10
}Copy
Body
同"大屏接口列表" - "获取大屏项目列表"
示例:
{
    "name": "文件名"// 模糊查询
    "teamId":""//团队id,可不传
}Copy
返回
// 下面为通用大屏文件示例
{
    "total": 1,//总共项目数
    "list": [
        {
          "id": "018d16da-33fb-7f5b-80e8-0e3c32c23983",
          "name": "新建项目",
          "image": "xxx",
          "shared": true,
          "userFlag": 1,
          "folder": "新建文件夹",
          "ownerId": "xxx",
          "ownerName": "xxx",
          "createdAt": "2021-01-17T17:56:55.41911+08:00",
          "updatedAt": "2021-01-17T17:56:55.41911+08:00"
      },
      ...
    ]
}Copy
获取消息列表
URL:
/api/message/list
Method:
POST
Params:
•current 当前页
•pageSize 每页请求数量
Body:
{
    "q": "",//模糊查询
    "read": false //是否已读  undefind全部消息 true已读消息 fasle未读消息
}Copy
返回:
{
    "list": [
        {
            "id": "", //id
            "title": "a", //标题
            "html": "a", //内容
            "to": null, //接收方用户id
            "from": null,  //发送方用户id
            "data": null, //数据
            "read": null, //是否已读
            "createdAt": "2023-09-14T09:59:33.845377+08:00",
            "deletedAt": null
        }
      //...
    ],
    "total": 2
}Copy
获取未读消息数量
URL:
/api/message/unread/count
Method:
POST
返回:
{
    "unread": 1 //未读数量
}Copy
消息标为已读
URL:
/api/message/read
Method:
POST
Body:
{
    "ids": [
        "" //消息id列表
    ]
}Copy
返回:
{}
全部消息标为已读
URL:
/api/message/read/all
Method:
POST
Body:
{}
返回:
{}
删除消息
URL:
/api/message/delete
Method:
POST
Body:
{
    "ids": [ //消息id列表
        ""
    ]
}Copy
返回:
{}
获取团队列表
URL:
/api/account/teams
Method:
GET
返回:
{
    "list": [
        {
            "id": "018615fb-1188-70b5-8063-534123f564e3",
            "name": "zzz",
            "avatarUrl": "",
            "description": "测试",
            "ownerId": "0178f286-96d0-70cd-809a-3a16f96435e1",
            "inviteLink": null,
            "inviteExpiration": null,
            "inviteApprove": null,
            "createdAt": "0001-01-01T00:00:00Z",
            "isAdmin": 10
        }
      //...
    ],
    "total": 1
}Copy
获取团队成员
URL:
/api/account/team/members
Method:
POST
Params:
•current 当前页
•pageSize 每页数量
Body:
{
  teamId:""//团队id
}Copy
返回:
{
    "list": [
        {
            "teamId": "",
            "userId": "用户id",
            "username": "",//用户名
            "isAdmin": 10, //管理员权限, 10 创建者(管理员) 1管理员 0普通用户
            "pending": false,
            "createdAt": null
        },
        //...
    ],
    "total": 2
}Copy
更新团队成员管理权限
URL:
/api/account/team/admin
Method:
POST
Body:
{
  "teamId": "", //团队id
  "userId": "",//团队成员id
  "isAdmin": 1 //权限
}Copy
返回:
{
  "teamId": "", //团队id
  "userId": "",//团队成员id
  "isAdmin": 1 //权限
}Copy
移除团队成员
URL:
/api/account/team/member/delete
Method:
POST
Body:
{
  "teamId": "", //团队id
  "userId": "",//团队成员id
}Copy
返回:
{}
创建团队
URL:
/api/account/team/create
Method:
POST
Body:
{
    "show": true,
    "files": [],
    "avatarUrl": "",//头像
    "name": "",//部门名称
    "saving": true,
    "description": "" //部门描述
}Copy
返回:
{
    "id": "", //团队id
    "name": "",
    "avatarUrl": "",
    "description": "",
    "ownerId": "0178f286-96d0-70cd-809a-3a16f96435e1",
    "inviteLink": null,
    "inviteExpiration": null,
    "inviteApprove": null,
    "createdAt": "2024-01-29T09:37:05.565137203Z",
    "isAdmin": null
}Copy
删除团队
URL:
/api/account/team/delete
Method:
POST
Body:
{
    "id": "" //团队id
}Copy
返回:
{}
更新团队信息
URL:
/api/account/team/update
Method:
POST
Body:
{
    "id": "", //团队id 必传
    "avatarUrl":"",//
    "description":"",//团队描述
    "name":"",//团队名称
    "inviteLink": true,//允许通过邀请链接加入
    "inviteApprove": true,//邀请链接加入规则,true表示需要管理员审核
    "inviteExpiration": ""//邀请链接有效期
     //... 改什么传什么
}Copy
返回:
{
  id:""//团队id
}Copy
查找账号
URL:
/api/account/find
Method:
POST
Body:
{
  account: ""//账号
}Copy
返回:
{
    "id": "",//用户id
    "username": "", //用户名
    "createdAt": "0001-01-01T00:00:00Z",
    "updatedAt": "0001-01-01T00:00:00Z"
}Copy
团队邀请人员
URL:
/api/account/team/invite
Method:
POST
Body:
{
    "teamId": "", //团队id
    "teamName": "",//团队名称
    "memberId": "",//被邀请成员id
    "memberName": ""//被邀请成员用户名
}Copy
返回:
{}
获取账号信息
URL:
/api/account/detail
Method:
POST
返回:
{
    "id": "",
    "phone": "",
    "username": "",
    "avatarUrl":"",//头像地址
    "roles": [],//角色
    "departmentId": "",//部门id
    "departmentName": "", //部门名称
    // "vip": "2027-06-02T09:28:34.053+08:0",//vip到期时间
    // "vipData": { //vip可存图纸数量
    //     "2d": 2000,
    //     "3d": 2000,
    //     "v": 2000
    // },
    "teamList": [
        {
            "id": "",//团队id
            "name": "" //团队名称
        },
        //...
    ],
    "createdAt": "",
    "updatedAt": ""
}Copy
更新账号信息
URL:
/api/account/profile/update
Method:
POST
BODY:
{
  avatarUrl:""//改什么传什么,例如改头像
}Copy
返回:
{}
上传头像
URL:
/api/image/upload
Method:
POST
FormData
•file:Blob 文件二进制
•directory:string 文件存放文件夹,'/头像'
返回
{
    "id": "",
    "name": "test.png",//图片名称自动获取
    "fullname": "",//图片完整文件名
    "url": "",//图片路径
    "directory": "/头像",//图片所在文件夹
    "shared": true,
    "size": 1871165,
    "ownerId": "xxx",
    "ownerName": "xxx",
    "createdAt": "2021-01-18T05:51:33.131708608Z",
    "updatedAt": "0001-01-01T00:00:00Z"
}Copy
更新登录账号
URL:
/api/account/account/update
Method:
POST
BODY:
{
    "account": ""//登录账号
}Copy
返回: {}
更新邮箱
URL:
/api/account/email/update
Method:
POST
Body:
{
    "show": true,
    "email": "",//邮箱
    "code": "",//动态验证码
    "captcha": ""//图形验证码
}Copy
返回:
{}
获取图片验证码
URL:
/api/account/captcha?t=时间戳
Method:
GET
返回:
图片资源地址
向邮箱发送动态验证码
URL:
/api/account/email/update
Method:
POST
Body:
{
    "email": "", //邮箱
    // "code": "", //图形验证码
    "type": "email" //类型
}Copy
返回:
{}
修改密码
URL:
/api/account/password/update
Method:
POST
Body:
{
    "code": "",//当前密码
    "password": "" //新密码
}Copy
返回:
{}