websoft9/docs/PRD.md
2022-07-04 10:11:57 +08:00

4.5 KiB
Raw Blame History

概述

StackHub主要架构和技术选型如下

  • 架构后台JS框架+后端Python提供API服务
  • 后端Python, Docker, Docker-compose, FastAPI, Typer
  • 打包工具:porter

后端接口说明

用户相关(登陆,退出,注册等 待讨论?)

APP详情是否共用websoft9主站信息 待讨论?)

APP列表是否共用websoft9主站信息 待讨论?)

App安装接口installApp

接口地址

http://ip:port/installApp

访问方式

Httpget/post 同步/异步:异步

接口参数

变量名 说明 类型 备注
appName 安装app的名称 str 必须

e.g.

{
    "appName":"redmine"
}

返回数据

变量名 说明 类型 备注
code 接口是否调用成功标志 str "0":失败 "1":成功
message 接口返回信息 str 如接口调用成功时返回"appName安装成功"
data APP相关信息 Json 主容器名: websoft9-appName App端口: port(9001)

e.g.

{
    "code":"1",
    "message":"appName安装成功",
    "data":{
        "containerName": "websoft9-appName",
        "port": "9001",
        "db_port": "3307",
        "info": "XXXX"
    }
}

接口主要内容

通过调用该接口判断服务器是否已经存在websoft9-appName容器如存在返回失败信息并提示已经存在该App如不存在在服务器端启动一个名为websoft9-appName的容器以及相关容器主容器以及相关容器的端口需要根据服务器状态动态设定。

App卸载接口uninstallApp

接口地址

http://ip:port/uninstallApp

访问方式

Httpget/post 同步/异步:同步

接口参数

变量名 说明 类型 备注
appName 卸载app的名称 str 必须

e.g.

{
    "appName":"redmine"
}

返回数据

变量名 说明 类型 备注
code 接口是否调用成功标志 str "0":失败 "1":成功
message 接口返回信息 str 如接口调用成功时返回"appName卸载成功"

e.g.

{
    "code":"0",
    "message":"appName卸载失败任然在运行端口为9001请ssh登陆如服务器后使用docker-ps查看并手动停止容器"
}

App状态查询接口getAppInfo

接口地址

http://ip:port/getAppInfo

访问方式

Httpget/post 同步/异步:同步

接口参数

变量名 说明 类型 备注
appName 安装app的名称 str 必须

e.g.

{
    "appName":"redmine"
}

返回数据

变量名 说明 类型 备注
code 接口是否调用成功标志 str "0":失败 "1":成功
message 接口返回信息 str 如接口调用成功时返回"appName状态信息查询"
data APP相关信息 Json 状态:启动成功 App端口: port(9001)

e.g.

{
    "code":"1",
    "message":"appName状态信息查询成功",
    "data":{
        "status": "0", // 0:未启动 1:启动成功 2启动失败(状态信息不正常将错误信息返回到info字段?)
        "port": "",
        "db_port": "",
        "info": ""
    }
}

客户已安装App状态查询接口getAllAppInfo

卸载客户已安装AppuninstallAllApp

服务器状态查询接口searchServer

接口地址

http://ip:port/searchServer

访问方式

Httpget/post 同步/异步:同步

接口参数

返回数据

变量名 说明 类型 备注
code 接口是否调用成功标志 str "0":失败 "1":成功
message 接口返回信息 str 如接口调用成功时返回"服务器状态信息查询成功"
data APP相关信息 Json 服务器各种信息如cpu使用率内存使用率磁盘占有率

e.g.

{
    "code":"1",
    "message":"服务器状态信息查询成功",
    "data":{
        "cpu": "10%", 
        "memory": "54%",
        "hdd": "",
        "risk": "3",
         ...
        "info": ""
    }
}