# 多云管理源码说明

## 当前目录

- 当前项目目录：解压后的 `多云管理` 文件夹
- 当前运行源码目录：`source`
- 当前正式软件：`多云管理.exe`
- 当前版本：`6.18.59`

以后优化、修复、热更新代码时，以当前便携包内的 `source` 为准。

## 主要文件夹

- `HUAWEI/`：华为云专属功能、界面、任务逻辑和脚本。
- `CTYUN/`：天翼云专属功能、界面、任务逻辑和脚本。
- `Volcengine/`：火山云专属功能、界面、任务逻辑和脚本。
- `common/`：三家云共用的小工具、路径、日志、任务、热更新和公共组件。
- `launcher/`：主窗口、左侧云切换、菜单键和页面加载逻辑。
- `assets/`：图标、云脚本和静态配置。
- `main.py`：源码方式启动入口。

三家云目录里各有自己的 `说明.md`。以后修改某一家云功能时，先看对应云目录说明，并尽量只改对应云文件，避免影响其他云已经正常的功能。

## 热更新规则

- 普通云任务逻辑改动：直接修改 `source` 内对应代码，下一次执行任务时会调用最新代码。
- 任务正在运行时修改代码：当前正在运行的任务继续使用旧代码，任务结束后的下一次运行才使用新代码。
- 界面布局、按钮、显示内容改动：点击左下角菜单里的 `界面更新`，或重新进入对应云页面后生效。
- 主窗口入口、依赖、启动器、壳体 exe 机制改动：需要重新生成 exe 或重新启动软件自身。

## 使用方式

双击 `多云管理.exe` 是正式便携壳体运行方式。

如果只是本机调试源码，也可以在 `source` 目录执行：

```powershell
python -B main.py
```

## 打包说明

当前 `source` 是热更新运行源码目录，不再放旧版本运行脚本、旧版打包脚本这类历史工程文件。

只有下面这些情况才需要重新生成 exe 或重新打包便携包：

- 修改了壳体 exe 本身的启动机制。
- 修改了主窗口启动入口或依赖加载方式。
- 新增了别人电脑必须随 exe 携带的依赖文件。
- 需要把当前便携包重新发给别人使用。

## 代码注释要求

以后这个项目新增或修改代码时，注释统一写中文。

重点给下面这些位置写清楚中文注释：

- 云厂商 API 请求参数。
- 云资源创建、绑定、释放、退订、重装逻辑。
- SSH 执行远程脚本的流程。
- 多进程、多线程、重试、超时、状态保存逻辑。
- 同云多 AK/SK 并发控制逻辑。
- 后续维护时容易误改的硬性配置和判断条件。

简单变量赋值不需要写无意义注释，重点是把复杂流程、风险点和不能乱动的配置说明白。
