76 lines
1.7 KiB
Plaintext
76 lines
1.7 KiB
Plaintext
---
|
|
description: 后端开发规范
|
|
globs:
|
|
alwaysApply: false
|
|
---
|
|
# 后端开发规范
|
|
|
|
## 技术栈
|
|
- Express.js (TypeScript模式)
|
|
- TypeScript
|
|
- Prisma (ORM)
|
|
- Redis
|
|
- PostgreSQL 15
|
|
|
|
## 目录结构规范
|
|
```
|
|
backend/
|
|
├── src/
|
|
│ ├── controllers/ # 控制器
|
|
│ ├── services/ # 业务逻辑
|
|
│ ├── models/ # 数据模型
|
|
│ ├── middlewares/ # 中间件
|
|
│ ├── utils/ # 工具函数
|
|
│ ├── types/ # TypeScript类型定义
|
|
│ └── config/ # 配置文件
|
|
└── prisma/ # Prisma schema和迁移文件
|
|
```
|
|
|
|
## 代码规范
|
|
1. 使用 TypeScript 严格模式
|
|
2. 遵循 RESTful API 设计规范
|
|
3. 使用 async/await 处理异步操作
|
|
4. 统一的错误处理机制
|
|
|
|
## 数据库规范
|
|
1. 使用 Prisma 进行数据库操作
|
|
2. 所有数据库操作必须使用事务
|
|
3. 合理使用索引
|
|
4. 避免 N+1 查询问题
|
|
|
|
## 缓存策略
|
|
1. 使用 Redis 进行缓存
|
|
2. 缓存键命名规范:`{module}:{id}:{type}`
|
|
3. 设置合理的缓存过期时间
|
|
4. 实现缓存预热机制
|
|
|
|
## 错误处理
|
|
1. 统一的错误响应格式
|
|
2. 详细的错误日志记录
|
|
3. 区分业务错误和系统错误
|
|
4. 实现错误监控和告警
|
|
|
|
## 安全规范
|
|
1. 所有用户输入必须验证
|
|
2. 敏感数据加密存储
|
|
3. 实现请求频率限制
|
|
4. 使用 HTTPS
|
|
5. 实现 CORS 策略
|
|
|
|
## 日志规范
|
|
1. 使用 Winston 记录日志
|
|
2. 区分不同级别的日志
|
|
3. 记录关键操作日志
|
|
4. 实现日志轮转
|
|
|
|
## 测试规范
|
|
1. 单元测试覆盖率要求
|
|
2. 集成测试
|
|
3. API 测试
|
|
4. 性能测试
|
|
|
|
## 部署规范
|
|
1. 使用 Docker 容器化
|
|
2. 环境变量配置
|
|
3. 健康检查
|
|
4. 监控指标 |