为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第14天 封装MIS系统登录接口

标签:
SpringBoot

课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节:第三章 使用Vue3.0+SpringBoot实现医护人员管理

课程讲师: 神思者

课程内容:


一、编写业务层代码

com.example.hospital.api.serviceMisUserService接口中,声明抽象方法。

public interface MisUserService {

    public Integer login(Map param);

}


com.example.hospital.api.service.implMisUserServiceImpl类中,实现抽象方法。@Service

public class MisUserServiceImpl implements MisUserService {


    @Resource

    private MisUserDao misUserDao;


    @Override

    public Integer login(Map param) {

        String username = MapUtil.getStr(param, "username");

        String password = MapUtil.getStr(param, "password");

        MD5 md5 = MD5.create();

        String temp = md5.digestHex(username);

        //前六位字符

        String tempStart = StrUtil.subWithLength(temp, 0, 6);

        //后三位字符

        String tempEnd = StrUtil.subSuf(temp, temp.length() - 3);

        //混淆原始密码并哈希加密

        password = md5.digestHex(tempStart + password + tempEnd);

        param.replace("password", password);

        Integer userId = misUserDao.login(param);

        return userId;

    }

}

二、编写Web层代码

com.example.hospital.api.controller.form包创建LoginForm类。

@Data

public class LoginForm {

    @NotBlank(message = "username不能为空")

    @Pattern(regexp = "^[a-zA-Z0-9]{5,50}$", message = "username内容不正确")

    private String username;


    @NotBlank(message = "password不能为空")

    @Pattern(regexp = "^[a-zA-Z0-9]{6,20}$", message = "password内容不正确")

    private String password;

}


com.example.hospital.api.controllerMisUserController中,声明登陆和登出方法。

@RestController

@RequestMapping("/mis_user")

public class MisUserController {

    @Resource

    private MisUserService misUserService;


    @PostMapping("/login")

    public R login(@RequestBody @Valid LoginForm form) {

        Map param = BeanUtil.beanToMap(form);

        Integer userId = misUserService.login(param);

        if (userId != null) {

            StpUtil.login(userId);

            String token = StpUtil.getTokenValue();

            List<String> permissions = StpUtil.getPermissionList();

            return R.ok().put("result", true).put("token", token)

                .put("permissions", permissions);


        }

        return R.ok().put("result", false);


    }


    @GetMapping("/logout")

    @SaCheckLogin

    public R logout() {

        StpUtil.logout();

        return R.ok();

    }

}

三、测试Web方法

在RestKit插件上配置后端Java项目的URL地址,测试Web方法的时候,填写上用户名和密码。

https://img1.sycdn.imooc.com//63f40ce80001f33d17260876.jpg



课程收获:通过视频加文档结合的方式,学习了封装MIS系统登录接口,期待后续学习!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消