private string getText(InPutMsgObject xmlMsg) { string con = xmlMsg.Content.Trim(); System.Text.StringBuilder retsb = new StringBuilder(200); retsb.Append("这里放你的业务逻辑"); retsb.Append("接收到的消息:" + xmlMsg.Content); retsb.Append("用户的OPEANID:" + xmlMsg.FromUserName); return(retsb.ToString()); }
public ActionResult Post(string signature, string timestamp, string nonce, string echostr) { XmlDocument inPutXml = GetMsgXml(); string outPutMsg = string.Empty; XmlElement root = inPutXml.DocumentElement; InPutMsgObject inPutMsgObject = GetInPutMsgObject(root); string messageType = inPutMsgObject.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。 switch (messageType) { //当消息为文本时 case "text": outPutMsg = TextCase(inPutMsgObject); break; case "event": if (!string.IsNullOrEmpty(inPutMsgObject.EventName) && inPutMsgObject.EventName.Trim() == "subscribe") { //刚关注时的时间,用于欢迎词 int nowtime = ConvertDateTimeInt(DateTime.Now); string msg = "你要关注我,我有什么办法。随便发点什么试试吧~~~"; string resxml = "<xml>" + "<ToUserName><![CDATA[" + inPutMsgObject.FromUserName + "]]></ToUserName>" + "<FromUserName><![CDATA[" + inPutMsgObject.ToUserName + "]]></FromUserName>" + "<CreateTime>" + nowtime + "</CreateTime>" + "<MsgType><![CDATA[text]]></MsgType>" + "<Content><![CDATA[" + msg + "]]></Content>" + "</xml>"; outPutMsg = resxml; } break; case "image": break; case "voice": break; case "vedio": break; case "location": break; case "link": break; default: break; } return(Content(outPutMsg)); }
private string TextCase(InPutMsgObject xmlMsg) { int nowtime = ConvertDateTimeInt(DateTime.Now); string msg = ""; msg = getText(xmlMsg); string resxml = "<xml>" + "<ToUserName><![CDATA[" + xmlMsg.FromUserName + "]]></ToUserName>" + "<FromUserName><![CDATA[" + xmlMsg.ToUserName + "]]></FromUserName>" + "<CreateTime>" + nowtime + "</CreateTime>" + "<MsgType><![CDATA[text]]></MsgType>" + "<Content><![CDATA[" + msg + "]]></Content>" + "</xml>"; return(resxml); }
/// <summary> /// 获取回复的消息 /// </summary> /// <param name="root"></param> /// <returns></returns> private InPutMsgObject GetInPutMsgObject(XmlElement root) { InPutMsgObject xmlMsg = new InPutMsgObject() { FromUserName = root.SelectSingleNode("FromUserName").InnerText, ToUserName = root.SelectSingleNode("ToUserName").InnerText, CreateTime = root.SelectSingleNode("CreateTime").InnerText, MsgType = root.SelectSingleNode("MsgType").InnerText, }; if (xmlMsg.MsgType.Trim().ToLower() == "text") { xmlMsg.Content = root.SelectSingleNode("Content").InnerText; } else if (xmlMsg.MsgType.Trim().ToLower() == "event") { xmlMsg.EventName = root.SelectSingleNode("Event").InnerText; } return(xmlMsg); }