应用市场
启动进程
接口方法: StartProcess
注意:确保 name 参数对应的脚本存在并可执行
描述: 该接口通过 StartProcess 方法启动一个进程。通过 URL 路径参数提供进程名称,接口会执行相应的脚本以启动该进程。
URL:
/start/{name}方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 要启动的进程名称 | "backup" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| 无 | string | 提示信息 | "Process {name} started." 或 "Failed to start process" |
示例:
curl -X GET http://api.example.com/store/startprocess?name=backup成功响应示例
- HTTP 状态码: 200 OK
"Process {name} started."失败响应示例
- HTTP 状态码: 500 Internal Server Error
"Failed to start process"停止进程
接口方法: StopProcess
注意:确保 name 参数对应的脚本存在并可执行
描述: 该接口通过 StopProcess 方法停止一个进程。通过 URL 路径参数提供进程名称,接口会执行相应的脚本以停止该进程。
URL:
/stop/{name}方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 要停止的进程名称 | "backup" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| 无 | string | 提示信息 | "Process {name} stopped." 或 "Failed to stop process" |
示例:
curl -X GET http://api.example.com/store/stopprocess?name=backup成功响应示例
- HTTP 状态码: 200 OK
"Process {name} stopped."失败响应示例
- HTTP 状态码: 500 Internal Server Error
"Failed to stop process"启动所有进程
接口方法: StartAll
注意:确保所有预定义的进程存在并可执行
描述: 该接口通过 StartAll 方法启动所有预定义的进程
URL:
/store/startall方法:
GET是否需要登录: false
请求参数: 无
返回参数: 无
示例:
curl -X GET http://api.example.com/store/startall成功响应示例
- HTTP 状态码: 200 OK
"All processes started."失败响应示例
- HTTP 状态码: 500 Internal Server Error
"Failed to start all processes"停止所有进程
接口方法: StopAll
注意:确保所有预定义的进程存在并可执行
描述: 该接口通过 StopAll 方法停止所有预定义的进程
URL:
/store/stopall方法:
GET是否需要登录: false
请求参数: 无
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| 无 | string | 提示信息 | "All processes stopped." 或 "Failed to stop all processes" |
示例:
curl -X GET http://api.example.com/store/stopall成功响应示例
- HTTP 状态码: 200 OK
"All processes stopped."失败响应示例
- HTTP 状态码: 500 Internal Server Error
"Failed to stop all processes"重启进程
接口方法: ReStartProcess
注意:确保 name 参数对应的脚本存在并可执行
描述: 该接口通过 ReStartProcess 方法重启指定名称的进程。通过 URL 路径参数提供进程名称,接口会先停止该进程,然后重新启动。
URL:
/store/restart/{name}方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 要重启的进程名称 | "backup" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| 无 | string | 提示信息 | "Process {name} restarted." 或 "Failed to restart process" |
示例:
curl -X GET http://api.example.com/store/restartprocess?name=backup成功响应示例
- HTTP 状态码: 200 OK
"Process {name} restarted."失败响应示例
- HTTP 状态码: 500 Internal Server Error
"Failed to restart process"获取进程状态
接口方法: Status
注意:确保所有预定义的进程存在并可执行
描述: 该接口通过 Status 获取所有进程的当前状态。返回每个进程的名称、运行状态、等待状态、进程 ID、最后一次心跳时间和退出代码。
URL:
/store/status方法:
GET是否需要登录: false
请求参数: 无
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "Process status retrieved successfully." 或 "Failed to encode process status" |
| data | array | 进程状态信息 | [{"Name": "backup", "Running": true, "Waiting": false, "Pid": 1234, "LastPing": "2023-10-10T10:00:00Z", "ExitCode": 0}] |
示例:
curl -X GET http://api.example.com/store/status成功响应示例
- HTTP 状态码: 200 OK
{
"message": "Process status retrieved successfully.",
"data": [{"Name": "backup", "Running": true, "Waiting": false, "Pid": 1234, "LastPing": "2023-10-10T10:00:00Z", "ExitCode": 0}]
}失败响应示例
- HTTP 状态码: 500 Internal Server Error
{
"message": "Failed to encode process status: [error details]"
}接口方法: RunOutHandler
注意:确保请求体包含有效的 JSON 数据,并且 Name 字段不为空。
描述: 该接口通过 RunOutHandler 获取查询参数提供商店名称,返回指定商店的运行外部文件请求。
URL:
/store/installOut方法:
GET是否需要登录: false
进程列表
接口方法: ListAllProcessesHandler
注意:确保所有预定义的进程存在并可执行
描述: 该接口通过 ListAllProcessesHandler 列出所有当前运行的进程。调用 listAllProcesses 函数获取进程列表,并返回 JSON 格式的响应。
URL:
/store/listall方法:
GET是否需要登录: false
请求参数: 无
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| processes | array | 进程信息列表 | [{"Name": "backup", "Pid": 1234, "Status": "Running"}] |
示例:
curl -X GET http://api.example.com/store/listall成功响应示例
- HTTP 状态码: 200 OK
{
"Processes": [
{
"Name": "backup",
"Pid": 1234,
"Status": "Running"
}
]
}失败响应示例
- 列出进程失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Failed to list all processes"
}- JSON 编码失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Failed to encode response as JSON"
}终止进程
接口方法: KillProcessByNameHandler
注意:确保 name 参数对应的进程存在并可执行
描述: 该接口通过 KillProcessByNameHandler 终止指定名称的进程。通过查询参数提供进程名称,接口会终止该进程。
URL:
/store/killport方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 要终止的进程名称 | "backup" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "Process 'backup' has been killed" 或 "Failed to kill process" |
示例:
curl -X GET http://api.example.com/store/killport?name=backup成功响应示例
- HTTP 状态码: 200 OK
{
"message": "Process 'backup' has been killed"
}失败响应示例
- HTTP 状态码: 500 Internal Server Error
{
"message": "Failed to kill process: [error details]"
}获取商店列表
接口方法: GetStoreListHandler
描述: 该接口通过 GetStoreListHandler 获得查询参数提供类别名称,返回指定类别的商店列表。
URL:
/store/storelist方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| cate | string | 否 | 商店类别名称 | "electronics" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "获取商店列表成功" 或 "获取商店列表失败" |
| data | array | 商店列表 | [{"Name": "Store1", "Category": "electronics"}] |
示例:
curl -X GET http://api.example.com/store/storelist?cate=electronics成功响应示例
- HTTP 状态码: 200 OK
{
"message": "",
"data": [
{
"Name": "Store1",
"Category": "electronics"
}
]
}失败响应示例
- 获取商店列表失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Failed to retrieve store list"
}下载文件
接口方法: DownloadHandler
描述: 该接口通过 DownloadHandler 获取查询参数提供商店名称,返回指定商店的下载请求。
URL:
/store/download方法:
POST是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| Name | string | 是 | 包名 | "example" |
| DownloadUrl | string | 否 | 下载 URL | "http://example.com/file.zip" |
| PkgUrl | string | 否 | 包 URL | "http://example.com/package.zip" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "install the app success!" 或 "Download failed" |
| data | object | 下载信息 | {"Name": "example", "Version": "1.0.0"} |
示例:
curl -X POST http://api.example.com/store/download?Name=example成功响应示例
- HTTP 状态码: 200 OK
{
"message": "install the app success!",
"data": {
"Name": "example",
"Version": "1.0.0"
}
}失败响应示例
- 请求体解析失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "first Decode request body error"
}- 名称或 URL 为空
- HTTP 状态码: 500 Internal Server Error
{
"message": "the name or url is empty"
}- 下载失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Download failed"
}- 解压失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Decompress failed: [error details]"
}安装应用
接口方法: InstallHandler
注意:确保请求体包含有效的 JSON 数据,并且 Name 字段不为空。
描述: 该接口通过 InstallHandler 获取查询参数提供商店名称,返回指定商店的安装请求。
URL:
/store/install方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 要安装的插件或应用名称 | "example" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "install the app success!" 或 "the install.json is error" |
| data | object | 安装信息 | {"Name": "example", "Version": "1.0.0"} |
示例:
curl -X GET "http://api.example.com/store/install?name=example" -H "accept: application/json"成功响应示例
- HTTP 状态码: 200 OK
{
"message": "install the app success!",
"data": {
"Name": "example",
"Version": "1.0.0"
}
}失败响应示例
- 名称参数为空
- HTTP 状态码: 400 Bad Request
{
"message": "the app name is empty!"
}- 安装信息错误
- HTTP 状态码: 500 Internal Server Error
{
"message": "the install.json is error: [error details]"
}- 安装失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "install failed: [error details]"
}获取安装信息
接口方法: GetInstallInfoHandler
注意:确保请求体包含有效的 JSON 数据,并且 Name 字段不为空。
描述: 该接口通过 GetInstallInfoHandler 获取查询参数提供商店名称,返回指定商店的安装信息。
URL:
/store/installInfo方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 插件或应用的名称 | "example" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "" 或 "name is required" 或 "Error retrieving install info" |
| data | object | 安装信息 | {"Name": "example", "Version": "1.0.0", "Installed": true} |
示例:
curl -X GET "http://api.example.com/install/info?name=example" -H "accept: application/json"成功响应示例
- HTTP 状态码: 200 OK
{
"message": "",
"data": {
"Name": "example",
"Version": "1.0.0",
"Installed": true
}
}失败响应示例
- 名称参数为空
- HTTP 状态码: 400 Bad Request
{
"message": "name is required"
}- 获取安装信息失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Error retrieving install info: [error details]"
}运行外部文件
接口方法: RunOutHandler
注意:确保请求体包含有效的 JSON 数据,并且 Name 字段不为空。
描述: 该接口通过 RunOutHandler 获取查询参数提供商店名称,返回指定商店的运行外部文件请求。
URL:
/store/installOut方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| url | string | 是 | 文件的 URL,用于确定本地文件路径 | "http://example.com/file.exe" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "start success" 或 "file not found" 或 "start error: [error details]" |
| data | string | 额外信息 | 通常为空 |
示例:
curl -X GET "http://api.example.com/store/installOut?url=http://example.com/file.exe" -H "accept: application/json"成功响应示例
- HTTP 状态码: 200 OK
{
"message": "start success",
"data": ""
}失败响应示例
- 文件未找到
- HTTP 状态码: 404 Not Found
{
"message": "file not found"
}- 启动文件失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "start error: [error details]"
}卸载应用
接口方法: UnInstallHandler
注意:确保请求体包含有效的 JSON 数据,并且 Name 字段不为空。
描述: 该接口通过 UnInstallHandler 获取查询参数提供商店名称,返回指定商店的卸载请求。
URL:
/store/uninstall方法:
GET是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 要卸载的插件或应用名称 | "example" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "uninstall the app success!" 或 "the app name is empty!" 或 "Error during uninstallation" |
| data | string | 额外信息 | "success" 或错误信息 |
示例:
curl -X GET "http://api.example.com/store/uninstall?name=example" -H "accept: application/json"成功响应示例
- HTTP 状态码: 200 OK
{
"message": "uninstall the app success!",
"data": "success"
}失败响应示例
- 名称参数为空
- HTTP 状态码: 400 Bad Request
{
"message": "the app name is empty!"
}- 卸载失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Error during uninstallation: [error details]"
}商城设置
接口方法: StoreSettingHandler
注意:确保请求体包含有效的 JSON 数据,并且 Name 字段不为空。
描述: 该接口通过 StoreSettingHandler 获取查询参数提供商店名称,返回指定商店的设置请求。
URL:
/store/setting方法:
POST是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| name | string | 是 | 商店名称 | "exampleStore" |
| cmdKey | string | 是 | 要执行的命令键 | "start" |
| ... | any | 否 | 其他配置信息 | {"key": "value"} |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "success" 或 "name is required" 或 "cmdKey is required" 或 "cmdKey is not found" |
| data | object | 设置信息 | {"key": "value"} |
示例:
curl -X POST "http://api.example.com/store/setting" \
-H "Content-Type: application/json" \
-d '{"name": "exampleStore", "cmdKey": "start", "configKey": "configValue"}'成功响应示例
- HTTP 状态码: 200 OK
{
"message": "success",
"data": "success"
}失败响应示例
- 名称参数为空
- HTTP 状态码: 400 Bad Request
{
"message": "name is required"
}- 获取商店信息失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Error retrieving store info: [error details]"
}- 命令键未找到
- HTTP 状态码: 500 Internal Server Error
{
"message": "cmdKey is not found"
}- 执行命令失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Error executing command: [error details]"
}文件上传
接口方法: UploadHandler
描述: 该接口通过 UploadHandler 确保上传的文件是有效的压缩包,并包含 install.json 文件。
URL:
/store/upload方法:
POST是否需要登录: false
请求参数:
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| files | file | 是 | 要上传的文件 | "example.zip" |
返回参数:
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| message | string | 提示信息 | "install the app success!" 或 "上传文件过大" 或 "没有找到文件" 或 "store.json not found" |
| data | object | 安装信息 | {"Name": "example", "Version": "1.0.0"} |
示例:
curl -X POST "http://api.example.com/store/upload" \
-H "Content-Type: multipart/form-data" \
-F "files=@example.zip"成功响应示例
- HTTP 状态码: 200 OK
{
"message": "install the app success!",
"data": {
"Name": "example",
"Version": "1.0.0"
}
}失败响应示例
- 上传文件过大
- HTTP 状态码: 500 Internal Server Error
{
"message": "上传文件过大: [error details]"
}- 未找到文件
- HTTP 状态码: 500 Internal Server Error
{
"message": "没有找到文件"
}- 读取文件内容出错
- HTTP 状态码: 500 Internal Server Error
{
"message": "读取文件内容出错: [error details]"
}- 保存文件出错
- HTTP 状态码: 500 Internal Server Error
{
"message": "保存文件出错: [error details]"
}- 解压缩失败
- HTTP 状态码: 500 Internal Server Error
{
"message": "Decompress error: [error details]"
}- 未找到 store.json
- HTTP 状态码: 500 Internal Server Error
{
"message": "store.json not found"
}- 安装信息错误
- HTTP 状态码: 500 Internal Server Error
{
"message": "the install.json is error: [error details]"
}