//private void ChatForm_Paint(object sender, PaintEventArgs e) //{ // Graphics g = e.Graphics; // g.SmoothingMode = SmoothingMode.HighQuality; // // this.chatBox_history.BackColor = Color.WhiteSmoke; // ////全屏蒙浓遮罩层 // //g.FillRectangle(new SolidBrush(Color.FromArgb(80, 255, 255, 255)), new Rectangle(0, 0, this.Width, this.chatBox_history.Top)); // //g.FillRectangle(new SolidBrush(Color.FromArgb(80, 255, 255, 255)), new Rectangle(0, this.chatBox_history.Top, this.chatBox_history.Width + this.chatBox_history.Left, this.Height - this.chatBox_history.Top)); // //线条 // // g.DrawLine(new Pen(Color.FromArgb(180, 198, 221)), new Point(0, this.chatBox_history.Top - 1), new Point(chatBox_history.Right, this.chatBox_history.Top - 1)); // // g.DrawLine(new Pen(Color.FromArgb(180, 198, 221)), new Point(0, this.chatBox_history.Bottom), new Point(chatBox_history.Right, this.chatBox_history.Bottom)); //} /// <summary> /// 发送聊天信息 /// </summary> /// <param name="receieveUserName"></param> /// <param name="msg"></param> private bool SendMessageCommand(ChatMessage chatMessage) { var chatType = GlobalVariable.GetChatType(chatMessage.ReceieveUserName); if (chatType == ChatType.PrivateChat) { if (!GlobalVariable.LoginUserInfo.AllowPrivateChat) { GlobalVariable.ShowError("您不允许发送私聊信息"); return(false); } PrivateChatRequest request = new PrivateChatRequest(); request.guid = Guid.NewGuid().ToString(); request.msg = chatMessage.Message; request.receivename = chatMessage.ReceieveUserName; request.SendDisplayName = GlobalVariable.LoginUserInfo.DisplayName; request.SendUserName = GlobalVariable.LoginUserInfo.UserName; request.clientRole = GlobalVariable.LoginUserInfo.UserType; // if (chatMessage.MessageType != MessageType.String) // { request.MessageType = chatMessage.MessageType; request.DownloadFileUrl = chatMessage.DownloadFileUrl; // } GlobalVariable.client.Send_PrivateChat(request); } else if (chatType == ChatType.TeamChat) { if (!GlobalVariable.LoginUserInfo.AllowTeamChat) { GlobalVariable.ShowError("您不允许发送群聊信息"); return(false); } var chat = GlobalVariable.GetChatStoreByUserName(chatMessage.ReceieveUserName); TeamChatRequest request = new TeamChatRequest(); request.groupname = chat.ChatDisplayName; request.groupuserList = chat.GetUserNames(); request.msg = chatMessage.Message; request.username = GlobalVariable.LoginUserInfo.UserName; request.groupid = chatMessage.ReceieveUserName; request.SendDisplayName = GlobalVariable.LoginUserInfo.DisplayName; request.clientRole = GlobalVariable.LoginUserInfo.UserType; request.MessageType = chatMessage.MessageType; request.DownloadFileUrl = chatMessage.DownloadFileUrl; GlobalVariable.client.Send_TeamChat(request); // GlobalVariable.client.SendMessage(request, CommandType.TeamChat); } else if (chatType == ChatType.GroupChat) { var request = new GroupChatRequest(); request.msg = chatMessage.Message; request.SendDisplayName = GlobalVariable.LoginUserInfo.DisplayName; request.SendUserName = groupId; request.clientRole = GlobalVariable.LoginUserInfo.UserType; request.MessageType = chatMessage.MessageType; request.DownloadFileUrl = chatMessage.DownloadFileUrl; GlobalVariable.client.Send_GroupChat(request); } // GlobalVariable.AddPrivateChatToChatList(_userName, GlobalVariable.LoginUserInfo.DisplayName, msg); return(true); }
private void ReceieveTeamMessage(TeamChatRequest message) { var request = message.ToChatMessage(); GlobalVariable.AddNewChat(request); OpenOrCreateChatForm(request, true); }
public void Send_TeamChat(TeamChatRequest request) { SendMessage <TeamChatRequest> message = new SendMessage <TeamChatRequest>(); message.Action = (int)CommandType.TeamChat; message.Data = request; Task.Run(async() => { await this.SendMessage(message); }); }
public static ChatMessage ToChatMessage(this TeamChatRequest response) { var request = new ChatMessage(); request.SendUserName = response.groupid; request.SendDisplayName = response.SendDisplayName; request.ChatType = ChatType.TeamChat; request.Message = response.msg; request.UserType = response.clientRole; request.DownloadFileUrl = response.DownloadFileUrl; request.MessageType = response.MessageType; request.ReceieveUserName = GlobalVariable.LoginUserInfo.UserName; return(request); }
/// <summary> /// 群组聊天 /// </summary> /// <param name="request"></param> public void Send_TeamChat(TeamChatRequest request) { SendMessage(request, CommandType.TeamChat); }