コード例 #1
0
        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 }));
        }
コード例 #2
0
        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 } }));
        }