跳转至

组件管理接口

接口

(1)组件列表

描述:组件市场中展示的组件列表

方法:GET

请求路径:/xbaas/v1/plugin/list

请求参数:

名称 位置 类型 是否必填 说明
status query string 按状态过滤,如果为空则返回全部状态。可选值见组件状态。

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data []Object 组件列表

请求示例:

GET

/xbaas/v1/plugin/list?status=RUNNING

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": [{
      "id":1,
      "name":"浏览器",
      "homepage":"/xbaas/v1/explorer/console",
      "desc":"超级链浏览器是百度超级链提供的默认浏览器,您可以切换不同链,查询不同链上的数据",
      "author":"百度超级链",
      "authorIcon":"/xbaas/v1/plugin/icons/explorer.png",
      "from":"Platform",
      "status":"RUNNING",
      "createTime":"2022-07-19T03:16:34+08:00"
  },
  {
      "id":2,
      "name":"Hello world 组件",
      "homepage":"/xbaas/helloworld/index.html",
      "desc":"我是Hello world",
      "author":"百度",
      "authorIcon":"/xbaas/v1/plugin/icons/382562774-新建应用流程 PRD.png",
      "from":"User",
      "status":"INIT",
      "createTime":""
  }]
}

(2)组件详情

描述:用于查询组件的详细信息

方法:GET

请求路径:/xbaas/v1/plugin/info

请求参数:

名称 位置 类型 是否必填 说明
id query int 组件id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data Object 组件详情

请求示例:

GET

/xbaas/v1/plugin/info?id=1

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": {
      "id":1,
      "name":"浏览器",
      "englishName":"explorer",
      "version":"1.0.0",
      "image":"baas/explorer:v1.0.0",
      "routePrefix":"/xbaas/v1/explorer",
      "port":8080,
      "homepage":"/xbaas/v1/explorer/console",
      "style":"iframe",
      "status":2332,
      "desc":"我是一个IDE",
      "author":"黑曜石",
      "authorIcon":"/xbaas/v1/plugin/icons/explorer.png",
      "createTime":"2022-12-12 12:12:111",
      "updateTime":"2022-12-12 12:12:111",
      "from":"platform",
      "error_message":""
  }
}

(3)导入组件

描述:导入一个新的组件

方法:POST

请求路径:/xbaas/v1/plugin/import

请求参数:

名称 位置 类型 是否必填 说明
name body string 组件名称
englishName body string 组件英文名
version body string 组件版本
image body string 镜像名称
routePrefix body string 路由前缀
port body string 端口号
homepage body string 组件主页地址
desc body string 组件描述
author body string 贡献者
file body string icon图片流

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data int 组件id

请求示例:

POST

/xbaas/v1/plugin/import

{
  "name": "测试组件1",
  "englishName": "helloworld",
  "version": "1.0.0",
  "desc": "我是Hello world",
  "image": "registry.baidubce.com/baas/helloworld:1.0.0",
  "routePrefix": "/xbaas/helloworld",
  "port": 8080,
  "homepage": "/xbaas/helloworld/index.html",
  "author": "百度"
}

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": 1
}

(4)启动组件

描述:启动组件

方法:POST

请求路径:/xbaas/v1/plugin/start

请求参数:

名称 位置 类型 是否必填 说明
id body int 组件id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data object nil

请求示例:

POST

/xbaas/v1/plugin/start

{
  "id": 2
}

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": nil
}

(5)停止组件

描述:停止组件

方法:POST

请求路径:/xbaas/v1/plugin/stop

请求参数:

名称 位置 类型 是否必填 说明
id body int 组件id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data object nil

请求示例:

POST

/xbaas/v1/plugin/stop

{
  "id": 2
}

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": nil
}

(6)失败重试组件

描述:失败重试组件

方法:POST

请求路径:/xbaas/v1/plugin/retry

请求参数:

名称 位置 类型 是否必填 说明
id body int 组件id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data object nil

请求示例:

POST

/xbaas/v1/plugin/retry

{
  "id": 2
}

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": nil
}

(7)组件删除

描述:组件删除

方法:DELETE

请求路径:/xbaas/v1/plugin/destroy

请求参数:

名称 位置 类型 是否必填 说明
id query int 组件id

响应体:

字段 字段类型 字段内容
msg string 响应的消息
code string 状态码
data object nil

请求示例:

DELETE

/xbaas/v1/plugin/destroy?id=46

{
  "id": 2
}

响应示例:

{
  "code": "0",
  "msg": "ok",
  "data": nil
}

数据结构

(1)组件

字段 字段类型 字段内容
ID int64 唯一id
Name string 组件名称
Homepage string 组件主页地址
Desc string 组件描述
Author string 贡献者
AuthorIcon string 贡献者图标
From string 组件来源,Platform=平台,User=用户上传
Status string 状态,详见组件状态
CreateTime string 安装时间:RUNNING状态返回时间,其他状态返回空

状态信息

(1)组件状态

状态 说明
INIT 待安装
STARTING 安装中
RUNNING 已安装
STARTFAILED 安装失败
STOPPING 卸载中
STOPFAILED 卸载失败

错误码

错误码 说明
PluginNotExist 该组件不存在
IconSizeError 图标大小超过限制
DuplicateEnglishName 有相同英文名的组件在运行中
DuplicateRoutePrefix 有相同路由前缀的组件在运行中
RoutePrefixLack 路由必须以/xbaas开头
HomepageError 主页地址必须以路由前缀开头
PlatformDeny 平台组件禁止操作