springboot整合手机验证码

1:使用榛子云作为短信服务的提供者

榛子云官网:http://smsow.zhenzikj.com/
自己注册下就可以了
查看自己的appid
在这里插入图片描述

2:代码编写

1:pom.xml导入最新的依赖

  <dependency>
	               <groupId>com.zhenzikj</groupId>
	               <artifactId>zhenzisms</artifactId>
	               <version>1.0.2</version>
	            </dependency>

2:编写代码controller层

 //短信平台相关参数。在用户中心查看
    private String apiUrl = "https://sms_developer.zhenzikj.com";//调用的接口
    private String appId = "";
    private String appSecret = "";
  
    @ResponseBody
    @PostMapping("/sendcode")
    public Result getCode(@RequestBody Map<String, Object> params, HttpSession httpSession){
        String phonenumber = (String) params.get("phonenumber");//通过ajax传过来的手机号
       
        System.out.println(phonenumber);
          
            try {

                String code = String.valueOf(new Random().nextInt(999999));
                 System.out.println("验证码是:"+code+".....................");
                ZhenziSmsClient client = new ZhenziSmsClient(apiUrl, appId, appSecret);
                String result = client.send(phonenumber, "您的验证码为:" + code + ",该码有效期为5分钟,该码只能使用一次!");

                System.out.println(result);
                System.out.println("发送成功");
                return Result.ok();
            } catch (Exception e) {
                e.printStackTrace();
            }
        return Result.error("账号已经存在请登入");
    }

3:Result.class

在这里插入代码片
```public class Result extends HashMap<String, Object> {

	private static final long serialVersionUID = 1L;

	public Result() {
		put("code", 0);
	}

	public static Result error() {
		return error(500, "未知异常,请联系管理员");
	}

	public static Result error(String msg) {
		return error(500, msg);
	}

	public static Result error(int code, String msg) {
		Result r = new Result();
		r.put("code", code);
		r.put("msg", msg);
		return r;
	}

	public static Result ok(Object msg) {
		Result r = new Result();
		r.put("msg", msg);
		return r;
	}


	public static Result ok(Map<String, Object> map) {
		Result r = new Result();
		r.putAll(map);
		return r;
	}

	public static Result ok() {
		return new Result();
	}

	@Override
	public Result put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}

3:前端以及ajax编写

		<input type="text" name="phonenumber" v-model="phonenumber"   id="phonenumber" placeholder="输入手机号">
		<button type="button" onclick="sign()"  class="am-btn am-btn-default">注册</button>

function dosend() {
		  var phonenumber= $("#phonenumber").val();
		  alert("短信成功发送请注意查收!");
		  $.ajax({
			  url: "/sendcode", // 后台短信发送接口
			  type: 'POST',
			  dataType: 'json',
			  contentType: "application/json",
			  async: false, //false 同步
			  data: JSON.stringify({"phonenumber":phonenumber}),
			  xhrFields: {
				  withCredentials: true
			  },
			  success: function (result) {
				  if(result.code == 0) {

				  }else {

				  }
			  },
			  error: function () {
			  }
		  });
	  }

4:控制台
在这里插入图片描述

code格式:
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值