基于Java+SpringBoot+Vue前后端分离癌症患者交流平台设计和实现

\n文末获取源码联系

👇🏻 精彩专栏 推荐订阅👇🏻 不然下次找不到哟

Java项目精品实战案例

微信小程序项目实战

Java项目项目实战

感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询

系统介绍:

随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。

癌症患者交流平台,主要的模块包括查看首页、轮播图、抗癌故事管理、资源管理(癌症科普、科普分类)、交流管理(抗癌论坛、论坛分类)、系统用户、模块管理(抗癌分类、抗癌方法、医生点评)等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。

要想实现癌症患者交流平台的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了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();
    }
}

论文参考:

链接点击直达:下载链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值