# AdminTool（管理与部署工具）

本目录是一个基于 PyQt5 的图形化管理工具，包含用户管理、版本管理、后端部署与回滚等能力。

## 1. 当前文件与入口

- `admin_gui.py`：完整 GUI 主程序
- `deploy_tool.py`：快速启动器（直接切到“自动部署”页）
- `deploy_config.json`：部署配置（主机、账号、路径等）

说明：当前仓库不存在 `auto_deploy_core.py`，旧文档已失效。

## 2. 安装与启动

```bash
cd AdminTool
pip install -r requirements.txt
```

启动完整工具：

```bash
python admin_gui.py
```

仅进入部署页：

```bash
python deploy_tool.py
```

## 3. 主要功能（基于当前代码）

### 3.1 后端 API 管理

- 连接后台（默认 API: `https://backend.aidg168.uk/api/v1`）
- 用户组管理
- 用户权限管理
- 版本归档上传与分配

### 3.2 服务器部署（SSH）

- 通过 SSH/SFTP 上传后端代码到远程 `Server` 目录
- 远程执行 `docker-compose up -d --build`
- 查看容器状态、日志、健康检查
- 同步数据库结构（容器内执行脚本）

### 3.3 后端版本历史

- 记录部署版本
- 标记当前版本
- 回滚到历史版本
- 删除历史版本

## 4. 配置文件

工具读取 `deploy_config.json`。典型字段如下：

```json
{
  "host": "your-server.com",
  "port": "22",
  "username": "root",
  "password": "your-password",
  "remote_path": "/root/Server"
}
```

如果本地没有该文件，可先在 GUI 中填写并保存配置。

## 5. 依赖

`requirements.txt`：

- `PyQt5`
- `requests`
- `paramiko`
- `PyQt-Fluent-Widgets`

## 6. 使用建议

- 部署前先在目标服务器手工验证 `docker-compose` 可用。
- 首次部署建议先使用“检查状态”确认容器健康。
- 生产环境不要将 SSH 密码和 Token 提交进仓库。

