/// <summary> /// 发送手机验证码 /// </summary> /// <param name="telPhone">手机号码</param> /// <param name="note">提示消息</param> public static string GetTelphoneCode(string telPhone, string note) { string resStrCode = string.Empty; if (MetarnetRegex.IsMobilePhone(telPhone)) { DB.Model.M_TelPhoneCode newTelCode = new DB.BLL.MY_Bll(DBEnum.Slave).GetModel <DB.Model.M_TelPhoneCode>("Telphone=@_Telphone", new { _Telphone = telPhone }); int randomCode = new Random().Next(100000, 999999);//随机生成6位数的随机数 if (newTelCode == null) { newTelCode = new DB.Model.M_TelPhoneCode(); newTelCode.Telphone = telPhone; newTelCode.Code = randomCode.ToString(); newTelCode.CreatTime = DateTime.Now; newTelCode.LoginTimes = 0; if (new DB.BLL.MY_Bll(DBEnum.Master).AddModel(newTelCode)) { string smsurl = "http://utf8.sms.webchinese.cn/?"; smsurl += "Uid=llkj&Key=llkjbyflood&"; smsurl += "smsMob=" + telPhone + "&smsText=" + note + ",您的验证码:" + randomCode; string resStr = string.Empty; if (SendSMS.GetHtmlFromUrl(smsurl, out resStr)) { resStrCode = "SUCCESS"; } else { resStrCode = "ERR,发送失败,请重试"; ToolHelper.WriteLogInfoToLocalText(resStr); } } else { resStrCode = "ERR,发送失败,请重试"; } } else//数据库已经存在这条数据 { if (DateTime.Now < newTelCode.CreatTime.AddMinutes(1))//间隔时间小于1分钟 { resStrCode = "ERR,获取验证码的时间间隔为1分钟"; } else { newTelCode.Code = randomCode.ToString(); newTelCode.CreatTime = DateTime.Now; newTelCode.LoginTimes = 0;//更新验证码的时候归零次数 if (new DB.BLL.MY_Bll(DBEnum.Master).UpdateModel <DB.Model.M_TelPhoneCode>(" Telphone=@Telphone ", newTelCode)) { string smsurl = "http://utf8.sms.webchinese.cn/?"; smsurl += "Uid=llkj&Key=llkjbyflood&"; smsurl += "smsMob=" + telPhone + "&smsText=" + note + ",您的验证码:" + randomCode; string resStr = string.Empty; if (SendSMS.GetHtmlFromUrl(smsurl, out resStr)) { resStrCode = "SUCCESS"; } else { resStrCode = "ERR,发送失败,请重试"; } } else { resStrCode = "ERR,发送失败,请重试"; } } } } else { resStrCode = "提示:不是合法的手机号码"; } return(resStrCode); }