添加前后端Dockerfile和docker-compose配置 创建部署脚本deploy.sh 完善项目文档结构包括前后端文档、API文档和部署文档 更新README提供项目概述和快速开始指南 文档包括详细的技术栈说明、功能模块介绍和部署指南 部署方案支持一键式容器化部署和宝塔面板集成
152 lines
2.4 KiB
Markdown
152 lines
2.4 KiB
Markdown
# 后端功能文档
|
||
|
||
## 项目概述
|
||
|
||
后端项目是基于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)。 |