当前位置: 首页 > news >正文

基于 SpringBoot + Vue 在线点餐系统(前后端分离)

大家好,今天给大家带来一个超级简单的 在线外卖点餐项目。大家可用学习下系统的设计和源码风格。

视频演示

在线点餐系统

图片演示

技术栈

后端

技术框架:JDK8+SpringBoot2

数据库:Mysql8

用户token: JWT

用户菜单权限管理 : shiro

聊天: websocket

前端

- Vue.js 2.5.2 - 主要的前端框架
- Vue Router 3.0.1 - 单页面应用路由管理
- Vuex 3.1.1 - 状态管理

UI 组件库
- Element UI 2.9.1 - 基于 Vue 的桌面端组件库,提供丰富的 UI 组件

网络请求
- Axios 0.19.0 - HTTP 客户端,用于与后端 API 通信
- JWT Decode 2.2.0 - JWT token 解析

实时通信
- WebSocket - 实现实时聊天功能和订单通知

系统功能概述

整个系统分为管理平台和商家,用户端。

商家端

商家入驻: 相当于注册商家,商家提供手机号,营业执照等信息既可以入驻成为商家。

商家登录:通过店铺名称和密码进行登录。

菜单管理: 可以修改,上架,删除店铺内的菜品。菜品分为“主食”,“饮料”,“小吃”三大类。

评论管理: 可以显示用户对店铺的评论列表,每个评论支持商家二次回复。多次回复,以树形形式展示。

订单管理:可以查看用户下单的订单,然后对订单进行接单等操作。订单的状态分为“未完成”,“待评价”,“已完成”,“已取消”。

店铺管理:店铺管理又分为“店铺资料”,“历史订单”,“顾客互动”,“修改密码”,“账号设置”。

店铺资料: 可以查看 店铺姓名,联系方式,店铺地址,店主姓名,店主邮箱,评分0 分。

历史订单: 可以查询到店铺内所有的历史订单,支持商品名称 关键字进行模糊搜索。

顾客互动: 以类似qq,微信等聊天的样式展示与客户聊天的消息,消息是通过websocket技术实时推送过来的。

修改密码: 支持修改店铺的登录密码。

账号设置: 修改店铺信息。

用户端

用户注册: 用户通过用户名,密码,手机号进行注册成为平台用户。

用户登录:通过用户名和密码进行登录。

外卖服务: 显示平台内所有正常商家的店铺,每个店铺以卡片的形式展示,字段有:“店铺图”,“店铺名称”,“店铺评分”。

店铺点餐: 点击某个店铺后,会展示店铺内所有上架的菜品。菜品按”主食“,”饮料“,”小吃“进行分类显示。还可以进行商品名称搜索。

用户选中好菜品后,可以进行加入购物车和直接购买下单。

联系客服:用户进入店铺,可以点击左边的联系,与商家进行在线实时沟通。以类似qq,微信等聊天的样式展示与客户聊天的消息,消息是通过websocket技术实时推送过来的。

订单管理:可以查看用户下单的订单,然后对订单进行接单等操作。订单的状态分为“未完成”,“待评价”,“已完成”,“已取消”。

个人中心:个人中心又分为“个人资料”,“历史订单”,“店家互动”,“修改密码”,“账号设置”。

历史订单: 可以查询到用户所有的历史订单,支持商品名称 关键字进行模糊搜索。

商家互动: 与商家进行聊天。以类似qq,微信等聊天的样式展示与客户聊天的消息,消息是通过websocket技术实时推送过来的。

修改密码: 支持修改店铺的登录密码。

账号设置: 修改用户信息。

管理平台

用户管理: 支持对平台内用户进行查询,删除,修改,编辑等。

商家管理:支持对平台内商家进行查询,删除,修改,编辑等。

订单管理:支持订单按用户,商家等关键词进行搜索。

系统日志: 记录商家的入驻,登录。用户的注册,登录等详细信息日志。

系统部署

执行sql


用户需要自己安装好mysql数据库,注意,必须是mysql8 ,否则代码运行会出错。
然后用navicate等连接工具,连接到mysql服务,然后新建一个 hadluo-takeout 数据库, 然后执行 “hadluo-takeout.sql” 里面的表创建和数据导入。

前端部署

管理端部署

前端的项目必须没有中文,否则启动会报错!!

安装node , 版本:v14.21.3 , 安装完成后。 进入到项目 hadluo-admin-vue目录下,这个项目是vue的管理平台, 右键,运行cmd,运行下面命令:


npm run dev


由于我已经跟你npm install好了,所以你无需执行,直接run就可以了!!

用户端部署

然后进入到项目 hadluo-vue目录下,这个项目是vue的用户+商家端, 右键,运行cmd,运行下面命令:


npm run dev


由于我已经跟你npm install好了,所以你无需执行,直接run就可以了!!

到此前端项目部署完成。

启动后端项目


将maven设置的settings.xml改成你自己的配置。

然后刷新maven,等待项目下载依赖包完成。。。。。

然后部署后端 , 打开idea, 导入maven工程 hadluo-server。


打开resources目录, 修改 application.yml 配置文件,主要修改下面几个信息:
数据库信息:

spring:datasource:url: jdbc:mysql://127.0.0.1:3306/wxhadluo-fresh?characterEncoding=UTF8&serverTimezone=Asia/Shanghaiusername: rootpassword: qq123456


然后启动 main 启动类 :TakeoutApplication.class


浏览器访问


管理后端:http://localhost:8082/

管理员的账号密码 : admin/123456

用户+商家端:http://localhost:8081/

注意用户和商家端 的浏览器不能是同一个,否则会串token数据。

http://www.xdnf.cn/news/1004869.html

相关文章:

  • javascript入门
  • LangGraph--搭建官方机器人聊天(带工具的)教程
  • vue 导航 + router-view 局部刷新
  • AI技术专题:电商AI专题
  • java使用aspose读取word里的图片
  • YOLOv8 模块添加与修改讲解:从源码修改到配置文件配置
  • Nacos服务注册失败解决方案
  • pysnmp 操作流程和模块交互关系的可视化总结
  • JVM深度解析:执行引擎、性能调优与故障诊断完全指南
  • 【Python从入门到精通】--pycharm虚拟环境详解
  • 深度解析关键词价值,实现精准流量匹配
  • SpringBoot解决下载接口文件名中文乱码问题的3种方法
  • Bash (Bourne Again SHell)
  • Ftrace 调试 Rockchip MIPI D-PHY 驱动步骤
  • 明远智睿SD2351核心板:边缘计算时代的工业级核心引擎深度解析
  • 深度学习之模型压缩三驾马车:基于ResNet18的模型剪枝实战(3)
  • DEVICENET转MODBUS TCP网关连接DeviceNet数字远程IO模块配置案例
  • 解决新版RN 热更新报错:recreateReactContextInBackground
  • Unity Mecanim C# 动画切换实践:实现随机播放待机动画
  • 网络安全:OWASP防护守则
  • Tomcat调优
  • Ntfs!NtfsAllocateRestartTableIndex函数分析和Ntfs!DIRTY_PAGE_ENTRY_V0结构的关系
  • CSS 基础选择器 文字控制属性 综合案例
  • python3.12安装记录
  • 分割任意组织:用于医学图像分割的单样本参考引导免训练自动点提示方法|文献速递-深度学习医疗AI最新文献
  • MCU、MPU、GPU、Soc、DSP、FPGA、CPLD……它们到底是什么?
  • 日本云服务器租用多少钱合适
  • 当卷积作用于信号处理
  • AppInventor2原生进度条组件LinearProgress用法及注意点
  • 第四讲 基础运算之小数运算