日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用户登录注册接口

發布時間:2024/4/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用户登录注册接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建登錄和注冊接口

創建LoginVo和RegisterVo用于數據封裝

LoginVo

@Data @ApiModel(value="登錄對象", description="登錄對象") public class LoginVo {@ApiModelProperty(value = "手機號")private String mobile;@ApiModelProperty(value = "密碼")private String password; }

RegisterVo

@Data @ApiModel(value="注冊對象", description="注冊對象") public class RegisterVo {@ApiModelProperty(value = "昵稱")private String nickname;@ApiModelProperty(value = "手機號")private String mobile;@ApiModelProperty(value = "密碼")private String password;@ApiModelProperty(value = "驗證碼")private String code; }

創建controller編寫登錄和注冊方法

MemberApiController.java @RestController @RequestMapping("/ucenterservice/apimember") @CrossOrigin public class MemberApiController {@Autowiredprivate MemberService memberService;@ApiOperation(value = "會員登錄")@PostMapping("login")public R login(@RequestBody LoginVo loginVo) {String token = memberService.login(loginVo);return R.ok().data("token", token);}@ApiOperation(value = "會員注冊")@PostMapping("register")public R register(@RequestBody RegisterVo registerVo){memberService.register(registerVo);return R.ok();} }

創建service接口和實現類

@Service public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {@Autowiredprivate RedisTemplate<String, String> redisTemplate;/*** 會員登錄* @param loginVo* @return*/@Overridepublic String login(LoginVo loginVo) {String mobile = loginVo.getMobile();String password = loginVo.getPassword();//校驗參數if(StringUtils.isEmpty(mobile) ||StringUtils.isEmpty(password) ||StringUtils.isEmpty(mobile)) {throw new Exception(20001,"error");}//獲取會員Member member = baseMapper.selectOne(new QueryWrapper<Member>().eq("mobile", mobile));if(null == member) {throw new Exception(20001,"error");}//校驗密碼if(!MD5.encrypt(password).equals(member.getPassword())) {throw new Exception(20001,"error");}//校驗是否被禁用if(member.getIsDisabled()) {throw new Exception(20001,"error");}//使用JWT生成token字符串String token = JwtUtils.getJwtToken(member.getId(), member.getNickname());return token;}/*** 會員注冊* @param registerVo*/@Overridepublic void register(RegisterVo registerVo) {//獲取注冊信息,進行校驗String nickname = registerVo.getNickname();String mobile = registerVo.getMobile();String password = registerVo.getPassword();String code = registerVo.getCode();//校驗參數if(StringUtils.isEmpty(mobile) ||StringUtils.isEmpty(mobile) ||StringUtils.isEmpty(password) ||StringUtils.isEmpty(code)) {throw new Exception(20001,"error");}//校驗校驗驗證碼//從redis獲取發送的驗證碼String mobleCode = redisTemplate.opsForValue().get(mobile);if(!code.equals(mobleCode)) {throw new Exception(20001,"error");}//查詢數據庫中是否存在相同的手機號碼Integer count = baseMapper.selectCount(new QueryWrapper<Member>().eq("mobile", mobile));if(count.intValue() > 0) {throw new Exception(20001,"error");}//添加注冊信息到數據庫Member member = new Member();member.setNickname(nickname);member.setMobile(registerVo.getMobile());member.setPassword(MD5.encrypt(password));member.setIsDisabled(false);member.setAvatar("http://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83eoj0hHXhgJNOTSOFsS4uZs8x1ConecaVOB8eIl115xmJZcT4oCicvia7wMEufibKtTLqiaJeanU2Lpg3w/132");this.save(member);} }

?

總結

以上是生活随笔為你收集整理的用户登录注册接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。