应用市场
启动进程
接口方法: 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]"
}