完整的美容服务 O2O(线上到线下)平台移动端应用,允许用户浏览沙龙、选择服务、进行预约和支付等操作

作者 : tideit 本文共3122个字,预计阅读时间需要8分钟 发布时间: 2026-03-1 共14人阅读

项目分析报告:Beauty Salons Customer Application

项目概述

项目名称: beauty_salons_customer
项目类型: Flutter 美容沙龙预订应用
平台: Android/iOS (跨平台)
版本: 4.1.0+15
开发语言: Dart (Flutter 框架)
SDK 要求: >=3.3.3 <4.0.0

这是一个完整的美容服务 O2O(线上到线下)平台移动端应用,允许用户浏览沙龙、选择服务、进行预约和支付等操作。


功能描述

核心功能

  1. 用户认证: 注册、登录、找回密码、手机验证
  2. 服务浏览: 按分类、位置等条件搜索和浏览美容服务
  3. 沙龙管理: 查看和筛选附近的美容沙龙
  4. 服务预订: 选择服务选项、添加附加选项并预订
  5. 支付处理: 支持多种支付方式(Stripe、PayPal、Razorpay、FlutterWave、PayStack、PayMongo)
  6. 位置服务: 集成 Google 地图和 GPS 定位
  7. 通知系统: Firebase 推送通知和消息提醒
  8. 收藏功能: 收藏喜欢的服务和沙龙
  9. 评价系统: 对服务和沙龙进行评价
  10. 钱包功能: 余额管理和充值

主要模块

模块名 功能说明
account 账户管理
auth 认证授权
book_e_service 服务预订
bookings 预订管理
category 分类管理
checkout 结账流程(多种支付方式)
custom_pages 自定义页面
e_service 电子服务详情
favorites 收藏功能
gallery 图库展示
help_privacy 帮助与隐私
home 主页展示
maps 地图功能
messages 消息系统
notifications 通知系统
profile 用户资料
rating 评价系统
root 根模块
salon 美容沙龙管理
search 搜索功能
settings 设置页面
wallets 钱包功能

项目结构

beautysalons-410.nalili.com-flutter_application/
├── lib/
│   ├── app/
│   │   ├── exceptions/      # 异常处理
│   │   ├── middlewares/     # 路由中间件
│   │   ├── models/          # 数据模型
│   │   ├── modules/         # 功能模块 (22 个模块)
│   │   ├── providers/       # 数据提供者
│   │   ├── repositories/    # 数据仓库
│   │   ├── routes/          # 路由配置
│   │   └── services/        # 服务层
│   ├── common/              # 公共组件和工具
│   ├── firebase_options.dart # Firebase 配置
│   └── main.dart            # 应用入口
├── android/                  # Android 平台配置
├── ios/                      # iOS 平台配置
├── assets/                   # 资源文件
│   ├── img/                 # 图片资源
│   └── icon/                # 图标资源
├── config/                   # 配置文件
└── documentation/            # 文档

核心业务逻辑

技术架构

  • 架构模式: MVVM/MVC,使用 GetX 框架进行状态管理
  • 依赖注入: 通过 GetX 进行服务管理
  • 响应式编程: 使用 Rx observables 进行状态变化

数据流

  1. API 通信: 使用 Dio 库进行 HTTP 请求
  2. 本地存储: 使用 GetStorage 进行本地数据持久化
  3. 实时数据库: 使用 Firebase Firestore
  4. 状态管理: 使用 GetX 的响应式变量

关键服务

AuthService (认证服务)

  • 管理用户登录状态
  • 使用 GetStorage 存储用户数据
  • 处理 API 令牌管理

SettingsService (设置服务)

  • 应用程序配置管理
  • 主题切换(亮色/暗色)
  • 本地化设置
  • 地址管理

HomeController (主页控制器)

  • 获取滑块广告
  • 获取分类列表
  • 获取推荐沙龙
  • 实现下拉刷新功能

EServiceController (服务控制器)

  • 管理具体服务的详情
  • 处理服务选项选择
  • 收藏/取消收藏功能
  • 预订数据准备

核心代码文件

文件路径 说明
lib/main.dart 应用入口文件,初始化配置和路由
lib/firebase_options.dart Firebase 服务配置
lib/app/routes/app_pages.dart 路由配置和页面导航
lib/app/services/auth_service.dart 用户认证服务
lib/app/services/settings_service.dart 应用设置服务
lib/app/modules/home/home_controller.dart 主页业务逻辑
lib/app/modules/auth/auth_controller.dart 认证业务逻辑
lib/app/modules/book_e_service/book_e_service_controller.dart 服务预订逻辑
lib/app/modules/checkout/checkout_controller.dart 结账支付逻辑
lib/app/models/ 数据模型定义

技术栈

核心框架与库

依赖库 版本 用途
get 4.6.6 状态管理和路由
get_storage 2.1.1 本地存储
dio 4.0.6 HTTP 客户端
dio_http_cache 0.3.0 HTTP 缓存
firebase_core 2.29.0 Firebase 核心
firebase_auth 4.19.1 Firebase 认证
cloud_firestore 4.16.1 Firestore 数据库
firebase_messaging 14.8.1 推送通知
firebase_storage 11.7.1 文件存储
google_maps_flutter 2.6.0 地图服务
webview_flutter 4.7.0 WebView 组件

UI 组件库

  • google_fonts: 字体支持
  • cached_network_image: 图片缓存
  • carousel_slider: 轮播图
  • flutter_svg: SVG 渲染
  • shimmer: 加载动画
  • date_picker_timeline: 日期选择器

支付集成

  • Stripe、PayPal、Razorpay、FlutterWave、PayStack、PayMongo

安全特性

  1. Firebase 认证: 安全的用户认证机制
  2. API 密钥管理: 保护后端 API 密钥
  3. 数据加密: 本地存储数据加密
  4. 权限管理: 运行时权限请求处理

集成服务

服务 用途
Firebase 认证、数据库、存储、推送通知
Google Maps 地理位置和地图服务
Stripe/PayPal/Razorpay 等 全球化支付解决方案
WebView 嵌入式网页显示

总结

这是一个功能齐全的美容服务预订应用程序,采用现代 Flutter 开发实践。项目使用 GetX 框架进行状态和路由管理,集成了丰富的第三方服务(Firebase、Google Maps、多种支付方式),实现了完整的 O2O 服务预订流程。架构清晰,模块分离明确,具有良好的可维护性和扩展性。

优势特点:

  • 模块化架构,易于添加新功能
  • 支持多种支付网关,适合全球化部署
  • 完善的国际化支持
  • 灵活的主题系统
  • 清晰的代码组织结构

资源在线 » 完整的美容服务 O2O(线上到线下)平台移动端应用,允许用户浏览沙龙、选择服务、进行预约和支付等操作

常见问题FAQ

发表评论