4.3 KiB
4.3 KiB
车管家 4S店车辆维保管理系统 - Android 客户端
基于 Kotlin + Jetpack Compose 开发的现代化 Android 应用。
技术栈
- UI 框架: Jetpack Compose (Material 3)
- 架构: MVVM + Clean Architecture
- 依赖注入: Hilt
- 网络请求: Retrofit + OkHttp
- 异步处理: Coroutines + Flow
- 本地存储: DataStore (用于存储Token和用户信息)
- 导航: Navigation Compose
项目结构
app/
├── data/ # 数据层
│ ├── local/ # 本地数据
│ ├── model/ # 数据模型
│ ├── remote/ # 远程数据源
│ │ ├── ApiService.kt # API接口定义
│ │ └── ApiResponse.kt # API响应封装
│ ├── repository/ # 仓库层
│ └── manager/ # 数据管理器
├── di/ # 依赖注入模块
│ └── NetworkModule.kt # 网络模块配置
├── ui/ # UI层
│ ├── navigation/ # 导航配置
│ ├── screen/ # 页面
│ │ ├── customer/ # 客户模块
│ │ └── admin/ # 管理员模块
│ ├── theme/ # 主题配置
│ └── viewmodel/ # ViewModel
└── MainActivity.kt # 主Activity
功能模块
已实现功能
- ✅ 用户登录/登出
- ✅ 角色权限管理(管理员、工作人员、客户)
- ✅ 客户仪表板
- 查看我的车辆
- 查看维保记录
- 查看预约记录
- ✅ 管理员仪表板(基础版)
- ✅ 数据持久化(Token存储)
待完善功能
- ⏳ 在线预约表单
- ⏳ 管理员完整功能
- ⏳ 工作人员功能
- ⏳ 推送通知
- ⏳ 车辆详情查看
- ⏳ 工单详情查看
开发环境要求
- Android Studio Hedgehog (2023.1.1) 或更高版本
- JDK 17
- Android SDK 34
- Gradle 8.2
配置说明
API 地址配置
在 app/build.gradle.kts 中修改 API_BASE_URL:
// 模拟器测试(访问宿主机localhost)
buildConfigField("String", "API_BASE_URL", "\"http://10.0.2.2:8080/api/\"")
// 真机测试(改为实际IP)
buildConfigField("String", "API_BASE_URL", "\"http://192.168.1.100:8080/api/\"")
测试账号
- 管理员: admin / 123456
- 工作人员: staff001 / 123456
- 客户: customer001 / 123456
构建和运行
使用 Android Studio
- 打开 Android Studio
- 选择
File > Open,选择android目录 - 等待 Gradle 同步完成
- 连接 Android 模拟器或真机
- 点击 Run 按钮(或按 Shift+F10)
使用命令行
# 进入项目目录
cd android
# 构建 Debug 版本
./gradlew assembleDebug
# 安装到设备
./gradlew installDebug
# 或者直接运行
./gradlew installDebug
主要依赖
// Compose BOM
implementation(platform("androidx.compose:compose-bom:2023.10.01"))
// Hilt
implementation("com.google.dagger:hilt-android:2.48")
// Retrofit
implementation("com.squareup.retrofit2:retrofit:2.9.0")
// OkHttp
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// DataStore
implementation("androidx.datastore:datastore-preferences:1.0.0")
开发注意事项
网络权限
已在 AndroidManifest.xml 中配置:
INTERNET- 访问网络ACCESS_NETWORK_STATE- 检查网络状态usesCleartextTraffic="true"- 允许HTTP请求(仅用于开发)
ProGuard 配置
已添加 Retrofit、OkHttp、Gson、Hilt 的混淆规则。
架构设计
分层架构
Presentation Layer (UI)
↓
Domain Layer (ViewModel)
↓
Data Layer (Repository)
↓
Remote Data Source (API)
数据流
UI Screen
↓ (用户操作)
ViewModel
↓ (调用方法)
Repository
↓ (网络请求)
API Service
↓ (返回数据)
Repository (处理数据)
↓ (StateFlow)
ViewModel (状态更新)
↓ (collectAsState)
UI Screen (自动更新)
贡献指南
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
许可证
本项目采用 MIT 许可证