侧边栏壁纸
博主头像
鲨鱼辣椒博主等级

敢想敢干

  • 累计撰写 32 篇文章
  • 累计创建 32 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

springboot整合容联云发短信验证码

鲨鱼辣椒
2020-03-11 / 0 评论 / 0 点赞 / 1,672 阅读 / 713 字 / 正在检测是否收录...

最近公司因业务需求安排了给我使用容联云的短信验证码功能,实现登录操作,因我前期没有认真读api 导致了很多不必要的错误。而且网上用springboot 整合容联云的方法我也没找到,然后现在自己整理一下,和大家分享一下。本人这里只分享代码如何编写不包括账号注册,如果使用免费注册,记得把自己的测试手机号添加到平台才可以接受短信。

1.首先,在自己的项目的pom文件中导入所需要的maven 依赖

		<!--容联云通讯短信-->
        <dependency>
            <groupId>com.cloopen</groupId>
            <artifactId>java-sms-sdk</artifactId>
            <version>1.0.1</version>
        </dependency>
        <!-- 翻看了容联云的源码发现需要依赖谷歌的gson,如果不添加这个会报错 -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>

2. 在容联云首页寻找开发文档如下图

首页文档快速入门
3.然后创建一个发送短信的工具类,将自己提前注册申请好的ACCOUNT SID 和主账号令牌AUTH TOKEN及APPID 替换到xxx 的位置。

import java.util.HashMap;
import java.util.Random;

import com.cloopen.rest.sdk.CCPRestSmsSDK;
import org.apache.commons.lang3.RandomStringUtils;

/**
 * 发送短信工具类
 *
 * @author songjian
 * @Date 2020-03-10
 */
public class SDKTestSendTemplateSMS {
    /**
     * 发送验证码工具类
     *
     * @param phone 电话号码
     * @return 验证码
     */
    public static String sms(String phone) {
        HashMap<String, Object> result = null;
        CCPRestSmsSDK restAPI = new CCPRestSmsSDK();
        // 初始化服务器地址和端口,生产环境配置成app.cloopen.com,端口是8883.
        restAPI.init("app.cloopen.com", "8883");
        // 初始化主账号名称和主账号令牌,登陆云通讯网站后,可在控制首页中看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN。
        restAPI.setAccount("xxx", "xxx");
        // 请使用管理控制台中已创建应用的APPID。
        restAPI.setAppId("xxx");
        String code = RandomStringUtils.randomNumeric(6);
        //设置需要发送的手机号和发送的验证码及过期时间
        result = restAPI.sendTemplateSMS(phone, "1", new String[]{code, "10"});
        if ("000000".equals(result.get("statusCode"))) {
            return code;
        } else {
            //异常返回输出错误码和错误信息
            String s = "错误码=" + result.get("statusCode") + " 错误信息= " + result.get("statusMsg");
            return s;
        }
    }
}

4.测试的时候可以写一个main方法测试一下

    public static void main(String[] args) {
        String sms = sms("13999999999");
        System.out.println(sms);
    }

尾声
然后到此短信发送成功了。容联云的其他方式本人没有测试,感觉其他方式都很难用,超级难用,如果有不懂的可以给我留言。

0

评论区