codecanyon-36772148-6ammart-delivery-man-app

作者 : tideit 本文共2645个字,预计阅读时间需要7分钟 发布时间: 2026-03-11 共4人阅读
# 6amMart Delivery Man App - 配送员端移动应用

## 项目概述

- **项目类型**:移动应用(Flutter跨平台开发)
- **主要功能**:配送员接单、订单管理、实时定位、路线导航、收入统计、在线聊天
- **技术栈**:
  - 框架:Flutter 3.x + Dart
  - 状态管理:GetX
  - 地图:Google Maps Flutter
  - 推送:Firebase Cloud Messaging
  - 本地存储:Shared Preferences
  - 网络:HTTP/Dio

## 模块结构

```
Delivery Man App/
├── android/                  # Android平台配置
├── ios/                      # iOS平台配置
├── lib/                      # Dart源代码
│   ├── api/                 # API接口层
│   │   ├── api_client.dart  # HTTP客户端
│   │   └── api_constants.dart # API常量
│   ├── common/              # 公共组件
│   │   ├── theme/           # 主题配置
│   │   └── widgets/         # 通用组件
│   ├── features/            # 功能模块
│   │   ├── auth/            # 认证模块
│   │   ├── dashboard/       # 仪表盘
│   │   ├── order/           # 订单管理
│   │   ├── profile/         # 个人中心
│   │   ├── wallet/          # 钱包收入
│   │   ├── chat/            # 在线聊天
│   │   └── notification/    # 消息通知
│   ├── helper/              # 辅助工具
│   │   ├── route_helper.dart # 路由管理
│   │   └── date_converter.dart # 日期处理
│   ├── interface/           # 接口定义
│   ├── theme/               # 主题样式
│   ├── util/                # 工具类
│   │   ├── app_constants.dart # 应用常量
│   │   ├── dimensions.dart   # 尺寸常量
│   │   └── styles.dart       # 文本样式
│   └── main.dart            # 应用入口
├── assets/                   # 静态资源
│   ├── image/               # 图片资源
│   ├── language/            # 多语言文件
│   ├── font/                # 字体文件
│   └── notification.mp3     # 通知音效
├── test/                     # 测试用例
├── pubspec.yaml              # 依赖配置
└── analysis_options.yaml     # 代码分析配置
```

## 核心业务逻辑

### 1. 配送员工作流程
```
1. 登录/注册 → 身份验证
2. 在线/离线状态切换
3. 接收新订单推送通知
4. 查看订单详情(取货地址、送货地址)
5. 接单/拒单
6. 导航到取货地点
7. 确认取货
8. 导航到送货地点
9. 确认送达
10. 获得配送费收入
```

### 2. 订单管理
- **新订单**:实时推送,显示订单金额、距离、预计收入
- **进行中**:当前配送订单状态跟踪
- **历史订单**:已完成订单记录
- **订单详情**:商品清单、客户信息、特殊要求

### 3. 实时定位与导航
- **GPS定位**:持续上报配送员位置
- **地图集成**:Google Maps显示路线
- **导航功能**:跳转到Google Maps/Apple Maps导航
- **地理围栏**:配送区域边界提醒

### 4. 收入与钱包
- **收入统计**:日/周/月收入
- **订单提成**:每单配送费明细
- **提现申请**:绑定银行卡提现
- **交易记录**:收入与支出明细

### 5. 通讯功能
- **客户聊天**:与客户在线沟通
- **客服支持**:联系平台客服
- **语音通话**:集成通话功能

## 核心代码分析

### 架构模式
- **状态管理**:GetX(路由、状态、依赖注入)
- **架构模式**:MVC + Repository模式
- **代码组织**:按功能模块划分(features/)

### 关键依赖
```yaml
dependencies:
  flutter:
    sdk: flutter
  get: ^4.7.3                    # 状态管理
  shared_preferences: ^2.5.4     # 本地存储
  firebase_core: ^4.3.0          # Firebase核心
  firebase_messaging: ^16.1.0    # 消息推送
  flutter_local_notifications: ^19.5.0 # 本地通知
  google_maps_flutter: ^2.14.0   # 谷歌地图
  geolocator: ^14.0.2            # GPS定位
  geocoding: ^4.0.0              # 地理编码
  http: ^1.6.0                   # HTTP请求
  web_socket_channel: ^3.0.3     # WebSocket
  image_picker: ^1.2.1           # 图片选择
  cached_network_image: ^3.4.1   # 图片缓存
  flutter_svg: ^2.2.3            # SVG支持
  permission_handler: ^12.0.1    # 权限管理
  flutter_foreground_task: ^9.1.0 # 前台任务
```

### 推送通知处理
```dart
// Firebase消息配置
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
  // 处理前台消息
  showLocalNotification(message);
});

FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
```

### 位置服务
```dart
// GPS定位配置
Geolocator.getPositionStream(
  locationSettings: LocationSettings(
    accuracy: LocationAccuracy.high,
    distanceFilter: 10, // 每10米更新
  ),
).listen((Position position) {
  // 上报位置到服务器
  updateLocationToServer(position);
});
```

### API通信
- RESTful API与后端通信
- JWT Token认证
- 请求拦截器(添加Token)
- 错误统一处理

### 离线支持
- SharedPreferences缓存用户数据
- 离线状态下可查看历史订单
- 网络恢复后自动同步

### 多语言支持
- 支持多语言切换
- 语言文件存储在assets/language/
- Intl国际化库

### UI/UX设计
- Material Design风格
- 响应式布局适配各种屏幕
- 深色模式支持
- 加载骨架屏
- 错误页面与空状态

---

*版本:3.7 | 配套后端:6amMart管理后台*

资源在线 » codecanyon-36772148-6ammart-delivery-man-app

常见问题FAQ

发表评论