| 1234567891011121314151617 |
- ---
- description: Node Express 服务、数据库读取、下载图表服务与后端安全规范
- alwaysApply: true
- ---
- # Backend Rules
- - 后端目录包括 `server/` 和 `downLoadServer/`,均为 Node.js ESM + Express;保持现有模块拆分和 `import/export` 风格。
- - `server/index.js` 使用 `mysql2/promise` 动态连接 MySQL;不得直接硬编码数据库凭据或输出请求中的数据库密码。
- - 动态 SQL 必须校验表名、字段名和输入来源;优先使用反引号保护标识符和参数化查询,避免 SQL 注入。
- - 当前未使用 ORM 或迁移框架;任何数据库结构变更必须先给出迁移 SQL、回滚 SQL、影响范围和兼容方案。
- - `downLoadServer/src/server/server.js` 的路由按 `routes -> controllers -> utils` 组织;新增图表接口应放入对应 route/controller/util。
- - 上传、下载、MinIO、Puppeteer、临时文件、压缩包和图表渲染逻辑必须复用 `utils/chartService`、`uploadService`、`fileManager` 等已有能力。
- - 服务端接口修改必须保持原有路径、方法和响应结构兼容;新增参数必须可选,新增错误信息不得泄漏内部路径、密钥或环境变量。
- - 不得修改 PM2、nginx、部署脚本、生产端口、host 或 `.env` 配置,除非用户明确授权。
- - Express 错误处理应进入现有 `errorHandler` 或局部 `try/catch`;异步任务失败要释放资源并避免进程挂死。
- - 涉及文件系统操作时限制路径范围,避免目录穿越,临时文件应可清理。
|