一、前言
随着移动互联网的普及和人们生活节奏的加快,外卖行业迅速崛起。微信作为一款拥有庞大用户群体的社交软件,为外卖小程序的发展提供了广阔的平台。基于微信的外卖小程序能够满足用户便捷、快速订餐的需求,同时也为商家提供了新的销售渠道。
基于微信的外卖小程序选择以 Uniapp 为框架进行开发,具有显著优势。Uniapp 能够实现一套代码多端运行,无论是在微信小程序平台,还是在其他移动端平台,都能确保外卖小程序的高效适配。它大大提高了开发效率,降低了开发成本。同时,Uniapp 拥有丰富的组件库和强大的 API 接口,可以轻松构建出功能丰富、界面美观的外卖小程序。用户通过该小程序,可以便捷地浏览各类美食商家、查看菜品详情、下单支付,享受高效的外卖服务体验。
二、功能设计
2.1 用户用例图如下图所示:
2.2 管理员用例图如下图所示:
2.3 系统总体模块架构如下图所示:
三、数据库设计
数据库的 E-R 图(实体 - 关系图)是一种强大的工具,用于直观地表示数据库中的实体及其之间的关系。在数据库设计中,E-R 图可以帮助我们清晰地理解数据的结构和流向。限于篇幅要求,仅列出关键部分实体属性图和E-R图,如下所述。
四、部分效果展示
4.1 用户登录微信小程序可以选择在食堂就餐或者是打包,用户点餐界面如下图所示:
4.2 用户登录微信小程序后购买商品,购买商品界面如下图所示:
4.3 用户登录微信小程序后可以查看自己的购物车,购物车界面如下图所示:
4.4 用户登录微信小程序后可以查看订单,订单界面如下图所示:
4.5 用户登录下单后可以取消订单,取消订单界面如下图所示:
4.6 管理员登录后可以管理所有用户,用户管理界面如下图所示:
4.7 管理员登录后可以管理所有订单,订单管理界面如下图所示:
4.8 管理员登录后可以管理所有商品,商品管理界面如下图所示:
五、部分功能代码
5.1 根据商品名查询商品信息
<select id="findAllByModal" resultMap="BaseResultMap">
select *
from t_goods
where is_delete = 0
<if test="goodsName != null and goodsName != ''">
and goods_name like concat('%',#{goodsName},'%')
</if>
</select>
六、答辩可能出现的问题
🌟问题一
答辩老师:开发的小程序采用了哪些设计模式?为什么选择这些模式?
同学可回答:设计模式是选择的MVC模式,也就是常说的(Model-View-Controller)模式。在这种设计模式下,Model负责处理业务逻辑和数据操作,View负责展示用户界面,Controller负责接收用户请求并调用Model和Vieo。这样可以实现前后端的分离,降低代码耦合度提高代码的可读性和可维护性。选择这些设计模式是为了提高系统的可维护性和可扩展性:降低代码的耦合度,同时也能够更好地满足系统的功能需求和性能要求。
源码及文档获取
大家点赞、收藏、关注、评论啦 、需要源码及文档的可直接私信我即可。