2025-08-31 23:29:26 +08:00
|
|
|
|
# 贡献指南
|
|
|
|
|
|
|
|
|
|
|
|
欢迎参与爱鉴花项目的开发!本文档将指导您如何为项目做出贡献。
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 开发流程
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 环境准备
|
2025-09-01 02:35:41 +08:00
|
|
|
|
- 确保已安装 Node.js 16.0.0+
|
2025-08-31 23:29:26 +08:00
|
|
|
|
- 安装 Git 版本控制工具
|
|
|
|
|
|
- 配置开发工具(HBuilderX、VSCode等)
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 获取代码
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git clone https://github.com/your-username/aijianhua.git
|
|
|
|
|
|
cd aijianhua
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 分支管理
|
|
|
|
|
|
我们使用 Git Flow 工作流:
|
|
|
|
|
|
- `main` - 主分支,用于生产环境
|
|
|
|
|
|
- `develop` - 开发分支,集成所有功能
|
|
|
|
|
|
- `feature/*` - 功能开发分支
|
|
|
|
|
|
- `bugfix/*` - bug修复分支
|
|
|
|
|
|
- `release/*` - 发布分支
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 开发步骤
|
|
|
|
|
|
1. 从 `develop` 分支创建功能分支
|
|
|
|
|
|
2. 在分支上开发新功能或修复bug
|
|
|
|
|
|
3. 提交代码并推送到远程仓库
|
|
|
|
|
|
4. 创建 Pull Request 到 `develop` 分支
|
|
|
|
|
|
5. 代码审查通过后合并
|
|
|
|
|
|
|
|
|
|
|
|
## 📝 代码规范
|
|
|
|
|
|
|
|
|
|
|
|
### JavaScript/TypeScript
|
|
|
|
|
|
- 使用 ESLint + Prettier 进行代码格式化
|
|
|
|
|
|
- 遵循 Airbnb JavaScript 风格指南
|
|
|
|
|
|
- 使用 async/await 代替回调函数
|
|
|
|
|
|
- 添加必要的注释和文档
|
|
|
|
|
|
|
|
|
|
|
|
### Vue/uni-app
|
|
|
|
|
|
- 使用 Composition API
|
|
|
|
|
|
- 组件命名使用 PascalCase
|
|
|
|
|
|
- Props 定义使用 TypeScript 类型
|
|
|
|
|
|
- 使用 Vue Router 进行路由管理
|
|
|
|
|
|
|
|
|
|
|
|
### Node.js
|
|
|
|
|
|
- 使用 Express.js 框架
|
|
|
|
|
|
- 中间件使用统一的错误处理
|
|
|
|
|
|
- API 响应格式标准化
|
|
|
|
|
|
- 使用 Winston 进行日志记录
|
|
|
|
|
|
|
|
|
|
|
|
## 🔧 提交规范
|
|
|
|
|
|
|
|
|
|
|
|
### Commit Message 格式
|
|
|
|
|
|
```
|
|
|
|
|
|
<type>(<scope>): <subject>
|
|
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
|
|
<footer>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Type 类型
|
|
|
|
|
|
- `feat`: 新功能
|
|
|
|
|
|
- `fix`: bug修复
|
|
|
|
|
|
- `docs`: 文档更新
|
|
|
|
|
|
- `style`: 代码格式调整
|
|
|
|
|
|
- `refactor`: 代码重构
|
|
|
|
|
|
- `test`: 测试相关
|
|
|
|
|
|
- `chore`: 构建过程或辅助工具变动
|
|
|
|
|
|
|
|
|
|
|
|
### 示例
|
|
|
|
|
|
```
|
|
|
|
|
|
feat(user): 添加用户注册功能
|
|
|
|
|
|
|
|
|
|
|
|
- 实现用户注册API接口
|
|
|
|
|
|
- 添加手机号验证功能
|
|
|
|
|
|
- 完善错误处理机制
|
|
|
|
|
|
|
|
|
|
|
|
Closes #123
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🧪 测试要求
|
|
|
|
|
|
|
|
|
|
|
|
### 单元测试
|
|
|
|
|
|
- 后端API接口需要编写单元测试
|
|
|
|
|
|
- 测试覆盖率要求达到80%以上
|
|
|
|
|
|
- 使用 Jest 测试框架
|
|
|
|
|
|
|
|
|
|
|
|
### 集成测试
|
|
|
|
|
|
- 主要业务流程需要集成测试
|
|
|
|
|
|
- 测试数据库操作和API调用
|
|
|
|
|
|
- 模拟各种边界情况
|
|
|
|
|
|
|
|
|
|
|
|
### E2E测试
|
|
|
|
|
|
- 关键用户流程需要端到端测试
|
|
|
|
|
|
- 使用 Cypress 或 Puppeteer
|
|
|
|
|
|
- 覆盖主要业务场景
|
|
|
|
|
|
|
|
|
|
|
|
## 📖 文档要求
|
|
|
|
|
|
|
|
|
|
|
|
### 代码注释
|
|
|
|
|
|
- 公共方法和复杂逻辑需要添加注释
|
|
|
|
|
|
- 使用 JSDoc 格式注释
|
|
|
|
|
|
- 注释说明参数、返回值、异常情况
|
|
|
|
|
|
|
|
|
|
|
|
### API文档
|
|
|
|
|
|
- 使用 Swagger/OpenAPI 规范
|
|
|
|
|
|
- 文档需要与代码同步更新
|
|
|
|
|
|
- 包含请求示例和响应示例
|
|
|
|
|
|
|
|
|
|
|
|
### 项目文档
|
|
|
|
|
|
- README 文件需要保持最新
|
|
|
|
|
|
- 添加必要的配置说明
|
|
|
|
|
|
- 更新部署和运维指南
|
|
|
|
|
|
|
|
|
|
|
|
## 🐛 Issue 报告
|
|
|
|
|
|
|
|
|
|
|
|
### Bug报告格式
|
|
|
|
|
|
```
|
|
|
|
|
|
## 问题描述
|
|
|
|
|
|
清晰描述遇到的问题
|
|
|
|
|
|
|
|
|
|
|
|
## 重现步骤
|
|
|
|
|
|
1. 第一步
|
|
|
|
|
|
2. 第二步
|
|
|
|
|
|
3. 第三步
|
|
|
|
|
|
|
|
|
|
|
|
## 预期行为
|
|
|
|
|
|
期望的正常表现
|
|
|
|
|
|
|
|
|
|
|
|
## 实际行为
|
|
|
|
|
|
实际发生的异常表现
|
|
|
|
|
|
|
|
|
|
|
|
## 环境信息
|
|
|
|
|
|
- 操作系统:
|
|
|
|
|
|
- 浏览器:
|
|
|
|
|
|
- 版本:
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 功能请求格式
|
|
|
|
|
|
```
|
|
|
|
|
|
## 功能描述
|
|
|
|
|
|
详细描述请求的功能
|
|
|
|
|
|
|
|
|
|
|
|
## 使用场景
|
|
|
|
|
|
在什么情况下需要这个功能
|
|
|
|
|
|
|
|
|
|
|
|
## 解决方案建议
|
|
|
|
|
|
如果有的话,提供实现建议
|
|
|
|
|
|
|
|
|
|
|
|
## 附加信息
|
|
|
|
|
|
任何其他相关信息
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🤝 行为准则
|
|
|
|
|
|
|
|
|
|
|
|
- 尊重其他贡献者
|
|
|
|
|
|
- 建设性的代码审查
|
|
|
|
|
|
- 及时响应问题和请求
|
|
|
|
|
|
- 遵守开源协议
|
|
|
|
|
|
|
|
|
|
|
|
## 📞 联系方式
|
|
|
|
|
|
|
|
|
|
|
|
如有问题可以通过以下方式联系:
|
|
|
|
|
|
- GitHub Issues
|
|
|
|
|
|
- 项目邮箱: aijianhua@example.com
|
|
|
|
|
|
- 开发者微信群
|
|
|
|
|
|
|
|
|
|
|
|
感谢您的贡献!🎉
|