首页 > 其他分享 >微信公众号-XML数据接收与处理

微信公众号-XML数据接收与处理

时间:2023-10-26 19:11:29浏览次数:25  
标签:XML xml obj 微信 ToUserName text FromUserName 接收

第一步:接收微信发来的xml数据 有以下两种方式

$xml = $GLOBALS['HTTP_RAM_POST_DATA'];// php7 版本以上不能使用
$xml = file_get_contents('php://input');

第二步:对接收过来的数据进行处理

libxml_disable_entity_loader(true);
$obj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); //转换为对象

第三步:根据接收过来的参数就行对应方法的调用

 //开发者微信号
$FromUserName = $obj->FromUserName;
//接收方帐号(收到的OpenID)
$ToUserName = $obj->ToUserName;
//用户输入的关键词
$keyword = trim($obj->Content);
//消息类型,文本为text/event
$MsgType = $obj->MsgType;
//事件 KEY 值,与自定义菜单接口中 KEY 值对应
$EventKey = $obj->EventKey;
//事件类型,CLICK
$Event = $obj->Event;

第四步:逻辑处理 有两种方式ifelse 和 switech

switch ($MsgType)
{
    case 'text'://文本
        $this->GetText($FromUserName,$ToUserName,$keyword);
        break;
    case 'event'://菜单
        switch ($Event){
            case 'CLICK':
                if ($EventKey == 'V1001_LINKING') //对应菜单下面的操作
                break;
        }
        break;
}

列举:文本回复

	/**
     * 文本消息
     * @param $FromUserName 发送方帐号
     * @param $ToUserName 接收账号
     */
    public function GetText($FromUserName,$ToUserName,$keyword = '')
    {
        //回复的内容
        $str = '你好';
        $textTpl = "
            <xml>
                <ToUserName><![CDATA[%s]]></ToUserName>
                <FromUserName><![CDATA[%s]]></FromUserName>
                <CreateTime>%s</CreateTime>
                <MsgType><![CDATA[%s]]></MsgType>
                <Content><![CDATA[%s]]></Content>
            </xml>
            ";

        $result = sprintf($textTpl,$FromUserName,$ToUserName,time(),'text',$str);
        echo $result;
    }

标签:XML,xml,obj,微信,ToUserName,text,FromUserName,接收
From: https://www.cnblogs.com/lijiaxiang/p/17790159.html

相关文章

  • Easy Excel 导出存在绿色角标问题[返回字段类型是数字,当时使用String来接收]
     一、背景EasyExcel导出,发现excel存在大量的绿色角标,很影响美观,如果个人使用可以设置wps或office忽略检测警告,但是我是对业主的,所以这一方式对我不适用,只能通过代码的方式解决. 二、实现通过以下创建一个 ExcelWriter,实现去绿色角标的关键是使用easyExc......
  • 2024年计算机专业微信小程序选题推荐✅(最新、最全、最容易通过的选择)
    (文章目录)前言:heartpulse:博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌:heartpulse:......
  • 微信小程序deep穿透样式不生效
    1.判断是否为自定义组件是自定义组件的话,直接加deep穿透样式是不生效的,需要在当前组件内添加以下代码:1//自定义组件2exportdefault{3name:"components1",4//复制下面这行options代码5options:{styleIsolation:'shared'},6props:{......
  • Charles 抓取百度指数及微信指数
    一、百度指数  filter:/api/SearchApi/index//搜索指数 filter:/api/SearchApi/index//搜索指数 找到uniqid,继续filter,获取data(用于解密)  filter: api/SearchApi/index,获取对应指数数据用于解密,页面控制台解密: 解密代码functiondecrypt(t,e......
  • 微信小程序--2.设置主题颜色
    设置主题颜色1.在utils中新建文件userstyle.tsletthemecolor="#1F554F"//绿色letfcolor1="#0D2D2C"//黑色letfcolor2="#8F9A99"//灰色exportconstcolors={themecolor:'--themecolor:'+themecolor+';'+'-......
  • 微信小程序--4. ts文件中方法的e的类型是什么
    4.ts文件中方法的e的类型是什么页面:e:WechatMiniprogram.BaseEvent页面各种方法的e的类型可以在typings\types\wx\lib.wx.event.d.ts文件中找到。组件:e:WechatMiniprogram.Component.Constructor组件各方法的e的类型可以在typings\types\wx\lib.wx.component.d.ts文件中找到......
  • 微信小程序--6.初次使用vant报错
    6、由于使用了ts踩到的安装vant的坑,重点在第4步1)在根目录下执行安装依赖的命令npmi@vant/weapp-S--production2)修改app.json将app.json中的 "style":"v2" 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。3)修改project.conf......
  • 微信小程序--3.request.ts文件封装
    3.request.ts文件封装api.tsimportrequestfrom'./request'//获取tokenexportfunctioninit(data:object){returnrequest({url:'/api/wechat_mini/auth/wx_init',data})}request.tsconstapp=getApp();//提示语方法functio......
  • 微信小程序--5. 如下图将顶部导航栏的地方改成自定义样式
    5.如下图将顶部导航栏的地方改成自定义样式1)配置app.json{"window":{"navigationStyle":"custom"//增加这行}} 2)、封装顶部导航栏的样式创建组件文件夹及文件miniprogram\components\navigation-bar\index//components/navigation-bar/index.wxml<!......
  • iOS配置通用链接后,分享页面,打开微信后,一直显示连接中
    一开始发现的问题是  apple-app-site-association  这个json里面的bundleid错了但是修正之后仍然显示连接中: 微信开放平台后台显示通用效验通过微信自检代码 checkUniversalLinkReady 检测失败 后来领导说上线之后可能就好了,果然,上线了,分享就没问题了......