组件管理接口
接口
(1)组件列表
描述:组件市场中展示的组件列表
方法:GET
请求路径:/xbaas/v1/plugin/list
请求参数:
| 名称 | 位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
| status | query | string | 否 | 按状态过滤,如果为空则返回全部状态。可选值见组件状态。 |
响应体:
| 字段 | 字段类型 | 字段内容 |
|---|---|---|
| msg | string | 响应的消息 |
| code | string | 状态码 |
| data | []Object | 组件列表 |
请求示例:
响应示例:
{
"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 | 组件详情 |
请求示例:
响应示例:
{
"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": "百度"
}
响应示例:
(4)启动组件
描述:启动组件
方法:POST
请求路径:/xbaas/v1/plugin/start
请求参数:
| 名称 | 位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
| id | body | int | 是 | 组件id |
响应体:
| 字段 | 字段类型 | 字段内容 |
|---|---|---|
| msg | string | 响应的消息 |
| code | string | 状态码 |
| data | object | nil |
请求示例:
响应示例:
(5)停止组件
描述:停止组件
方法:POST
请求路径:/xbaas/v1/plugin/stop
请求参数:
| 名称 | 位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
| id | body | int | 是 | 组件id |
响应体:
| 字段 | 字段类型 | 字段内容 |
|---|---|---|
| msg | string | 响应的消息 |
| code | string | 状态码 |
| data | object | nil |
请求示例:
响应示例:
(6)失败重试组件
描述:失败重试组件
方法:POST
请求路径:/xbaas/v1/plugin/retry
请求参数:
| 名称 | 位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
| id | body | int | 是 | 组件id |
响应体:
| 字段 | 字段类型 | 字段内容 |
|---|---|---|
| msg | string | 响应的消息 |
| code | string | 状态码 |
| data | object | nil |
请求示例:
响应示例:
(7)组件删除
描述:组件删除
方法:DELETE
请求路径:/xbaas/v1/plugin/destroy
请求参数:
| 名称 | 位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
| id | query | int | 是 | 组件id |
响应体:
| 字段 | 字段类型 | 字段内容 |
|---|---|---|
| msg | string | 响应的消息 |
| code | string | 状态码 |
| data | object | 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 | 平台组件禁止操作 |