void Client_OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message is AVIMImageMessage imageMessage) { Console.WriteLine(imageMessage.File.Url); } }
//加载离线消息 private void OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e) { //判断消息类型是否为文本消息==》TODO:对其他类型的消息进行判断 if (e.Message is AVIMTextMessage || e.Message is AVIMImageMessage) { OfflineMessageList.Add(e); } }
//用户接收消息 private void OnMessageReceived(object sender, AVIMMessageEventArgs e) { //判断消息类型是否为文本消息==》TODO:对其他类型的消息进行判断 if (e.Message is AVIMTextMessage || e.Message is AVIMImageMessage) { App.Current.Dispatcher.Invoke((Action)(() => { MyFriendsList.ForEach((Friend) => { if (Friend.IsCheat == false && Friend.Friend.ObjectId == e.Message.FromClientId) { //将消息加入对应好友的消息列表 Friend.MessageList.Add(new Message(e.Message)); //弹出tip if (e.Message is AVIMTextMessage) { new Tip(Friend.Name, ((AVIMTextMessage)e.Message).TextContent, 3).Show(); } else { new Tip(Friend.Name, ((AVIMImageMessage)e.Message).TextContent, 3).Show(); } //在主页面对应用户上做提示 Friend.Visibility = Visibility.Visible; } }); })); } //判断是否为NoticeMessage if (e.Message is NoticeMessage) { App.Current.Dispatcher.Invoke((Action)(() => { MyFriendsList.ForEach((Friend) => { //找到上线的好友信息 if (Friend.Friend.ObjectId == ((NoticeMessage)e.Message).FromClientId) { //好友上线 if (((NoticeMessage)e.Message).Notice == "我上线啦") { //将其设为上线 Friend.Online = true; new Tip("提示", Friend.Name + "上线了", 5).Show(); } //好友下线 if (((NoticeMessage)e.Message).Notice == "我下线啦") { //将其设为下线 Friend.Online = false; new Tip("提示", Friend.Name + "下线了", 5).Show(); } } }); })); } }
private void OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message is AVIMTextMessage) { var textMessage = (AVIMTextMessage)e.Message; // textMessage.ConversationId 是该条消息所属于的对话 Id // textMessage.TextContent 是该文本消息的文本内容 // textMessage.FromClientId 是消息发送者的 client Id Debug.Log(string.Format("你收到来自于 Id 为 {0} 的对话的文本消息,消息内容是: {1},发送者的 client Id 是 {2}", textMessage.ConversationId, textMessage.TextContent, textMessage.FromClientId)); ProtocolManaer.Instance.Parse(textMessage.TextContent); } }
private void Client_OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message is AVIMMessage) { var baseMeseage = e.Message as AVIMMessage; lbx_messages.Invoke((MethodInvoker)(() => { data.Add(baseMeseage); lbx_messages.Refresh(); })); } }
//用户接收消息 private void OnMessageReceived(object sender, AVIMMessageEventArgs e) { //判断消息类型是否为文本消息==》TODO:对其他类型的消息进行判断 if (e.Message is AVIMTextMessage || e.Message is AVIMImageMessage) { App.Current.Dispatcher.Invoke((Action)(() => { InviteFriend.MessageList.Add(new Message(e.Message)); //TODO: received.ItemsSource = null; received.ItemsSource = InviteFriend.MessageList; //聚焦最新的消息 received.ScrollIntoView(received.Items.GetItemAt(InviteFriend.MessageList.Count - 1)); })); } }
private void OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message is BinaryMessage) { var binaryMessage = e.Message as BinaryMessage; var binaryData = binaryMessage.BinaryData; // 下面的字符串内容就是 I love Unity var text = System.Text.Encoding.UTF8.GetString(binaryData); Debug.Log("binary message:" + text); } else if (e.Message is IMNormalTalk) { var imNormalTalkMessage = e.Message as IMNormalTalk; Debug.Log("IMNormalTalk message:" + imNormalTalkMessage.m_Content); } }
private void VIMClient_OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message is AVIMTextMessage) { if (_syncContext != SynchronizationContext.Current) { _syncContext.Post(o => { var textMessage = (AVIMTextMessage)e.Message; MessageItem newItem = fromIMTextMessage(textMessage); itemList.Add(newItem); onMessageReceive(newItem, false); }, null); return; } } }
static void OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message is AVIMImageMessage imageMessage) { var mentionedAll = e.Message.MentionAll; } else if (e.Message is AVIMAudioMessage audioMessage) { } else if (e.Message is AVIMVideoMessage videoMessage) { } else if (e.Message is AVIMFileMessage fileMessage) { } else if (e.Message is AVIMLocationMessage locationMessage) { } else if (e.Message is AVIMTypedMessage baseTypedMessage) { }// 这里可以继续添加自定义类型的判断条件 }
private void CurrentClient_OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (e.Message.ConversationId == this.ConversationInSession.ConversationId) { if (e.Message is AVIMTextMessage) { App.Current.Dispatcher.Invoke((Action) delegate { var item = new MessageViewModel(iMessage: e.Message); MessagesInSession.Add(item); this.SelectedItem = item; }); } else if (e.Message is BinaryMessage) { var binaryMessage = e.Message as BinaryMessage; var binaryData = binaryMessage.BinaryData; var text = System.Text.Encoding.UTF8.GetString(binaryData); } else { } } }
private void Realtime_OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e) { AVRealtime.PrintLog(e.Message.Id); }
private void Client_OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e) { Console.WriteLine(e.Message.Id); }