文末联系获取源码
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7/8.0
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
本毕业设计的内容是设计并且实现一个基于springboot的党员之家服务系统小程序。它是在Windows下,以MYSQL为数据库开发平台,java技术和Tomcat网络信息服务作为应用服务器。党员之家服务系统小程序的功能已基本实现,主要包括首页、个人中心、学生管理、教师管理、任务信息管理、报名信息管理、任务排名管理、学习资料管理、每日打卡管理、交流信息管理、回复信息管理、积极分子管理、党员信息管理、交流论坛、系统管理等。
论文主要从系统的分析与设计 、数据库设计和系统的详细设计等几个方面来进行论述,系统分析与设计部分主要论述了系统的功能分析、系统的设计思路,数据库设计主要论述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。
一、学生和教师管理功能
该部分内容提供用户注册、用户资料修改、新闻公告、交流论坛、我要发贴等等功能。
二、管理员管理功能
该部分内容包含了首页、个人中心、学生管理、教师管理、任务信息管理、报名信息管理、任务排名管理、学习资料管理、每日打卡管理、交流信息管理、回复信息管理、积极分子管理、党员信息管理、交流论坛、系统管理等。管理员可对所有的信息进行增、删、改、查,能对用户信息进行管理,更新最近的党员信息。
为了方便更直观的理解,下图以图形形式给出关于整个小程序的结构图。小程序总体功能结构图
用户通过输入账号和密码,选择登录用户类型并点击登录进行系统登录操作,如图
用户登录小程序端,可以实现首页、新闻公告、交流论坛、我的等功能进行详细操作,如图
在任务信息页面可以查看任务封面、任务标题、任务类型、任务时间、发布时间、工号、教师姓名、任务要求等详细信息;如图
在学生信息页面可以查看学生照片、学号、学生姓名、性别、年龄、班级、专业、邮箱、手机等详细信息;并进行转积极分子操作;如图
在学习资料页面可以查看资料封面、资料名称、资料类型、发布日期、工号、教师姓名、资料内容等详细信息;并进行评论和收藏操作;如图
学生进入我的页面可以对任务信息、报名信息、每日打卡、交流信息、回复信息、我要发贴、我的发贴等详细信息进行操作,如图
用户进入我的页面可以对学生、任务信息、报名信息、任务排名、学习资料、每日打卡、交流信息、回复信息、积极分子、党员信息、 我要发贴、我的发贴等详细信息进行操作,如图
管理员登录,通过输入账号、密码,选择角色并点击登录进行系统登录操作,如图
管理员登录系统后,可以对首页、个人中心、学生管理、教师管理、任务信息管理、报名信息管理、任务排名管理、学习资料管理、每日打卡管理、交流信息管理、回复信息管理、积极分子管理、党员信息管理、交流论坛、系统管理等功能进行详细操作,如图
在学生管理页面可以对索引、学号、学生姓名、性别、头像、年龄、班级、专业、邮箱、手机等内容进行修改和删除操作,如图
在任务信息管理页面可以对索引、任务标题、任务类型、图片、任务时间、发布时间、工号、教师姓名等信息进行详情,修改和删除操作,如图
在报名信息管理页面可以对索引、任务名称、任务类型、图片、工号、教师姓名、报名时间、学号、学生姓名、手机、审核回复、审核状态等信息进行详情,修改和删除操作,如图
在任务排名管理页面可以对索引、学号、学生姓名、头像、班级、专业、完成次数、发布时间、工号等内容进行详情,修改和删除操作,如图
在学习资料管理页面可以对索引、资料名称、资料类型、封面、发布日期、工号、教师姓名等内容进行详情,修改,查看评论或删除等操作,如图
在每日打卡管理页面可以对索引、标题、图片、工号、教师姓名、学生姓名、打卡时间、学号等内容进行详情,修改和删除操作,如图
在积极分子管理页面可以对索引、学号、学生姓名、头像、年龄、班级、专业、工号等内容进行详情,修改或删除等操作,如图
在党员信息管理页面可以对索引、学号、学生姓名、头像、年龄、班级、专业、转正日期、工号等内容进行详情,修改或删除等操作,如图
/**
* 登录
*/
@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);
}