# 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**: 1 - **Created**: 2025-09-08 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个基于 Kotlin 开发的完整 Android 电商购物应用,采用 MVVM 架构,支持完整的电商购物流程。 📱 一、用户认证系统 1.1 登录功能 密码登录:支持手机号+密码登录 短信验证码登录:通过短信验证码快速登录 QQ授权登录:集成QQ第三方登录 Token刷新机制:自动刷新过期token,保持登录状态 图片验证码:滑块拼图验证码,防止恶意注册 1.2 注册功能 用户注册新账号 手机号验证 密码设置 1.3 忘记密码 通过短信验证码重置密码 1.4 修改手机号 验证旧手机号后更换新手机号 1.5 账户注销 支持用户主动注销账户 🏠 二、首页功能 2.1 轮播图展示 自动轮播(3秒间隔) 支持点击跳转到商品详情或活动页面 圆角图片显示 2.2 商品分类导航 10个主要分类:手机、服装、电脑、优惠、家电、户外、潮鞋、会员、包包、网络 每个分类点击可跳转到对应商品列表 2.3 限时抢购 横向滑动展示限时特价商品 显示商品图片、价格 点击跳转商品详情 2.4 热门推荐 纵向列表展示推荐商品 支持下拉刷新 2.5 全部商品 网格布局(2列)展示所有商品 支持滚动加载 2.6 优惠券系统 首页显示优惠券跑马灯 点击可查看可用优惠券列表 支持一键领取优惠券 2.7 搜索功能 顶部搜索框 点击跳转到搜索页面 支持热门搜索关键词 📂 三、商品分类 3.1 左右分栏布局 左侧:一级分类列表(可点击切换) 右侧:对应分类下的二级分类详情 3.2 分类树结构 支持多级分类展示 自动构建分类树 按排序号排序 3.3 点击交互 左侧分类选中高亮 右侧自动滚动到对应分组 点击子分类可查看商品 🛒 四、购物车功能 4.1 本地数据库存储 使用 Room 数据库本地存储购物车数据 支持离线浏览购物车 4.2 商品管理 添加商品:从商品详情页加入购物车 选择商品:单选/全选商品 修改数量:增加/减少商品数量 删除商品:批量删除选中商品 4.3 编辑模式 切换编辑/结算模式 编辑模式下批量删除商品 结算模式下直接去结算 4.4 价格计算 实时计算选中商品总价 显示选中商品种类数量 4.5 空购物车状态 空购物车提示 "去逛逛"按钮跳转首页 📦 五、商品详情 5.1 商品信息展示 商品主图轮播 商品标题、副标题 商品价格 商品规格选择(弹窗) 商品详情图片列表 5.2 规格选择 底部弹窗选择商品规格 不同规格对应不同价格 显示库存信息 选择数量 5.3 操作按钮 加入购物车:添加到购物车 立即购买:直接进入订单确认页 5.4 商品评价 显示用户评价列表 评价数量统计 点击查看全部评价 5.5 客服入口 在线客服咨询 💳 六、订单管理 6.1 订单创建 支持单个商品下单 支持购物车批量下单 自动计算订单金额 6.2 确认订单 选择收货地址 显示商品列表 使用优惠券 显示订单金额 提交订单 6.3 订单状态分类(7种) 全部订单 待付款:未支付订单 待发货:已支付待商家发货 待收货:已发货待确认收货 售后/退款:退款中订单 待评价:已收货待评价 已完成:已完成订单 6.4 订单操作 取消订单:待付款状态可取消 立即支付:待付款订单去支付 申请退款:申请售后退款 确认收货:确认收到商品 查看物流:查看物流轨迹 评价订单:对商品进行评价 6.5 订单详情 订单基本信息 商品信息 收货地址 支付信息 物流信息 💰 七、支付系统 7.1 支付宝支付 集成支付宝SDK 支持支付宝App支付 支付结果回调处理 7.2 支付状态 9000:支付成功 8000:支付结果确认中 6001:用户取消支付 其他:支付失败 👤 八、用户中心 8.1 个人信息展示 用户头像(支持设置) 用户昵称 手机号码 8.2 订单快捷入口 显示各状态订单数量徽标 快速跳转到对应订单列表 8.3 功能入口 全部订单:查看所有订单 收货地址:管理收货地址 个人信息:编辑个人资料 我的优惠券:查看已领取的优惠券 在线客服:联系客服 意见反馈:提交反馈建议 设置:应用设置 📍 九、地址管理 9.1 地址列表 显示所有收货地址 标记默认地址 9.2 添加地址 省市区三级联动选择 详细地址输入 联系人信息 联系电话 设置默认地址 9.3 编辑地址 修改地址信息 切换默认地址 9.4 删除地址 删除收货地址 🎟️ 十、优惠券系统 10.1 领取优惠券 首页领取优惠券 优惠券列表页领取 10.2 我的优惠券 查看已领取的优惠券 优惠券状态显示(可用/已使用/已过期) 优惠券面额、使用条件 10.3 使用优惠券 下单时选择优惠券 自动计算优惠金额 💬 十一、客服系统 11.1 在线客服 创建客服会话 发送文字消息 发送图片消息 查看历史消息 11.2 消息列表 显示所有客服会话 显示最后一条消息预览 显示未读消息数量 📝 十二、反馈系统 12.1 反馈类型 多种反馈类型选择 12.2 提交反馈 选择反馈类型 输入反馈内容 上传图片( 支持多图) 提交反馈 12.3 反馈列表 查看历史反馈 反馈状态(待处理/已处理) 🔍 十三、搜索功能 13.1 搜索页面 显示热门搜索关键词 显示历史搜索记录 搜索框输入 13.2 搜索结果 商品列表展示 支持排序(价格升序/降序) 支持筛选 分页加载 ⭐ 十四、商品评价 14.1 查看评价 商品详情页显示评价 评价列表页查看所有评价 14.2 提交评价 对已收货商品进行评价 评分(星级) 文字评价 上传评价图片 🚚 十五、物流查询 15.1 物流信息 查看订单物流轨迹 时间轴展示物流节点 物流状态(运输中/已签收) ⚙️ 十六、设置功能 16.1 通用设置 语言切换(支持国际化) 字体大小调整 主题切换(支持自定义主题色) 夜间模式 16.2 关于 应用版本信息 隐私政策 用户协议 16.3 其他 清除缓存 退出登录 🔧 十七、技术特性 17.1 架构设计 MVVM 架构:ViewModel + LiveData + DataBinding Repository 模式:数据层抽象 协程:异步任务处理 17.2 数据存储 Room 数据库:本地购物车数据 DataStore:用户配置信息存储 17.3 网络请求 Retrofit:网络请求框架 OkHttp:HTTP客户端 Kotlin Serialization:JSON序列化 17.4 图片加载 Coil:图片加载库 支持圆角图片 支持GIF动图 17.5 UI组件 ViewPager2:页面滑动 RecyclerView:列表展示 SmartRefreshLayout:下拉刷新 Banner:轮播图 DialogX:对话框 Material Design:Material Design组件 17.6 其他功能 权限管理:XXPermissions 图片压缩:Luban 日志工具:Timber Toast工具:自定义Toast 日期工具:日期格式化 🎯 十八、用户体验优化 18.1 性能优化 列表项缓存优化 图片加载优化 协程并行请求 内存泄漏防护 18.2 交互优化 下拉刷新 加载动画 错误页面提示 网络异常处理 双击退出应用 18.3 视觉效果 圆角图片 渐变色按钮 主题色自定义 动画过渡 📊 十九、数据统计 19.1 用户统计 待付款订单数 待发货订单数 待收货订单数 待评价订单数 退款中订单数