小程序-基于java+SpringBoot+Vue的美食推荐系统设计与实现

news/2024/11/27 4:54:49/

项目运行

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 4G内存以上;或者 Mac OS;

5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7/8.0等版本均可;

7.小程序:uniapp
毕设帮助,指导,本源码分享,调试部署(见文末)

系统介绍:

美食推荐系统是一个基于互联网技术,旨在为高校教师成果信息管理提供科学和规范管理的工具。系统通过集中管理信息,具有保密性强、效率高、存储空间大、成本低等优点,可以降低信息管理成本,实现信息管理计算机化。
整体功能包含:

用户信息管理
水果信息管理
水果类型管理
论坛信息管理
商品信息管理
商品收藏管理
商品评价管理
商品订单管理
公告信息管理
餐厅信息管理

前台模块:

用户登录与注册
商品浏览与搜索
商品收藏与评价
订单管理
论坛帖子浏览与发布

后台模块:

用户信息管理
商品信息管理
订单处理
公告发布与管理
论坛帖子审核与管理
餐厅信息管理

功能截图:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

代码实现:

javascript">var _default = {data: function data() {return {username: '',password: '',codes: [{num: 1,color: '#000',rotate: '10deg',size: '16px'}, {num: 2,color: '#000',rotate: '10deg',size: '16px'}, {num: 3,color: '#000',rotate: '10deg',size: '16px'}, {num: 4,color: '#000',rotate: '10deg',size: '16px'}],options: ['请选择登录用户类型'],optionsValues: ['', 'yonghu'],index: 0,roleNum: 0};},onLoad: function onLoad() {var options = ['请选择登录用户类型'];var menus = _menu.default.list();this.menuList = menus;for (var i = 0; i < this.menuList.length; i++) {if (this.menuList[i].hasFrontLogin == '是') {options.push(this.menuList[i].roleName);this.roleNum++;}}if (this.roleNum == 1) {this.index = 1;}this.options = options;this.randomString(4);this.styleChange();},methods: {randomString: function randomString() {var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 4;var chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];var colors = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];var sizes = ['28', '30', '32', '34', '36'];for (var i = 0; i < len; i++) {// 随机验证码var key = Math.floor(Math.random() * chars.length);this.codes[i].num = chars[key];// 随机验证码颜色var code = '#';for (var j = 0; j < 6; j++) {var _key = Math.floor(Math.random() * colors.length);code += colors[_key];}this.codes[i].color = code;// 随机验证码方向var rotate = Math.floor(Math.random() * 30);var plus = Math.floor(Math.random() * 2);if (plus == 1) rotate = '-' + rotate;this.codes[i].rotate = 'rotate(' + rotate + 'deg)';// 随机验证码字体大小var size = Math.floor(Math.random() * sizes.length);this.codes[i].size = sizes[size] + 'rpx';}},styleChange: function styleChange() {this.$nextTick(function () {// document.querySelectorAll('.uni-yaoxianStyle .uni-yaoxianStyle-yaoxianStyle').forEach(el=>{//   el.style.backgroundColor = this.loginFrom.content.yaoxianStyle.backgroundColor// })});},onRegisterTap: function onRegisterTap(tableName) {uni.setStorageSync("loginTable", tableName);this.$utils.jump('../register/register');},onForgetTap: function onForgetTap() {this.$utils.jump('../forget/forget');},onLoginTap: function onLoginTap() {var _this = this;return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {var res;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (_this.optionsValues[_this.index]) {_context.next = 3;break;}_this.$utils.msg("请选择登陆人类型");return _context.abrupt("return");case 3:if (true) {_context.next = 6;break;}_this.$utils.msg("请输入正确的验证码");return _context.abrupt("return");case 6:_context.next = 8;return _this.$api.login("".concat(_this.optionsValues[_this.index]), {username: _this.username,password: _this.password});case 8:res = _context.sent;uni.setStorageSync("token", res.token);uni.setStorageSync("nickname", _this.username);uni.setStorageSync("nowTable", "".concat(_this.optionsValues[_this.index]));_context.next = 14;return _this.$api.session("".concat(_this.optionsValues[_this.index]));case 14:res = _context.sent;uni.setStorageSync("userid", res.data.id);if (res.data.vip) {uni.setStorageSync("vip", res.data.vip);}uni.setStorageSync("role", "".concat(_this.options[_this.index]));_this.$utils.tab("../index/index");case 19:case "end":return _context.stop();}}}, _callee);}))();},optionsChange: function optionsChange(e) {this.index = e.target.value;}}
};

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻


http://www.ppmy.cn/news/1550245.html

相关文章

PyQt5安装使用教程

目录 一、工具二、安装PyQt5三、pycharm配置3.1 配置QtDesigner3.2 PyUIC配置3.3 Pyrcc配置3.4 配置成功效果图 四、使用方法4.2 QTDesigner使用方法4.2 PyUIC使用方法 调用自定义布局py文件 一、工具 1、python 2、pycharm 3、PyQt5模块 二、安装PyQt5 1、安装pyqt5 pip i…

pytorch3d linux安装

目录 测试成功2024.11.21&#xff1a; 测试成功2024.11.21&#xff1a; python3.10 GitHub - facebookresearch/pytorch3d: PyTorch3D is FAIRs library of reusable components for deep learning with 3D data 安装脚本&#xff1a; cd pytorch3d && pip install…

论文阅读:A Software Platform for Manipulating theCamera Imaging Pipeline

论文代码开源链接&#xff1a; A Software Platform for Manipulating the Camera Imaging Pipelinehttps://karaimer.github.io/camera-pipeline/摘要&#xff1a;论文提出了一个Pipline软件平台&#xff0c;可以方便地访问相机成像Pipline的每个阶段。该软件允许修改单个模块…

C# .net core web 程序远程调试

如果有两个同一个web的程序池&#xff0c;附加进程的时候就有两个选择。

vue3 reactive响应式实现源码

Vue 3 的 reactive 是基于 JavaScript 的 Proxy 实现的&#xff0c;因此它通过代理机制来拦截对象的操作&#xff0c;从而实现响应式数据的追踪。下面是 Vue 3 的 reactive 源码简化版。 Vue 3 reactive 源码简化版 首先&#xff0c;我们需要了解 reactive 是如何工作的&…

面试干货:软件测试常见面试题(附答案)

1、文档测试主要包含什么内容? 参考答案&#xff1a; 在国内软件开发管理中&#xff0c;文档管理几乎是最弱的一项&#xff0c;因而在测试工作中特别容易忽略文档测试也就不足为奇了。要想给用户提供完整的产品&#xff0c;文档测试是必不可少的。文档测试一般注重下面几个方…

css:感觉稍微高级一点的布局

精灵图 有时候我们下载网页里的小元素图片的时候&#xff0c;就会一下子下载一大张&#xff0c;这就是精灵图&#xff0c;也叫雪碧图&#xff08;sprites&#xff09; 一个网页由很多图像作为修饰&#xff0c;当网页中图像过多时&#xff0c;服务器会频繁地解释和发送氢气图片…

如何定制谷歌浏览器的外观主题

在数字化时代&#xff0c;浏览器已成为我们日常生活中不可或缺的一部分。谷歌浏览器&#xff0c;以其快速、稳定和丰富的扩展程序而广受用户喜爱。但你知道吗&#xff1f;除了强大的功能外&#xff0c;谷歌浏览器还允许用户通过定制外观主题来打造更加个性化的浏览体验。本文将…