yl
2022-11-08 fac89d03c2c1fdbe81e4f8ed29f75b8bf163cbf9
VueWebApi/Controllers/LoginController.cs
@@ -21,15 +21,17 @@
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        #region[PC用户登录]
        /// <summary>
        /// 用户登录
        /// PC用户登录
        /// </summary>
        /// <param name="username">用户编码</param>
        /// <param name="password">密码</param>
        /// <param name="usertype">操作端类型(PC APP)</param>
        /// <returns></returns>
        [Route(template: "LoginSave")]
        [HttpGet]
        public HttpResponseMessage LoginSave(string username, string password)
        public HttpResponseMessage LoginSave(string username, string password, string usertype)
        {
            try
            {
@@ -43,7 +45,8 @@
                    ms.usercode = dt.Rows[0]["USERCODE"].ToString();
                    ms.username = dt.Rows[0]["USERNAME"].ToString();
                    ms.password = dt.Rows[0]["PASSWORD"].ToString();
                    ms.usertype = "PC";
                    ms.usertype = usertype;
                    ms.rediskey = "LoginUserID" + ms.usertype + ms.userid;
                    mss.Add(ms);
                    HttpContext.Current.Session.Clear(); //从会话状态集合中删除所有的键值
                    //HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
@@ -68,7 +71,7 @@
                        //获取redis中当前用户信息
                        User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
                        //如果session中的用户usercode和redis中的用户usercode匹配
                        if (r_loginUser.usercode.Equals(loginUser.usercode))
                        if ((r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.usercode + loginUser.usertype))
                        {
                            mes.data = ms;
                            mes.code = "302";
@@ -82,6 +85,7 @@
                            HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                            //写入登录操作记录
                            mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
                            mes.data = ms;
                            mes.code = "200";
                            mes.Message = "登录成功!";
                        }
@@ -108,6 +112,7 @@
            return mes.ResponseMess(mes);
        }
        #endregion
        #region[强制下线接口]
        /// <summary>
@@ -141,20 +146,21 @@
        }
        #endregion
        #region[查询登录菜单]
        /// <summary>
        /// 查询功能菜单
        /// 查询登录菜单
        /// </summary>
        /// <param name="usertype">操作端类型(PC APP)</param>
        /// <param name="usercode">登录用户编码</param>
        /// <returns></returns>
        [Route(template: "LoginMenu")]
        [HttpGet]
        public HttpResponseMessage LoginMenu()
        public HttpResponseMessage LoginMenu(string usertype, string usercode)
        {
            try
            {
                var usercode = HttpContext.Current.Request.Cookies["navTabId"].Value.ToString();
                mes = LoginBLL.LoginMenu(usercode);
                //var usercode = HttpContext.Current.Request.Cookies["navTabId"].Value.ToString();
                mes = LoginBLL.LoginMenu(usercode, usertype);
            }
            catch (Exception e)
            {
@@ -183,9 +189,9 @@
        }
        #endregion
        #region[登出]
        #region[PC登出]
        /// <summary>
        /// 登出
        /// PC登出
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="usercode">用户编码</param>
@@ -201,5 +207,90 @@
            return mes.ResponseMess(mes);
        }
        #endregion
        #region[APP用户登录]
        /// <summary>
        /// APP用户登录
        /// </summary>
        /// <param name="username">用户编码</param>
        /// <param name="password">密码</param>
        /// <param name="usertype">操作端类型(PC APP)</param>
        /// <returns></returns>
        [Route(template: "LoginAppSave")]
        [HttpGet]
        public HttpResponseMessage LoginAppSave(string username, string password, string usertype)
        {
            try
            {
                DataTable dt = LoginBLL.LoginSearch(username, password);
                if (dt.Rows.Count > 0)
                {
                    List<User> mss = new List<User>();
                    User ms = new User();
                    ms.guid = username + password + Guid.NewGuid().ToString();
                    ms.userid = Convert.ToInt32(dt.Rows[0]["ID"].ToString());
                    ms.usercode = dt.Rows[0]["USERCODE"].ToString();
                    ms.username = dt.Rows[0]["USERNAME"].ToString();
                    ms.password = dt.Rows[0]["PASSWORD"].ToString();
                    ms.usertype = usertype;
                    mss.Add(ms);
                    mes.code = "200";
                    mes.Message = "登录成功!";
                    mes.data = ms;
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "账号或密码不正确!";
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.Message = e.Message;
            }
            return mes.ResponseMess(mes);
        }
        #endregion
        #region[APP登出]
        /// <summary>
        /// APP登出
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="username">用户名</param>
        /// <param name="usertype">操作端PC/APP</param>
        /// <returns></returns>
        [Route(template: "LoginAppOut")]
        [HttpPost]
        public HttpResponseMessage LoginAppOut(int userid, string usercode, string username, string usertype)
        {
            mes = LoginBLL.LoginAppOut(userid, usercode, username, usertype);
            return mes.ResponseMess(mes);
        }
        #endregion
        #region[App登录查询安灯呼叫信息]
        /// <summary>
        ///
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="username">用户名称</param>
        /// <param name="usertype">操作端PC/APP</param>
        /// <returns></returns>
        [Route(template: "LoginAppAnDonMessage")]
        [HttpPost]
        public HttpResponseMessage LoginAppAnDonMessage(int userid, string usercode, string username, string usertype)
        {
            mes = LoginBLL.LoginAppAnDonMessage(userid, usercode, username, usertype);
            return TJson.toJson(mes);
            //return mes.ResponseMess(mes);
        }
        #endregion
    }
}