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

案例123:基于微信小程序的在线订餐系统的设计与实现

文末获取源码

开发语言:Java

框架:springboot

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

目录

前言

系统展示

管理员模块的实现

菜品信息管理

订单配送管理

订单统计管理

菜品评价管理

菜品分类管理

小程序用户模块的实现

系统首页

我的菜单

收藏与下单

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

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

本微信小程序在线订餐系统管理员功能可以修改个人中心,用户管理,菜品分类管理,菜品信息管理,订单信息管理,取消订单管理,订单配送管理,菜品评价管理以及系统管理。微信小程序用户可以注册以及登录,登录之后可以可以查看菜品信息,可以对菜品信息进行收藏以及订购,还可以查看菜品资讯,可以对已经生成的订单信息进行取消操作,查看订单配送情况,以及查看菜品评价,我的收藏等。因而具有一定的实用性。本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得微信小程序在线订餐系统管理工作系统化、规范化。


系统展示

管理员模块的实现

菜品信息管理

管理员可以管理菜品信息,可以对菜品信息添加修改删除。

 

订单配送管理

管理员可以订单配送进行查询修改,删除操作。

 

订单统计管理

系统管理员可以对订单进行统计,可以统计取消订单和订单的比例。

 

菜品评价管理

系统管理员可以用户对菜品的评价,并且可以对菜品评价进行审核,修改删除操作,还可以查看评论。界面如下图所示:

 

菜品分类管理

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

 

小程序用户模块的实现

系统首页

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

 

我的菜单

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

 

收藏与下单

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

 


代码实现

登录功能实现代码

@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}

注册功能实现代码

@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}

密码重置功能实现代码

@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}

修改信息功能实现代码

 @RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}

删除信息功能实现代码

@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}

保存信息功能实现代码

@PostMapping("/save")public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}

相关文章:

  • 使用scipy处理图片——旋转任意角度
  • K8S--Ingress的作用
  • 结构化数据,非结构化数据,半结构化数据(AI问答)
  • 数据通信基础
  • gcd得最大公约数,辗转相除法理解
  • Dockerfile镜像实战
  • ReactHooks:渲染与useState
  • openssl3.2 - 在VS2019下源码调试openssl.exe
  • 如何通过Burp Suite专业版构建CSRF PoC
  • 【纯CSS特效源码】(二)精美的立体字
  • JavaScript基础05
  • css 怎么绘制一个带圆角的渐变色的边框
  • UGUI Image图像控件替换图片
  • Java 8 中的 Stream 轻松遍历树形结构
  • 视频转为序列图的软件,让视频批量转为序列图
  • axios 和 cookie 的那些事
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript的使用你知道几种?(上)
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • MySQL主从复制读写分离及奇怪的问题
  • 给github项目添加CI badge
  • 聊聊flink的BlobWriter
  • 面试总结JavaScript篇
  • 前端设计模式
  • 强力优化Rancher k8s中国区的使用体验
  • 三栏布局总结
  • 用Canvas画一棵二叉树
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​secrets --- 生成管理密码的安全随机数​
  • #android不同版本废弃api,新api。
  • #前后端分离# 头条发布系统
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (3)llvm ir转换过程
  • (9)目标检测_SSD的原理
  • (多级缓存)多级缓存
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (循环依赖问题)学习spring的第九天
  • (转)socket Aio demo
  • (转)负载均衡,回话保持,cookie
  • (转)甲方乙方——赵民谈找工作
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .gitattributes 文件
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Micro Framework初体验(二)
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET委托:一个关于C#的睡前故事
  • .NET学习全景图
  • @Bean有哪些属性
  • [20150904]exp slow.txt
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [C#] 我的log4net使用手册
  • [C++] Windows中字符串函数的种类