基于微信小程序的外卖点餐小程序
创始人
2025-05-29 04:59:13
0

文末联系获取源码

开发语言:Java

框架:ssm

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

一、前言介绍 

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序外卖点餐的设计与实现的开发全过程。通过分析微信小程序外卖点餐的设计与实现管理的不足,创建了一个计算机管理微信小程序外卖点餐的设计与实现的方案。文章介绍了微信小程序外卖点餐的设计与实现的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本微信小程序外卖点餐的设计与实现有管理员,外卖员,餐厅,用户共四个角色。管理员功能有个人中心,外卖员管理,餐厅管理,用户管理,菜品分类管理,菜品信息管理,外卖订单管理,订单配送管理,订单评价管理,在线留言管理,系统管理等。外卖员,餐厅,用户都可以在微信小程序上面进行注册和登录操作。餐厅角色可以在微信小程序上面进行菜品的添加,修改,删除,查询操作,可以对用户的订单进行审核操作,查看订单配送状态和评价,可以查看投诉反馈和在线留言等。外卖员角色可以在微信小程序上面进行订单的抢单操作,查看订单配送和评价信息等。

用户角色可以在微信小程序上面进行菜品的查看和查询,对自己下的订单进行支付操作,查看订单配送和对订单评价,收藏菜品等操作。因而具有一定的实用性。

本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得微信小程序外卖点餐的设计与实现管理工作系统化、规范化。

二、系统结构

设计的管理员主要是为用户提供的一些信息进行服务的。设计的管理员功能结构图如下图所示:

三、小程序用户模块的实现 

3.1系统首页

小程序用户是需要注册才可以进行登录的,登录后在首页可以搜索菜品名称,以及查看菜品,并且下面导航可以点击到其他功能模块。界面如下图所示:

3.2我的菜单

在小程序里点击我的,会出现关于我的界面,在这里可以修改个人信息,以及可以点击其他功能模块。界面如下图所示:

3.3收藏与下单

在商品详情界面,可以对商品进行收藏和下单操作,点击菜品图片右下角的五角星,是收藏操作,双击是取消,点击页面右下角的下单按钮,会进行下单操作。界面如下图所示:

 

四、管理员模块的实现 

4.1菜品信息管理

管理员可以管理菜品信息,可以对菜品信息添加修改删除。具体界面的展示如图 

4.2订单配送管理

管理员可以订单配送进行查询修改,删除操作。具体界面如图 

 

4.3外卖员管理

系统管理员可以对外卖员信息进行新增,修改,删除,查询操作。界面如下图所示:

4.4餐厅管理

系统管理员可以对餐厅信息进行新增,修改,删除,查询操作。界面如下图所示:

4.5用户管理

系统管理员可以对用户进行添加修改删除操作。界面如下图所示:

 

五、部分核心代码

5.1登录系统主要代码 

