当前位置: 首页 > news >正文

网站主题的分类十大职业资格培训机构

网站主题的分类,十大职业资格培训机构,如何通过ftp上传网站,无锡新区做网站公司1.发送验证码 1.发送post请求 数据封装在map 获取map的手机号码 2.调用service层将手机号码 传入过去 3.正常返回状态码200 RestController RequestMapping("/user") public class LoginController {Autowiredprivate UserService userService;/*** 获取登录验证码*…

1.发送验证码

        1.发送post请求 数据封装在map 获取map的手机号码

        2.调用service层将手机号码 传入过去

        3.正常返回状态码200

@RestController
@RequestMapping("/user")
public class LoginController {@Autowiredprivate UserService userService;/*** 获取登录验证码*   请求参数:phone (Map)*   响应:void*/@PostMapping("/login")public ResponseEntity login(@RequestBody Map map){String phone =(String) map.get("phone");userService.sendMsg(phone);return ResponseEntity.ok(null); //正常返回状态码200}
}

        1.随机生成6位数字验证码

        2.将验证码存入reids 使用固定前缀+手机号码 过期时间5分钟

@Service
public class UserService {@Autowiredprivate SmsTemplate template;@Autowiredprivate RedisTemplate<String,String> redisTemplate;/*** 发送短信验证码* @param phone*/public void sendMsg(String phone) {//1、随机生成6位数字//String code = RandomStringUtils.randomNumeric(6);String code = "123456";//2、调用template对象,发送手机短信//template.sendSms(phone,code);//3、将验证码存入到redisredisTemplate.opsForValue().set("CHECK_CODE_"+phone,code, Duration.ofMinutes(5));}}

2.用户登录

        1.从map中获得手机号码 和 验证码

        2.调用service层 传入手机号码 和验证码

        3.返回map map里必须要有token信息 和 isNew 是否新用户

    /*** 检验登录*/@PostMapping("/loginVerification")public ResponseEntity loginVerification(@RequestBody Map map) {//1、调用map集合获取请求参数String phone = (String) map.get("phone");String code = (String) map.get("verificationCode");//2、调用userService完成用户登录Map retMap = userService.loginVerification(phone,code);//3、构造返回return ResponseEntity.ok(retMap);}

        4.从redis获取验证码

        5.对redis验证码进行一个非空判断(防止已经删除了) 与 对传入来的验证码进行一个校验 如果

redis验证码非空 或 验证码错误 则抛出异常

        6.删除redis存的验证码(防止重复使用)

        7.创建一个boolean值 isNew 默认是false(不是新用户)

        8.调用api传入手机号 查找用户

        9.判断用户是否存在

        8.如果不存在就是新用户 重新new一个(因为没查找出来是null 必须在new一个) 设置他的手机

号码 以及密码(密码默认123456 md5加密) 然后保存 返回它的用户id(这里我有点不懂 insert 之后

为什么user 就有id)

        9.将id设置给user isNew=true 表示是个新用户

        10.创建map 存入id和手机号码 使用jwt加密成token

        11.创建map保存数据 将生成的token存入进去 和 isNew 返回给controller层

/*** 验证登录* @param phone* @param code*/public Map loginVerification(String phone, String code) {//1、从redis中获取下发的验证码String redisCode = redisTemplate.opsForValue().get("CHECK_CODE_" + phone);//2、对验证码进行校验(验证码是否存在,是否和输入的验证码一致)if(StringUtils.isEmpty(redisCode) || !redisCode.equals(code)) {//验证码无效throw new RuntimeException();}//3、删除redis中的验证码redisTemplate.delete("CHECK_CODE_" + phone);//4、通过手机号码查询用户User user = userApi.findByMobile(phone);boolean isNew = false;//5、如果用户不存在,创建用户保存到数据库中if(user == null) {user = new User();user.setMobile(phone);user.setPassword(DigestUtils.md5Hex("123456"));Long userId = userApi.save(user);user.setId(userId);isNew = true;}//6、通过JWT生成token(存入id和手机号码)Map tokenMap = new HashMap();tokenMap.put("id",user.getId());tokenMap.put("mobile",phone);String token = JwtUtils.getToken(tokenMap);//7、构造返回值Map retMap = new HashMap();retMap.put("token",token);retMap.put("isNew",isNew);return retMap;}
http://www.jinmujx.cn/news/110335.html

相关文章:

  • 百度怎样可以搜到自己的网站宁波seo推广平台
  • 做响应式网站设计图是多大的广告投放策略
  • 赌博网站怎么建设色盲能治好吗
  • 网站栏目的分类深圳 网站制作
  • 京东网站难做吗网店运营推广实训
  • 网站开发遇到过哪些技术难点百度本地惠生活推广
  • 施工企业资质等级标准seo排名的职位
  • 南京seo报价seo自然优化排名
  • 阿里云官网2023网站seo
  • wordpress网站标签logo免费网络推广软件
  • 专业的网站开发团队重庆seo优化效果好
  • 文化传播公司网站模板百度旅游官网
  • 有什么设计logo网站seo网站优化工具
  • 河南网站建设哪家好推广普通话的意义简短
  • 外贸企业网站对外贸的重要性如何找做网站的公司
  • 哪些网站做物流推广好网络推广深圳有效渠道
  • 微信网站域名三只松鼠营销案例分析
  • 厦门建设局招投标信息网郑州靠谱seo整站优化
  • wordprees可以做棋类网站吗邯郸网站优化
  • 汉阳网站建设鄂icp刷关键词优化排名
  • 互联网建站是什么中国企业500强最新排名
  • 大沥网站建设公司收录优美图片
  • 泰国男女做那个视频网站新闻源软文发布平台
  • wordpress心情插件seo怎样优化网站
  • 东莞网页制作设计seo专员是什么职位
  • 做门的网站建设seo网站建站
  • u盘装WordPress网站seo报价
  • 高校国际交流中心网站建设方案网络营销怎么做?
  • 北京网站建设解决方案晚上免费b站软件
  • 长汀网站建设seo 专业