\n 文末获取源码联系
感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询
系统介绍:
随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。
癌症患者交流平台,主要的模块包括查看首页、轮播图、抗癌故事管理、资源管理(癌症科普、科普分类)、交流管理(抗癌论坛、论坛分类)、系统用户、模块管理(抗癌分类、抗癌方法、医生点评)等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。
要想实现癌症患者交流平台的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了 Mysql 作为后台数据库,使 Web 与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
本系统的开发使获取癌症患者交流平台信息能够更加方便快捷,同时也使癌症患者交流平台管理信息变的更加系统化、有序化。系统界面较友好,易于操作。
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
系统功能结构图,如图 4-3 所示:
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
程序操作流程图
功能截图:
5.1 前台用户功能模块
用户注册页面,在用户注册页面输入:用户名、密码、权限验证码等内容进行登,如图 5-1 所示:
图 5-1 用户注册界面图
用户登录页面,在用户登录页面输入:用户名、密码、权限验证码等内容进行登,如图 5-2 所示:
图 5-2 用户登录界面图
首页,用户登录系统进入首页后可以查看首页、抗癌论坛、抗癌故事、癌症科普、抗癌方法、医生点评、我的(我的账户、我的收藏、个人中心)等模块,并进行相对应的操作,如图 5-3 所示。
图 5-3 前台系统首页界面图
抗癌论坛,在抗癌论坛页面可以用户可发表帖子:封面图、标题、分类、标签、正文等内容,并可查看他人的帖子,进行点赞、评论等操作,如图 5-4 所示。
图 5-4 抗癌论坛界面图
癌症科普,在癌症科普页面可以查看癌症科普详情,并可进行点赞、收藏、评论等操作,如图 5-5 所示。
图 5-5 癌症科普界面图
抗癌方法,在抗癌方法可以查看抗癌方法详情,并可进行点赞、收藏、评论等操作,,如图 5-6 所示。
图 5-6 抗癌方法界面图
医生点评,在医生点评页面可以提交发布患者、患者姓名、发布时间、发布内容等内容,如图 5-7 所示。
图 5-7 医生点评界面图
5.2 管理员功能模块
管理员登录进入癌症患者交流平台可以查看首页、轮播图、抗癌故事管理、资源管理(癌症科普、科普分类)、交流管理(抗癌论坛、论坛分类)、系统用户、模块管理(抗癌分类、抗癌方法、医生点评)等模块,并进行相对应的操作,如图 5-8 所示。
图 5-8 管理员功能界面图
医生用户管理,在医生用户管理页面可以查看昵称、用户名、医生姓名、医生性别、医生职称、创建时间、更新时间、操作等内容,还可进行添加、删除、重置、查询、详情操作,如图 5-9 所示。
图 5-9 医生用户管理界面图
抗癌方法,在抗癌方法页面可以查看抗癌标题、抗癌类型、封面图片、创建时间、更新时间等信息,并可根据需要进行添加、删除、重置、查询、详情、查看评论等操作,如图 5-10 所示。
图 5-10 抗癌方法界面图
抗癌论坛,在抗癌论坛页面可以查看封面图、标题、分类、标签、创建时间、更新时间等信息,并可根据需要进行添加、删除、重置、查询、详情、查看评论等操作,如图 5-11 所示。
图 5-11 抗癌论坛界面图
5.3 医生用户功能模块
医生点评,在医生点评页面可以查看发布患者、患者姓名、发布时间、发布内容、点评回复、创建时间、更新时间等信息,并可根据需要进行添加、删除、重置、查询、详情等操作,如图 5-12 所示。
图 5-12 医生点评界面图
代码实现:
/**
* 登录相关
*/
@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 role, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
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);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@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();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
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("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@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();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
复制代码
论文参考:
开源地址:可以——【戳一戳】即可免费获取!
评论