微信公众号开发 生成二维码带参数二维码

`微信公众号开发 生成带参数二维码

加粗样式
为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。使用接口过程中有任何问题,可以前往微信开放社区 #公众号 专区发帖交流。

目前有2种类型的二维码:

1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景 2、永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

用户扫描带场景值二维码时,可能推送以下两种事件:

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。

如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。

获取带参数的二维码的过程包括两步,首先创建二维码ticket,然后凭借ticket到指定URL换取二维码。

创建二维码ticket

每次创建二维码ticket需要提供一个开发者自行设定的参数(scene_id),分别介绍临时二维码和永久二维码的创建二维码ticket过程。
业务需要我写的临时的,详细的还是要看微信开发文档https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html

/**
     * 临时二维码
     * @throws \GuzzleHttp\Exception\InvalidArgumentException
     */
    public function GetCode()
    {   
        //这块是我自己去的acctoken
        $acctoken="46_72ebeI-JYKABPrKSOsfL6Uaz7eWyczZ9CXglJaZo-c8IFI2xwbXoyWUvLwDhSA9efhTvSpbIba5Wqp7C2ad7FQVv5qKqCb0dOn2xlAE041z5_sN_WBLpatyg_kb3cli7Uds_dFF-7C9gfCRsACVbABAMOH";
        $url="https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=$acctoken";
        //{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}
        $data=array(
            'expire_seconds'=>2592000,
            'action_name'=>"QR_SCENE",
            'action_info'=>array(
                'scene'=>array('scene_id'=>2000),
            ),
        );
        $postjson=json_encode($data);
        //取到$ticket
        $res=$this->http_curl($url,'post','json',$postjson);
        $ticket=$res['ticket'];
        $url="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".UrlEncode($ticket);
        //展示二维码
        echo "<img src='".$url."'/>";


    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值