使用leanCloud发送短信验证码Java

主要使用的是 leanCloud 的验证类短信 官方文档
1.在 pom.xml 中添加相关依赖

<!--leancloud 的sms短信服务-->
 <dependency>
     <groupId>cn.leancloud</groupId>
     <artifactId>realtime-core</artifactId>
     <version>6.4.0</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
 <dependency>
     <groupId>com.squareup.okhttp3</groupId>
     <artifactId>okhttp</artifactId>
     <version>4.4.1</version>
 </dependency>

2.leanCloud工具类

package cn.duli.xianer.utils;

import cn.leancloud.core.AVOSCloud;
import cn.leancloud.sms.AVSMS;
import cn.leancloud.sms.AVSMSOption;
import cn.leancloud.types.AVNull;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;

public class SmsUtil {

    /**
     * leanCloud调用接口发送验证短信
     * @param phone
     * @return
     */
    public static Integer postMsg(String phone) {
        AVOSCloud.initialize("填自己的appId", "填直接的appKey");
        AVSMSOption option = new AVSMSOption();
        option.setTtl(10);
        option.setApplicationName("测试短信");
        option.setOperation("短信验证");
        AVSMS.requestSMSCodeInBackground(phone, option).subscribe(new Observer<AVNull>() {
            @Override
            public void onSubscribe(Disposable disposable) {
            }
            @Override
            public void onNext(AVNull avNull) {
                System.out.println("Result: Successfully sent verification code.");
            }
            @Override
            public void onError(Throwable throwable) {
                System.out.println("Result: Failed to send verification code. Reason: " + throwable.getMessage());
            }
            @Override
            public void onComplete() {

            }
        });
        return 1;
    }

    /**
     * 调用接口验证用户输入的验证码是否有效
     * @param code
     * @param phone
     * @return
     */
    public static Integer verifyMsg(String code, String phone) {
        AVOSCloud.initialize("填自己的appId", "填直接的appKey");
        AVSMS.verifySMSCodeInBackground(code,phone).subscribe(new Observer<AVNull>() {
            @Override
            public void onSubscribe(Disposable d) {
            }
            @Override
            public void onNext(AVNull avNull) {
                System.out.println("Result: Successfully verified the number.");
            }
            @Override
            public void onError(Throwable throwable) {
                System.out.println("Result: Failed to verify the number. Reason: " + throwable.getMessage());
            }
            @Override
            public void onComplete() {
            }
        });
        return 1;
    }

}

3.controller 部分

    /**
     * 发送短信验证码
     * @param uPhone
     */
    @RequestMapping("/postMsg")
    public void postMsg(String uPhone) {
        SmsUtil.postMsg(uPhone);
    }

    /**
     * 验证短信验证码
     * @param uPhone
     */
    @RequestMapping("/verifyMsg")
    public void verifyMsg(String code, String uPhone) {
        SmsUtil.verifyMsg(code, uPhone);
    }
发布了15 篇原创文章 · 获赞 10 · 访问量 2702

猜你喜欢

转载自blog.csdn.net/qq_38157825/article/details/104795770