# Shop **Repository Path**: Lemonade56/shop ## Basic Information - **Project Name**: Shop - **Description**: 基于Kotlin+协程+Flow+Retrofit+Jetpack+MVVM架构实现,全部用原生开发 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2025-09-08 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、项目简介 这是一个基于 Kotlin 开发的完整 Android 电商购物应用,采用 MVVM 架构 ,支持完整的电商购物流程。项目采用模块化设计,包含用户认证、商品浏览、购物车、订单管理、支付系统、客服系统等核心电商功能模块。 ## 二、技术栈 技术领域 技术选型 开发语言 Kotlin 2.2.10 架构模式 MVVM + Repository UI 框架 Jetpack Compose + Material Design 3 网络请求 Retrofit 3.0 + OkHttp 5.3 数据序列化 Kotlinx Serialization 本地存储 Room 2.8.4 + MMKV 图片加载 Coil 导航 Navigation 3 权限管理 XXPermissions 支付 支付宝 SDK ## 三、项目架构 ``` Shop/ ├── app/                    # 主模块(Application) ├── core/                   # 核心模块(Base、网络、数据库、工具) ├── component/              # 公共组件模块(自定义 View、骨架屏) └── feature/                # 功能模块     ├── home/               # 首页     ├── good/               # 商品详情     ├── cart/               # 购物车     ├── order/              # 订单     ├── payment/            # 支付     ├── address/            # 地址管理     ├── search/             # 搜索     └── user/               # 用户中心 ``` ## 四、核心功能模块 ### 4.1 用户认证系统 - 登录方式 :密码登录、短信验证码登录、QQ 授权登录 - 安全防护 :滑块拼图验证码、Token 自动刷新机制 - 账户管理 :注册、忘记密码、修改手机号、账户注销 ### 4.2 首页功能 - 轮播图自动展示(3秒间隔) - 商品分类导航(10大品类) - 限时抢购横向滑动 - 热门推荐列表 - 优惠券跑马灯 - 智能搜索入口 ### 4.3 商品模块 - 分类树形结构(左右分栏) - 商品详情(轮播图、规格选择、评价展示) - 规格弹窗选择(不同规格不同价格) - 加入购物车 / 立即购买 ### 4.4 购物车系统 - 本地存储 :Room 数据库离线支持 - 商品管理 :单选/全选、数量修改、批量删除 - 价格计算 :实时计算选中商品总价 - 编辑模式 :支持编辑/结算模式切换 ### 4.5 订单管理 - 订单状态 :7种状态(待付款、待发货、待收货、待评价、售后/退款、已完成) - 订单操作 :取消、支付、申请退款、确认收货、查看物流、评价 - 订单创建 :支持单商品下单和购物车批量下单 ### 4.6 支付系统 - 集成支付宝 SDK - 支付状态回调处理 - 支持支付结果确认中状态 ### 4.7 地址管理 - 省市区三级联动选择 - 默认地址标记 - 地址增删改查 ### 4.8 优惠券系统 - 首页领取优惠券 - 我的优惠券管理 - 下单时自动计算优惠 ### 4.9 客服系统 - WebSocket 实时通信 - 文字/图片消息 - 消息列表与会话管理 ### 4.10 其他功能 - 搜索 :热门关键词、历史记录、结果排序筛选 - 评价 :星级评分、图文评价 - 物流 :物流轨迹时间轴展示 - 设置 :语言切换、主题色自定义、夜间模式 ## 五、技术亮点 ### 5.1 架构设计 - MVVM 架构 :ViewModel + StateFlow 响应式数据流 - Repository 模式 :数据层抽象,便于切换数据源 - 模块化设计 :按功能拆分模块,解耦清晰 ### 5.2 性能优化 - 列表项缓存优化 - 图片加载优化(Coil) - 协程并行请求 - 骨架屏加载体验 - 网络请求防抖 ### 5.3 用户体验 - 下拉刷新 + 加载动画 - 网络异常处理 + 错误页面 - 双击退出应用 - 圆角图片 + 渐变色按钮 - 主题色自定义 ### 5.4 数据安全 - Token 自动刷新机制 - 请求签名验证 - 敏感信息加密存储 ## 六、项目截图 建议添加以下截图: 1. 启动页/引导页 2. 首页(轮播图、分类、推荐) 3. 商品详情页 4. 购物车页面 5. 订单确认页 6. 个人中心 7. 主题切换效果 ## 七、开发心得 ### 7.1 模块化开发 采用模块化架构后,各功能模块独立开发、独立测试,大大提高了团队协作效率。同时模块间通过接口通信,降低了耦合度。 ### 7.2 Compose 实践 从传统 View 系统迁移到 Jetpack Compose,声明式 UI 开发效率显著提升。配合 Material Design 3,快速构建美观的界面。 ### 7.3 状态管理 使用 StateFlow 管理页面状态,配合 ViewModel 的生命周期感知,有效避免内存泄漏和状态丢失问题。 ### 7.4 网络层封装 Retrofit + Kotlin Serialization 的组合,让网络请求和数据解析变得简洁优雅。配合自定义拦截器,统一处理 Token 刷新和错误处理。 ## 八、后续规划 - 接入微信支付 - 商品收藏功能 - 消息推送(FCM/极光) - AR 试鞋功能 - 性能监控与埋点 ## 九、总结 本项目是一个功能完整的电商购物应用,涵盖了电商业务的核心流程。通过现代化的 Android 技术栈和模块化架构,实现了代码的高可维护性和可扩展性。希望能为正在学习 Android 开发的同学提供一些参考和启发。