文末获取源码
开发语言:Java
框架:springboot
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
随着科技的快速的发展和网络信息的普及,信息化管理已经融入到了人们的日常生活中,各行各业都开始采用信息化管理系统,通过计算机信息化管理,首先可以减轻人们工作量,而且采用信息化管理数据信息更加的严谨,可以直接实现智能化管理和数据存储。同样这样的技术也可以直接应用到网络安全科普日常管理中,通过计算机智能化管理可以帮我们推进网络安全科普的数字化建设。
对网络安全进行了一定的考察和分析后,决定设计一个信息化的网络安全科普系统,采用Java语言技术进行开发,Mysql数据库进行数据存储,结合微信小程序技术和SpringBoot框架,通过采用这些技术在功能方面更加的完善,界面方面也更加的美观,符合现代人的审美。经过技术的发展目前的网络安全科普里一般也采用了计算机类的科普宣传网,但是都是综合性的平台,信息种类杂乱,所以经过一番考研调查后,决定设计单纯的网络安全科普系统,这样不单单是方便了管理员,对于用户来说了解网络安全信息也更加的方便,直接通过系统就可以进行查阅科普知识、案例分析,然后在线评价、交流、答题。
系统展示
用户登录功能的实现界面
登录功能是识别身份的唯一途径,本系统中的用户为普通用户、管理员。用户在登录时输入的信息需要流入数据库中进行对比。如管理员输入admin admin,数据库则需要对比管理员信息表中是否有admin admin的数据。存在该条数据才可以登录成功,不存在该条数据时会提示错误。用户登录界面的设计效果如下图5.2所示:
首页界面的实现
首页操作界面是门户,一个好的首页界面才可以吸引住用户。本操作界面里含有导航栏、系统名称、信息搜索窗口、案例分析展示模块和科普知识信息展示模块等。首页操作界面功能的实现界面如下图5.3所示:
用户注册功能的实现界面
游客可以注册,注册成为用户后才可以答题。用户注册功能的实现界面如下图5.4所示:
科普知识信息功能的实现界面
在科普知识信息界面里可以学习详细的科普知识。科普知识浏览功能的实现界面如下图5.5所示:
案例分析功能的实现界面
用户可以了解案例,通过案例学习知识。案例分析功能的实现界面如下图5.6所示:
在线评论功能的实现界面
用户可以实现评论发表自己的看法和疑问。在线评论功能的实现界面如下图5.7所示:
答题功能的实现界面
用户可以浏览题目和进行答题。答题功能实现界面如下图5.8所示
建议反馈功能的实现界面
用户有问题可以进行留言,用户建议反馈功能的实现界面如下图5.9所示:
交流论坛功能的实现
用户可以浏览帖子和发表新的帖子,交流论坛功能的实现界面如下图5.10所示:
我的功能实现
在我的界面里用户可以管理收藏信息、答题信息、帖子信息等。我的功能实现界面如下图5.11所示:
个人中心功能的实现界面
管理员可以对密码、资料进行修改。个人中心功能的实现界面如下图5.12所示:
科普知识管理功能的实现界面
本功能包括对科普知识的添加、删除、修改、查询。添加科普知识时填写科普知识名称、简介等就可以完成,查询科普知识时填写查询条件即可以查询出来相对应的科普知识信息。添加科普知识信息功能的实现界面如下图5.13所示:
建议反馈管理功能的实现界面
建议反馈管理包括审核用户的留言内容和回复用户留言。建议反馈管理功能的实现界面如下图5.14所示:
用户管理功能的实现
用户信息可在本功能里进行管理,可以查看用户的注册资料。用户注册管理功能的实现界面如下图5.15所示:
在线答题功能的实现
管理员可以设置答题信息,实现界面如下图5.16所示:
代码实现
登录功能实现代码
@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();
}