微信开发笔记:生成带参数的公众号二维码

扫一扫进公众号,其实是可以提交参数的。一个公众号可以提供无线多个临时带参数二维码和有限多个永久的带参数二维码,我们就拿永久的带参二维码为例,毕竟这个比较常用一些。操作流程也很常规获取access_token->换取ticket ->换取带参二维码:

<?php
define("APPID", APPID);
define("APPSECRET", APPSECRET);

class wx_user_qr_code
{
    function __construct(){
        $this->wx_user_qr_code();
    }
    function wx_user_qr_code(){
    }
    function get_access_token(){
    $token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
    $res = file_get_contents($token_access_url);
    $result = json_decode($res, true);
    $access_token = $result[‘access_token‘];
    return $access_token;
}
function generate_qrcode($scene_id){
    $access_token = $this->get_access_token();
    $url = ‘https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=‘.$access_token;
    $parameters = array(
        "action_name"=>"QR_LIMIT_SCENE",
        "action_info"=>array("scene"=>array("scene_id"=>$scene_id))
    );
    $result = $this->postCurl(json_encode($parameters, true),$url);
    $return_data = json_decode($result,true);

    $ticket = $return_data["ticket"];
    $img_url = $return_data["url"];
    $codeurl = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".urlencode($ticket);

    $img = file_get_contents($codeurl);
    $file_name = "scene_id_".$scene_id."_".time().".jpg";
    file_put_contents(‘./user_affiliate_qr/‘.$file_name,$img);
    return $file_name;
}
function postCurl($send_data, $url, $second = 30){
        // 初始化curl
        $ch = curl_init();
        // 设置超时
        curl_setopt($ch, CURLOP_TIMEOUT, $second);
        // 这里设置代理,如果有的话
        // curl_setopt($ch,CURLOPT_PROXY, ‘8.8.8.8‘);
        // curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        // 设置header
        curl_setopt($ch, CURLOPT_HEADER, FALSE);
        // 要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        // post提交方式
        curl_setopt($ch, CURLOPT_POST, TRUE);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $send_data);
        // 运行curl

        $data = curl_exec($ch);
        curl_close($ch);
        // 返回结果
        if ($data) {
            curl_close($ch);
            return $data;
        } else {
            $error = curl_errno($ch);
            echo "curl出错,错误码:$error" . "<br>";
            echo "<a href=‘http://curl.haxx.se/libcurl/c/libcurl-errors.html‘>错误原因查询</a></br>";
            curl_close($ch);
            return false;
        }
    }
}
?>
    
时间: 2024-10-07 06:17:14

微信开发笔记:生成带参数的公众号二维码的相关文章

微信二维码微信公众号二维码怎么生成?

为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. #生成二维码接口 https://open.weixin.qq.com/qr/code?username=weihaobang 微信公众号渠道二维码生成.具体查看流程如下:登录微号帮->功能管理->渠道二维码生成/二维码海报/带参数的二维码,创建设置,二维码由系统自动生成,可以选择带不带logo.默认显示带logo的黑白二

微信公众号二维码怎么生成

微信公众号二维码生成 import qrcode qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=2, ) #支持文字 qr.add_data('二维码生成') #支持链接 #qr.add_data('http://www.weihaobang.com') qr.make(fit=True) img = qr.make_image() #保存

通过微信号找到别人微信公众号二维码的

通过微信号找到别人微信公众号二维码的办法 其实每个二维码的地址结构是相对固定的,即http://open.weixin.qq.com/qr/code/?username=XXXXXXXX,前面“http://open.weixin.qq.com/qr/code/?username=”是固定的,后面红色部分是对方公众号的微信号.了解这个结构之后,要找到二维码就容易了!

生成带内嵌图片的二维码

在博问上看到有同学在问如何实现一个带内嵌图片的二维码,所以准备记录下来,供同学们参考. 1.首先准备一个用于内嵌的图片. 2.既然生成二维码码,那肯定需要将什么样的内容生成二维码,这里我用http://www.baidu.com作为生成二维码的字符串 private string QcodeSource { get { return "http://www.baidu.com"; } } 3.我们来看看根据QcodeSource生成二维码的方法,这里返回Byte[].PS:这里用了 G

c# 微信开发 《生成带参数的关注二维码》

/// <summary> /// 生成二维码 /// </summary> /// <returns></returns> /// 申请生成二维码的用户 CreatQrCodeUser public string CreateQrCodeImage(string CreatQrCodeUser) { string WeixinQrCodePath = ConfigurationManager.AppSettings["WeixinQrCodePa

php微信生成微信公众号二维码扫描进入公众号带参数

https://blog.csdn.net/qq_22823581/article/details/80248555 <?php namespace app\api\model; set_time_limit(30); class WxQrcode{ //构造方法 static $qrcode_url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?"; static $token_url = "https://ap

java 扫描微信公众号二维码,关注并登录逻辑

场景:户扫描微信公众号的二维码,关注后自动登录网站,若已关注则直接登录. 逻辑: 系统生成带参数的临时二维码:参数 scene_str 自定义为唯一值(可以是uuid),临时二维码的生成方式参照官方接口的开发文档 用户使用微信扫描该二维码,关注后微信服务器会将关注事件的响应数据返回给我们的应用服务器:微信通过我们在公众号配置的“服务器地址(URL)”,将响应数据返回给我们的应用服务器,响应数据包括 参数 scene_str 和 openid 应用服务器将接收到的openid再次向微信服务器发起请

我的微信公众号二维码

原文地址:https://blog.51cto.com/yanzongshuai/2397067

微信公众平台功能开发(生成带参数的二维码)

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下两种事件: 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事