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

企业网站设计行业crm管理系统定制

企业网站设计行业,crm管理系统定制,深圳市建设局官方网站,网站建设鸿儒java要想实现短信验证码功能,需要整合第三方短信服务API,如阿里、腾讯等短信服务,本文介绍的是整合阿里云短信服务实现验证码功能 一 登录阿里云短信服务平台登记信息 首先需要登录阿里云短信服务平台注册相关信息阿里云短信服务 绑定测试…

java要想实现短信验证码功能,需要整合第三方短信服务API,如阿里、腾讯等短信服务,本文介绍的是整合阿里云短信服务实现验证码功能

一 登录阿里云短信服务平台登记信息

首先需要登录阿里云短信服务平台注册相关信息阿里云短信服务

  1. 绑定测试手机号
    在这里插入图片描述
  2. 申请短信模版签名
    需要先添加资质
    在这里插入图片描述
    点击添加资质
    在这里插入图片描述

填写申请信息
在这里插入图片描述

审核结果需要大概两小时,会以短信形式通知结果。审核通过后,这里就有下拉选项可以选择了,然后填写其他信息,点击最下边的“提交即可”

在这里插入图片描述
等待结果即可(短信通知)
在这里插入图片描述

通过后,可以看到结果
在这里插入图片描述
点击详情可以看到短信模版
在这里插入图片描述

如果上边生成的模版不满足个人要求,可以自己再申请一个模版
在这里插入图片描述
填写模板信息
在这里插入图片描述
提交等待结果即可。通过后,点击左侧“快速学习和测试”,选择自己申请的签名和模版,“调用API发送短信”
在这里插入图片描述
修改验证码(自定义即可),点击“发起调用”
在这里插入图片描述
右侧可以看到,调用成功,并且手机收到了验证码
在这里插入图片描述

二 java代码集成阿里云短信服务发送手机验证码

登录阿里云,找到自己的access key
在这里插入图片描述
在上边这个页面,可以申请accesskey,申请后会得到自己的AccessKey ID和AccessKey Secret俩值,项目里会用到这俩值。

还是打开刚才的短信服务页面阿里云短信服务,点击下方的“调用API发送短信”
在这里插入图片描述
在右侧找到java的sdk示例
在这里插入图片描述
把示例复制到我们的idea开发工具里

在pom.xml里添加阿里云相关依赖

<!--  阿里云短信依赖  -->
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.16</version>
</dependency>
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-dysmsapi</artifactId><version>2.1.0</version>
</dependency><!-- 阿里云JSON  -->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.31</version>
</dependency>

application.yml配置文件如下:

sms:keyid: LTAI....... # AccessKey ID,改为自己的值,本博客里第二章开头申请的值keysecret: YYFwh.......... # AccessKey Secret,改为自己的值,本博客里第二章开头申请的值signname:  ..... # 签名改为自己的值templatecod: SMS_4.... # 模板code,改为自己的值endpoint: dysmsapi.aliyuncs.com # 固定值
server:port: 8081 # 端口号

编写工具类

import com.alibaba.fastjson.JSON;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;import java.util.HashMap;
@Component
public class AliyunSmsUtil {@Value("${sms.keyid}")private String accessKeyId;@Value("${sms.keysecret}")private String accessKeySecret;@Value("${sms.signname}")private String signName;@Value("${sms.templatecod}")private String templateCode;@Value("${sms.endpoint}")private String endpoint;public boolean sendSms(String phoneNumber, HashMap<String, Object> templateParams) {try {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);IAcsClient client = new DefaultAcsClient(profile);SendSmsRequest request = new SendSmsRequest();request.setPhoneNumbers(phoneNumber);request.setSignName(signName);request.setTemplateCode(templateCode);// 将HashMap转化为JSON字符串String templateParam = JSON.toJSONString(templateParams);request.setTemplateParam(templateParam);SendSmsResponse response = client.getAcsResponse(request);return "OK".equals(response.getCode());} catch (ClientException e) {e.printStackTrace();return false;}}
}

程序入口controller

import com.example.sms.AliyunSmsUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;@RestController
@RequestMapping("/ss")
public class TsController {@Autowiredprivate AliyunSmsUtil aliyunSmsUtil;@GetMapping("/send2")public String sendCode2(String phone) {//验证码。正常业务中,这里要生成随机数,并且存到redis里,在redis里设置过期时间,如5分钟//手机号作为key,生成的验证码为valueString random = "0211";HashMap<String, Object> hashMap = new HashMap<>();hashMap.put("code", random);// 4. 调用阿里云接口发送短信,将验证码发送给指定的手机号码boolean b = aliyunSmsUtil.sendSms(phone, hashMap);System.out.println("短信发送状态:" + b);if(b){return "success";}else {return "fail";}}
}

测试:
在这里插入图片描述
手机也能收到验证码了。

http://www.dtcms.com/a/411720.html

相关文章:

  • 论文《Inference for Iterated GMM Under Misspecification》的例子3
  • 计算机图形图像技术实验报告
  • 编译DuckDB c++插件模板并加载运行
  • 做logo什么网站河田镇建设局网站
  • OA、PMES、TMES、SAP、PPM、CRM、DMS、HR系统
  • C语言 ——— 指针
  • 内力网站建设seo简单优化
  • 大模型-自编码器(AutoEncoder)原理(上)
  • Promise开发【进阶】
  • 建立网站需要备案吗网络科技公司起名字大全免费
  • solidworks ppo 试做1
  • Matter over Thread方案,如何助力智能家居生态互通?
  • 创办网站需要怎么做wordpress 点评类网站
  • 网站开发与运营怎么样0基础网站开发
  • mp3链接地址制作网站网站建设与开发选题
  • Dify 从入门到熟悉100 天的学习大纲
  • 为什么做的网站要续费东莞cms建站模板
  • 安徽省高速公路建设指挥部网站为什么实验楼网站上做实验这么卡
  • Java Web应用开发——第一章:Java Web概述测验
  • 北京网站建设哪家好免费正能量不良网站推荐
  • 高端网站建设公司有哪些项目南京房地产开发公司
  • 网络编程
  • VGG改进(11):基于WaveletAttention的模型详解
  • 安徽建筑大学学工在线网站代理网游
  • 网站流量是什么承包工程在哪个网站
  • 游标查询在对话历史场景下的独特优势
  • 临沂做网站的在哪里看看铜陵新闻
  • 密云区社区建设网站蚌埠网站建设中心
  • 参考数据和主数据考试考点及关系梳理
  • 临沂供电公司网站看网红直播做爰的网站