文末联系获取源码
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7/8.0
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
计算机的智能性特点越来越明显推动科技的发展,发展到如今已深入到各个领域。计算机的好处被越来越多的人认可,从根据上改变了管理方式。各行各业都开始用互联网的线上模式来进行管理,依靠计算机网络技术而开发的大学生科技竞赛管理系统可以改变传统的科技竞赛管理方式,从传统的线下模式开发发展到了线上进行,使赛制赛程更加的透明化和规范化,另一方面也使学生的业余生活更加的丰富多彩。本系统采用微信小程序技术和SpringBoot,框架进行开发设计,具有最基本的增、删、改、查功能,加入了信息统计等流程化的内容,使系统更加的符合实际要求。
本基于微信小程序的大学生科技竞赛管理系统有学生和管理员以及主办方三个角色,管理员负责对竞赛信息的审核和管理;主办方可以对学生的竞赛作品进行在线评分等﹔学生可以在线报名。本系统的实施可以为学生提供一个很好的竞赛信息平台,对于管理人员来说亦可以把数据精确分类,提高工作效率实现无纸化办公,是一个非常有利的举措。
所设计的大学生科技竞赛管理系统在角色方面包括学生和管理员以及主办方,功能模块有用户管理、主办方管理、公告栏管理、竞赛分类管理、竞赛信息管理、报名信息管理和竞赛成绩管理、系统管理。主办方可以发布竞赛,学生可以报名,报名后由主办方审核和发布成绩,发布的成绩由管理员审核后才可以在首页里展示。
本基于微信小程序的大学生科技竞赛管理系统包括学生和管理员和主办方三个角色学生可以浏览竞赛信息,然后进行报名,管理员可以对用户信息进行管理,可以发布公告和审核竞赛、成绩。主办方可以录入竞赛信息和审核报名、发布成绩,主要的功能如下图系统功能模块图所示:
在首页中可以看到所有的公告信息,竞赛信息、竞赛成绩,如下图所示:
学生可以选择浏览所有的竞赛信息,具体实现如下图所示:
学生点击竞赛报名后,可以进行报名信息的填写,如下图所示:
在我的界面里可以查看报名信息和管理收藏信息,实现界面如下图所示:
管理员登录系统后,可以对用户进行添加管理,可以对个人密码修改,可以添加公告信息,而且还可以管理竞赛信息、成绩信息、报名信息等。
本功能主要是管理员可以修改个人资料,还可以修改密码。实现界面如下图所示:
管理员可以添加和管理公告信息,然后对信息进行管理,其实现界面如下图所示:
管理员对竞赛信息查询和审核竞赛,实现界面如下图所示:
管理员也可以看到具体的报名情况、报名信息的实现界面如下图所示:
主办方可以发布成绩,管理员负责审核,竞赛成绩信息的实现界面如下图所示:
主办方的主要功能是对发布竞赛和审核报名以及发布成绩。如下图所示:
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(), username,"yonghu", "用户" );
return R.ok().put("token", token);
}
@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);
/**
* 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
* 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,
* 并且项目路径不能存在中文、空格等特殊字符
*/
// FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper().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);
}