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

4.3 KiB
Raw Blame History

车管家 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

  1. 打开 Android Studio
  2. 选择 File > Open,选择 android 目录
  3. 等待 Gradle 同步完成
  4. 连接 Android 模拟器或真机
  5. 点击 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 (自动更新)

贡献指南

  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 许可证