# RestaurantOrder
基于SpringBoot和Vue的餐馆点餐系统
## QuickStart
### 后端
1. 预先准备mysql,数据库名称为restaurant
- restaurant.sql
2. 修改配置文件数据库账号密码
`src/main/resources/application-template.yaml`
3. 运行RestaurantApplication.java
### 前端
```shell
# npm/yarn安装依赖
npm install
# 运行
npm run serve
# 编译
npm run build
```
### 访问
http://localhost:8080/
默认账号密码
1. 管理员 Peggy : 123456
2. 普通用户 Ikaros : 123456
管理员多了可以添加菜单的功能
## 功能说明-后端
### 接口文档
采用Swagger2,启动后访问127.0.0.1/swagger-ui.html,默认端口80
### 数据库
mysql
使用SpringJPA交互
### 身份校验
登陆:取出数据库用户,对上传的密码进行MD5加密,比较是否相同
Session进行身份标识,默认30m过期
### 权限校验
用三个注解配合Aspect使用
#### IsOwner
标识参数中的UserId是否与当前登录用户一致
#### NeedAdmin
是否需要管理员权限,管理员的type为1,普通用户为0
#### PreAuthorize
SpEL表达式,可以自定义自己的权限验证方法,用于复杂校验
### 异常统一处理
用ControllerAdvice拦截自定义异常
错误代码都存放在CommonCodeEnum
### Docker
默认不开启打包成Docker,如果要开启,在pom.xml下`dockerfile-maven-plugin`插件中取消注释`<goal>build</goal>`
DockerFile中以`openjdk:8-jdk-alpine`为基础镜像以减少打包后的体积
请自行修改pom.xml中docker相关参数,比如镜像名称与标签
```shell
docker run --name restaurant -p 8888:80 -d --restart=always 镜像名称
```
## 功能说明-前端
前端不是很熟悉,这里就简单介绍一下
### 优化
cdn
### 拦截器
axios设置拦截器拦截响应,如果session过期则重新登录
### 配置
#### API
`src/base/config/system.js`里的apiUrl
所有的请求是基于这个apiUrl来拼接的
![image-20200725160228211](https://ikaros-picture.oss-cn-shenzhen.aliyuncs.com/typora/Ikaros/image-20200725160228211.png)
![image-20200725160333009](https://ikaros-picture.oss-cn-shenzhen.aliyuncs.com/typora/Ikaros/image-20200725160333009.png)
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计:基于SpringBoot和Vue的餐馆点餐系统.zip
共106个文件
java:60个
js:12个
xml:11个
2 下载量 18 浏览量
2023-09-04
14:40:43
上传
评论
收藏 226KB ZIP 举报
温馨提示
项目真实可靠,源码都经测试过,能跑通,可用作本科毕业设计,请放心下载使用。
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计:基于SpringBoot和Vue的餐馆点餐系统.zip (106个子文件)
.browserslistrc 30B
Dockerfile 120B
.gitignore 3KB
.gitignore 2KB
.gitignore 230B
index.html 1KB
favicon.ico 4KB
restaurantServer.iml 80B
OrderServiceImpl.java 4KB
UserServiceImpl.java 4KB
OrderDetailServiceImpl.java 3KB
UserControllerImpl.java 3KB
PreAuthorizaAspect.java 3KB
OwnerAspect.java 3KB
MenuTypeServiceImpl.java 3KB
OrderControllerImpl.java 3KB
MenuServiceImpl.java 2KB
OrderDetailControllerImpl.java 2KB
ExceptionCatch.java 2KB
MenuTypeControllerImpl.java 2KB
MenuControllerImpl.java 2KB
CommonCodeEnum.java 2KB
AuthorizationFilter.java 2KB
CorsFilter.java 1KB
SessionUtils.java 1KB
Swagger2Configuration.java 1KB
User.java 1KB
AdminAspect.java 1KB
SecurityServiceImpl.java 972B
OrderDetail.java 861B
Order.java 798B
OrderDetailService.java 738B
OrderController.java 735B
OrderDetailController.java 722B
TomcatConfiguration.java 720B
OrderService.java 717B
UserController.java 673B
UserService.java 661B
MenuTypeService.java 650B
MenuTypeController.java 646B
MenuService.java 590B
MenuController.java 586B
Menu.java 542B
MenuType.java 505B
CustomException.java 497B
IsOwner.java 477B
RestaurantApplication.java 467B
ResponseResult.java 458B
PostOrder.java 440B
AuthorizationUtils.java 350B
OrderDetailRepository.java 284B
MenuTypeRepository.java 275B
OrderRepository.java 266B
UserRepository.java 263B
MenuRepository.java 263B
PreAuthorize.java 259B
NeedAdmin.java 241B
ExceptionCast.java 227B
OrderDetailQueryParam.java 190B
OrderQueryParam.java 183B
SecurityService.java 167B
MenuTypeQueryParam.java 158B
MenuQueryParam.java 154B
UserQueryParam.java 154B
Insert.java 122B
Update.java 122B
Delete.java 122B
Get.java 119B
public.js 3KB
router.js 2KB
menu.js 1KB
index.js 1KB
main.js 814B
webpack.config.js 730B
index.js 544B
login.js 526B
vue.config.js 402B
vuetify.js 184B
babel.config.js 73B
system.js 62B
package.json 600B
yarn.lock 382KB
README.md 2KB
README.md 365B
.name 10B
logo.png 7KB
restaurant.sql 15KB
menu.vue 6KB
login.vue 3KB
orderHistory.vue 3KB
addMenu.vue 3KB
App.vue 2KB
Snackbar.vue 922B
pom.xml 3KB
Project_Default.xml 1KB
jarRepositories.xml 861B
compiler.xml 712B
misc.xml 513B
Project.xml 463B
saveactions_settings.xml 367B
共 106 条
- 1
- 2
资源评论
c++服务器开发
- 粉丝: 3047
- 资源: 4462
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功