mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-06-06 05:51:19 +08:00
- Add PostgreSQL + SQLite hybrid database support with automatic switching - Implement frontend AES-GCM + RSA-OAEP encryption for sensitive data - Add comprehensive DatabaseInterface with all required methods - Fix compilation issues with interface consistency - Update all database method signatures to use DatabaseInterface - Add missing UpdateTraderInitialBalance method to PostgreSQL implementation - Integrate RSA public key distribution via /api/config endpoint - Add frontend crypto service with proper error handling - Support graceful degradation between encrypted and plaintext transmission - Add directory creation for RSA keys and PEM parsing fixes - Test both SQLite and PostgreSQL modes successfully 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
214 lines
7.7 KiB
Markdown
214 lines
7.7 KiB
Markdown
# PR Templates | PR 模板
|
||
|
||
## 📋 模板概述 | Template Overview
|
||
|
||
我们提供了4种针对不同类型PR的专用模板,帮助贡献者快速填写PR信息:
|
||
We offer 4 specialized templates for different types of PRs to help contributors quickly fill out PR information:
|
||
|
||
### 1. 🔧 Backend Template | 后端模板
|
||
**文件:** `backend.md`
|
||
|
||
**适用于 | Use for:**
|
||
- Go代码变更 | Go code changes
|
||
- API端点开发 | API endpoint development
|
||
- 交易逻辑实现 | Trading logic implementation
|
||
- 后端性能优化 | Backend performance optimization
|
||
- 数据库相关改动 | Database-related changes
|
||
|
||
**包含 | Includes:**
|
||
- Go测试环境配置 | Go test environment
|
||
- 安全考虑检查 | Security considerations
|
||
- 性能影响评估 | Performance impact assessment
|
||
- `go fmt` 和 `go build` 检查 | `go fmt` and `go build` checks
|
||
|
||
### 2. 🎨 Frontend Template | 前端模板
|
||
**文件:** `frontend.md`
|
||
|
||
**适用于 | Use for:**
|
||
- UI/UX变更 | UI/UX changes
|
||
- React/Vue组件开发 | React/Vue component development
|
||
- 前端样式更新 | Frontend styling updates
|
||
- 浏览器兼容性修复 | Browser compatibility fixes
|
||
- 前端性能优化 | Frontend performance optimization
|
||
|
||
**包含 | Includes:**
|
||
- 截图/演示要求 | Screenshots/demo requirements
|
||
- 浏览器测试清单 | Browser testing checklist
|
||
- 国际化检查 | Internationalization checks
|
||
- 响应式设计验证 | Responsive design verification
|
||
- `npm run lint` 和 `npm run build` 检查 | Linting and build checks
|
||
|
||
### 3. 📝 Documentation Template | 文档模板
|
||
**文件:** `docs.md`
|
||
|
||
**适用于 | Use for:**
|
||
- README更新 | README updates
|
||
- API文档编写 | API documentation
|
||
- 教程和指南 | Tutorials and guides
|
||
- 代码注释改进 | Code comment improvements
|
||
- 翻译工作 | Translation work
|
||
|
||
**包含 | Includes:**
|
||
- 文档类型分类 | Documentation type classification
|
||
- 内容质量检查 | Content quality checks
|
||
- 双语要求(中英文)| Bilingual requirements (EN/CN)
|
||
- 链接有效性验证 | Link validity verification
|
||
|
||
### 4. 📦 General Template | 通用模板
|
||
**文件:** `general.md`
|
||
|
||
**适用于 | Use for:**
|
||
- 混合类型变更 | Mixed-type changes
|
||
- 跨多个领域的PR | Cross-domain PRs
|
||
- 构建配置变更 | Build configuration changes
|
||
- 依赖更新 | Dependency updates
|
||
- 不确定使用哪个模板时 | When unsure which template to use
|
||
|
||
## 🤖 自动模板建议 | Automatic Template Suggestion
|
||
|
||
我们的GitHub Action会自动分析你的PR并建议最合适的模板:
|
||
Our GitHub Action automatically analyzes your PR and suggests the most suitable template:
|
||
|
||
### 工作原理 | How it works:
|
||
|
||
1. **文件分析 | File Analysis**
|
||
- 检测PR中所有变更的文件类型
|
||
- Detects all changed file types in the PR
|
||
|
||
2. **智能判断 | Smart Detection**
|
||
- 如果 >50% 是 `.go` 文件 → 建议**后端模板**
|
||
- If >50% are `.go` files → Suggests **Backend template**
|
||
- 如果 >50% 是 `.js/.ts/.tsx/.vue` 文件 → 建议**前端模板**
|
||
- If >50% are `.js/.ts/.tsx/.vue` files → Suggests **Frontend template**
|
||
- 如果 >70% 是 `.md` 文件 → 建议**文档模板**
|
||
- If >70% are `.md` files → Suggests **Documentation template**
|
||
|
||
3. **自动评论 | Auto-comment**
|
||
- 如果检测到你使用了默认模板,但应该用专用模板
|
||
- If it detects you're using the default template but should use a specialized one
|
||
- 会自动添加友好的评论建议
|
||
- It will automatically add a friendly comment suggestion
|
||
|
||
4. **自动标签 | Auto-labeling**
|
||
- 自动添加对应的标签:`backend`、`frontend`、`documentation`
|
||
- Automatically adds corresponding labels: `backend`, `frontend`, `documentation`
|
||
|
||
## 📖 使用方法 | How to Use
|
||
|
||
### 方法1: URL参数(推荐) | Method 1: URL Parameter (Recommended)
|
||
|
||
创建PR时,在URL末尾添加模板参数:
|
||
When creating a PR, add the template parameter to the URL:
|
||
|
||
```
|
||
https://github.com/YOUR_ORG/nofx/compare/dev...YOUR_BRANCH?template=backend.md
|
||
```
|
||
|
||
替换 `backend.md` 为:
|
||
Replace `backend.md` with:
|
||
- `backend.md` - 后端模板 | Backend template
|
||
- `frontend.md` - 前端模板 | Frontend template
|
||
- `docs.md` - 文档模板 | Documentation template
|
||
- `general.md` - 通用模板 | General template
|
||
|
||
### 方法2: 手动选择 | Method 2: Manual Selection
|
||
|
||
1. 创建PR时,默认模板会显示
|
||
When creating a PR, the default template will be shown
|
||
|
||
2. 根据顶部的指引链接,点击查看对应的模板
|
||
Follow the guidance links at the top to view the corresponding template
|
||
|
||
3. 复制模板内容到PR描述中
|
||
Copy the template content into the PR description
|
||
|
||
### 方法3: 跟随自动建议 | Method 3: Follow Auto-suggestion
|
||
|
||
1. 使用任何模板创建PR
|
||
Create a PR with any template
|
||
|
||
2. GitHub Action会自动分析并评论建议
|
||
GitHub Action will automatically analyze and comment with a suggestion
|
||
|
||
3. 根据建议更新PR描述
|
||
Update the PR description based on the suggestion
|
||
|
||
## 🎯 最佳实践 | Best Practices
|
||
|
||
1. **提前选择 | Choose in Advance**
|
||
- 在创建PR前确定变更类型
|
||
- Determine the change type before creating the PR
|
||
|
||
2. **完整填写 | Complete Filling**
|
||
- 不要跳过必填项(标记为 required)
|
||
- Don't skip required items
|
||
|
||
3. **保持简洁 | Keep it Concise**
|
||
- 描述清晰但简洁
|
||
- Keep descriptions clear but concise
|
||
|
||
4. **添加截图 | Add Screenshots**
|
||
- 对于UI变更,务必添加截图
|
||
- For UI changes, always add screenshots
|
||
|
||
5. **测试证明 | Test Evidence**
|
||
- 提供测试通过的证据
|
||
- Provide evidence that tests pass
|
||
|
||
## 🔧 自定义 | Customization
|
||
|
||
如果需要修改模板或自动检测逻辑:
|
||
If you need to modify templates or auto-detection logic:
|
||
|
||
1. **修改模板** | **Modify Templates**
|
||
- 编辑 `.github/PULL_REQUEST_TEMPLATE/*.md` 文件
|
||
- Edit `.github/PULL_REQUEST_TEMPLATE/*.md` files
|
||
|
||
2. **调整检测阈值** | **Adjust Detection Threshold**
|
||
- 编辑 `.github/workflows/pr-template-suggester.yml`
|
||
- Edit `.github/workflows/pr-template-suggester.yml`
|
||
- 修改文件类型占比阈值(当前:50%后端,50%前端,70%文档)
|
||
- Modify file type percentage thresholds (current: 50% backend, 50% frontend, 70% docs)
|
||
|
||
3. **添加新模板** | **Add New Template**
|
||
- 在 `PULL_REQUEST_TEMPLATE/` 目录创建新的 `.md` 文件
|
||
- Create a new `.md` file in the `PULL_REQUEST_TEMPLATE/` directory
|
||
- 更新工作流以支持新的文件类型检测
|
||
- Update the workflow to support new file type detection
|
||
|
||
## ❓ FAQ
|
||
|
||
**Q: 我的PR既有前端又有后端代码,用哪个模板?**
|
||
**Q: My PR has both frontend and backend code, which template should I use?**
|
||
|
||
A: 使用**通用模板**(`general.md`),或选择主要变更类型的模板。
|
||
A: Use the **General template** (`general.md`), or choose the template for the primary change type.
|
||
|
||
---
|
||
|
||
**Q: 自动建议的模板不合适怎么办?**
|
||
**Q: What if the automatically suggested template is not suitable?**
|
||
|
||
A: 你可以忽略建议,继续使用当前模板。自动建议仅供参考。
|
||
A: You can ignore the suggestion and continue using the current template. Auto-suggestions are for reference only.
|
||
|
||
---
|
||
|
||
**Q: 可以不使用任何模板吗?**
|
||
**Q: Can I not use any template?**
|
||
|
||
A: 不推荐。模板帮助确保PR包含必要信息,加快审查速度。
|
||
A: Not recommended. Templates help ensure PRs contain necessary information and speed up reviews.
|
||
|
||
---
|
||
|
||
**Q: 如何禁用自动模板建议?**
|
||
**Q: How to disable automatic template suggestions?**
|
||
|
||
A: 删除或禁用 `.github/workflows/pr-template-suggester.yml` 文件。
|
||
A: Delete or disable the `.github/workflows/pr-template-suggester.yml` file.
|
||
|
||
---
|
||
|
||
🌟 **感谢使用我们的PR模板系统!| Thank you for using our PR template system!**
|