add
This commit is contained in:
182
android/README.md
Normal file
182
android/README.md
Normal 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 许可证
|
||||
Reference in New Issue
Block a user