计算机毕业设计SpringBoot+Vue选题推荐—在线小说阅读平台
前言
本次文章主要是介绍Java+SprignBoot+Vue在线小说阅读平台的功能,系统有多个角色,可以动态分配权限
一、系统功能
1.1 开发环境
开发语言:Java - 技术:SprignBoot+BootStrap
数据库:MySQL - 架构:B/S - 源码类型: Web
编译工具:Idea、Eclipse、MyEclipse (选其一)
其他:jdk1.8、Tomcat8.5【内置】、Navicat
二、系统设计
2.1 研究思路分析
在系统流程分析当中调查分析它是比较重要的环节,因为在这个系统当中它都涉及到每个环节的业务流程,所以从Java+SprignBoot+Vue在线小说阅读平台的设计的整体设计上要保证各个信息的正确输入和输出以及对数据储存的完整,并结合实际的操作步骤来绘制出具体的流程图。具体流程图如下图所示:
2.2 系统功能结构图
系统的功能需求如下:
管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能如下:
(1)前台:首页、小说信息、交流论坛、公告资讯、个人中心、后台管理。
(2)管理员:首页、个人中心、会员管理、小说分类管理、小说信息管理、小说评分管理、交流论坛、系统管理。
(3)会员:首页、个人中心。
三、部分功能展示
3.1登录页面展示
3.2管理员页面展示
3.3用户页面展示
四、部分代码设计
4.1登录【代码如下(示例):】
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@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();
}
4.2通用接口【代码如下(示例):】
/**
* 通用接口
*/
@RestController
public class CommonController{
@Autowired
private CommonService commonService;
private static AipFace client = null;
@Autowired
private ConfigService configService;
/**
* 获取table表中的column列表(联动接口)
* @param table
* @param column
* @return
*/
@IgnoreAuth
@RequestMapping("/option/{tableName}/{columnName}")
public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("column", columnName);
if(StringUtils.isNotBlank(level)) {
params.put("level", level);
}
if(StringUtils.isNotBlank(parent)) {
params.put("parent", parent);
}
List<String> data = commonService.getOption(params);
return R.ok().put("data", data);
}