/// <summary> /// 接收来自该用户的消息 /// </summary> /// <param name="msg"></param> public void ReceiveMsg(WXMsg msg) { if (!_recvedMsg.ContainsKey(msg.Time)) { _recvedMsg.Add(msg.Time, msg); if (MsgRecved != null) { MsgRecved(msg); } } }
/// <summary> /// 向该用户发送消息 /// </summary> /// <param name="msg"></param> public void SendMsg(WXMsg msg, bool showOnly) { //发送 if (!showOnly) { SendMessage send = new SendMessage(); send.SendMsg(msg.Msg, msg.From, msg.To, msg.Type); } if (!_sentMsg.ContainsKey(msg.Time)) { _sentMsg.Add(msg.Time, msg); if (MsgSent != null) { MsgSent(msg); } } }
/// <summary> /// 获取最近的一条消息 /// </summary> /// <returns></returns> public WXMsg GetLatestMsg() { WXMsg msg = null; if (_sentMsg.Count > 0 && _recvedMsg.Count > 0) { msg = _sentMsg.Last().Value.Time > _recvedMsg.Last().Value.Time ? _sentMsg.Last().Value : _recvedMsg.Last().Value; } else if (_sentMsg.Count > 0) { msg = _sentMsg.Last().Value; } else if (_recvedMsg.Count > 0) { msg = _recvedMsg.Last().Value; } else { msg = null; } return(msg); }