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

济宁鱼台网站建设医院网站建设

济宁鱼台网站建设,医院网站建设,什么网站可以做调察问卷,公司网站集资网站开发人员犯法么目录 SMS 环境调试 从阿里云云市场中购买第三方短信服务 调试短信验证码功能 实战开发 封装组件 对外接口 调用演示 SMS 环境调试 从阿里云云市场中购买第三方短信服务 a)进入阿里云首页,然后从云市场中找到 “短信” (一定要从 云…

目录

SMS

环境调试

从阿里云云市场中购买第三方短信服务

调试短信验证码功能

实战开发 

封装组件

对外接口

调用演示


SMS


环境调试

从阿里云云市场中购买第三方短信服务

a)进入阿里云首页,然后从云市场中找到 “短信” (一定要从 云市场 去找短信服务,否则需要企业证明,备案) 

 阿里云-计算,为了无法计算的价值阿里云——阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司之一。提供免费试用、云服务器、云数据库、云安全、云企业应用等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。免费备案,7x24小时售后支持,助企业无忧上云。icon-default.png?t=N7T8https://www.aliyun.com/

b)然后任意挑选一个合适的短信服务(这里以一个为例)

c)点击购买更多

d)然后按照自己的需求购买(还是有很多可以白嫖的)

这样就购买成功了.

e)之后你就可以在控制台里搜索 “云市场”,找到你购买的服务

Ps:将来使用短信服务给手机发送验证码时,就需要指定上面个的 AppCode(千万不可泄漏,防止别人乱刷)

调试短信验证码功能

a)进入你购买的服务后,找到 API 接口,点击 “去调试”

b) 如下界面(用到的参数都可以参照 “商品介绍” 中的描述)

c)调整参数,点击发送请求,随后返回响应,显示 "ok",说明调试成功(此时你就可以看到发送到你手机上的验证码了). 

实战开发 

封装组件

a)复制请求示例中的所有代码,粘贴到你的项目中

b)按照注释中的内容去引入对应的依赖和工具类

c)建议将短信服务专门到一个微服务中(专门用例处理调用第三方服务的接口),将来其他服务需要使用时,进行远程调用接口,解耦合(不要跟我张口闭口性能优化...).

import org.apache.http.HttpResponse;
import org.cyk.gulimall.third.infra.HttpUtils;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;@Component
public class SmsComponent {/*** 这里的 host、pat、method、appcode 可以配置到配置文件中,但是没必要* 因为将来如果真要换另一个企业的短信服务,接口的需要的参数变化都还是挺大的,所以基本没有复用的必要* code: 验证码* phone: 手机号*/public void sendMsg(String code, String phone) {String host = "https://dfsns.market.alicloudapi.com";String path = "/data/send_sms";String method = "POST";String appcode = "91dasjhfk75e0574afdajsf82g3r3bf923r";Map<String, String> headers = new HashMap<>();//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105headers.put("Authorization", "APPCODE " + appcode);//根据API的要求,定义相对应的Content-Typeheaders.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");Map<String, String> querys = new HashMap<>();Map<String, String> bodys = new HashMap<>();bodys.put("content", "code:" + code);bodys.put("template_id", "CST_ptdie100");  //注意,CST_ptdie100该模板ID仅为调试使用,调试结果为"status": "OK" ,即表示接口调用成功,然后联系客服报备自己的专属签名模板ID,以保证短信稳定下发bodys.put("phone_number", phone);try {HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);System.out.println(response.toString());} catch (Exception e) {e.printStackTrace();}}}

对外接口

@RestController
@RequestMapping("/auth/sms")
class SmsApi(val thirdSmsRpcService: ThirdSmsRpcService,val redisTemplate: StringRedisTemplate,
) {@GetMapping("/send_code/{phone}")fun sendCode(@PathVariable("phone") phone: String, //此处省略格式校验): ApiResp<Int> {//1.验证码防刷val rCode = redisTemplate.opsForValue().get(SmsRedisKey.getSMSKey(phone))rCode?.let { throw AppException(ApiStatus.CODE_GET_FAST, "验证码获取过于频繁!") }//2.生成验证码//1) 生成 6 位随机数字val code = (1..6).joinToString("") { Random().nextInt(0, 10).toString() }//2) 保存到 Redis 上redisTemplate.opsForValue().set(SmsRedisKey.getSMSKey(phone), code, 1, TimeUnit.MINUTES)//3.向手机发送验证码thirdSmsRpcService.sendMsg(code, phone)return ApiResp.ok(1)}}

Ps:对于验证码接口防刷,这里可以根据不同需求,做得很复杂

调用演示

调用后,手就可以收到以下短信.

关于短信的模板,可以去联系客服进行申请.

http://www.yayakq.cn/news/225313/

相关文章:

  • js 抽奖网站用thinkphp做的网站
  • 正版win10做win7系统下载网站百合怎么做网站
  • 福州专业网站设计团队河北石家庄网站
  • 网站备案网站建设方案做外语网站的公司
  • 国外移动端网站模板网上打工赚钱的项目
  • 建设网站项目的目的是什么免费模板下载个人简历
  • 学校网站建设培训心得广州哪里能买森海塞尔
  • 网络推广网站的方法无锡做网站企业
  • joomla做的网站如何删除wordpress文件夹
  • 织梦网做网站过程诚讯网站设计
  • 网站后缀 .cgi房屋在线设计平台
  • 流量主小程序怎么赚钱seo网站优化快速排名软件
  • 百度网站降级的原因龙岗网站建设公司哪家好
  • 唐河网站建设友情链接交换形式有哪些
  • 唯美网站模板网站登录页面制作
  • 做宣传语的网站万能素材库视频
  • 网站开发方法 优帮云电子商务网站开发过程论文
  • 网站怎么申请微博登录WordPress偷模板
  • 怎么做美食的视频网站jquery 单击input输入框弹出选择框多用于人才类网站
  • 网站某个链接失效西宁高端网站制作
  • 网站建设的销售渠道南宁工程建设网站有哪些
  • 2017做网站还赚钱吗上海环球金融中心大厦简介
  • 网站权重查询工具工信部网站备案规定
  • 手机网站开发成为小程序网站建站备案
  • 携程网站建设目的什么是网络设计方案
  • 企业网站建设的几种形式网站建设毕设
  • 图书馆网站建设工作总结数字化营销与传统营销的区别
  • dw响应式网站模板微信网站的好处
  • 电子商务网站建设的结论免费开网店免费供货
  • 成都专业的整站优化北京公司网站设计电话