# 6amMart Store App - 商家端移动应用
## 项目概述
- **项目类型**:移动应用(Flutter跨平台开发)
- **主要功能**:店铺管理、商品管理、订单处理、库存管理、营销活动、收入统计、打印小票
- **技术栈**:
- 框架:Flutter 3.x + Dart
- 状态管理:GetX
- 地图:Google Maps Flutter
- 推送:Firebase Cloud Messaging
- 打印:蓝牙热敏打印
- 本地存储:Shared Preferences
## 模块结构
```
Vendor app/
├── android/ # Android平台配置
├── ios/ # iOS平台配置
├── lib/ # Dart源代码
│ ├── api/ # API接口层
│ │ ├── api_client.dart # HTTP客户端
│ │ └── api_constants.dart # API常量
│ ├── common/ # 公共组件
│ │ ├── theme/ # 主题配置
│ │ └── widgets/ # 通用组件
│ ├── features/ # 功能模块
│ │ ├── auth/ # 认证模块
│ │ ├── dashboard/ # 仪表盘
│ │ ├── store/ # 店铺管理
│ │ ├── product/ # 商品管理
│ │ ├── order/ # 订单处理
│ │ ├── category/ # 分类管理
│ │ ├── campaign/ # 营销活动
│ │ ├── coupon/ # 优惠券
│ │ ├── wallet/ # 钱包收入
│ │ ├── review/ # 评价管理
│ │ ├── report/ # 数据报表
│ │ ├── chat/ # 在线聊天
│ │ └── notification/ # 消息通知
│ ├── helper/ # 辅助工具
│ ├── interface/ # 接口定义
│ ├── theme/ # 主题样式
│ ├── util/ # 工具类
│ └── main.dart # 应用入口
├── assets/ # 静态资源
│ ├── image/ # 图片资源
│ ├── image/taxi_image/ # 配送相关图片
│ ├── language/ # 多语言文件
│ ├── font/ # 字体文件
│ ├── json/ # JSON资源
│ └── notification.mp3 # 通知音效
├── test/ # 测试用例
├── pubspec.yaml # 依赖配置
└── analysis_options.yaml # 代码分析配置
```
## 核心业务逻辑
### 1. 商家工作流程
```
1. 商家注册/登录
2. 完善店铺信息(名称、地址、营业时间)
3. 设置配送范围与配送费
4. 添加商品(分类、价格、库存、图片)
5. 接收新订单通知
6. 确认/拒绝订单
7. 准备商品
8. 呼叫配送员/自配送
9. 订单完成,资金入账
10. 查看收入与提现
```
### 2. 店铺管理
- **店铺信息**:名称、Logo、描述、联系方式
- **营业设置**:营业时间、营业状态(营业中/休息)
- **配送设置**:配送范围、起送价、配送费
- **店铺装修**:横幅图片、主题色
### 3. 商品管理
- **商品CRUD**:添加、编辑、删除、上下架
- **分类管理**:一级/二级分类
- **属性管理**:规格、口味、加料等变体
- **库存管理**:实时库存、库存预警
- **批量操作**:批量上下架、批量改价
### 4. 订单处理
- **新订单**:实时推送,声音+震动提醒
- **订单确认**:接受或拒绝订单
- **订单状态**:待确认→已确认→准备中→配送中→已完成
- **订单详情**:商品清单、客户信息、备注
- **小票打印**:蓝牙打印机打印订单小票
### 5. 营销工具
- **优惠券**:满减券、折扣券创建
- **活动管理**:限时折扣、满赠活动
- **推荐商品**:设置热销、推荐标签
### 6. 数据统计
- **今日数据**:订单数、销售额、访客数
- **趋势图表**:7天/30天销售趋势
- **商品分析**:热销商品排行
- **客户分析**:新老客户统计
## 核心代码分析
### 架构模式
- **状态管理**:GetX(简洁高效)
- **架构模式**:MVC + Repository模式
- **代码组织**:按功能模块划分(features/)
### 关键依赖
```yaml
dependencies:
flutter:
sdk: flutter
get: ^4.7.3 # 状态管理
shared_preferences: ^2.5.3 # 本地存储
firebase_core: ^4.2.1 # Firebase核心
firebase_messaging: ^16.0.4 # 消息推送
flutter_local_notifications: ^19.5.0 # 本地通知
google_maps_flutter: ^2.14.0 # 谷歌地图
geolocator: ^14.0.2 # GPS定位
image_picker: ^1.2.1 # 图片选择/上传
cached_network_image: ^3.4.1 # 图片缓存
print_bluetooth_thermal: ^1.1.7 # 蓝牙打印
flutter_esc_pos_utils: ^1.0.1 # ESC/POS打印指令
screenshot: ^3.0.0 # 截图分享
carousel_slider: ^5.1.1 # 轮播图
video_player: ^2.10.1 # 视频播放
chewie: ^1.13.0 # 视频播放器UI
flutter_image_compress: ^2.4.0 # 图片压缩
# Rental Module(租赁模块)
syncfusion_flutter_datepicker: ^31.2.16 # 日期选择器
lottie: ^3.3.2 # Lottie动画
```
### 蓝牙打印功能
```dart
// 蓝牙打印机连接与打印
PrintBluetoothThermal.connect(macPrinterAddress: macAddress);
// 生成小票内容
List bytes = await generateTicketBytes(order);
PrintBluetoothThermal.writeBytes(bytes);
```
### 图片处理
```dart
// 图片压缩上传
Future compressImage(File file) async {
final result = await FlutterImageCompress.compressWithFile(
file.absolute.path,
minWidth: 800,
minHeight: 600,
quality: 85,
);
return File(result);
}
```
### 推送通知
- Firebase Cloud Messaging集成
- 订单状态变更实时推送
- 系统公告推送
- 营销消息推送
### 地图功能
- 配送范围可视化编辑
- 配送地址查看
- 配送员位置追踪
### 数据报表
- 使用图表组件展示销售数据
- 日期范围筛选
- 数据导出(截图分享)
### 租赁模块(特色功能)
- 支持商品租赁业务
- 日期范围选择器
- 租赁价格计算
- 押金管理
### UI/UX设计
- Material Design 3风格
- 卡片式布局
- 底部导航栏
- 下拉刷新与上拉加载
- 骨架屏加载效果
- 空状态与错误页面
### 离线支持
- 本地缓存店铺数据
- 离线查看历史订单
- 网络恢复自动同步
---
*版本:3.7 | 配套后端:6amMart管理后台*
... (content truncated)