/// <summary> /// 显示收到的信息 /// </summary> /// <param name="msg"></param> private void ShowReceiveMsg(ChatMsgData msg) { ChatMsg chatmsg = new ChatMsg(); Contact_all.ForEach(p => { if (p is ChatUser) { if ((p as ChatUser).UserName == msg.From) { chatmsg.Image = (p as ChatUser).Icon; return; } } }); if (msg.Type == 9) { Paragraph imgper = new Paragraph(new Floater(new BlockUIContainer(msg.MsgImg))); chatmsg.Message.Blocks.Add(imgper); } else { StrToFlDoc(msg.Msg, chatmsg.Message); } chatmsg.FlowDir = FlowDirection.LeftToRight; chatmsg.TbColor = System.Windows.Media.Brushes.White; ChatList.Add(chatmsg); }
/// <summary> /// 显示收到的信息 /// </summary> /// <param name="msg"></param> private void ShowReceiveMsg(WeChatMsg msg) { ChatMsg chatmsg = new ChatMsg(); Contact_all.ForEach(p => { if (p is WeChatUser) { if ((p as WeChatUser).UserName == msg.From) { chatmsg.Image = (p as WeChatUser).Icon; return; } } }); chatmsg.Message = msg.Msg; chatmsg.FlowDir = FlowDirection.LeftToRight; chatmsg.TbColor = Brushes.White; ChatList.Add(chatmsg); }
/// <summary> /// 显示收到的信息 /// </summary> /// <param name="msg"></param> private void ShowReceiveMsg(WeChatMsg msg) { ChatMsg chatmsg = new ChatMsg(); Contact_all.ForEach(p => { if (p is WeChatUser) { if ((p as WeChatUser).UserName == msg.From) { chatmsg.Image = (p as WeChatUser).Icon; return; } } }); Paragraph par = new Paragraph(); StrToFlDoc(msg.Msg, chatmsg.Message, par); chatmsg.FlowDir = FlowDirection.LeftToRight; chatmsg.TbColor = System.Windows.Media.Brushes.White; ChatList.Add(chatmsg); }
/// <summary> /// 初始化 /// </summary> private void Init() { //while (true) { try { JObject init_result = wcs.WeChatInit(); List <object> contact_all = new List <object>(); if (init_result != null) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { _me = new WeChatUser(); _me.UserName = init_result["User"]["UserName"].ToString(); _me.City = ""; _me.HeadImgUrl = init_result["User"]["HeadImgUrl"].ToString(); _me.NickName = init_result["User"]["NickName"].ToString(); _me.Province = ""; _me.PyQuanPin = init_result["User"]["PYQuanPin"].ToString(); _me.RemarkName = init_result["User"]["RemarkName"].ToString(); _me.RemarkPYQuanPin = init_result["User"]["RemarkPYQuanPin"].ToString(); _me.Sex = init_result["User"]["Sex"].ToString(); _me.Signature = init_result["User"]["Signature"].ToString(); _me.Icon = GetIcon(wcs, _me.UserName); //部分好友名单 foreach (JObject contact in init_result["ContactList"]) { WeChatUser user = new WeChatUser(); user.UserName = contact["UserName"].ToString(); user.City = contact["City"].ToString(); user.HeadImgUrl = contact["HeadImgUrl"].ToString(); user.NickName = contact["NickName"].ToString(); user.Province = contact["Province"].ToString(); user.PyQuanPin = contact["PYQuanPin"].ToString(); user.RemarkName = contact["RemarkName"].ToString(); user.RemarkPYQuanPin = contact["RemarkPYQuanPin"].ToString(); user.Sex = contact["Sex"].ToString(); user.Signature = contact["Signature"].ToString(); user.Icon = GetIcon(wcs, user.UserName); user.SnsFlag = contact["SnsFlag"].ToString(); user.KeyWord = contact["KeyWord"].ToString(); //跳转回UI线程操作绑定源 //Application.Current.Dispatcher.BeginInvoke((Action)delegate() //{ // _contact_latest.Add(user); //}); //BackUIThreadAction(() => _contact_latest.Add(user)); _contact_latest.Add(user); } }); } //通讯录 JObject contact_result = wcs.GetContact(); if (contact_result != null) {//完整好友名单 foreach (JObject contact in contact_result["MemberList"]) { WeChatUser user = new WeChatUser(); user.UserName = contact["UserName"].ToString(); user.City = contact["City"].ToString(); user.HeadImgUrl = contact["HeadImgUrl"].ToString(); user.NickName = contact["NickName"].ToString(); user.Province = contact["Province"].ToString(); user.PyQuanPin = contact["PYQuanPin"].ToString(); user.RemarkName = contact["RemarkName"].ToString(); user.RemarkPYQuanPin = contact["RemarkPYQuanPin"].ToString(); user.Sex = contact["Sex"].ToString(); user.Signature = contact["Signature"].ToString(); user.Icon = GetIcon(wcs, user.UserName); user.SnsFlag = contact["SnsFlag"].ToString(); user.KeyWord = contact["KeyWord"].ToString(); user.StartChar = GetStartChar(user); contact_all.Add(user); } IOrderedEnumerable <object> list_all = contact_all.OrderBy(p => (p as WeChatUser).StartChar).ThenBy(p => (p as WeChatUser).NickName); WeChatUser wcu; string start_char; Application.Current.Dispatcher.BeginInvoke((Action) delegate() { foreach (object o in list_all) { wcu = o as WeChatUser; start_char = wcu.StartChar; if (!Contact_all.Contains(start_char.ToUpper())) { //BackUIThreadAction(() => _contact_all.Add(start_char.ToUpper())); Contact_all.Add(start_char.ToUpper()); } //BackUIThreadAction(() => _contact_all.Add(o)); Contact_all.Add(o); } }); } return; } catch (Exception ex) { Logger.Instance.Exception(ex); } } }