当前位置:   article > 正文

免费分享一套微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) ,帅呆了~~_外卖跑腿点餐(订餐)小程序系统(uni-app+springboot后端+vue管理端)

外卖跑腿点餐(订餐)小程序系统(uni-app+springboot后端+vue管理端)

大家好,我是java1234_小锋老师,看到一个不错的微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) ,分享下哈。
 

项目视频演示

【免费】微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) Java毕业设计,非常好的源码_哔哩哔哩_bilibili【免费】微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) Java毕业设计,非常好的源码项目来自互联网,免费开源分享,严禁商业。更多毕业设源码:http://www.java1234.com/a/bysj/javaweb/, 视频播放量 158、弹幕量 0、点赞数 7、投硬币枚数 0、收藏人数 6、转发人数 1, 视频作者 java1234官方, 作者简介 公众号:java1234 微信:java9266,相关视频:实战springboot+CAS单点登录系统,2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~,【免费】基于springboot的进销存(仓库)管理系统 Java毕业设计,【免费】Springboot+Vue校园二手交易平台系统 毕业设计 Java毕业设计,【免费】Springboot+Vue停车场管理系统 Java毕业设计,【小程序毕业设计·大作业】微信小程序开发_项目实例_食疗坊_安心食疗,【免费】springboot+vue医院管理系统 Java毕业设计,【Java实战项目】基于jsp+servlet的图书借阅管理系统-Java项目/Java毕业设计(附源码 数据库),【Java项目实战】基于Jsp+Servlet做出《学生学籍管理系统》(附源码+论文+课件资料)_毕业设计_Java实战项目_Java课设,微信小程序(java后端无废话版)视频教程icon-default.png?t=N7T8https://www.bilibili.com/video/BV17C4y1v7Cz/

项目介绍

随着当前社会人们的生活节奏越来越快,人们对生活效率的追求也越来越高,以往的传统的点餐方式已不能满足人们的需要,首先有些小型饭馆是需要顾客排队点餐,然后安排专人在台前记录,这样不仅造成时间上的浪费,还浪费人力,有些大型餐厅是当顾客入座后,安排服务员前去点餐,但这样有时候顾客爆满,也容易导致服务员忙不过来,效率低下。

对此,微信点餐小程序的应用就很关键,近几年微信小程序兴起,利用微信公众平台,顾客可以快速地浏览菜品,另外,在餐桌上贴好对应的桌号,顾客扫码即可进行点餐,还可以进行备注留言,无需服务员服务,不仅给顾客带来良好的用餐体验,还让餐厅的工作流程变得简单,同时还提高了餐厅的工作效率。

因此根据餐饮市场需求开发一个在安卓系统和苹果系统,都可以使用的手机微信跨平台点餐小程序,主要实现餐厅内点餐功能,同时实现商家的菜品以及店铺管理功能。本文介绍了该系统的研究目的,国内外发展状况,需求分析以及数据库设计和具体功能的设计与实现。经测试基本实现了设计目标,可以进一步进行推广应用。

系统展示

