感谢您对 Snapshot 项目的关注!我们欢迎任何形式的贡献。
如果您发现了 bug 或有功能建议:
Fork 仓库
# 在 GitHub 上点击 Fork 按钮
git clone https://github.com/<YOUR_USERNAME>/snapshot.git
cd snapshot
创建特性分支
git checkout -b feature/AmazingFeature
# 或修复 bug: git checkout -b fix/bug-description
进行开发
提交更改
git add .
git commit -m "feat: 添加文件批量下载功能"
推送到分支
git push origin feature/AmazingFeature
创建 Pull Request
遵循阿里巴巴Java开发规范
命名规范
UploadRecordService)getUploadRecordById)MAX_FILE_SIZE)com.snapshot.service)注释规范
/**
* 根据ID获取上传记录
*
* @param id 上传记录ID
* @return 上传记录对象,不存在返回null
* @throws IllegalArgumentException 如果ID为空
*/
public UploadRecord getUploadRecordById(String id) {
// 实现代码
}
异常处理
GlobalExceptionHandler 统一处理异常RuntimeExceptionException 基类MyBatis 规范
@Mapper 注解遵循 Vue 官方风格指南
组件命名
<!-- ✅ 推荐 -->
<script>
export default {
name: 'UploadFileList' // PascalCase
}
</script>
<!-- ❌ 避免 -->
<script>
export default {
name: 'upload-file-list' // kebab-case
}
</script>
Props 定义
<script>
export default {
props: {
fileList: {
type: Array,
required: true,
default: () => []
},
maxSize: {
type: Number,
default: 50 * 1024 * 1024
}
}
}
</script>
变量命名
// ✅ 推荐
const uploadRecord = ref(null)
const MAX_FILE_COUNT = 10
// ❌ 避免
const upload_record = ref(null)
const max_file_count = 10
组件结构
<template>
<!-- 模板内容 -->
</template>
<script>
import { ref, computed, onMounted } from 'vue'
export default {
name: 'ComponentName',
props: { /* ... */ },
emits: ['update', 'delete'],
setup(props, { emit }) {
// 1. 响应式数据
const count = ref(0)
// 2. 计算属性
const doubleCount = computed(() => count.value * 2)
// 3. 方法
const increment = () => {
count.value++
emit('update', count.value)
}
// 4. 生命周期
onMounted(() => {
console.log('Component mounted')
})
return {
count,
doubleCount,
increment
}
}
}
</script>
<style scoped>
/* 组件样式 */
</style>
使用 约定式提交 格式:
<类型>(<范围>): <简短描述>
<详细描述>
<页脚>
feat: 新功能fix: Bug 修复docs: 文档更新style: 代码格式调整(不影响功能)refactor: 重构(既不是新功能也不是修复)perf: 性能优化test: 添加或修改测试chore: 构建/工具相关ci: CI/CD 配置# 简单提交
git commit -m "feat: 添加文件批量下载功能"
# 详细提交
git commit -m "fix(upload): 修复大文件上传超时问题
- 增加连接超时配置到30分钟
- 添加上传进度重试机制
- 优化内存使用
Closes #123"
提交 PR 前请确认:
cd backend
mvn test
cd frontend
npm run test
npm run test:e2e
如有问题:
提交代码即表示您同意您的贡献将按照项目的 MIT 许可证 进行许可。