asp.net如何使用阿里云短信验证码

关于.net如何调用阿里云的短信验证,以及控件之间的操作,比如点击了按键按键就要锁定,并且进入倒计时

开发一个项目,刚好需要用到短信验证,因为客户还没有把key和id给我,只能等了,就顺手写这个文章。

首先进入控件之间的变化。

 $(function () {
    $("#btn-code").click(function () {
         var disabled = $("#btn-code").attr("disabled");
         if (disabled) {
             return false;
         }  
         var phoneNum = document.getElementById("phoneNum").value;
         if (phoneNum == "") {
             layer.msg("手机号码不能为空!", { icon: 2, time: 1200 });
             return (false);
         };
         if (phoneNum.length < 11)
         {
             layer.msg("手机号码输入错误!", { icon: 2, time: 1200 });
             return (false);
         }
         
         $.ajax
             ({
                 url: "",//进入到后台处理
                 type: "get",
                 data: "" ,
                 success: function (data) {
                     //成功的时候获取后台返回值,因为客户还没有给钥匙,所以就不写处理过程了
                     settime();
                 }
             });
         
     });
     //检测结束
     //倒计时开始
     var countdown = 10;
     var btn_code = $("#btn-code");
     function settime() {
         if (countdown == 0) {
             $("#btn-code").attr("disabled", false);
             btn_code.text("获取验证码");
             countdown = 10;
             return false;
         } else {
             $("#btn-code").attr("disabled", true);
             btn_code.text("重新发送(" + countdown + ")");
             countdown--;//一秒运行一次
         }
         setTimeout(function () {
             settime();
         }, 1000);
     }  
 });

说明:利用ajax进行异步的处理,如果成功收到后台的返回值,则进入倒计时,并锁定控件。

后台调用阿里的sdk:
大同小异,申请阿里云的短信服务,这个百度找找都有。
直接上代码:

string code = RandomCode.phoneCode(); //随机生成6位验证码
		 string result; //用来接收结果值
		 string phoneNum; //获取前台值,这边我就不展示了
		 //利用阿里云向用户发送验证码
		 string accessKeyId = ""; //云id
		 string accessKeySecret = ""; //云密码
		 string RegionId = "cn-hangzhou"; //地区号
		 // 构建一个阿里云 Client, 用于发起请求
		 IClientProfile profile = DefaultProfile.GetProfile(RegionId, accessKeyId, accessKeySecret); //用来存阿里云基本信息值
		 // 构建阿里云 Client 时需要设置 access key ID 和 access key secret
		 DefaultProfile.AddEndpoint(RegionId,RegionId, "Dysmsapi", "dysmsapi.aliyuncs.com");
		 IAcsClient acsClient = new DefaultAcsClient(profile); //调用验证方法
		 SendSmsRequest request = new SendSmsRequest(); //用来存储,请求信息值
		 try
		 {
		     //必填:待发送手机号。验证码类型的短信推荐使用单条调用的方式
		     //因为是短信验证,所以没有存储多值,不是群发,不需要用数组
		     request.PhoneNumbers = phoneNum;
		     request.SignName = ""; //必填:短信签名-可在短信控制台中找到
		     request.TemplateCode = "";//必填:短信模板-可在短信控制台中找到
		     request.TemplateParam = "{\"code\":\""+code+"\"}"; //可选:模板中的变量替换JSON串,替换里面的code值。这个是JSON格式
		     //{\"code\":\""++"\"}
		     SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); //进行服务端发送短信请求, //请求失败这里会抛ClientException异常
		     result = sendSmsResponse.Message; //result是结果值,阿里云请求结束后回回发的值。
		 }
		 catch (ServerException ex)
		 {
		     result = ex.ToString();
		 }

.net中需要引入的内容:

using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Dysmsapi.Model.V20170525;

以上就是如何开发一个短信验证服务,从前端到后端,进行交互使用,使用户得到一个较好的体验。如果有人做的是直接刷新页面的话,也是可以实现的,但是异步就是给用户一个较好的体验。建议去学习一下jquery,ajax的基本使用。
记:2020-04-16

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值