公众号扫码如何获取二维码中的参数?

最近自己在弄一个微信扫码订餐的系统,实现了扫码推送一个图文信息的功能。
问题如下:
现在遇到了这个问题,获取二维码中的参数问题。这个二维码我是通过微信公众号生成二维码的方法生成的永久二维码,二维码中有桌号,如果我是通过微信右上角的扫一扫进来可以获得对应的桌号。
正常情况如下:
图片描述

但是我用公众号底部的菜单中生成的扫一扫功能,点击打开扫一扫,扫相同的二维码却获取不到对应的参数,反而是菜单的key值。
问题如下:
图片描述

图片描述

所以想问下,有没有办法通过菜单的扫一扫,扫完之后获取二维码中的参数。

代码如下:[菜单代码]
$menu =array(

          array(
               'type'=>'scancode_waitmsg',
             'name'=>urlencode('扫码点餐'),
             'key'=>'rselfmenu_0_0',  //菜单扫码时获取到的是这个key。
            "sub_button"=> array()
         ),array(
             'name'=>urlencode('我的'),
             'sub_button'=>array(
                 array(
                     "type"=>"click",
                     "name"=>urlencode("我的点菜单"),
                     "key"=>"V1002_GOOD",
                     "url"=>"http://ab.eachds.com/public/index.php/wechat/wechat/index"
                 ) 
             )
         )

【推送图文代码】
//微信右上角扫一扫执行这部分代码:

 case "SCAN":
       $arr['Title'] = "感谢您光临太囧酸菜鱼,您的桌号为:".$object->EventKey.',点击消息进行订餐';
         $arr['Description'] = "欢迎光临太囧酸菜鱼。Wifi:meilijiayuan。密码:12345678。";
         $arr['PicUrl'] = "http://ab.eachds.com/public/static/images/loginImg.png";
         $arr['Url'] = "http://ab.eachds.com/public/index.php?chat=".$object->EventKey;

              //扫码推送图文消息
        $result = $this->transmitNews($object,$arr);
           break;
           

//微信菜单扫一扫执行这部分代码:

   case "scancode_waitmsg":
        //扫码推送图文消息
    $arr['Title'] = "感谢您光临太囧酸菜鱼,您的桌号为:".$object->EventKey.',点击消息进行订餐';
    $arr['Description'] = "欢迎光临太囧酸菜鱼。Wifi:meilijiayuan。密码:12345678。";
    $arr['PicUrl'] = "http://ab.eachds.com/public/static/images/loginImg.png";
    $arr['Url'] = "http://ab.eachds.com/public/index.php";
    $result = $this->transmitNews($object,$arr);
    break;
阅读 7.8k
1 个回答

你估计参数拿错了,ScanResult这个才是二维码的内容,你得根据二维码的URL去对应你自己的桌号。
之前楼主不是考虑用生成带参数的二维码,我还觉得那个好,扫码之后,没关注就直接关注,有关注就直接跳转,最后都会推送所带的参数。

<xml>
    <ToUserName><![CDATA[gh_82479813ed64]]></ToUserName>
    <FromUserName><![CDATA[ojpX_jig-gyi3_Q9fHXQ4rdHniQs]]></FromUserName>
    <CreateTime>1412075435</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[scancode_waitmsg]]></Event>
    <EventKey><![CDATA[rselfmenu_0_0]]></EventKey>
    <ScanCodeInfo>
        <ScanType><![CDATA[qrcode]]></ScanType>
        <ScanResult><![CDATA[http://weixin.qq.com/r/pUNnf4HEX9wgrcUc9xa3]]></ScanResult>
        <EventKey><![CDATA[rselfmenu_0_0]]></EventKey>
    </ScanCodeInfo>
</xml>

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题