using QM.AuthServer.IRepository; using QM.AuthServer.Models.Users; using QM.OrmSqlSugar; using System.Threading.Tasks; using WS; using WS.Image; using WS.Orm; using WS.Security; namespace QM.AuthServer.Repository { public class AuthorizationRepository : SqlSugarRepository, IAuthorizationRepository { /// /// 验证码 /// /// public CaptchaInfo VerifyCode() { var info = CaptchaCode.DrawNumberImage(4); return info; } /// /// 登录 /// /// /// public SysUser Login(LoginDto parm) { if (string.IsNullOrWhiteSpace(parm.Id)) throw new UseArgumentException("用户名不能为空"); if (string.IsNullOrWhiteSpace(parm.Pwd)) throw new UseArgumentException("登录密码不能为空"); if(parm.Pwd.Length != 32) parm.Pwd = Md5Crypt.Encrypt(parm.Pwd); SysUser user = null; if (parm.Id == SysInfo.SYS_USER) { if (parm.Pwd == SysInfo.SYS_PASSWORD) { user = new SysUser() { uid = SysInfo.SYS_USER, name = "系统内置账户" }; } } else { user = Get(t => t.uid.ToUpper() == parm.Id.ToUpper() && t.pwd == parm.Pwd && t.is_delete == EnumDelete.Normal); } if (user == null) throw new UseMassageException("户名或密码错误,请重新输入"); if (user.state == EnumState.Disable) throw new UseMassageException("当前用户已禁用,请联系管理员"); return user; } /// /// 登录 /// /// /// public Task LoginAsync(LoginDto parm) { return Task.FromResult(Login(parm)); } } }