public void GetOffLineChatMessHandler(GetOffLineChatMessResponseModel responseModel) { this.Invoke(new Action(() => { SbItemTimer.Start(); ChatForm chatForm = null; lock (this) { if (dicChats.ContainsKey(responseModel.fromid)) { chatForm = dicChats[responseModel.fromid]; } else if (dicFriends.ContainsKey(responseModel.fromid)) { GetFriendsResponseModel friendModel = dicFriends[responseModel.fromid]; chatForm = new ChatForm(friendModel); dicChats.Add(friendModel.friendid, chatForm); } } if (chatForm != null) { chatForm.ShowMessage(responseModel.createtime, responseModel.nickName, responseModel.content); } else { lock (this) { GetFriendsResponseModel friendModel = new GetFriendsResponseModel(); friendModel.faceimg = responseModel.faceimg; friendModel.friendid = responseModel.fromid; friendModel.nickName = responseModel.nickName; chatForm = new ChatForm(friendModel); chatForm.ShowMessage(responseModel.createtime, responseModel.nickName, responseModel.content); } } lock (this) { if (!chatForm.Visible) { if (dicFriends.ContainsKey(responseModel.fromid)) { if (dicItems.ContainsKey(dicFriends[responseModel.fromid])) { MyItem sbItem = dicItems[dicFriends[responseModel.fromid]]; sbItem.isShandong = true; } } } } })); Application.DoEvents(); }
private static void Ws_OnMessage(object sender, MessageEventArgs e) { try { string json = e.Data; CommonMess responseMess = JsonHelper.DeserializeObject <CommonMess>(json); int messType = -responseMess.messType; if (messType == MessType.AddFriend) { searchFormFriend.AddFriendOK(); } else if (messType == MessType.AgreeAddFriend) { } else if (messType == MessType.GetFriends) { GetFriendsResponseModel responseModel = JsonHelper.DeserializeObject <GetFriendsResponseModel>(responseMess.content); mainForm.GetFriendsRespondeHandler(responseModel); } else if (messType == MessType.GetOffLineChatMess) { GetOffLineChatMessResponseModel responseModel = JsonHelper.DeserializeObject <GetOffLineChatMessResponseModel>(responseMess.content); mainForm.GetOffLineChatMessHandler(responseModel); } else if (messType == MessType.GetSysMess) { GetSysMessResponseModel responseModel = JsonHelper.DeserializeObject <GetSysMessResponseModel>(responseMess.content); SysMessHandler(responseModel); } else if (messType == MessType.Login) { LoginResponseModel responseModel = JsonHelper.DeserializeObject <LoginResponseModel>(responseMess.content); SystemHelper.currentUser = responseModel; loginForm.LoginOK(responseModel); } else if (messType == MessType.LoginOut) { } else if (messType == MessType.Register) { RegisetResponseModel responseModel = JsonHelper.DeserializeObject <RegisetResponseModel>(responseMess.content); registerForm.RegisterOK(responseModel); } else if (messType == MessType.SearchFriend) { SearchFriendResponseModel responseModel = JsonHelper.DeserializeObject <SearchFriendResponseModel>(responseMess.content); searchFormFriend.SerarchFriendsResult(responseModel); } else if (messType == MessType.SendChatMess) { } else if (messType == MessType.EditInfo) { EditInfoResponseModel respondeModel = JsonHelper.DeserializeObject <EditInfoResponseModel>(responseMess.content); if (respondeModel.state == 1) { SystemHelper.currentUser.age = respondeModel.age; SystemHelper.currentUser.blood = respondeModel.blood; SystemHelper.currentUser.conste = respondeModel.conste; SystemHelper.currentUser.faceimg = respondeModel.faceimg; SystemHelper.currentUser.gender = respondeModel.gender; SystemHelper.currentUser.nickname = respondeModel.nickname; if (mainForm != null && mainForm.IsHandleCreated) { mainForm.Invoke(new Action(() => { mainForm.ShowSelfInfo(); })); Application.DoEvents(); } } else { MessageBox.Show("用户信息修改失败!"); } } } catch (Exception err) { MessageBox.Show(err.ToString(), "OnMessageError"); } }