Files
DP/tempdocs/后端代码与工具说明.md

3.2 KiB
Raw Blame History

后端代码与工具说明 (DesignerCEP)

本文档详细说明了 DesignerCEP 项目的后端服务、测试脚本以及辅助管理工具。


1. 自动化发布 (publish.py)

位于项目根目录 d:\main\DesignerCEP\publish.py

  • 类型: Python 脚本。
  • 功能: 实现 "一键发布" 流程。
    1. 打包: 自动将 Designer 目录压缩为 .zip 文件(自动排除 .git, node_modules 等无关文件)。
    2. 上传: 调用后端接口 POST /api/v1/admin/upload_version 将 ZIP 包上传到服务器。
    3. 鉴权: 使用 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)。定义 UserPluginGroup 表结构。
tests/test_api.py 集成测试。包含完整的业务流程测试:
1. 创建用户组。
2. 上传 ZIP 包。
3. 将组指向该 ZIP。
4. 模拟客户端检查更新,验证返回版本是否正确。
5. 验证过期用户是否被拦截。

3. 管理后台工具 (AdminTool/)

位于 d:\main\DesignerCEP\AdminTool\,基于 PyQt5 的桌面应用程序。

  • 功能: 为不熟悉命令行的管理员提供图形化界面。
  • 主要能力:
    • 用户管理: 增删改查用户,设置过期时间,分配用户组。
    • 版本管理: 切换某个组当前使用的插件版本(实现灰度发布或回滚)。
    • 发布管理: (可选) 集成文件上传功能。

总结

整个后端生态由这三部分组成闭环:

  1. Server: 提供数据存储和 API 服务。
  2. publish.py: 开发者用的“发货工具”。
  3. AdminTool: 管理员用的“控制台”。