Beispiel #1
0
        public async Task FetchMessageAsync()
        {
            var request = new FetchMessageRequest()
            {
                Domain = Domain.Name, Inbox = InboxAll, MessageId = Message.Id
            };
            var response = await mailinatorClient.MessagesClient.FetchMessageAsync(request);

            Assert.IsTrue(response != null);
        }
        /// <summary>
        /// This endpoint retrieves a specific message by id.
        /// </summary>
        /// <param name="request">FetchMessageRequest object.</param>
        /// <returns></returns>
        public async Task <FetchMessageResponse> FetchMessageAsync(FetchMessageRequest request)
        {
            var requestObject = httpClient.GetRequest(endpointUrl + "/{domain}/inboxes/{inbox}/messages/{messageId}", Method.GET);

            requestObject.AddUrlSegment("domain", request.Domain);
            requestObject.AddUrlSegment("inbox", request.Inbox);
            requestObject.AddUrlSegment("messageId", request.MessageId);

            var response = await httpClient.ExecuteAsync <FetchMessageResponse>(requestObject);

            return(response);
        }
Beispiel #3
0
        private async Task <JObject> FetchMessage()
        {
            var fetchRequest = new FetchMessageRequest
            {
                BaseRequest = new BaseRequest
                {
                    DeviceID = _deviceId,
                    Sid      = _webLoginResponse.WxSid,
                    Skey     = _webLoginResponse.Skey,
                    Uin      = _webLoginResponse.WxUin.ToString()
                },
                SyncKey     = _weChatInitResponse.SyncKey,
                DateTimeNow = DateTime.UtcNow.ToUnixTimeStamp()
            };

            var fetchRequestJson = JsonConvert.SerializeObject(fetchRequest);

            if (_webLoginResponse.WxSid == null)
            {
                return(null);
            }

            var fetchMessageEndpoint = string.Format(
                UrlEndpoints.FetchMessage,
                _clientLoginResponse.BaseUri,
                _webLoginResponse.WxSid,
                _webLoginResponse.Skey,
                _webLoginResponse.PassTicket);

            var messageStr = await _weChatMessageClient.Post(fetchMessageEndpoint, fetchRequestJson);

            var messageResult = JsonConvert.DeserializeObject(messageStr) as JObject;
            var newSyncKey    = messageResult["SyncKey"].ToObject <SyncKey>();

            _weChatInitResponse.SyncKey = newSyncKey;
            if (newSyncKey.Count > 0)
            {
                _syncKey = newSyncKey.ToString();
            }

            return(messageResult);
        }
 public ActionResult <List <MessageRespond> > FecthMessage(int userid, int roomid, int top)
 {
     try{
         CheckId(userid);
         FetchMessageRequest request = new FetchMessageRequest {
             RoomId = roomid, Top = top
         };
         List <MessageRespond> list = _service.FecthAllMessageInChatRoom(request);
         if (list != null)
         {
             return(Ok(list));
         }
         else
         {
             return(BadRequest());
         }
     }catch (Exception e) {
         Console.WriteLine(e.ToString() + "fecth err");
         return(BadRequest(e.Message));
     }
 }
Beispiel #5
0
        public IResult <FetchMessageResponse> FetchMessage(LoginResponse loginResponse, SyncKey syncKey)
        {
            var result = new Result <FetchMessageResponse>();

            try
            {
                var fetchMessageUrl = string.Format(UrlEndPoints.FetchMessageUrl, loginResponse.WxSid, loginResponse.Skey, loginResponse.PassTicket);
                var request         = new FetchMessageRequest()
                {
                    BaseRequest = new BaseRequest()
                    {
                        DeviceID = SystemInfo.DeviceId,
                        Sid      = loginResponse.WxSid,
                        Skey     = loginResponse.Skey,
                        Uin      = loginResponse.WxUin.ToString()
                    },
                    SyncKey = syncKey,
                    rr      = DateTimeHelper.Default.GetTimestamp(13)
                };
                var postStr = JsonConvert.SerializeObject(request);
                var content = new StringContent(postStr);
                content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/x-www-form-urlencoded");
                var response             = _HttpClient.PostAsync(fetchMessageUrl, content).Result;
                var respage              = response.Content.ReadAsStringAsync().Result;
                var fetchMessageResponse = JsonConvert.DeserializeObject <FetchMessageResponse>(respage);

                result.SetSuccess();
                result.SetData(fetchMessageResponse);
                return(result);
            }
            catch (Exception ex)
            {
                LogHelper.Default.LogDay($"消息拉取异常,{ex}");
                LogHelper.Default.LogPrint($"消息拉取异常,{ex.Message}", 4);

                result.SetFailed();
                result.SetDesc($"消息拉取异常,{ex.Message}");
                return(result);
            }
        }
Beispiel #6
0
        public List <MessageRespond> FecthAllMessageInChatRoom(FetchMessageRequest request)
        {
            List <Message>        list = _messRepository.GetMessageFromChatRoom(request.RoomId, request.Top);
            List <MessageRespond> l    = new List <MessageRespond>();

            foreach (Message i in list)
            {
                MessageRespond r = new MessageRespond {
                    Id      = i.Id,
                    Content = i.Content,
                    Sender  = i.Sender,
                    SentAt  = i.SentAt
                };
                l.Add(r);
            }
            if (l != null)
            {
                return(l);
            }
            else
            {
                throw new Exception("Khong co tin nhan nao");
            }
        }