Files
jiebanke/backend
aiotagro 31541a1f8b Merge remote-tracking branch 'origin/main'
# Conflicts:
#	admin-system/.env.production
2025-09-10 14:17:17 +08:00
..
2025-09-03 13:19:41 +08:00
2025-09-03 13:25:08 +08:00
2025-09-03 13:43:49 +08:00
2025-09-03 13:25:08 +08:00

结伴客后端服务

基于 Node.js + Express + MongoDB 的后端 API 服务。

功能特性

  • 用户认证系统JWT
  • 微信登录集成
  • RESTful API 设计
  • 数据验证和清洗
  • 错误处理中间件
  • 请求频率限制
  • 安全防护CORS, Helmet, XSS防护
  • MongoDB 数据库集成
  • 环境配置管理

快速开始

环境要求

  • Node.js 16+
  • MongoDB 4.4+
  • npm 或 yarn

安装依赖

cd backend
npm install

环境配置

  1. 复制环境变量文件:
cp .env.example .env
  1. 编辑 .env 文件,配置你的环境变量:
MONGODB_URI=mongodb://mongodb.jiebanke.com:27017/jiebanke
JWT_SECRET=your-super-secret-jwt-key

启动开发服务器

# 开发模式(带热重载)
npm run dev

# 生产模式
npm start

# 调试模式
npm run debug

测试

# 运行测试
npm test

# 运行测试并生成覆盖率报告
npm run test:coverage

# 运行端到端测试
npm run test:e2e

API 文档

认证接口

用户注册

POST /api/v1/auth/register
Content-Type: application/json

{
  "username": "testuser",
  "password": "password123",
  "nickname": "测试用户",
  "email": "test@jiebanke.com",
  "phone": "13800138000"
}

用户登录

POST /api/v1/auth/login
Content-Type: application/json

{
  "username": "testuser",
  "password": "password123"
}

获取当前用户信息

GET /api/v1/auth/me
Authorization: Bearer <token>

微信登录

POST /api/v1/auth/wechat-login
Content-Type: application/json

{
  "code": "微信授权码",
  "userInfo": {
    "nickName": "微信用户",
    "avatarUrl": "https://...",
    "gender": 1
  }
}

项目结构

backend/
├── src/
│   ├── controllers/     # 控制器层
│   ├── models/         # 数据模型
│   ├── routes/         # 路由定义
│   ├── middleware/     # 中间件
│   ├── utils/          # 工具函数
│   ├── app.js          # Express应用配置
│   └── server.js       # 服务器入口
├── tests/              # 测试文件
├── .env.example        # 环境变量示例
├── package.json
└── README.md

数据库设计

用户表 (users)

  • 用户基本信息
  • 认证信息
  • 统计信息
  • 第三方登录信息

开发指南

添加新功能

  1. 创建数据模型 (src/models/)
  2. 创建控制器 (src/controllers/)
  3. 创建路由 (src/routes/)
  4. app.js 中注册路由

代码规范

  • 使用 ESLint 进行代码检查
  • 遵循 JavaScript Standard Style
  • 使用 async/await 处理异步操作
  • 使用错误处理中间件

部署

Docker 部署

# 构建镜像
docker build -t jiebanke-backend .

# 运行容器
docker run -p 3000:3000 --env-file .env jiebanke-backend

PM2 部署

npm install -g pm2
pm2 start ecosystem.config.js

故障排除

常见问题

  1. MongoDB 连接失败

    • 检查 MongoDB 服务是否运行
    • 检查连接字符串是否正确
  2. JWT 验证失败

    • 检查 JWT_SECRET 环境变量
  3. CORS 错误

    • 检查前端域名是否在 CORS 白名单中

技术支持

如有问题,请查看日志文件或联系开发团队。

许可证

MIT License