3.2 KiB
3.2 KiB
后端代码与工具说明 (DesignerCEP)
本文档详细说明了 DesignerCEP 项目的后端服务、测试脚本以及辅助管理工具。
1. 自动化发布 (publish.py)
位于项目根目录 d:\main\DesignerCEP\publish.py。
- 类型: Python 脚本。
- 功能: 实现 "一键发布" 流程。
- 打包: 自动将
Designer目录压缩为.zip文件(自动排除.git,node_modules等无关文件)。 - 上传: 调用后端接口
POST /api/v1/admin/upload_version将 ZIP 包上传到服务器。 - 鉴权: 使用
token进行简单的管理员验证。
- 打包: 自动将
- 使用方法:
python publish.py ./Designer --name "release_v1.0"
2. 后端服务 (Server/)
位于 d:\main\DesignerCEP\Server\,基于 Python FastAPI 框架。
核心文件
| 路径/文件名 | 作用 |
|---|---|
app/main.py |
程序入口。初始化 FastAPI 应用,配置 CORS(允许跨域),挂载路由,初始化数据库。 |
app/api/v1/client.py |
客户端接口。处理插件端的请求: - /check_update: 检查更新(含过期校验)。- /login: 用户登录(返回 Token 和权限)。 |
app/api/v1/admin.py |
管理接口。供 AdminTool 使用: - /upload_version: 接收发布的 ZIP 包。- /groups: 管理用户组 (Stable/Dev)。- /users: 管理用户及其所属组。 |
app/models/ |
数据库模型 (SQLAlchemy)。定义 User 和 PluginGroup 表结构。 |
tests/test_api.py |
集成测试。包含完整的业务流程测试: 1. 创建用户组。 2. 上传 ZIP 包。 3. 将组指向该 ZIP。 4. 模拟客户端检查更新,验证返回版本是否正确。 5. 验证过期用户是否被拦截。 |
3. 管理后台工具 (AdminTool/)
位于 d:\main\DesignerCEP\AdminTool\,基于 PyQt5 的桌面应用程序。
- 功能: 为不熟悉命令行的管理员提供图形化界面。
- 主要能力:
- 用户管理: 增删改查用户,设置过期时间,分配用户组。
- 版本管理: 切换某个组当前使用的插件版本(实现灰度发布或回滚)。
- 发布管理: (可选) 集成文件上传功能。
总结
整个后端生态由这三部分组成闭环:
- Server: 提供数据存储和 API 服务。
- publish.py: 开发者用的“发货工具”。
- AdminTool: 管理员用的“控制台”。