Files
urldb/CONTRIBUTING.md
2025-07-19 00:44:00 +08:00

298 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🤝 贡献指南
感谢您对 L9Pan 项目的关注!我们欢迎所有形式的贡献。
## 📋 贡献类型
- 🐛 Bug 修复
- ✨ 新功能开发
- 📚 文档改进
- 🎨 UI/UX 优化
- ⚡ 性能优化
- 🧪 测试用例
- 🔧 工具改进
## 🚀 开始贡献
### 1. Fork 项目
1. 访问 [GitHub 仓库](https://github.com/ctwj/urldb)
2. 点击右上角的 Fork 按钮
3. 选择您的 GitHub 账户
### 2. 克隆您的 Fork
```bash
git clone https://github.com/YOUR_USERNAME/resManage.git
cd resManage
```
### 3. 添加上游仓库
```bash
git remote add upstream https://github.com/ctwj/urldb.git
```
### 4. 创建功能分支
```bash
git checkout -b feature/your-feature-name
# 或者
git checkout -b fix/your-bug-fix
```
## 💻 开发环境设置
### 后端开发
```bash
# 安装 Go 依赖
go mod tidy
# 复制环境变量文件
cp env.example .env
# 编辑环境变量
vim .env
# 启动开发服务器
go run main.go
```
### 前端开发
```bash
# 进入前端目录
cd web
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
```
### 数据库设置
```sql
CREATE DATABASE url_db;
```
## 📝 开发规范
### 代码风格
#### Go 代码规范
- 遵循 [Go 官方代码规范](https://golang.org/doc/effective_go.html)
- 使用 `gofmt` 格式化代码
- 函数名使用驼峰命名法
- 包名使用小写字母
- 错误处理要明确
#### TypeScript/JavaScript 规范
- 使用 TypeScript 编写代码
- 遵循 ESLint 规则
- 使用 Prettier 格式化代码
- 组件名使用 PascalCase
- 变量名使用 camelCase
### 提交信息规范
使用中文描述提交信息,格式如下:
```
类型(范围): 简短描述
详细描述(可选)
相关Issue: #123```
类型包括:
- `feat`: 新功能
- `fix`: 修复bug
- `docs`: 文档更新
- `style`: 代码格式调整
- `refactor`: 代码重构
- `test`: 测试相关
- `chore`: 构建过程或辅助工具的变动
示例:
```
feat(资源管理): 添加批量导入功能
- 支持Excel文件导入
- 添加导入进度显示
- 优化错误处理
相关Issue: #45
```
### 分支命名规范
- `feature/功能名称` - 新功能开发
- `fix/问题描述` - Bug修复
- `docs/文档类型` - 文档更新
- `refactor/重构内容` - 代码重构
- `test/测试内容` - 测试相关
## 🧪 测试
### 后端测试
```bash
# 运行所有测试
go test ./...
# 运行特定包的测试
go test ./handlers
# 运行测试并显示覆盖率
go test -cover ./...
```
### 前端测试
```bash
cd web
# 运行单元测试
pnpm test
# 运行E2E测试
pnpm test:e2## 📋 Pull Request 流程
###1. 确保代码质量
- ] 代码通过所有测试
- ] 代码符合项目规范
- ] 添加了必要的文档
- ] 更新了相关文档
### 2 提交 Pull Request
1推送您的分支到您的 Fork
```bash
git push origin feature/your-feature-name
```
2. 在 GitHub 上创建 Pull Request3. 填写 PR 模板4 等待代码审查
###3PR 模板
```markdown
## 📝 描述
简要描述您的更改
## 🎯 类型
- ] Bug 修复
- ] 新功能
- ] 文档更新
- ] 代码重构
- ] 性能优化
- 相关
## 🔗 相关 Issue
关闭 #123
## ✅ 检查清单
- ] 我的代码遵循项目的代码规范
- ] 我已经自测了我的更改
- ] 我已经添加了必要的测试
- ] 我已经更新了相关文档
- ] 我的更改不会产生新的警告
- 我添加了示例来证明我的更改是有效的
## 📸 截图(如果适用)
## 🔧 测试
请描述您如何测试您的更改
## 📋 其他信息
任何其他信息或上下文
```
## 🐛 报告 Bug
### Bug 报告模板
```markdown
## 🐛 Bug 描述
清晰简洁地描述 bug
## 🔄 重现步骤
1. 进入...2. 点击 '....3. 滚动到 ....4 看到错误
## ✅ 预期行为
清晰简洁地描述您期望发生的事情
## 📸 截图
如果适用,添加截图以帮助解释您的问题
## 💻 环境信息
- 操作系统: [例如 Windows 10]
- 浏览器: [例如 Chrome, Safari]
- 版本:例如 22]
## 📱 移动设备(如果适用)
- 设备: [例如 iPhone 6]
- 操作系统: 例如 iOS 8.1]
- 浏览器:例如 Safari]
- 版本: [例如 22]
## 🔧 其他上下文
在此处添加有关问题的任何其他上下文
```
## 💡 功能请求
### 功能请求模板
```markdown
## 💡 功能描述
清晰简洁地描述您想要的功能
## 🎯 问题描述
清晰简洁地描述这个功能要解决的问题
## 💭 建议的解决方案
清晰简洁地描述您希望发生的事情
## 🔄 替代方案
清晰简洁地描述您考虑过的任何替代解决方案或功能
## 📋 其他上下文
在此处添加有关功能请求的任何其他上下文或截图
```
## 📞 联系我们
如果您有任何问题或需要帮助,请通过以下方式联系我们:
- 📧 邮箱: 510199617@qq.com
- 💬 讨论区: [GitHub Discussions](https://github.com/your-username/l9pan/discussions)
- 🐛 问题反馈: [GitHub Issues](https://github.com/your-username/l9pan/issues)
## 🙏 致谢
感谢所有为 L9项目做出贡献的开发者
---
**记住:每一个贡献,无论大小,都是宝贵的!** 🎉