# part_time_job_pro **Repository Path**: tomson123/part_time_job_pro ## Basic Information - **Project Name**: part_time_job_pro - **Description**: 兼职app - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-26 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 怪兽兼职 (Part Time Job Pro) 一个基于 Flutter 开发的兼职招聘移动应用,支持 iOS 和 Android 平台。 ## 📱 项目简介 本项目是一个功能完善的兼职招聘平台,提供兼职、全职、校招等多种职位发布和查找功能。 ### 主要功能 - ✅ 用户注册/登录(账号密码、短信验证码) - ✅ 职位发布(兼职/全职/校招) - ✅ 职位浏览和搜索 - ✅ 消息通知 - ✅ 多语言支持(中文简体/繁体、英文) - ✅ 明暗主题切换 - ✅ 本地数据缓存 ## 🛠 技术栈 - **Flutter**: ^3.8.0 - **状态管理**: GetX ^4.6.6 - **网络请求**: Dio + Retrofit - **本地存储**: Hive + SQLite - **UI 组件**: 多个成熟的 Flutter 组件库 详细技术栈请查看 [ARCHITECTURE.md](./ARCHITECTURE.md) ## 📁 项目结构 ``` lib/ ├── common/ # 公共模块(API、工具、组件等) ├── pages/ # 页面模块 ├── global.dart # 全局配置 └── main.dart # 应用入口 ``` 详细架构说明请查看 [ARCHITECTURE.md](./ARCHITECTURE.md) ## 🚀 快速开始 ### 环境要求 - Flutter SDK: ^3.8.0 - Dart SDK: ^3.8.0 - iOS 开发需要 Xcode 14.0+ - Android 开发需要 Android Studio ### 安装依赖 ```bash # 获取依赖包 flutter pub get # 生成代码(Model、API 等) flutter pub run build_runner build --delete-conflicting-outputs # 生成启动页 dart run flutter_native_splash:create # 生成应用图标 flutter pub run flutter_launcher_icons ``` ### 运行项目 ```bash # 运行开发版本 flutter run # 运行生产版本 flutter run --release # 指定设备运行 flutter run -d ``` ### 构建项目 ```bash # 构建 Android APK flutter build apk --release # 构建 Android App Bundle flutter build appbundle --release # 构建 iOS flutter build ios --release ``` ## 🔧 配置说明 ### 环境配置 在 `lib/common/config/env_config.dart` 中配置不同环境: ```dart enum EnvType { dev, // 开发环境 test, // 测试环境 prod, // 生产环境 } ``` 切换环境只需修改 `_currentEnv` 变量。 ### 服务器配置 在 `lib/common/values/server_config.dart` 中配置 API 端点。 建议使用新的环境配置方式(`env_config.dart`)。 ## 📖 开发指南 ### 代码规范 项目遵循以下代码规范: - ✅ 使用单引号 - ✅ 使用 const 构造函数 - ✅ 遵循 Effective Dart 规范 - ✅ 使用 GetX 的 MVC 模式 详细规范请查看 [ARCHITECTURE.md](./ARCHITECTURE.md) ### 创建新页面 1. 在 `lib/pages/` 下创建页面目录 2. 创建以下文件: - `bindings.dart` - 依赖注入 - `logic.dart` - 业务逻辑 - `state.dart` - 状态管理 - `view.dart` - UI 界面 3. 在 `lib/common/routers/pages.dart` 中注册路由 ### 添加 API 接口 1. 在 `lib/common/api/rest_client.dart` 中定义接口 2. 运行代码生成命令 3. 在 Repository 中封装接口调用 4. 在 Controller 中使用 Repository ## 🧪 测试 ```bash # 运行所有测试 flutter test # 运行特定测试 flutter test test/widget_test.dart # 生成测试覆盖率报告 flutter test --coverage ``` ## 📝 最佳实践 ### 使用 Repository 模式 ```dart // 在 Controller 中使用 Repository class HomeLogic extends GetxController { final JobRepository _jobRepo = JobRepository(); Future loadJobs() async { final result = await _jobRepo.getPartTimeJobs( pageNum: 1, pageSize: 10, ); result .onSuccess((jobs) { // 处理成功情况 }) .onFailure((error) { // 处理失败情况 }); } } ``` ### 使用统一存储 ```dart // 存储数据 await UnifiedStorage.instance.setString( StorageKeys.userId, '123' ); // 读取数据 final userId = UnifiedStorage.instance.getString( StorageKeys.userId ); ``` ### 错误处理 ```dart // 包装异步操作 final result = await GlobalErrorHandler.wrapAsync( () => apiCall(), showLoading: true, showError: true, ); ``` ## 🐛 已知问题 1. ⚠️ 部分页面性能需要优化 2. ⚠️ 需要添加单元测试 3. ⚠️ 需要完善错误日志上报 ## 📋 TODO - [ ] 完善单元测试 - [ ] 添加 CI/CD 配置 - [ ] 优化列表性能 - [ ] 添加更多语言支持 - [ ] 实现消息推送功能 - [ ] 添加数据统计功能 ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 📄 许可证 本项目采用 MIT 许可证。 ## 📞 联系方式 - 项目地址: [GitHub](https://github.com/yourusername/part_time_job_pro) - 问题反馈: [Issues](https://github.com/yourusername/part_time_job_pro/issues) ## 🙏 致谢 感谢所有为这个项目做出贡献的开发者。 ## 📚 参考资料 - [Flutter 官方文档](https://flutter.dev/docs) - [GetX 文档](https://github.com/jonataslaw/getx) - [Effective Dart](https://dart.dev/guides/language/effective-dart) - [Flutter 最佳实践](https://flutter.dev/docs/perf/best-practices) - [项目架构文档](./ARCHITECTURE.md)