日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net mvc 接入阿里大于 短信验证码发送

發布時間:2024/4/15 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net mvc 接入阿里大于 短信验证码发送 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目前端頁面實例

?

?

1步:登錄阿里大于控制臺

https://www.alidayu.com/center/user/account?spm=0.0.0.0.P1K1jG

2步:創建應用

?

3步:配置短信簽名

4步:配置短信模板

5步:前端

?

<tr class="margin-top"><td class="padding-top text-center">手機號</td><td><input type="text" class="inputs" id="Phone" name="Phone"> </td><td><input type="button" value="獲取驗證碼" id="sms" οnclick="sendemail()"></td></tr><tr><td class="padding-top text-center">驗證碼</td><td><input type="text" class="inputs" id="Code" name="Code"></td></tr>

?

6步:js處理

$(function () {$("#sms").click(function () {sendCode($("#sms"));});v = getCookieValue("secondsremained");//獲取cookie值if (v > 0) {settime($("#sms"));//開始倒計時} })//發送驗證碼 function sendCode(obj) {var phoneNumber = $("#Phone").val();var result = isPhoneNum(phoneNumber);if (result) {//將手機利用ajax提交到后臺的發短信接口$.post("/College/Code", { Phone: phoneNumber }, function (data) {if (data == "ok") {alert("驗證碼發送成功!");} else {alert("驗證碼發送失敗,請重新發送!");}});addCookie("secondsremained", 60, 60);//添加cookie記錄,有效時間60ssettime(obj); //開始倒計時} } //開始倒計時 var countdown; function settime(obj) {countdown = getCookieValue("secondsremained");if (countdown == 0) {obj.removeAttr("disabled");obj.val("獲取驗證碼");return;} else {obj.attr("disabled", true);obj.val("重新發送(" + countdown + ")");countdown--;editCookie("secondsremained", countdown, countdown + 1);}setTimeout(function () { settime(obj) }, 1000) //每1000毫秒執行一次 }//校驗手機號是否合法 function isPhoneNum(phoneNumber) {var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;if (!myreg.test(phoneNumber)) {alert('請輸入有效的手機號碼!');return false;} else {return true;} }//發送驗證碼時添加cookie function addCookie(name, value, expiresHours) {var cookieString = name + "=" + escape(value);//判斷是否設置過期時間,0代表關閉瀏覽器時失效if (expiresHours > 0) {var date = new Date();date.setTime(date.getTime() + expiresHours * 1000);cookieString = cookieString + ";expires=" + date.toUTCString();}document.cookie = cookieString; }//修改cookie的值 function editCookie(name, value, expiresHours) {var cookieString = name + "=" + escape(value);if (expiresHours > 0) {var date = new Date();date.setTime(date.getTime() + expiresHours * 1000); //單位是毫秒cookieString = cookieString + ";expires=" + date.toGMTString();}document.cookie = cookieString; }//根據名字獲取cookie的值 function getCookieValue(name) {var strCookie = document.cookie;var arrCookie = strCookie.split("; ");for (var i = 0; i < arrCookie.length; i++) {var arr = arrCookie[i].split("=");if (arr[0] == name) {return unescape(arr[1]);break;} else {return "";break;}} }

7步:后臺控制器處理

?

#region 商學院報名發送驗證碼public ActionResult ValidateCode(){string Code = GetRandomString(6);string url = "https://eco.taobao.com/router/rest";string appkey = "****"; //此處填寫你自己的string secret = "****"; //此處填寫你自己的ITopClient client = new DefaultTopClient(url, appkey, secret);AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();req.Extend = ""; //可空,返回狀態req.SmsType = "normal"; //不可更改req.SmsFreeSignName = "個人小站"; //申請的短信簽名,不可填寫與申請的不一req.SmsParam = "{VCode:'" + Code + "'}"; //模板內參數必填req.RecNum = Request["Phone"]; //接收者手機號碼req.SmsTemplateCode = "SMS_74235011"; //短信模板的編號,不可出錯AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req); if (rsp.IsError == false){Console.WriteLine(rsp.Body);//return Content(rsp.Body);}//將驗證碼設置緩存var CodeInfo = (Object)Code;CacheOpt.SetCache("Code", CodeInfo, Convert.ToInt32(60));return Content("ok");} #region 生成6位驗證碼public string GetRandomString(int iLength){string buffer = "0123456789"; // 隨機字符中也可以為漢字(任何)StringBuilder sb = new StringBuilder();Random r = new Random();int range = buffer.Length;for (int i = 0; i < iLength; i++){sb.Append(buffer.Substring(r.Next(range), 1));}return sb.ToString();}#endregion

?

8:緩存處理


public class CacheOpt{/// <summary>/// 設置緩存/// </summary>/// <param name="CacheKey"></param>/// <param name="objObject"></param>/// <param name="Seconds">超過多少秒后過期</param>public static void SetCache(string CacheKey, object objObject, long Seconds){System.Web.Caching.Cache objCache = HttpRuntime.Cache;objCache.Insert(CacheKey, objObject, null, System.DateTime.Now.AddSeconds(Seconds), TimeSpan.Zero);}/// <summary>/// 獲取數據緩存/// </summary>/// <param name="CacheKey"></param>public static object GetCache(string CacheKey){System.Web.Caching.Cache objCache = HttpRuntime.Cache;return objCache[CacheKey];}}

?

注:完整版項目地址:http://www.gmkcn.com/?

轉載于:https://www.cnblogs.com/zouke1220/p/7267984.html

總結

以上是生活随笔為你收集整理的asp.net mvc 接入阿里大于 短信验证码发送的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。