Example #1
0
        /// <summary>
        /// 校验手机验证码是否正确
        /// </summary>
        /// <param name="mobilePhone"></param>
        /// <param name="code"></param>
        /// <param name="logType"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        internal static bool CheckSmsVerificationCode(string mobilePhone, string code, ESmsLogType logType, out string errMsg)
        {
            errMsg = string.Empty;
#if DEBUG
            if (code == "99999999")
            {
                return(true);
            }
#endif
            errMsg = string.Empty;


            if (string.IsNullOrEmpty(code) || code.Length != 6)
            {
                errMsg = "验证码错误!";
                return(false);
            }
            var log = SmsLogBll.GetLastModel(mobilePhone, logType);
            if (log != null)
            {
                if (log.Config == code.Trim())
                {
                    if ((DateTime.Now - log.SmsTime).TotalMinutes > Global.ApplicationParms.SmsVerificationCodeValidityPeriod)
                    {
                        errMsg = "验证码失效,请重新获取!";
                        return(false);
                    }
                }
                else
                {
                    errMsg = "验证码错误!";
                    return(false);
                }
            }
            else
            {
                errMsg = "请先获取手机验证码!";
                return(false);
            }

            return(true);
        }
Example #2
0
 /// <summary>
 /// 返回指定手机号发送短信条数(1天有效)
 /// </summary>
 /// <param name="mobilePhone"></param>
 /// <returns></returns>
 public static int GetSmsCount(string mobilePhone, ESmsLogType logType)
 {
     return(SmsLogRedisBll.GetSmsCount(mobilePhone, logType));
 }
Example #3
0
 /// <summary>
 /// 返回指定手机号指定日志
 /// </summary>
 /// <param name="mobilePhone"></param>
 /// <param name="logType"></param>
 /// <returns></returns>
 public static SmsLog GetLastModel(string mobilePhone, ESmsLogType logType)
 {
     return(SmsLogRedisBll.GetLastModel(mobilePhone, logType));
 }
Example #4
0
 /// <summary>
 /// 返回Redis中指定手机号的短信记录
 /// </summary>
 /// <param name="mobilePhone"></param>
 /// <param name="logType"></param>
 /// <returns></returns>
 public static List <SmsLog> GetList(string mobilePhone, ESmsLogType logType)
 {
     return(GetList().Where(o => o.MobilePhone == mobilePhone && o.LogType == logType).ToList());
 }
Example #5
0
 /// <summary>
 /// 返回指定手机号最新的短信日志
 /// </summary>
 /// <param name="mobilePhone"></param>
 /// <returns></returns>
 public static SmsLog GetLastModel(string mobilePhone, ESmsLogType logType)
 {
     return(GetList(mobilePhone, logType).OrderByDescending(o => o.SmsTime).FirstOrDefault());
 }
Example #6
0
 public static int GetSmsCount(string mobilePhone, ESmsLogType logType)
 {
     return(GetList(mobilePhone, logType).Count());
 }