综合项目-点餐系统
- 8.1 开发前准备
- 8.1.1 项目展示
- 8.1.2 项目分析
- 8.1.3 项目初始化
- 8.1.4 封装网络请求
- 8.2 【任务1】商家首页
- 8.2.1 任务分析
- 8.2.2 焦点图切换
- 8.2.3 中间区域单击跳转到菜单列表
- 8.2.4 底部商品展示
- 8.3 【任务2】菜单列表
- 8.3.1 任务分析
- 8.3.2 折扣信息区
- 8.3.3 设计菜单列表布局
- 8.3.4 请求数据
- 8.3.5 实现菜单栏联动单品列表功能
- 8.4 【任务3】购物车
- 8.4.1 任务分析
- 8.4.2 设计底部购物车区域
- 8.4.3 添加商品到购物车
- 8.4.4 购物车界面
- 8.4.5 增加商品数量
- 8.4.6 减少商品数量
- 8.4.7 清空购物车
- 8.4.8 满减优惠
- 8.4.9 跳转到订单确认页面
- 8.5 【任务4】订单确认
- 8.5.1 任务分析
- 8.5.2 订单信息
- 8.5.3 备注功能实现
- 8.5.4 支付功能
- 8.5.5 支付成功返回订单列表
- 8.6 【任务5】订单详情
- 8.6.1 任务分析
- 8.6.2 取餐部分信息展示
- 8.6.3 订单详情部分
- 8.6.4 订单信息部分
- 8.7 【任务6】订单列表
- 8.7.1 任务分析
- 8.7.2 订单列表设计
- 8.7.3 封装数据请求
- 8.7.4 初始化页面
- 8.7.5 下拉刷新功能
- 8.7.6 上拉触底功能
- 8.8 【任务7】消费记录
- 8.8.1 任务分析
- 8.8.2 设计消费记录列表
- 总结
8.1 开发前准备
8.1.1 项目展示
点餐系统效果图展示:
8.1.2 项目分析
订餐系统任务需求:
- 底部标签导航切换。
- 在“首页” 单击“开启点餐之旅”,跳转到菜单列表界面。
- 在菜单列表页面中,单击“+”把所选商品加入购物车。
- 如果购物车中商品数量为0时,单击购物车图标不会展开购物车列表,如果不为0时,单击购物车,可以操作购物车。
- 在“订单列表”界面,查看订单状态,显示是否取餐。
- “消费记录”界面显示历史订单消费记录信息。
8.1.3 项目初始化
8.1.4 封装网络请求
为什么要封装网络请求?
- 本项目采用的网络请求的方式来获取数据。
- 小程序官方文档提供了网络请求API,传递参数,对不同请求做不同处理。
- 请求接口中有部分请求参数以及响应结果处理都很类似。
8.2 【任务1】商家首页
8.2.1 任务分析
首页内容任务分析:
- 顶部商品的滑块容器区域。
- 中间部分新品推送区域。
- 底部商品列表展示区域。
- 当进入到首页时开始请求接口,此时会出现弹窗,提示努力加载中;请求成功后,关闭弹窗,获取数据渲染首页。
8.2.2 焦点图切换
在首页顶部区域,设置了焦点图切换的效果,图片资源通过请求接口获取数据。焦点图区域的布局:
8.2.3 中间区域单击跳转到菜单列表
首页中间部分展示了手机点餐的推广banner图,单击“开启订餐之旅”跳转到菜单列表,引导顾客进行点餐,中间区域的布局:
8.2.4 底部商品展示
底部区域的布局:
8.3 【任务2】菜单列表
8.3.1 任务分析
菜单列表任务分析:
- 顶部折扣信息区域。
- 左侧菜单栏区域。
- 右侧单品列表区域。
- 菜单栏和单品间实现单击联动效果。
8.3.2 折扣信息区
展示商家的折扣活动信息或店铺优惠信息,折扣信息区页面结构布局:
8.3.3 设计菜单列表布局
pages/list/list.wxml文件,左侧菜单列表页面结构布局:
pages/list/list.wxml文件,右侧菜单列表页面结构布局:
8.3.4 请求数据
8.3.5 实现菜单栏联动单品列表功能
8.4 【任务3】购物车
8.4.1 任务分析
购物车任务分析:
- 当购物车里商品数量为0时,购物车图标为灰色,处于不可单击状态。
- 当商品数量不为0时,在购物车图标的右上角显示商品数量,图标变为可单击状态。
- 单击购物车可以展开里面的商品,此时可以添加或者减少商品数量,动态计算总金额。
- 单击清空购物车,商品数量和商品总价都变为0,购物车图标切换到灰色,此时不可单击
8.4.2 设计底部购物车区域
菜单列表页面数据请求成功后,loading值设为true,显示底部购物车区域。当购物车里商品数量为0时,购物车图标为灰色,处于不可单击状态
8.4.3 添加商品到购物车
单击图标“+”,把商品添加到购物车。
8.4.4 购物车界面
8.4.5 增加商品数量
8.4.6 减少商品数量
8.4.7 清空购物车
8.4.8 满减优惠
总价等于0,并且loading为真,显示“满25立减3元(手机点餐专享)”。总价小于25元,并且总价不等于0,且loading为真,显示 “满25立减3元,还差{{25-总计}}元,去凑单。
8.4.9 跳转到订单确认页面
8.5 【任务4】订单确认
8.5.1 任务分析
订单确认页面任务分析:
- 请求商品订单接口。
- 获取到接口数据,渲染页面。
8.5.2 订单信息
8.5.3 备注功能实现
8.5.4 支付功能
8.5.5 支付成功返回订单列表
8.6 【任务5】订单详情
8.6.1 任务分析
订单详情页面任务分析:
- 支付成功之后跳转到订单详情页面pages/order/detail/detail.wxml。
- 发起网络请求,获取订单信息。
- 信息包括取餐号、订单信息、订单号码、订单时间等。
8.6.2 取餐部分信息展示
8.6.3 订单详情部分
8.6.4 订单信息部分
8.7 【任务6】订单列表
8.7.1 任务分析
订单列表页面任务分析:
- pages/order/list/list.wxml文件为tabBar页面,两种打开方式。
- 直接切换底部标签导航进入订单页面,此时不执行页面刷新。
- 在订单支付成功之后,单击左上角返回也可以回到订单列表页面,此时需要执行页面刷新。
8.7.2 订单列表设计
8.7.3 封装数据请求
8.7.4 初始化页面
8.7.5 下拉刷新功能
8.7.6 上拉触底功能
8.8 【任务7】消费记录
8.8.1 任务分析
消费记录页面任务分析:
- pages/record/record.wxml文件为tabBar页面
- 发起网络请求,获取消费记录信息。
- 展示用户的个人历史订单信息。
- 包括用户的下单时间、商品总价钱。
8.8.2 设计消费记录列表
总结
点餐系统小程序主要完成底部标签导航的设计、幻灯片轮播效果设计、菜单列表的效果显示、购物车功能实现、订单详情页面设计、订单列表设计、消费记录页面的设计。通过对本章的学习,读者需要重点掌握如何设计一个完整的小程序项目,熟悉项目的开发流程,学会如何在开发中运用所学技术解决实际问题。