WeChat 개발에서 가장 먼저 직면하는 문제는 사용자 메시지를 수신하고 응답하는 방법입니다. 이 기사에서는 방법과 키 코드를 소개합니다.
WeChat 메시지를 수신하고 사용자 메시지에 응답하기 위해 ASP.NET에서 개발한 코드는 다음과 같습니다.
파일 이름: v.ashx
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xml; using Td.Weixin.Public.Common; using Td.Weixin.Public.Message; namespace WeiWeiXin.Net6 { /// <summary> /// v 的摘要说明 /// </summary> public class v : IHttpHandler { /// <summary> /// 开发者 验证 模块 /// </summary> /// <param name="context"></param> public bool ProcessRequest2(HttpContext context) { context.Response.ContentType = "text/plain"; // context.Response.Write("Hello World"); try { string echoStr = context.Request["echoStr"]; if (!string.IsNullOrEmpty(echoStr)) { context.Response.Write(echoStr); return true; } else { // context.Response.Write("end"); // context.Response.End(); } } catch (Exception e) { // context.Response.Write("end" + e.Message + e.ToString()); // context.Response.End(); } return false; } public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //如果 是 验证 则 直接 退出 if (ProcessRequest2(context)) return; context.Response.ContentType = "text/plain"; var m = ReceiveMessage.ParseFromContext(); if (m == null) return; //被关注 if (m.MsgType == MessageType.Event && m.InnerToXmlText().IndexOf("subscribe") >= 0) { //发送AIML请求 var r2 = m.GetTextResponse(); string result = "[微笑]欢迎关注"; r2.Data = (TextMsgData)result; r2.Response(); return; } //数据解析 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(m.ToXmlText());//"<xml><description><![CDATA[木子屋:http://www.mzwu.com/]]></description></xml>"); //菜单 或者 用户文本输入 if (m.MsgType == MessageType.Text || (m.MsgType == MessageType.Event && m.InnerToXmlText().IndexOf("subscribe") < 0)) { //读取 string rr = ""; if (m.MsgType == MessageType.Text) { rr = xmlDoc.SelectSingleNode("//Content").FirstChild.InnerText.ToLower().Trim(); } else { rr = xmlDoc.SelectSingleNode("//EventKey").FirstChild.InnerText.ToLower().Trim(); } //发送 var r2 = m.GetTextResponse(); string result = "欢迎使用,您发送的是:" +rr;// r2.Data = (TextMsgData)result; r2.Response(); return; } } public bool IsReusable { get { return false; } } } }
이 코드에는 다음과 같은 기능이 있습니다. 개발자 확인, 메뉴에서 플랫폼으로 보낸 텍스트의 수신 및 응답도 고려합니다.
관련 기사:
Java에서 websocket을 통한 메시지 푸시 구현 코드에 대한 자세한 설명
위 내용은 .NET WeChat 개발 자동 콘텐츠 응답 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!