部分代码

  1. package com.java1234.controller.admin;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.java1234.constant.SystemConstant;
  4. import com.java1234.entity.Admin;
  5. import com.java1234.entity.R;
  6. import com.java1234.service.IAdminService;
  7. import com.java1234.util.JwtUtils;
  8. import com.java1234.util.StringUtil;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15. /**
  16. * 管理员Controller
  17. * @author java1234_小锋
  18. * @site www.java1234.com
  19. * @company 南通小锋网络科技有限公司
  20. * @create 2022-02-05 7:42
  21. */
  22. @RestController
  23. public class AdminController {
  24. @Autowired
  25. private IAdminService adminService;
  26. private final static Logger logger= LoggerFactory.getLogger(AdminController.class);
  27. /**
  28. * 管理员登录
  29. * @param admin
  30. * @return
  31. */
  32. @PostMapping("/adminLogin")
  33. public R adminLogin(@RequestBody Admin admin){
  34. if(admin==null){
  35. return R.error();
  36. }
  37. if(StringUtil.isEmpty(admin.getUserName())){
  38. return R.error("用户名不能为空!");
  39. }
  40. if(StringUtil.isEmpty(admin.getPassword())){
  41. return R.error("密码不能为空!");
  42. }
  43. Admin resultAdmin = adminService.getOne(new QueryWrapper<Admin>().eq("userName", admin.getUserName()));
  44. if(resultAdmin==null){
  45. return R.error("用户名不存在!");
  46. }
  47. if(!resultAdmin.getPassword().trim().equals(admin.getPassword())){
  48. return R.error("用户名或者密码错误!");
  49. }
  50. String token = JwtUtils.createJWT("-1", "admin", SystemConstant.JWT_TTL);
  51. Map<String,Object> resultMap=new HashMap<String,Object>();
  52. resultMap.put("token",token);
  53. resultMap.put("resultAdmin",resultAdmin);
  54. return R.ok(resultMap);
  55. }
  56. /**
  57. * 修改密码
  58. * @param admin
  59. * @return
  60. */
  61. @PostMapping("/admin/modifyPassword")
  62. public R modifyPassword(@RequestBody Admin admin){
  63. if(StringUtil.isEmpty(admin.getUserName())){
  64. return R.error("用户名不能为空!");
  65. }
  66. if(StringUtil.isEmpty(admin.getNewPassword())){
  67. return R.error("新密码不能为空!");
  68. }
  69. adminService.update(admin);
  70. return R.ok();
  71. }
  72. }
  1. <template>
  2. <div id="backcont">
  3. <!-- logo -->
  4. <div class="meituan-content">
  5. <div class="login-cont">
  6. <div class="meituan-title">扫码点餐登录</div>
  7. <div class="meituan-user">
  8. <p>账号</p>
  9. <el-input class="inptflex" v-model="userName" placeholder="请输入账号"></el-input>
  10. </div>
  11. <div class="meituan-user">
  12. <p>密码</p>
  13. <el-input class="inptflex" v-model="password" placeholder="请输入密码" show-password></el-input>
  14. </div>
  15. <!-- 登录 -->
  16. <el-button v-if="regi == '注册'" type="success" class="meituan-btn" @click="signin()" :loading="load" :disabled="load">登录</el-button>
  17. <div style="text-align: center;padding-top: 10px"><a href="http://www.java1234.com/a/bysj/javaweb/" target="_blank">找毕业设计,上java1234</a></div>
  18. </div>
  19. </div>
  20. </div>
  21. </template>
  22. <script>
  23. export default{
  24. data() {
  25. return {
  26. regi:'注册',
  27. load:false,
  28. userName: '',
  29. password:''
  30. }
  31. },
  32. methods:{
  33. // 登录
  34. async signin(){
  35. if(this.userName==''){
  36. new this.mytitle(this.$message,'warning','请输入用户名!').funtitle()
  37. return;
  38. }
  39. if(this.password==''){
  40. new this.mytitle(this.$message,'warning','请输入密码!').funtitle()
  41. return;
  42. }
  43. this.load = true
  44. let obj = {userName:this.userName,password:this.password}
  45. try{
  46. let res = await new this.Request(this.Urls.m().login,obj).modepost()
  47. console.log(res)
  48. if(res.data.code != 0){
  49. new this.mytitle(this.$message,'warning','用户名或者密码错误!').funtitle()
  50. }else{
  51. let ids = '1'
  52. console.log("token:"+res.data.token)
  53. localStorage.setItem("nuvmenuid", JSON.stringify(ids))
  54. localStorage.setItem("token", res.data.token)
  55. localStorage.setItem("currentUser", JSON.stringify(res.data.resultAdmin))
  56. this.$router.push({name:'index'})
  57. }
  58. this.load = false
  59. }catch(e){
  60. console.log(e)
  61. this.load = false
  62. new this.mytitle(this.$message,'info','发生错误,重试').funtitle()
  63. }
  64. }
  65. }
  66. }
  67. </script>
  68. <style scoped="scoped">
  69. #backcont {
  70. background-image: url(../../../static/login/beijing.jpg);
  71. background-attachment: fixed;
  72. background-repeat: no-repeat;
  73. background-size: cover;
  74. -webkit-background-size: cover;
  75. moz-background-size: cover;
  76. min-height: 100vh;
  77. }
  78. .meituan-content {
  79. position: absolute;
  80. top: 50%;
  81. left: 50%;
  82. transform: translate(-50%, -50%);
  83. }
  84. .login-cont {
  85. width: 500px;
  86. height: 300px;
  87. background: #f9de80;
  88. border-radius: 5px;
  89. }
  90. .meituan-title {
  91. text-align: center;
  92. color: #000000;
  93. font-size: 30px;
  94. padding-top: 30px;
  95. font-family: Arial, Helvetica, sans-serif;
  96. }
  97. .meituan-user {
  98. width: 400px;
  99. margin: 0 auto;
  100. padding-top: 30px;
  101. height: 40px;
  102. display: flex;
  103. align-items: center;
  104. }
  105. .meituan-user p{width: 50px; color: #000000;
  106. font-size:16px;
  107. }
  108. .inptflex{flex: 1;}
  109. .reg-view{
  110. width: 400px;
  111. display: flex;
  112. justify-content: flex-end;
  113. margin: 0 auto;
  114. padding-top: 10px;
  115. cursor:pointer;
  116. }
  117. .meituan-btn {
  118. width: 200px;
  119. display: flex;
  120. align-items: center;
  121. justify-content: center;
  122. margin: 20px auto 0 auto;
  123. font-size: 16px;
  124. }
  125. </style>

源码下载

CSDN 1积分下载:https://download.csdn.net/download/caofeng891102/88713929

或者免费领取加小锋老师wx:java9266

热门推荐

免费分享一套Springboot+Vue前后端分离的在线教育平台系统,挺漂亮的-CSDN博客

免费分享一套Springboot+Vue前后端分离的停车场管理系统,挺漂亮的-CSDN博客

免费分享一套Springboot+Vue前后端分离的个人博客系统,挺漂亮的-CSDN博客

免费分享一套Springboot+Vue前后端分离的学生网上请假系统,挺漂亮的-CSDN博客

免费分享一套 SpringBoot + Vue + ElementUI 的人力资源管理系统,挺漂亮的_element+springboot员工工资管理-CSDN博客

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号