public void RequestTextMessageParseTest() { const string xml = @"<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>"; RequestTextMessage message = RequestMessageProcess.Parse <RequestTextMessage>(xml); Assert.Equal("toUser", message.ToUserName); Assert.Equal("fromUser", message.FromUserName); Assert.Equal(1348831860, message.CreateTime); Assert.Equal(RequestMsgType.Text, message.MsgType); Assert.Equal("this is a test", message.Content); Assert.Equal(1234567890123456, message.MsgId); //第二次解析,校验是否在类型字典中取的类型。 RequestTextMessage message2 = RequestMessageProcess.Parse <RequestTextMessage>(xml); Assert.Equal("toUser", message2.ToUserName); }
/// <summary> /// 执行处理。 /// </summary> public override void Process() { RequestTextMessage requestMessage = base.GetRequestMessage <RequestTextMessage>(); ResponseTextMessage responseMessage = new ResponseTextMessage() { Content = requestMessage.Content }; base.ResponseMessage = responseMessage; }
public void JsonTest() { RequestTextMessage message = new RequestTextMessage { Content = "hello world", FromUserName = "******", ToUserName = "******", MsgId = 1111111111 }; var str = JsonConvert.SerializeObject(message); Console.WriteLine(str); RequestTextMessage message1 = JsonConvert.DeserializeObject <RequestTextMessage>("{\"MsgType\":0,\"Content\":\"你好\",\"CContent\":{\"#cdata-section\":\"你好\"},\"MsgId\":22556489162208958,\"CFromUserName\":{\"#cdata-section\":\"oGBq6uGtJYFA8MrAtFFLeKLUV0Pk\"},\"CMsgType\":{\"#cdata-section\":\"text\"},\"CreateTime\":1575552307,\"CToUserName\":{\"#cdata-section\":\"gh_4525e175ee5b\"},\"FromUserName\":\"oGBq6uGtJYFA8MrAtFFLeKLUV0Pk\",\"ToUserName\":\"gh_4525e175ee5b\"}"); }
/// <summary> /// Send text message to user /// </summary> public void RequestWrite(IPEndPoint Server, string From, string To, string Message) { RequestTextMessage text = new RequestTextMessage(From, To, Message); SendRequest(Server, text.GetBytes()); }
private static bool RequestForCnblogsArtiles(RequestTextMessage request) { return(request.Content.IndexOf("博客园文章") > -1); }
/// <summary> /// 判断请求是否是查询订单信息 /// </summary> /// <param name="request"></param> /// <returns></returns> private bool RequestForOrderInfo(RequestTextMessage request) { return(IsNum(request.Content.Trim())); }