Files
ShaFaFanXin/后端/.github/copilot-instructions.md
2026-01-27 18:06:04 +08:00

2.0 KiB

项目概述

基于 Node.js + NestJS + TypeORM 构建的沙发翻新服务小程序后端系统,支持用户认证、案例管理、服务管理等核心功能。

技术栈

  • 框架: NestJS v11.x
  • 数据库: MySQL + TypeORM v0.3.x
  • 认证: JWT (JSON Web Token)
  • 验证: class-validator + class-transformer
  • 文档: Swagger/OpenAPI
  • 语言: TypeScript

开发规范

代码结构

  • 采用模块化架构,每个业务功能独立为模块
  • DTO 用于数据传输验证
  • Entity 定义数据库实体关系
  • Service 实现业务逻辑
  • Controller 处理路由和 HTTP 请求

权限控制

  • 使用 @Public() 装饰器标记公开接口
  • 使用 @Roles() 装饰器进行角色权限控制
  • 使用 @CurrentUser() 获取当前登录用户信息

API 设计原则

  • 遵循 RESTful API 设计规范
  • 统一错误处理和响应格式
  • 完整的 Swagger 文档注释
  • 输入验证和数据转换

数据库设计

  • Users: 用户表,支持多角色 (admin/customer/worker)
  • Cases: 案例表,展示翻新前后对比
  • Services: 服务表,管理服务项目和价格
  • Bookings: 预约表,处理客户预约和订单

开发流程

  1. 使用 npm run start:dev 启动开发服务器
  2. 访问 http://localhost:3000/docs 查看 API 文档
  3. 确保 MySQL 数据库连接配置正确
  4. TypeORM 会自动同步数据库结构 (开发环境)

已完成功能

  • TypeORM 数据库配置和连接
  • JWT 认证系统 (注册/登录/刷新令牌)
  • 用户管理模块 (个人资料/权限控制)
  • 案例管理模块 (CRUD/点赞/筛选)
  • 服务管理模块 (价格/状态/排序)
  • Swagger API 文档集成
  • 全局验证管道和错误处理
  • CORS 跨域配置

🚧 待开发功能

  • 预约管理模块 (Booking)
  • 文件上传功能 (图片存储)
  • 数据库迁移脚本
  • 单元测试和 E2E 测试
  • 日志系统
  • 性能监控和限流