Files
car-maintenance-system/android/README.md
wangziqi 35098f3028 add
2026-01-08 13:23:09 +08:00

183 lines
4.3 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.

# 车管家 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
```kotlin
// 模拟器测试访问宿主机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
1. 打开 Android Studio
2. 选择 `File > Open`,选择 `android` 目录
3. 等待 Gradle 同步完成
4. 连接 Android 模拟器或真机
5. 点击 Run 按钮(或按 Shift+F10
### 使用命令行
```bash
# 进入项目目录
cd android
# 构建 Debug 版本
./gradlew assembleDebug
# 安装到设备
./gradlew installDebug
# 或者直接运行
./gradlew installDebug
```
## 主要依赖
```kotlin
// 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 (自动更新)
```
## 贡献指南
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 许可证