# 贡献指南 感谢你对 RandBG API 项目的关注!我们欢迎任何形式的贡献,包括但不限于提交 Issue、修复 Bug、改进文档、新增功能等。 ## 如何贡献 ### 提交 Issue 如果你发现了 Bug 或有新功能建议,请通过 [GitHub Issues](https://github.com/shumengya/randbg-api/issues) 提交。 提交 Issue 时,请尽可能包含以下信息: - **问题描述**:清晰描述你遇到的问题或建议 - **复现步骤**:如果是 Bug,请提供详细的复现步骤 - **环境信息**:操作系统、Node.js 版本、Python 版本等 - **预期结果**与**实际结果** - **截图或日志**(如有) ### 提交 Pull Request 1. **Fork 本仓库** 并克隆到本地 2. **创建分支**:从 `main` 分支创建一个新的功能分支 ```bash git checkout -b feature/your-feature-name ``` 3. **进行修改**:确保代码风格与现有项目保持一致 4. **测试**:在本地运行 `npm run dev` 确保修改不会破坏现有功能 5. **提交**:使用清晰的提交信息 ```bash git commit -m "feat: 添加 xxx 功能" ``` 6. **推送并创建 PR**:推送到你的 Fork 仓库,然后向本仓库提交 Pull Request ## 代码规范 - **JavaScript**:使用 ES Module,保持简洁,添加必要的 JSDoc 注释 - **Python**:遵循 PEP 8 规范,使用类型注解(如有) - **Git 提交信息**:参考 [Conventional Commits](https://www.conventionalcommits.org/) - `feat:` 新功能 - `fix:` 修复 Bug - `docs:` 文档更新 - `refactor:` 代码重构 - `chore:` 构建/工具链更新 ## 项目结构说明 - `src/`:Worker 运行时代码(API 逻辑) - `public/`:静态资源(会被部署到 Cloudflare Assets) - `index.html`:演示页面 - `manifest.json`:图片清单(由 `build.py` 自动生成) - `mobile-image/` / `desketop-image/`:构建后的 WebP 图片 - `mobile-image/` / `desketop-image/`(根目录):**原始图片存放目录,不要提交到 Git** - `build.py`:构建脚本,将原图转换为 WebP 并生成清单 ## 注意事项 - **不要提交原始图片**:根目录下的 `mobile-image/` 和 `desketop-image/` 仅用于本地构建,已配置 `.gitignore` 忽略非编号文件。 - **不要提交敏感信息**:`wrangler.toml` 中不应包含 `account_id` 或 API Token。 - **保持 API 兼容性**:如果修改 API 接口,请确保向后兼容,或在文档中明确标注 Breaking Changes。 ## 行为准则 - 尊重他人,保持友善和建设性的沟通 - 接受不同的观点和经验 - 关注对社区最有利的事情 再次感谢你的贡献!