Example #1
0
        public JsonResult GetNewMessages()
        {
            if (Session["Account"] == null)
            {
                return(Json("overtime", JsonRequestBehavior.AllowGet));
            }
            StringBuilder sbid   = new StringBuilder();
            StringBuilder sbname = new StringBuilder();
            List <MIS_WebIM_SenderModel> senderList = messageBLL.GetSenderByReceiver(GetUserId());

            if (senderList != null)
            {
                foreach (MIS_WebIM_SenderModel model in senderList)
                {
                    sbid.Append(model.Sender + ",");
                    sbname.Append(model.SenderTitle + ",");
                }
            }
            //获取消息总数
            int mesCount = senderList.Sum(a => a.MessageCount);

            OnlineHttpModule.ProcessRequest();
            //格式
            //在线人数
            OnlineUserRecorder recorder = HttpContext.Cache[OnlineHttpModule.g_onlineUserRecorderCacheKey] as OnlineUserRecorder;

            return(Json(JsonHandler.CreateMessage(recorder.GetUserList().Count, sbid.ToString() + "|" + sbname.ToString(), mesCount.ToString()), JsonRequestBehavior.AllowGet));
        }
Example #2
0
 public ActionResult Index()
 {
     if (Session["Account"] != null)
     {
         //获取是否开启WEBIM
         ViewBag.IsEnable = siteConfig.webimstatus;
         //获取信息间隔时间
         ViewBag.NewMesTime = siteConfig.refreshnewmessage;
         //系统名称
         ViewBag.WebName = siteConfig.webname;
         //公司名称
         ViewBag.ComName = siteConfig.webcompany;
         //网站标题
         ViewBag.Title = siteConfig.webtitle;
         //版权
         ViewBag.CopyRight = siteConfig.webcopyright;
         //在线人数
         OnlineUserRecorder recorder = HttpContext.Cache[OnlineHttpModule.g_onlineUserRecorderCacheKey] as OnlineUserRecorder;
         ViewBag.OnlineCount = recorder.GetUserList().Count;
         Account account = new Account();
         account = (Account)Session["Account"];
         return(View(account));
     }
     else
     {
         return(RedirectToAction("Index", "Account"));
     }
 }
Example #3
0
        //判断用户是否在线
        public string SetOnlineIcon(string id, OnlineUserRecorder recorder)
        {
            if (recorder == null)
            {
                return("fa fa-user color-gray");
            }
            // 绑定在线用户列表
            IList <OnlineUser> userList = recorder.GetUserList();
            bool b = false;

            foreach (var OnlineUser in userList)
            {
                if (id == OnlineUser.UserName)
                {
                    b = true;
                }
            }
            if (b)
            {
                return("fa fa-user color-green");
            }
            else
            {
                return("fa fa-user color-gray");
            }
        }
Example #4
0
        public static int GetDummyUniqueID(int minId)
        {
            // 获取在线用户记录器
            OnlineUserRecorder recorder = HttpContext.Current.Cache[SessionConst.OnlineUserRecorderCacheKey] as OnlineUserRecorder;

            if (recorder == null)
            {
                Register();
                recorder = HttpContext.Current.Cache[SessionConst.OnlineUserRecorderCacheKey] as OnlineUserRecorder;
            }

            int minDummyUniqueID = minId;

            var dummyUsers = recorder.GetUserList().Where(u => u.UniqueID >= minId).OrderBy(u => u.UniqueID).ToList();

            for (var i = 0; i < dummyUsers.Count; i++)
            {
                if (i < dummyUsers.Count - 1)
                {
                    // 两个用户之间的UniqueID差 > 1
                    if (dummyUsers[i + 1].UniqueID - dummyUsers[i].UniqueID > 1)
                    {
                        minDummyUniqueID = dummyUsers[i].UniqueID;
                        break;
                    }
                }
                else
                {
                    minDummyUniqueID = dummyUsers[i].UniqueID;
                }
            }

            return(minDummyUniqueID + 1);
        }
Example #5
0
        public JsonResult GetPartData6()
        {
            // 获取在线用户记录器
            OnlineUserRecorder recorder = HttpContext.Cache[OnlineHttpModule.g_onlineUserRecorderCacheKey] as OnlineUserRecorder;
            StringBuilder      sb       = new StringBuilder("");

            if (recorder == null)
            {
                return(Json("在线用户", JsonRequestBehavior.AllowGet));
            }

            //// 绑定在线用户列表
            IList <OnlineUser> userList = recorder.GetUserList();

            sb.AppendFormat("在线用户:<br>");
            foreach (var OnlineUser in userList)
            {
                sb.AppendFormat(OnlineUser.UserName + "<br>");
            }
            return(Json(sb.ToString(), JsonRequestBehavior.AllowGet));
        }