请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

亿仁网

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 325|回复: 1

单击菜单获取图文音乐消息实践推送

[复制链接]
  • TA的每日心情
    奋斗
    2019-3-14 22:24
  • 签到天数: 160 天

    [LV.7]常住居民III

    1074

    主题

    1139

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    18046
    发表于 2017-5-20 10:39:57 | 显示全部楼层 |阅读模式
    当自定义菜单中有click类型的菜单,用户单击此菜单的时候,微信公众平台服务器会接收时间状态并转发给开发者的第三方服务器,请求的格式为如下XML:
    1. <xml>
    2. <ToUserName><![CDATA[toUser]]></ToUserName>
    3. <FromUserName><![CDATA[FromUser]]></FromUserName>
    4. <CreateTime>123456789</CreateTime>
    5. <MsgType><![CDATA[event]]></MsgType>
    6. <Event><![CDATA[CLICK]]></Event>
    7. <EventKey><![CDATA[EVENTKEY]]></EventKey>
    8. </xml>
    复制代码
    参数说明见图

    第三方服务器在收到消息中的Event和EventKey字段值后,就可以进行相应的判断和业务逻辑实现。
    当用户点击“资讯”和“音乐”菜单按钮后,微信平台平台回复的不同消息类型的效果如图所示。

    因为要处理微信公众平台推送过来的XML消息,所以这里就用到了消息处理类WxBase。在IndexController.class.php类中的configToken()方法中实现Token的验证和WxBase处理类的集成。首先定义创建自定义菜单方法myMenu(),菜单事件类型都为click,事件唯一标识key分别为“news”和“music”,代码如下:
    1.         // 创建/查看/删除 菜单
    2.         public function myMenu()
    3.         {
    4.                 $data = '{
    5.                 "button":[
    6.                         {
    7.                                 "type":"click",
    8.                                 "name":"资讯",
    9.                                 "key":"news"
    10.                         },
    11.                         {
    12.                                 "type":"click",
    13.                                 "name":"音乐",
    14.                                 "key":"music"
    15.                         }
    16.                 ]}';
    17.                 import('@Lib.Wx.WxMenu');
    18.                 $wx = new \WxMenu(APP_ID,APP_SECRET);
    19.                 dump($wx->createMenu($data));
    20.         }
    复制代码
    菜单创建成功后,接收消息推送和逻辑处理的实现代码在configToken()方法中定义:
    1.                         // CLICK事件处理
    2.                         if($this->data['MsgType'] == 'event' && $this->data['Event'] == 'CLICK')
    3.                         {
    4.                                 if($this->data['EventKey'] == 'news')
    5.                                 {
    6.                                         // 单个图文信息
    7.                                         $wx->replyNewsOnce(
    8.                                                 '测试文章标题',
    9.                                                 '测试文章内容',
    10.                                                 'http://www.baidu.com',
    11.                                                 'http://api.38pay.com/wxmsg/Muisc/logo.jpeg'
    12.                                         );
    13.                                 }
    14.                                 if($this->data['EventKey'] == 'music')
    15.                                 {
    16.                                         $wx->replyMusic(
    17.                                                 'yongforyou音乐',                                                                                           //标题
    18.                                                 'yongforyou描述',                                                                                           //描述
    19.                                                 'http://api.38pay.com/wxmsg/Muisc/YoungForYouMP3.mp3',                //普通音质音乐文件
    20.                                                 'http://api.38pay.com/wxmsg/Muisc/YoungForYouMP3.mp3',                //高品质音乐文件
    21.                                                 'VJNC9Q2aF0c4BybGRpEFprHm6JEnBR2b_u0BXuVLcwnSBzGSSxWoX6aT02VDU1bT'
    22.                                         );
    23.                                 }
    24.                         }
    复制代码



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    造物之前,必先造人。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-3-14 22:24
  • 签到天数: 160 天

    [LV.7]常住居民III

    1074

    主题

    1139

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    18046
     楼主| 发表于 2017-5-20 12:00:24 | 显示全部楼层
    已转载于百家号、企鹅(行家汇)、头条、大鱼号等,发表于2017年5月20日第一篇
    造物之前,必先造人。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|亿仁网 ( 粤ICP备16098737  

    GMT+8, 2020-8-3 17:07 , Processed in 0.180608 second(s), 30 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表