public JsonResult Quit([FromBody] FromQuit fromQuit) { bool state = false; if (_context.LoginUserTable.Where(u => u.UId == fromQuit.id && u.URank == fromQuit.rank).Count() > 0) { LoginUserTable newLoginUser = new LoginUserTable() { UId = fromQuit.id, URank = fromQuit.rank }; _context.LoginUserTable.Remove(newLoginUser); if (_context.SaveChanges() > 0) // 删除登录信息 { state = true; } } return(Json(new { state })); }
public JsonResult Login([FromBody] FromLogin fromLogin) { // 0 登录失败/已在线 1 密码错误 2 账号不存在 string token = ""; int uid = -1; // 用户id string hint = "用户类型错误"; int state = 3; if (fromLogin.rank == (int)Rank.User) // 普通用户 { if (_context.UserTable.Where(u => u.UName == fromLogin.name).Count() > 0) { if (_context.UserTable.Where(u => u.UName == fromLogin.name && u.UPassword == fromLogin.pass).Count() > 0) { // 获取用户ID foreach (var u in _context.UserTable.Where(u => u.UName == fromLogin.name && u.UPassword == fromLogin.pass).Select(s => s.UId)) { uid = u; } // 查询该用户是否已登录 if (_context.LoginUserTable.Where(u => u.UId == uid && u.URank == (int)Rank.User).Count() > 0) { token = GetToken(Rank.User, fromLogin.name, fromLogin.pass); // 生成token值 LoginUserTable updateLoginUser = new LoginUserTable() { UId = uid, URank = (int)Rank.User, UToken = token }; _context.LoginUserTable.Update(updateLoginUser); if (_context.SaveChanges() > 0) // 保存登录用户信息 { return(Json(new { login = new { uid = uid, rank = (int)Rank.User, token, state = 99 } })); } hint = "登录失败"; state = 0; } else { token = GetToken(Rank.User, fromLogin.name, fromLogin.pass); // 生成token值 LoginUserTable newLoginUser = new LoginUserTable() { UId = uid, URank = (int)Rank.User, UToken = token }; _context.LoginUserTable.Add(newLoginUser); if (_context.SaveChanges() > 0) // 保存登录用户信息 { return(Json(new { login = new { uid = uid, rank = (int)Rank.User, token, state = 99 } })); } hint = "登录失败"; state = 0; } } else { hint = "密码错误"; state = 1; } } else { hint = "该账号不存在"; state = 2; } } else if (fromLogin.rank == (int)Rank.Admin) // 管理员 { if (_context.AdminTable.Where(u => u.AId == fromLogin.name).Count() > 0) { if (_context.AdminTable.Where(u => u.AId == fromLogin.name && u.APassword == fromLogin.pass).Count() > 0) { uid = 0; // 查询该管理员是否已登录 if (_context.LoginUserTable.Where(u => u.UId == uid && u.URank == (int)Rank.Admin).Count() > 0) { token = GetToken(Rank.Admin, fromLogin.name, fromLogin.pass); // 生成token值 LoginUserTable newLoginUser = new LoginUserTable() { UId = uid, URank = (int)Rank.Admin, UToken = token }; _context.LoginUserTable.Update(newLoginUser); if (_context.SaveChanges() > 0) // 保存登录管理员信息 { return(Json(new { login = new { uid = uid, rank = (int)Rank.User, token, state = 99 } })); } hint = "登录失败"; state = 0; } else { token = GetToken(Rank.Admin, fromLogin.name, fromLogin.pass); // 生成token值 LoginUserTable newLoginUser = new LoginUserTable() { UId = uid, URank = (int)Rank.Admin, UToken = token }; _context.LoginUserTable.Add(newLoginUser); if (_context.SaveChanges() > 0) // 保存登录管理员信息 { return(Json(new { login = new { uid = uid, rank = (int)Rank.User, token, state = 99 } })); } hint = "登录失败"; state = 0; } } else { hint = "密码错误"; state = 1; } } else { hint = "该账号不存在"; state = 2; } } return(Json(new { login = new { hint, state } })); }