This commit is contained in:
wangziqi
2026-01-08 13:23:09 +08:00
parent 177cfd9b9d
commit 35098f3028
57 changed files with 4725 additions and 55 deletions

182
android/README.md Normal file
View File

@@ -0,0 +1,182 @@
# 车管家 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 许可证