/// <summary> /// 检验验证码,成功会清除缓存数据 /// </summary> /// <param name="mobile"></param> /// <param name="code"></param> /// <param name="error"></param> /// <returns></returns> public bool CheckCode(string mobile, string code, out string error) { error = ""; if (MobileVerifyData.GetTimes(ModuleName, mobile) > 10) { error = "调用次数超过了限制"; return(false); } string code1 = MobileVerifyData.GetCode(ModuleName, mobile); if (string.IsNullOrEmpty(code1)) { error = "找不到验证码或已过期,请重新发送"; return(false); } code = code.ToLower(); code1 = code1.ToLower(); bool a = code == code1; if (a) { MobileVerifyData.Clear(ModuleName, mobile); } else { error = "验证码不正确"; } return(a); }
/// <summary> /// 发送自定义格式短信 /// </summary> /// <param name="mobile"></param> /// <param name="content">不为空时为自定义短信,验证码域请用{0}表示</param> /// <param name="error"></param> /// <returns></returns> public bool SendCode(string mobile, string content, out string error) { error = ""; if (string.IsNullOrEmpty(mobile)) { error = "发送失败,没有传入手机号"; return(false); } if (!mobile.IsCellPhone()) { error = "手机号格式不正确"; return(false); } string chkCode = MakeRandomCode(); if (string.IsNullOrEmpty(content)) { content = "您本次操作的验证码为 " + chkCode + ",切勿将此验证码泄露给他人,如非本人操作请忽略"; } else { content = string.Format(content, chkCode); } double n = MobileVerifyData.GetSendTimeDiff(ModuleName, mobile); if (n < NextSendSencond) { error = "发送失败,验证码距上次发送不足" + NextSendSencond + "秒,请稍后再试"; return(false); } int totalSend = MobileVerifyData.GetTotalSendTimes(ModuleName, mobile); if (totalSend > 5) { error = "发送失败,请求超过了限制,请稍后再试"; return(false); } //bool a = CoreHelper.SMSMessage.Send(mobile, content, out error); //老短信接口 CurrentCode = chkCode; bool a = SendSms(mobile, content, out error); if (a) { MobileVerifyData.SetCode(ModuleName, chkCode, mobile.Trim()); string str = string.Format("时间:{0} 验证码:{1} 模块:{2} \r\n", DateTime.Now.ToString("yy-MM-dd HH:mm:ss fffff"), chkCode, ModuleName); } return(a); }