form.on('submit(login)', function(data) {data = data.field;if (vue.roles.length!=1) {if (!data.role) {layer.msg('请选择登录用户类型', {time: 2000,icon: 5});return false;}} else {data.role = vue.roles[0].tableName;}http.request(data.role + '/login', 'get', data, function(res) {layer.msg('登录成功', {time: 2000,icon: 6});// 登录凭证localStorage.setItem('Token', res.token);var roleName = "";if(typeof(jquery('#role:checked').attr('title')) == "undefined") {roleName = vue.roles[0].roleName;} else {roleName = jquery('#role:checked').attr('title');}localStorage.setItem('role', roleName);// 当前登录用户角色localStorage.setItem('userTable', data.role);localStorage.setItem('sessionTable', data.role);// 用户名称localStorage.setItem('adminName', data.username);http.request(data.role + '/session', 'get', {}, function(res) {// 用户idlocalStorage.setItem('userid', res.data.id);if(res.data.vip) {localStorage.setItem('vip', res.data.vip);}// 路径访问设置window.location.href = '../../index.html';})});return false});});/*** 跳转登录* @param {Object} tablename*/function registerClick(tablename) {window.location.href = '../' + tablename + '/register.html?tablename=' + tablename;}

5.2用户注册主要代码

*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody YonghuEntity yonghu){//ValidatorUtils.validateEntity(yonghu);YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuming", yonghu.getYonghuming()));if(user!=null) {return R.error("注册用户已存在");}Long uId = new Date().getTime();yonghu.setId(uId);yonghuService.insert(yonghu);return R.ok();}

 5.3小程序端首页主要代码

methods: {jump(url) {if (this.queryIndex == 0) {localStorage.setItem('indexQueryCondition', document.getElementById("dianyingxinxidianyingmingcheng").value);}jump(url)},queryChange(event) {this.queryIndex = event.target.value;if (this.queryIndex == 0) {this.dianyingxinxidianyingmingcheng = this.queryList[event.target.value].queryName;}}}});layui.use(['layer', 'form', 'element', 'carousel', 'http', 'jquery'], function() {var layer = layui.layer;var element = layui.element;var form = layui.form;var carousel = layui.carousel;var http = layui.http;var jquery = layui.jquery;vue.baseurl=http.baseurl;// 获取轮播图 数据http.request('config/list', 'get', {page: 1,limit: 5}, function(res) {if (res.data.list.length > 0) {let swiperList = [];res.data.list.forEach(element => {if (element.value != null) {swiperList.push({img: http.baseurl + element.value});}});vue.swiperList = swiperList;vue.$nextTick(() => {carousel.render({elem: '#test1',width: '89.6%',height: '500px',arrow: 'hover',anim: 'default',autoplay: 'true',interval: '3000',indicator: 'inside'});})// vue.$nextTick(()=>{//   window.xznSlide();// });}});http.request('news/list', 'get', {page: 1,order: 'desc'}, function(res) {var newsList = res.data.list;for(var i = 0; i 0 && newsList.length <= 2) {vue.leftNewsList = res.data.list} else {var leftNewsList = []for (let i = 0; i <= 2; i++) {leftNewsList.push(newsList[i]);}vue.leftNewsList = leftNewsList}if (newsList.length > 2 && newsList.length <= 8) {var rightNewsList = []for (let i = 3; i <= newsList.length; i++) {rightNewsList.push(newsList[i]);}vue.rightNewsList = rightNewsList}let flag = 10;let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}options.pagination = {el:'null'}if(flag == 3) {vue.$nextTick(() => {new Swiper('#newsnews', options)})}if(flag == 6) {let sixSwiper = {loop: true,speed: 2500,slidesPerView: 3,spaceBetween: 10,centeredSlides: true,watchSlidesProgress: true,autoplay: {delay: 0,stopOnLastSlide: false,disableOnInteraction: false}}vue.$nextTick(() => {new Swiper('#new-list-6', sixSwiper)})}});// 获取推荐信息var autoSortUrl = "dianyingxinxi/autoSort";if(localStorage.getItem('userid')!=null) {autoSortUrl = "dianyingxinxi/autoSort2";}http.request(autoSortUrl, 'get', {page: 1,limit: 3 * 1}, function(res) {vue.dianyingxinxiRecommend = res.data.listlet flag = 1;let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}options.pagination = {el:'null'}if(flag == 3) {vue.$nextTick(() => {new Swiper('#recommenddianyingxinxi', options)})}if(flag == 5) {vue.$nextTick(() => {var swiper = new Swiper('#recommend-five-swiperdianyingxinxi', {loop: true,speed: 500,slidesPerView: 5,spaceBetween: 10,autoplay: {"delay":3000,"disableOnInteraction":false},centeredSlides: true,watchSlidesProgress: true,on: {setTranslate: function() {slides = this.slidesfor (i = 0; i < slides.length; i++) {slide = slides.eq(i)progress = slides[i].progress// slide.html(progress.toFixed(2)); //看清楚progress是怎么变化的slide.css({'opacity': '','background': ''});slide.transform(''); //清除样式slide.transform('scale(' + (1.5 - Math.abs(progress) / 4) + ')');}},setTransition: function(transition) {for (var i = 0; i < this.slides.length; i++) {var slide = this.slides.eq(i)slide.transition(transition);}},},navigation: {"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},pagination: {"el":".swiper-pagination","clickable":true},});})}});});

相关内容

热门资讯

移动架构44_Lifecycl... Android移动架构汇总​​​​​​​ 文章目录引子一 什么是Lifecycle?二...
最新或2023(历届)预防雾霾... 导语:下面分享一些关于预防雾霾的手抄报资料,希望对大家有所帮助!关于雾霾的手抄报图片01关于雾霾的手...
最新或2023(历届)浓浓的乡... 导语:月是故乡明。下面分享一些关于乡情的手抄报资料,希望对大家有所帮助!关于乡情的手抄报图片01关于...
最新或2023(历届)浓浓乡情... 导语:啊!家乡的黄花,我乡情爱歌里一个永不消失的音符!下面分享一些关于乡情的手抄报资料,希望对大家有...
最新或2023(历届)浓浓的乡... 导语:每逢佳节倍思亲。想来在中秋这个月圆之日,一家人团圆的日子里,更是让人心中涌起了一股思乡情愁。下...
【学习笔记】计算机视觉与深度学... 学习视频: 鲁鹏-计算机视觉与深度学习 1 图像分类任务 图像分类任务是计算机视觉的核...
wxPython 之 wx.g... 前言1、派生按钮渲染器与按钮编辑器2、表格实现3、编辑调试代码:4、完整可运行代码 前...
最新或2023(历届)祖国发展... 导语:祖国在发展,在一天天强大,在一天天繁荣,在一天天富强。在日益壮大,在变的更加繁荣昌盛;我在成长...
python协程 文章目录一、前言二、介绍2.1 为什么要用协程2.2 协程的效率受到哪些限制2.3 协程的意义三、协...
第19章 随机波动率模型入门 这学期会时不时更新一下伊曼纽尔·德曼(Emanuel Derman) 教...
最新或2023(历届)关于祖国...  导语:爱国是一种高尚而朴素的民族精神,是一种无法用言语描绘的美好的东西。我将会用这种精神去描绘祖国...
最新或2023(历届)祖国发展... 导语:随着时间的变化,我们的祖国飞速发展,我们也在祖国的怀抱中健康成长。下面分享一些关于祖国发展我成...
最新或2023(历届)祖国发展... 导语:我为我的祖国不断发展壮大而自豪。祖国不断发展,我快乐成长。从现在起,我要更加努力学习,学好本领...
《世界棒球》:黑人联盟 黑人联盟(英语:Negro Leagues)(...
最新或2023(历届)伟大的长... 导语:长城是中华民族的象征,它全长一万两千多里,是世界上最伟大的建筑之一。下面分享一些关于长城的手抄...
数据库-进阶篇-10-索引 索引是一种数据结构(有序),是帮助MySQL高效获取数据的...
Recording and p... 文章目录ros2 bag 命令简介1. 准备环境2. 选择一个话题3. ros2 bag recor...
除法求值 Floyd 算法 目录除法求值Floyd 算法 除法求值 题目链接 给你一个变量对数组 equations 和一个实数...
最新或2023(历届)初中长城... 导语:下面分享一些关于长城的手抄报资料,希望对大家有所帮助!  【长城手抄报资料】  资料1:励志歌...
最新或2023(历届)关于长城... 导语:下面分享一些关于长城的手抄报资料,希望对大家有所帮助!  【长城手抄报资料】  毛泽东诗词:不...