/// <summary> /// 获取手机验证码 /// </summary> public void GetSMSCode() { using (ProxyBE p = new ProxyBE()) { try { string phone = Request["phone"]; if (string.IsNullOrEmpty(phone)) { throw new Exception("手机号不能为空"); } Partner partnerModel = p.Client.GetPartnerByMobile(SenderUser, phone); if (partnerModel != null) { throw new Exception("该手机号码已经被注册"); } string smsCode = SMSHelper.GetRandom(6); bool isComplete = false; //短信验证码限制:小于等于 1天/5次 5条/小时 累计10条/天 string message = SMSHelper.SendMessage(phone, smsCode, out isComplete); if (isComplete) { // 将手机验证码存入session SetCacheSMSCode(smsCode); //记录手机注册短信到数据库表 SMSLog smsLog = new SMSLog() { ID = Guid.NewGuid(), Phone = phone, Message = smsCode, Created = DateTime.Now, Status = true }; SaveSMSLogArgs args = new SaveSMSLogArgs(); args.SMSLog = smsLog; p.Client.SaveSMSLog(SenderUser, args); //短信日志 WriteSuccess(); } else { throw new Exception("发送失败," + message); } } catch (Exception ex) { WriteError(ex.Message, ex); } } }
public void SaveSMSLog(Sender sender, SaveSMSLogArgs args) { try { using (ObjectProxy op = new ObjectProxy(true)) { op.InsertSMSLog(args.SMSLog); op.CommitTransaction(); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }