夺命雷公狗---微信开发36----永久二维码1

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

1,临时二维码,是有限时常的,7天,604800秒过期,但是能生成较多数量,主要途:KFC促销等

2,永久二维码,是无限时长的,但是数量最多值是10万个,主要用途:帐号绑定,用户来源统计等

 

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

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

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

 

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

夺命雷公狗---微信开发36----永久二维码1

 

 

 

二维码的英文别名一般都被称为:Quick Response Code,程序猿们一般都会称为qrcode

 

废话不多说,我们这里写3个永久的二维码,他们分别是电视来源(forever_qrcode.php),和杂志来源(forever_qrcode2.php),和其他来源(forever_qrcode3.php)

 

forever_qrcode.php代码如下,其他的子需要修改下$scene_id的值即可

<?php
    header("Content-Type:text/html;charset=utf-8");
    require_once "get_token.php";
    require_once "common.php";
    //首先我们申请一个二维码的ticket
    //比如我们规定$scene_id值10001表示场景是电视,10002表示杂志,10003表示其他来源
    $scene_id = ‘10001‘;
    //action_name 二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久,QR_LIMIT_STR_SCENE为永久的字符串参数值
    //action_info 二维码详细信息
    //scene_id 场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
    //scene_str 场景值ID(字符串形式的ID),字符串类型,长度限制为1到64,仅永久二维码支持此字段
    $post = ‘{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": ‘.$scene_id.‘}}}‘;
    $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={$access_token}";
    //发出http请求,申请ticket
    $res = http_request($url,$post);
    $str_json = json_decode($res);
    $ticket = $str_json->ticket;
    //通过ticket来换取二维码
    $ticket = urlencode($ticket);
    $url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={$ticket}";
    $filee = file_get_contents($url);
    //把该二维码文件保存到空间里的rqcode文件夹内,如果是linux系统要要修改下文件权限 chown -R www:www ./rqcode/
    $file_name = "qrcode{$scene_id}.jpg";
    file_put_contents("./qrcode/".$file_name,$filee);
    $rqcode_url = "http://weixin.showtp.com/qrcode/{$file_name}";
?>
<!DOCTYPE html>
<html>
    <head>
        <title>生成永久性二维码</title>
    </head>
    <body>
        <h1>生成永久性二维码之电视来源</h1>
        <img src="<?php echo $rqcode_url; ?>" />
    </body>
</html>

 

其他的文件分别如下图所示:

夺命雷公狗---微信开发36----永久二维码1

 

 

然后访问网站即可看到您所需要的效果如下:

夺命雷公狗---微信开发36----永久二维码1

 

 

温馨提示,在开发的时候发现了一个报错,报错信息如下图所示

夺命雷公狗---微信开发36----永久二维码1 

在网上终于找到解决的办法,解决方法要修改php.ini,详情可以参考:http://www.cnblogs.com/leigood/p/5240699.html

 

夺命雷公狗---微信开发36----永久二维码1

上一篇:用微信来一键开关zabbix报警


下一篇:用node.js进行微信公众平台的开发