宝哥软件园

php微信公众账号开发之五个坑(二)

编辑:宝哥软件园 来源:互联网 时间:2021-09-07

上篇说到微信公众账号的几个坑,前面五个,已经说到菜单,宝宝继续往下赘述了。可惜,还不知道宝宝的宝宝到底是不是心疼宝宝呢,完了,我凌乱了。

回到正题,我们就不吐槽其他的了,上一篇说到微信的菜单了,那么,我们现在说说菜单回复等等的吧。

菜单回复是需要处理可扩展置标语言文件的,我们根据微信返回的可扩展置标语言文件,可以得到每个微信用户相对于微信公众号的唯一标识。微信公众平台的机制简单的将就是我们自己输出固定格式的可扩展标记语言文件,然后微信应用负责解析,得到我们想要的信息,然后对信息统一处理。

第六坑,如果你看微信文档,那么,绝对坑死你,上图。这里的使用用户名和发件人用户名一定特么的要分清楚了,记住,千万不要写反了,用户对于微信而言是AB,那么微信对于用户就是反着来的,貌似现在应该说清楚了。

///摘要///接收微信发送的可扩展置标语言消息并且解析////摘要私有void receive XML(){ try { Stream request Stream=System .网络。httpcontext。当前。请求。inputstream字节[]请求字节=新字节[请求流.长度];请求流.Read(requestByte,0,(int)requestStream .长度);字符串请求字符串=编码. UTF8。GetString(request byte);if(!字符串IsNullOrEmpty(requestStr)) { //封装请求类XmlDocument请求docxml=new XMl document();requestDocXml .加载XML(RequestStr);XML element rootElement=RequestDocXMl .DocumentElementwxxml模型wxxml模型=new wxxml模型();if (rootElement!=null){ wxxmlmmodel .ToUserName=rootElement .选择单个节点(' Tousername ')==null?根元素.选择单个节点(“ToUserName”).InnerTextWxXmlModel .FromUserName=rootElement .选择单个节点(“from username”)==null?”:根元素.选择单个节点("从用户名")。InnerTextWxXmlModel .CreateTime=rootElement .选择单个节点('创建时间')==null?根元素.选择单个节点("创建时间")。InnerTextWxXmlModel .MsgType=rootElement .选择单个节点(' MSgtype ')==null?根元素.选择单个节点(“MsgType”).InnerText开关(WxXmlModel .MsgType) { case 'text'://文本WxXmlModel .内容=根元素.选择单个节点('内容')==空?根元素.选择单个节点("内容")。InnerText打破;案例'图像' ://图片WxXmlModel .PicUrl=rootElement .选择单个节点(' PicUrl ')==null?根元素.选择单个节点(“PicUrl”).InnerText打破;案例'事件' ://事件WxXmlModel .事件=rootEleme

更多资讯
游戏推荐
更多+