Files
Web_BAI_Manage_ApiServer/docs/backend.md
XuJiacheng 72e974672e feat: 实现微信小程序后端接口与用户认证系统
新增微信登录/注册合一接口、资料完善接口和token刷新接口
重构用户服务层,支持自动维护用户类型和资料完整度
引入JWT认证中间件和请求验证中间件
更新文档与测试用例,支持dist构建部署
2026-03-20 18:32:58 +08:00

153 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后端功能文档
## 项目概述
后端项目是基于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作为数据库提供轻量级的数据存储解决方案。通过Pocketbase API进行数据操作支持CRUD操作和实时数据同步。
### 环境变量
环境变量配置位于 `.env` 文件,包括:
- 服务器端口
- Pocketbase API URL
- Pocketbase认证信息
- 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)。