基于SpringBoot+Vue宿舍维修管理系统的设计与实现

本文介绍了使用Java、SpringBoot和Vue等技术构建的宿舍维修管理系统,包括前端的Vue框架、动态路由、状态管理及Element-UI组件,后端的SpringBoot、MyBatis和Redis,以及文件上传和下载的相关代码片段。
摘要由CSDN通过智能技术生成

文末获取联系

开发语言:Java

使用框架:spring boot

前端技术:Vue 、css、element-ui、js

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven:apache-maven 3.8.1-bin

项目介绍: 

宿舍维修管理系统系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。

功能介绍: 

1、学生前台:首页、知识信息、公告信息、留言板、后台管理

2、管理员:系统首页、个人中心、学生管理、维修员管理、楼栋信息管理、宿舍信息管理、宿舍分配管理、报修信息管理、维修订单管理、维修进度管理、评价信息管理、知识分类管理、知识信息管理

3、维修员:系统首页、个人中心、维修订单管理、维修进度管理、评价信息管理

4、学生后台:系统首页、个人中心、宿舍分配管理、报修信息管理、维修进度管理、评价信息管理

部分截图说明: 

 

 

 

部分代码: 

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

在现代化的软件开发中,前后端分离是一种较为流行的开发模式,因为这种模式具有很多优点:增加了系统的可扩展性、提高了开发效率、让前端人员和后端人员更专注于自己的领域等等。基于springbootvue,我来介绍一下如何实现宿舍管理系统的前后端分离开发。 首先,我们需要搭建好springbootvue的开发环境。接着,创建springboot项目,并集成mybatis等技术实现基本的后端功能。然后,使用vue-cli创建前端项目,并引入axios、vue-router等技术实现前端页面的开发和数据请求。在这一过程中,我们要注意前后端分离的原则,即前端和后端应该各自独立运行,可以分别部署在不同的服务器上,通过http接口进行通信。 接下来,我们就可以开始对宿舍管理系统进行开发了。我们可以先完成一些基本的功能,如登录、注册、修改密码等。接着,再逐步开发宿舍相关的功能,如学生信息管理、宿舍信息管理、宿舍住宿管理等等。在这个过程中,需要注意前后端的数据传输方式。由于是前后端分离的模式,前端需要发送http请求给后端后端接收请求后返回json格式的数据,前端再根据返回的数据进行渲染。 最后,我们可以对系统进行测试,并部署到服务器上进行实际使用。这样,我们就可以享受到前后端分离带来的诸多好处,如便于维护、快速迭代、高效沟通等。同时,我们也需要注意系统的安全性,如对登录信息进行加密、防止sql注入等措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一季春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值