外卖小程序

一、前言

    随着互联网技术的飞速发展和智能手机的广泛普及,移动互联网应用已经深入到人们生活的各个方面。外卖行业作为其中的典型代表,近年来呈现出爆发式增长。消费者越来越倾向于通过手机应用或小程序方便快捷地订购各类美食。据相关统计数据显示,外卖市场规模逐年扩大,用户数量也在持续攀升。然而,现有的外卖平台大多是综合性的大型平台,对于一些小型商家或者特定区域的商家来说,可能存在着费用高、定制性差等问题。因此,开发一个专门针对特定需求(如高校校园、小型商圈等)的外卖小程序具有一定的市场空间。

    SpringBoot 用于构建外卖小程序的后端服务。它简化了配置过程,提供快速搭建项目的能力,能高效处理业务逻辑,如用户注册登录验证、订单处理、商家信息管理等。Vue 构建前端用户界面,以组件化的方式开发,方便创建交互性强、美观的页面,如菜单展示、购物车管理界面。MySQL 存储数据,管理用户、商家、菜品、订单等多类数据,确保数据的持久化与完整性。Uniapp 则用于实现多端发布,一套代码可编译为小程序、H5 等,减少开发成本,提升开发效率,适应不同平台需求。


二、功能设计

3.1 管理员用例图如下图所示:

3.2 商家用例图如下图所示:

3.3 用户用例图如下图所示:

三、数据库设计

数据库的 E-R 图(实体 - 关系图)是一种强大的工具,用于直观地表示数据库中的实体及其之间的关系。在数据库设计中,E-R 图可以帮助我们清晰地理解数据的结构和流向。限于篇幅要求,仅列出关键部分实体属性图,如下所述。

四、部分效果展示

4.1 外面小程序用户首页,展示热门推荐商品,按分类列出服务。设有搜索栏方便查找。轮播图呈现重要资讯或活动。用户能查看订单状态,还可通过入口进入个人信息管理界面。

4.2 店铺详情页展示店铺名称与标识。列出主营商品或服务类别,显示营业时间与联系电话。有店铺地址定位。

4.3 店铺点餐界面展示菜品分类,如主食、小吃、饮品等。菜品配有名称、价格和图片。有加入购物车或直接下单功能,可选择菜品规格,还能备注特殊要求,同时显示已点菜品总价。

4.4 店铺整体评价界面呈现综合评分,以星级直观展示。列出好评率等数据。展示精选评价内容,包含对菜品、服务、环境的评价。有按时间筛选评价的选项,底部显示评价总数。

4.5 订单界面分不同状态展示,如待支付、已支付、已完成等。显示订单编号、下单时间、商品详情与数量。有支付金额记录,提供取消订单或再次下单入口。

4.6 评价界面包含评价星级选项,1 - 5 星代表不同满意度。设有评价内容输入框,可输入对商品或服务的看法。能查看他人评价,按时间顺序排列。

4.7 用户个人信息界面显示用户名、头像。列出联系方式、收货地址可编辑。有订单记录入口,可查看历史订单。还设有修改密码选项保障账户安全。

4.8 管理员登录界面有用户名输入框,精确匹配管理员账号。密码输入框可输入专属密码,提供忘记密码的找回入口。有登录按钮

4.9 管理员管理商品界面,可查看商品列表,含名称、价格、库存。有添加商品入口,输入名称、价格等信息即可添加。能修改商品详情,调整价格与库存数量,也可下架商品。

4.10 管理员管理用户界面,能查看用户列表,包含用户名、注册时间等。可查询特定用户,进行账户状态管理,如封禁、解封。还能修改用户权限等级,查看用户消费记录及评价历史等操作。

4.11 管理员管理商品评价界面,能看到所有商品评价内容。可按商品分类筛选,对违规评价进行删除操作。能标记优质评价,还可查看评价对应的商品详情,以便更好地管理评价环境。

4.12 管理员管理店铺界面,可查看店铺基本信息,如名称、地址。能修改营业时间、联系电话。有添加新店铺入口,也可对已有店铺进行暂停营业或恢复营业操作,还能查看店铺经营数据。

4.13 管理员管理店铺界面,可查看店铺基本信息,如名称、地址。能修改营业时间、联系电话。有添加新店铺入口,也可对已有店铺进行暂停营业或恢复营业操作,还能查看店铺经营数据。

4.14 商家发布商品界面,有商品名称输入框,准确填写商品名。上传商品图片区域,展示商品外观。填写价格、库存数量栏。可输入详细的商品描述,涵盖规格、功能、使用方法等,还有发布按钮。

4.15 商家查看给我的评价界面,按时间顺序呈现顾客评价内容。能看到顾客给予的星级评分,明确整体满意度。每条评价显示顾客昵称,商家可据此快速了解不同顾客的反馈并改进自身服务或商品。

五、部分功能代码

5.1 查询我得外卖详情

<select id="list" resultType="com.company.project.model.Order">
        select s.id as id,s.created_at as createdAt,s.created_by as createdBy,
                s.updated_by as updatedBy,s.updated_at as updatedAt,s.status as status,
                s.remark as remark,s.shipping_address_id as shippingAddressId,s.coupon_id as couponId,
                s.pay_state as payState,s.total_money as totalMoney,s.delivery_method as deliveryMethod,
                s.user_id as userId,s.phone as phone,s.get_time as getTime,s.shop_id as shopId,
                u.user_name as userName,
                tsa.phone as addressPhone,tsa.address as address
        from t_order s
        left join t_user u on s.created_by = u.id
        left join t_shipping_address tsa on s.shipping_address_id = tsa.id
        where s.is_delete = 0
        <if test="id != null">
          and s.id = #{id}
        </if>
        <if test="shopId != null">
            and s.shop_id = #{shopId}
        </if>
        <if test="createdBy != null and createdBy != ''">
          and s.created_by = #{createdBy}
        </if>
    </select>

六、答辩可能出现的问题

🌟问题一
答辩老师:Vue 和 Uniapp 结合使用的好处是什么?
同学可回答:Vue 和 Uniapp 结合使用有诸多好处。Vue 是一个流行的前端框架,具有组件化开发、数据双向绑定、虚拟 DOM 等特性,能够高效构建用户界面,代码复用性和可维护性强。Uniapp 在此基础上提供了跨平台能力,可将 Vue 编写的代码编译成多种平台的应用,如微信小程序、H5、App 等。这样一来,既利用了 Vue 在界面构建方面的优势,又借助 Uniapp 实现了多端发布,大大减少了开发成本和工作量,提高了开发效率,使外卖小程序能快速覆盖更多用户终端。

源码及文档获取

大家点赞、收藏、关注、评论啦 、需要源码及文档的可直接私信我即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机毕设定制辅导-无忧学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值