public Result SendVerificationCode(string account, string email) { Result Result = new Result(); try { Random random = new Random(); if (UserService.GetUser(account) != null) { throw new Exception("该账号已经被注册!"); } string code = random.Next(0, 9).ToString() + random.Next(0, 9).ToString() + random.Next(0, 9).ToString() + random.Next(0, 9).ToString(); CacheOption.SetValue("register_{0}".ToFormat(account), code, DateTime.Now + TimeSpan.FromHours(1)); EmailConnect.SendEmail("火星人脚本账号注册", "验证码:{0}".ToFormat(code), email); Result.Data = "已经成功发送验证码,验证码只有一小时的有效期!"; } catch (Exception ex) { Result.Msg = ex.Message; Result.SetCode(ResultCode.Fail); } return(Result); }
public Result Login([FromQuery] string username, [FromQuery] string password) { Result Result = new Result(); try { User user = UserService.GetUser(username); if (!UserService.CheckPassword(username, MD5Comm.Get32MD5One(password))) { return(Result.Fail("账号或密码错误!")); } //计算cookie的值 string cookieValue = MD5Comm.Get32MD5One(DateTime.Now.ToString()); Console.WriteLine("用户 : " + user.Name + ", token : " + cookieValue); //存入缓存 CacheOption.SetValue(cookieValue, user, DateTime.Now + TimeSpan.FromDays(100)); //默认10天有效 TokenInfo token = new TokenInfo(user.Name, DateTime.Now + TimeSpan.FromDays(10)); this.SetUserToken(token, user); Result.Data = new { IsSpecial = user.IsHasSpecialPower() || ishaveroot(user), Time = user.IsHasSpecialPower() ? ( DateTime.Now + TimeSpan.FromDays(30)).ToString() : (user.EndDate == null || user.EndDate < DateTime.Now ? "未开通会员" : user.EndDate.ToString()), IsShowMsg = (user.Email == null || user.Email.Equals("")).ToString(), Msg = "检测到您还没绑定邮箱,请有空尽快去绑定一下邮箱,群里有修改邮箱地址," + "绑定邮箱之后可以通过邮箱找回密码!", IsLogin = true, UserName = user.Name, EndTime = user.EndDate == null ? "" : user.EndDate.ToString() }; } catch (Exception ex) { Result.SetCode(ResultCode.Fail); Result.Msg = ex.Message; } return(Result); }