文末获取源码
开发语言:Java
框架:SSM
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
随着网络的发展,上网用户也是越来越多,网上论坛也是变的非常流行起来,大家可以通过论坛来进行交流讨论,国产动漫论坛里需要管理的数据主要就是帖子,然后是否合法的数据,信息非常杂乱。现在很多的国产动漫论坛都摒弃了传统的管理方式(手动进行排查管理信息)而采用内部使用的客户端管理方式来进行管理。使用内部的客户端来进行管理这种方式可以改变信息查找慢,登记混乱的现象,从根本上无法完全改变国产动漫论坛管理效率低、管理成本大的问题。
本小程序国产动漫论坛主要是针对用户开发的交流论坛,使管理员与用户共享信息,减少人本。在语言方面采用java语言,java语言是开源的面向对象的语言;数据库采用mysql,可以更好的调用数据。本系统可以运行在微信开发者工具软件上,使系统的调试更加的便捷。本系统的主要功能包括管理员以及普通用户,国产动漫论坛里不可能只有一位工作人员,管理员可以安排设置更多的管理员,管理员可以对国产动漫论坛中的信息分类、论坛版块、动漫视频信息以及帖子信息等进行管理;普通用户可以查看国产动漫论坛里所有的论坛信息可以进行在线发言交流,查看自己的收藏信息以及进行发布帖子等。本系统通过小程序结构来进行用户操作之间的交互,对于系统的后期维护与扩展奠定了基础。
系统展示
登录主界面实现
本界面属于安全界面,是管理员与注册用户都要使用的界面,采用注册用户登录和管理员登录分开界面设计。在注册用户登录界面中可以看到账号、密码两个文本框,所以需要两种信息都输入正确才可以成功登录到相对应的界面,整个过程由数据库进行自动判断,判断正确进入下一步,判断错误返回初始界面
管理员功能界面实现
登录密码信息功能界面实现
本功能包括原密码、新密码以及确认密码三个文本框,在需要修改密码的时候要注意原密码的输入,原密码是保证是本人操作的唯一凭证
用户管理功能实现
注册用户指系统里的普通用户,在本功能里还可以看到注册用户的年龄、联系电话
动漫分类管理功能的界面实现
主要是针对动漫进行划分,对于不良的分类信息可以进行删除
动漫视频管理功能界面实现
本功能可以对动漫视频进行添加和修改、删除
交流论坛功能的实现
管理员可以审核用户的帖子和论坛内容。
注册用户功能界面实现
在线注册功能实现
用户需要注册后才可以进入本系统。
动漫资讯查看功能界面实现
用户可以通过分类查看动漫的资讯,也可以通过查找的方式快速查看
交流论坛功能界面的实现
本功能可以看到详细的帖子信息,然后可以在线回复帖子和发布帖子
评论功能的界面实现
用户可以发布评论
我的功能的界面实现
本功能可以管理我的收藏、我的帖子。
代码实现
登录功能实现代码
@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();
}