保姆级——Java使用腾讯云实现手机号验证码登录

先进行准备工作,获取短信验证码需要用到的参数

1、你的系统默认应用SDK AppID

2、你的系统默认应用App Key

3、你的正文模板

4、你的签名内容

先注册腾讯云==》搜索短信,进入控制台 

可以在应用管理==》应用列表获取AppID、App Key

 

然后就可以去创建签名

 创建好之后就可以拿到,签名内容 

正文模板就在签名管理下方创建,创建时可以直接选择使用标准模板

 

就可以拿到你的正文模板ID

 

1、引入依赖:

        <!--腾讯云核心API-->
        <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java</artifactId>
            <version>3.1.111</version>
        </dependency>
        <dependency>
            <groupId>com.github.qcloudsms</groupId>
            <artifactId>qcloudsms</artifactId>
            <version>1.0.6</version>
        </dependency>

2、在配置文件添加(我的是yml配置文件)

txsms:
  AppId:  #你的系统默认应用SDK AppID
  AppKey:  #你的系统默认应用App Key
  TemplateId:  #你的正文模板ID
  signName:   #你的签名内容

3、核心代码

  1、生成验证码

  /**
     * 生成验证码
     * @return
     */
    public String getCode(){
        String str="0123456789";
        String uuid=new String();
        for(int i=0;i<4;i++)
        {
            char ch=str.charAt(new Random().nextInt(str.length()));
            uuid+=ch;
        }
        return uuid;
    }

2、发送验证码

​
    /**
     * 发送验证码
     * @return
     */
    @RequestMapping(value = "/register/createCode/{phone}",method = RequestMethod.GET)
    public ResultVO createCode(@PathVariable("phone") String phone){
        String code = getCode();
        log.info("========================>"+code);
        //将验证码保存redis,key为电话号,有效期180s
        redisTemplate.opsForValue().set(phone,code,180, TimeUnit.SECONDS);
        //发送短信,腾讯云短信国企,暂时注释
        String Msg = txSmsTemplate.sendMesModel(phone, code);
        return ResultVO.success();
    }

3、调用核心方法

​
import com.alibaba.fastjson.JSONException;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.io.IOException;

/**
 * 腾讯云发送短信模板对象,封装了发送短信的api
 */
@Slf4j
@Component
public class TxSmsTemplate {

    // AppId  1400开头的
    @Value("${txsms.AppId}")
    private int AppId;
    // 短信应用SDK AppKey
    @Value("${txsms.AppKey}")
    private String AppKey;
    // 短信模板ID
    @Value("${txsms.TemplateId}")
    private int TemplateId;
    // 签名
    @Value("${txsms.signName}")
    private String signName;

    /**
     * 指定正文模板id发送短信
     * @param number 用户的手机号码
     * @return OK 成功  null 失败
     */
    public String sendMesModel(String number,String code) {
        try {
            // 接收生成的验证码,设置5分钟内填写
            String[] params = {code};

            // 构建短信发送器
            SmsSingleSender ssender = new SmsSingleSender(AppId, AppKey);

            SmsSingleSenderResult result = ssender.sendWithParam("86", number,
                    TemplateId, params, signName, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信

            return result.errMsg; //OK
        } catch (HTTPException e) {
            // HTTP响应码错误
            log.info("短信发送失败,HTTP响应码错误!");
            // e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            log.info("短信发送失败,json解析错误!");
            //e.printStackTrace();
        } catch (IOException | org.json.JSONException e) {
            // 网络IO错误
            log.info("短信发送失败,网络IO错误!");
            // e.printStackTrace();
        }
        return null;
    }
}

​

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
lbm模式学习是一种非常实用的学习方法,可以帮助我们更高效地掌握知识和技能。保姆安装及初步使用教程主要是指在使用lbm模式学习时,如何进行安装和初步使用的操作指南。 首先,我们需要去官网下载lbm模式学习的软件安装包,并按照官方指南进行安装。安装完成后,我们可以打开软件,进入到lbm模式学习的主界面。 在lbm模式学习的主界面,我们可以选择我们要学习的知识领域或技能点,并根据自己的需求进行选择。然后,我们可以按照系统提供的学习路线进行学习,也可以根据自己的实际情况进行灵活调整。 在学习过程中,lbm模式学习会根据我们的学习情况,给出相应的学习建议和学习资源。我们可以通过视频教程、文档资料、在线实验等多种方式进行学习,保姆的指导有助于我们更好地掌握知识点和技能。 除此之外,lbm模式学习还可以针对我们的学习效果进行实时监测和评估,帮助我们及时调整学习策略,确保学习效果。在初步使用中,我们可以先尝试简单的知识点或技能点,逐渐增加学习难度,保证学习的深入和系统性。 总之,lbm模式学习·保姆安装及初步使用教程非常实用,可以帮助我们更有效地学习知识和技能,提升学习效率。希望大家在学习过程中能够灵活运用lbm模式学习,取得更好的学习成效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值