文末获取源码
开发语言:Java
框架:SpringBoot
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
框架:uniapp
开发软件:HBuilder X
目录
前言
对疫情防控志愿服务管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的疫情防控志愿服务管理。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员、志愿者和志愿机构三种角色,主要包含首页、个人中心、志愿者管理、志愿机构管理、活动类型管理、志愿活动管理、活动报名管理、评价信息管理、违规信息管理、防疫公告管理、系统管理等功能。
系统开发主要在 Windows 系统下进行,基于Android平台,java语言开发完成,因此可以运行在任意开发环境下。系统采用mysql数据库和B/S结构的方式,按照springboot框架进行开发。
系统展示
首先双击打开APP客户端系统,连上网络之后会显示出本系统的登录界面,这是进入APP的初始页面“登录”,能成功进入到该登录界面则代表APP的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。
App首页是用户注册登录后进入的第一个界面,在这里,人们能够看到App的导航条,内容包括首页、志愿活动、防疫公告、疫情防控、我等。App首页界面如图5-2所示。
志愿活动:在志愿活动界面可以查看到活动名称、活动类型、人数、开始时间、活动地点、结束时间等信息,按照提示即可完成加入收藏操作。志愿活动详情如图5-3所示。
志愿机构登录成功后,点击“我的”进入我的页面,在我的页面可以对志愿活动、活动报名、评价信息、违规信息、防疫公告、我的收藏管理、在线资讯等进行详细操作。志愿机构功能界面如图5-4所示。
志愿者登录成功后,点击“我的”进入我的页面,在我的页面可以对活动报名、评价信息、违规信息、我的收藏管理、在线咨询等进行详细操作。志愿者功能界面如图5-5所示。
后台登录,用户通过填写用户、密码选择角色等信息进行登录操作,如图5-6所示。
管理员登录进入APP可以查看到首页、个人中心、志愿者管理、志愿机构管理、活动类型管理、志愿活动管理、活动报名管理、评价信息管理、违规信息管理、防疫公告管理、系统管理等功能进行详细操作,如图5-7所示。
志愿者管理;在志愿者页面输入账号和手机进行查询,新增或删除志愿者列表,并对志愿者信息进行详情、修改或删除操作;如图5-8所示。
志愿机构管理;在志愿机构页面输入机构账号进行查询,新增或删除志愿机构列表,并对志愿机构信息进行详情、修改或删除操作;如图5-9所示。
活动类型管理;在活动类型页面输入活动类型进行查询,新增或删除活动类型列表,并对活动类型信息进行详情、修改或删除操作;如图5-10所示。
志愿活动管理;在活动名称页面输入账号和手机进行查询,新增或删除志愿活动列表,并对志愿者信息进行详情、报名、修改、查看评论或删除操作;如图5-11所示。
活动报名管理;在活动报名页面输入活动名称和选择是否通过进行查询或删除活动报名列表,并对活动报名信息进行详情、修改或删除操作;如图5-12所示。
评价信息管理;在评价信息页面输入活动名称和机构名称进行查询或删除评价信息列表,并对评价信息进行详情、修改或删除操作;如图5-13所示。
违规信息管理;在违规信息页面姓名进行查询或删除违规信息列表,并对违规信息进行详情、修改或删除操作;如图5-14所示。
防疫公告管理;在防疫公告页面输入公告标题和选择公告类型进行查询,新增或删除防疫公告列表,并对防疫公告信息进行详情、修改或删除操作;如图5-16所示。
系统管理管理;在在线咨询页面新信息进行回复在线咨询列表,并根据需要对轮播图管理、疫情防疫进行相应操作;如图5-17所示。
志愿者登录进入APP可以查看到首页、个人中心、活动报名管理、评价信息管理、违规信息管理等功能进行详细操作,如图5-18所示。
志愿机构登录进入APP可以查看到首页、个人中心、志愿活动管理、活动报名管理、评价信息管理、违规信息管理、防疫公告管理等功能进行详细操作,如图5-19所示。
代码实现
登录功能实现代码
@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("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
注册功能实现代码
@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();
}
密码重置功能实现代码
@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("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
修改信息功能实现代码
@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();
}
保存信息功能实现代码
@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();
}