SQLAlchemy
核心 ORM 引擎,负责所有仿真数据与用户档案的持久化。
app/__init__.py 是整个后端系统的“心脏”。它通过插件化的设计,将数据库 ORM、安全验证、数据压缩和跨域访问等核心能力有机地结合在一起。
系统通过 create_app() 函数实现应用实例的延时创建。这种架构带来了以下工程优势:
Config 对象。db.init_app(app) 的方式,允许插件在独立于 App 实例的情况下进行定义。SQLAlchemy
核心 ORM 引擎,负责所有仿真数据与用户档案的持久化。
JWT Manager
基于 Token 的身份验证方案,驱动跨域安全访问与管理员权限校验。
Flask-Compress
关键性能组件。由于仿真产生的结果矩阵(JSON)通常极大,此组件开启 Gzip/Brotli 压缩,可减少约 80% 的网络传输负载。
Flask-CORS
解决前后端分离架构下的跨域问题,通过白名单机制允许特定 Header 访问。
应用根据业务边界将路由拆分为四大蓝图,实现了代码的模块化管理:
| 模块名称 | 路由前缀 | 职能描述 |
|---|---|---|
| Admin | /admin | 用户审计、仿真记录管理与数据清理 |
| Simulation | /api | 核心 CPD 计算任务提交、状态轮询与结果调取 |
| Auth | /auth | 用户注册、登录、Token 签发与有效性检查 |
| XRD | /api/xrd | XRD 实验数据解析、基线校正与峰位提取 |
CORS(app, resources={ r"/*": { "origins": "*", "allow_headers": ["Content-Type", "Authorization"], # 允许前端携带 JWT Token "methods": ["GET", "POST", "DELETE", "OPTIONS"] }})db = SQLAlchemy())。app.config.from_object(Config) 注入全局变量。create_app 内部调用 init_app(app),将插件与当前应用实例挂钩。Migrate 插件,支持通过命令行同步数据库表结构变更。