博主介紹:?全網(wǎng)粉絲30W+,csdn特邀作者、博客專(zhuān)家、CSDN新星計(jì)劃導(dǎo)師、Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺(tái)優(yōu)質(zhì)作者、專(zhuān)注于Java技術(shù)領(lǐng)域和畢業(yè)項(xiàng)目實(shí)戰(zhàn)?
??文末獲取源碼聯(lián)系??
?????精彩專(zhuān)欄推薦訂閱?????不然下次找不到喲
2022-2024年最全的計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)選題大全:1000個(gè)熱門(mén)選題推薦?
Java項(xiàng)目精品實(shí)戰(zhàn)案例《100套》
Java微信小程序項(xiàng)目實(shí)戰(zhàn)《100套》
Python項(xiàng)目實(shí)戰(zhàn)《100套》
感興趣的可以先收藏起來(lái),還有大家在畢設(shè)選題,項(xiàng)目以及論文編寫(xiě)等相關(guān)問(wèn)題都可以給我留言咨詢,希望幫助更多的人
?
系統(tǒng)介紹:
社會(huì)發(fā)展日新月異,用計(jì)算機(jī)應(yīng)用實(shí)現(xiàn)數(shù)據(jù)管理功能已經(jīng)算是很完善的了,但是隨著移動(dòng)互聯(lián)網(wǎng)的到來(lái),處理信息不再受制于地理位置的限制,處理信息及時(shí)高效,備受人們的喜愛(ài)。所以各大互聯(lián)網(wǎng)廠商都瞄準(zhǔn)移動(dòng)互聯(lián)網(wǎng)這個(gè)潮流進(jìn)行各大布局,經(jīng)過(guò)多年的大浪淘沙,各種移動(dòng)操作系統(tǒng)的不斷面世,而目前市場(chǎng)占有率最高的就是微信小程序,本次開(kāi)發(fā)一套餐廳點(diǎn)餐微信小程序有管理員,后廚,用戶三個(gè)角色。管理員功能有個(gè)人中心,管理員管理,后廚管理,餐桌管理,菜品名稱管理,新聞?lì)愋兔Q管理,菜品信息管理,菜品信息評(píng)價(jià)管理,菜品信息訂單管理,新聞信息管理,用戶管理,輪播圖管理。用戶可以注冊(cè)登錄,查看菜品并且訂購(gòu)菜品等操作。餐廳點(diǎn)餐微信小程序服務(wù)端用Java開(kāi)發(fā)的網(wǎng)站后臺(tái),接收并且處理微信小程序端傳入的json數(shù)據(jù),數(shù)據(jù)庫(kù)用到了MySQL數(shù)據(jù)庫(kù)作為數(shù)據(jù)的存儲(chǔ)。這樣就讓用戶用著方便快捷,都通過(guò)同一個(gè)后臺(tái)進(jìn)行業(yè)務(wù)處理,而后臺(tái)又可以根據(jù)并發(fā)量做好部署,用硬件和軟件進(jìn)行協(xié)作,滿足于數(shù)據(jù)的交互式處理,讓用戶的數(shù)據(jù)存儲(chǔ)更安全,得到數(shù)據(jù)更方便。
關(guān)鍵字:餐廳點(diǎn)餐微信小程序;微信小程序;Java;MySQL
在管理員功能模塊確定下來(lái)的基礎(chǔ)上,對(duì)管理員各個(gè)功能進(jìn)行設(shè)計(jì),確定管理員功能的詳細(xì)模塊。繪制的管理員功能結(jié)構(gòu)見(jiàn)下圖。
程序上交給用戶進(jìn)行使用時(shí),需要提供程序的操作流程圖,這樣便于用戶容易理解程序的具體工作步驟,現(xiàn)如今程序的操作流程都有一個(gè)大致的標(biāo)準(zhǔn),即先通過(guò)登錄頁(yè)面提交登錄數(shù)據(jù),通過(guò)程序驗(yàn)證正確之后,用戶才能在程序功能操作區(qū)頁(yè)面操作對(duì)應(yīng)的功能。
?程序操作流程圖
相關(guān)技術(shù)框架
Vue框架
Vue是最近幾年最火的前端應(yīng)用,在H5以及APP和小程序上面,有著很大的市場(chǎng)份額。作為一個(gè)不斷的向前發(fā)展的生態(tài)系統(tǒng),Vue不僅僅只是作為了網(wǎng)頁(yè)的開(kāi)發(fā),Vue的概念主要是讓以前靜態(tài)寫(xiě)的DOM,變成了動(dòng)態(tài)生成,超快運(yùn)行虛擬DOM,DOM就是HTML里面W3C設(shè)置的標(biāo)準(zhǔn),是文檔對(duì)象模型。使用Vue,讓文檔對(duì)象生成變得更加智能化,在使用過(guò)程中對(duì)該機(jī)構(gòu)進(jìn)行訪問(wèn),就能改變文檔的結(jié)構(gòu)、樣式以及內(nèi)容。讓用戶能體現(xiàn)到極簡(jiǎn)界面,急速打開(kāi),從上往下的打開(kāi)層次感,使用的更加舒適。?
微信小程序
小程序是一種新的開(kāi)放能力,開(kāi)發(fā)者可以快速地開(kāi)發(fā)一個(gè)小程序。小程序可以在微信內(nèi)被便捷地獲取和傳播,同時(shí)具有出色的使用體驗(yàn)。尤其擁抱微信生態(tài)圈,讓微信小程序更加的如虎添翼,發(fā)展迅猛。
uni-app
uni-app?是一個(gè)使用?Vue.js?開(kāi)發(fā)所有前端應(yīng)用的框架,開(kāi)發(fā)者編寫(xiě)一套代碼,可發(fā)布到iOS、Android、Web(響應(yīng)式)、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘/淘寶)、快應(yīng)用等多個(gè)平臺(tái)。
DCloud公司擁有800萬(wàn)開(kāi)發(fā)者、數(shù)百萬(wàn)應(yīng)用、12億手機(jī)端月活用戶、數(shù)千款uni-app插件。
uni-app在手,做啥都不愁。即使不跨端,uni-app也是更好的小程序開(kāi)發(fā)框架更好的App跨平臺(tái)框架、更方便的H5開(kāi)發(fā)框架。不管領(lǐng)導(dǎo)安排什么樣的項(xiàng)目,你都可以快速交付,不需要轉(zhuǎn)換開(kāi)發(fā)思維、不需要更改開(kāi)發(fā)習(xí)慣。
功能截圖:
系統(tǒng)實(shí)現(xiàn)這個(gè)章節(jié)的內(nèi)容主要還是展示系統(tǒng)的功能界面設(shè)計(jì)效果,在實(shí)現(xiàn)系統(tǒng)基本功能,比如修改,比如添加,比如刪除等管理功能的同時(shí),也顯示出系統(tǒng)各個(gè)功能的界面實(shí)現(xiàn)效果,該部分內(nèi)容一方面與前面提到的系統(tǒng)分析,系統(tǒng)設(shè)計(jì)的內(nèi)容相呼應(yīng),另一方面也是一個(gè)實(shí)際成果的展示。
5.1管理員后臺(tái)功能實(shí)現(xiàn)
5.1.1 用戶管理
管理員可以對(duì)用戶信息進(jìn)行添加,修改,刪除,查詢操作。
圖5-1 用戶管理頁(yè)面
5.1.2 餐桌管理
管理員可以對(duì)餐桌信息進(jìn)行添加,修改,刪除,查詢操作。
圖5-2 餐桌管理頁(yè)面
5.1.3 菜品信息管理
管理員可以對(duì)菜品信息信息進(jìn)行添加,修改,刪除,查詢操作,還可以對(duì)菜品庫(kù)存操作和上下架操作。
圖5-3 菜品信息頁(yè)面
5.1.4 新聞信息管理
管理員可以對(duì)新聞信息信息進(jìn)行添加,修改,刪除,查詢操作。
圖5-4 新聞信息信息頁(yè)面
5.2 微信小程序功能實(shí)現(xiàn)
5.2.1 首頁(yè)
微信小程序輸入正確的賬號(hào)密碼后就會(huì)默認(rèn)進(jìn)入首頁(yè)顯示界面。首頁(yè)主要有輪播圖,搜索框,以及下面的導(dǎo)航為主要組成部分。
圖5-5 首頁(yè)
5.2.2 菜品信息
用戶可以通過(guò)菜品類(lèi)型搜索和查看菜品信息。
圖5-6 菜品信息頁(yè)面
5.2.3 菜品詳情
用戶點(diǎn)擊菜品信息可以看到菜品詳情介紹,可以加入購(gòu)物車(chē)或者立即購(gòu)買(mǎi)操作。
圖5-7 菜品詳情頁(yè)面
5.2.4 我的
我的里面主要是可以進(jìn)行退出,點(diǎn)擊小齒輪就可以選擇退出當(dāng)前賬戶,也可以點(diǎn)擊用戶充值,購(gòu)物車(chē)等。
圖5-8 我的頁(yè)面
代碼實(shí)現(xiàn):
package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
* 登錄相關(guān)
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登錄
*/
@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("賬號(hào)或密碼不正確");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注冊(cè)
*/
@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();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
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("賬號(hào)不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密碼已重置為:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 獲取用戶的session用戶信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@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();
}
/**
* 修改
*/
@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();
}
}
論文參考:
推薦項(xiàng)目:
基于微信小程序+Springboot線上租房平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)-三端
2022-2024年最全的計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)選題大全
基于Java+SpringBoot+Vue前后端分離手機(jī)銷(xiāo)售商城系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
基于Java+SpringBoot+Vue前后端分離倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
基于SpringBoot+uniapp微信小程序校園點(diǎn)餐平臺(tái)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)
基于Java+SpringBoot+Vue+echarts健身房管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
基于JavaSpringBoot+Vue+uniapp微信小程序?qū)崿F(xiàn)鮮花商城購(gòu)物系統(tǒng)
基于Java+SpringBoot+Vue前后端分離攝影分享網(wǎng)站平臺(tái)系統(tǒng)?
基于Java+SpringBoot+Vue前后端分離餐廳點(diǎn)餐管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
基于Python熱門(mén)旅游景點(diǎn)數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
源碼獲?。?/h3>
大家點(diǎn)贊、收藏、關(guān)注、評(píng)論啦 、查看????獲取微信聯(lián)系方式????
?精彩專(zhuān)欄推薦訂閱:在下方專(zhuān)欄????
Java項(xiàng)目精品實(shí)戰(zhàn)案例《100套》
Java微信小程序項(xiàng)目實(shí)戰(zhàn)《100套》文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-769378.html
Python項(xiàng)目實(shí)戰(zhàn)《100套》文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-769378.html
大家點(diǎn)贊、收藏、關(guān)注、評(píng)論啦 、查看????獲取微信聯(lián)系方式????
?精彩專(zhuān)欄推薦訂閱:在下方專(zhuān)欄????
Java項(xiàng)目精品實(shí)戰(zhàn)案例《100套》
Java微信小程序項(xiàng)目實(shí)戰(zhàn)《100套》文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-769378.html
Python項(xiàng)目實(shí)戰(zhàn)《100套》文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-769378.html
到了這里,關(guān)于基于Java+Vue+uniapp微信小程序餐廳點(diǎn)餐設(shè)計(jì)和實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!