# 后端功能文档 ## 项目概述 后端项目是基于Node.js的API接口服务,为微信小程序前端和Web后台管理提供数据交互支持。 ## 技术栈 - Node.js 22+ - Express.js - Pocketbase (数据库) - TypeScript - JWT (认证) - dotenv (环境变量管理) ## 项目结构 ``` back-end/ ├── src/ │ ├── controllers/ # 控制器 │ ├── routes/ # 路由 │ ├── services/ # 业务逻辑 │ ├── models/ # 数据模型 │ ├── middlewares/ # 中间件 │ ├── utils/ # 工具函数 │ └── index.js # 入口文件 ├── spec/ # OpenAPI规范 ├── tests/ # 测试文件 ├── scripts/ # 脚本文件 ├── .env # 环境变量 └── package.json # 项目配置 ``` ## 核心功能模块 ### 1. 认证模块 - 用户登录/注册 - JWT token生成与验证 - 权限控制 ### 2. 用户管理 - 用户信息管理 - 密码重置 - 用户状态管理 ### 3. 数据管理 - 数据CRUD操作 - 数据验证 - 数据统计 ### 4. AI交互模块 - 与AI网关的集成 - RAG系统对接 - 智能问答 ### 5. 视频服务 - 视频流处理 - 视频存储 - 视频转码 ## 开发指南 ### 环境搭建 1. 安装依赖 ```bash npm install ``` 2. 启动开发服务器 ```bash npm run dev ``` 3. 运行测试 ```bash npm run test ``` ### 代码规范 - 使用ESLint进行代码检查 - 遵循RESTful API设计规范 - 错误处理统一化 - 日志记录 ### 路由设计 路由配置位于 `src/routes/`,支持RESTful API设计。 ### 数据库操作 使用Pocketbase作为数据库,提供轻量级的数据存储解决方案。 ### 环境变量 环境变量配置位于 `.env` 文件,包括: - 服务器端口 - 数据库连接信息 - JWT密钥 - 其他配置参数 ## API设计规范 ### 响应格式 ```json { "code": 200, "message": "success", "data": {} } ``` ### 错误处理 ```json { "code": 400, "message": "错误信息", "data": null } ``` ### 状态码定义 - 200: 成功 - 400: 请求错误 - 401: 未授权 - 403: 禁止访问 - 404: 资源不存在 - 500: 服务器内部错误 ## 中间件 - 认证中间件 - 日志中间件 - 错误处理中间件 - CORS中间件 ## 安全措施 - JWT认证 - 密码加密 - 输入验证 - 防止SQL注入 - 防止XSS攻击 ## 部署说明 详见 [部署文档](deployment.md)。