微信日月榜推荐二维码开发教程

9158APP 0

微信日月榜推荐二维码开发教程

近日,小编了解到,有不少朋友正在参与微信日报、月榜二维码的开发。看来这些人大部分都是新手,对一些开发细节不太了解,尤其是推广二维码的开发。接下来小编就用我找到的一条资料给大家介绍一下微信二维码开发的相关知识。

前段时间,我公司接手了一个微信分发项目。该项目包含二维码推广功能:经销商可以生成自己的二维码,当其他用户第一次扫描时,他们将自动成为经销商。的下属。这个过程中最重要的就是利用微信的二维码生成接口来生成永久的二维码。今天我就根据我开发过程中遇到的问题,跟大家一起学习一下如何使用微信的二维码生成接口。主要分为理论知识学习和代码编写实践两部分。

理论知识学习

在开始工作之前,我们先来了解一下微信的二维码。

微信目前有2种二维码:

1. 临时二维码有有效期。它们可以设置为生成QR 码后最多30 天(即2,592,000 秒)过期,但可以生成更大的数字。临时二维码主要用于账号绑定等,不要求永久二维码。

已保存的业务场景

2、永久二维码没有过期时间,但数量较少(目前最多10万个)。永久二维码主要应用于账号绑定、用户来源统计等场景。

获取带有参数的二维码的过程包括两个步骤。首先创建二维码门票,然后使用该门票到指定网址兑换二维码。

1. 创建二维码门票

每次创建二维码门票时,都需要提供开发者设置的参数(scene_id)。这里我只介绍永久二维码创建二维码门票的流程。

http请求方式:POST

网址:https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN

POST数据格式:json

POST 数据示例:{'action_name''QR_LIMIT_SCENE', 'action_info'{'scene':

{'scene_id':123}}}

参数说明

参数说明

expire_seconds 该二维码的有效时间,单位为秒。最大值不能超过2592000(即30天)。如果不填写该字段,则默认有效期为30秒。

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,只有永久二维码支持该字段

正确的Json返回结果:

{'票':'gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm

3sUw==','expire_seconds':60,'url':'http://weixin.qq.com\/q\/kZgfwMTm72WWPkovabbI'}

2. 门票兑换二维码

开发者获得二维码门票后,可以用门票兑换二维码图片。请注意,无需登录即可调用该接口。

要求澄清

HTTP协议

GET请求(请使用https协议) https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET 温馨提示:记得对TICKET进行UrlEncode

退货说明

如果票正确,http返回码是200,是图片,可以直接显示或下载。

编码实践

经过前面的理论知识的学习,相信大家对微信二维码生成接口有了一定的了解。好吧,我们来写代码来测试一下。

1. 获取门票

[php] 查看纯文本$action_name='QR_LIMIT_SCENE';

$json_arr=

array('action_name'=$action_name,'action_info'=array('scene'=array('scene_id'=$scene_id)));

$data=json_encode($json_arr);

$this - access_token($db);

$ret=$db-getRow('从`wxch_config`中选择`access_token`');

$access_token=$ret['access_token'];

if(strlen($access_token)=64)

{

$网址=

'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$access_token;

$ch=curl_init();

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0(兼容;MSIE 5.01;

Windows NT 5.0)');

curl_setopt($ch, CURLOPT_TIMEOUT, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_URL, $url);

if (已定义('CURLOPT_IPRESOLVE') 已定义('CURL_IPRESOLVE_V4'))

{

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

}

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$res_json=curl_exec($ch);

卷曲关闭($ch);

$json=json_decode($res_json);

$ticket=$json-ticket;//9-15

$json=json_decode($res_json);

}

$ticket=$json-ticket;

相信做过微信开发的朋友会对我上面贴的代码有疑问:为什么不把微信请求封装成一个方法呢?好吧,能问出这个问题,说明你对面向对象封装已经有了一定的了解。小编一开始确实将微信请求封装成一个方法。可惜这个方法不稳定,所以放弃了之前的想法。

2.根据票证获取二维码图片

[php] 查看纯文本if($ticket)

{

$ticket_url=urlencode($ticket);

$ticket_url=

'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$ticket_url;

$imageinfo=$this - downloadimageformweixin($ticket_url);

$时间=时间();

$url=$_SERVER['HTTP_HOST'];

$path='./images/qrcode/'.$time.'.jpg';

$surl='http://'.$url.'/images/qrcode/'.$time.'.jpg';

$local_file=fopen($path,'a');

if(假!==$local_file){

if(假!==fwrite($local_file,$imageinfo)){

fclose($local_file);

//将生成的二维码图片地址存入数据库

}

}

}

上面的代码中,我下载了获得的二维码,并将其保存到数据库中。这是项目的需要,因人而异。

好了,理论+知识我学完了,你学会了吗?

二维码在线调试工具

以上就是小编今天给大家带来的微信日月榜推荐二维码开发教程。俗话说,万事开头难。没有人一开始就拥有所有的知识和技能。这是一个积累的过程。所以朋友们,如果一开始遇到一些困难,不要灰心。你应该努力学习并相信你能做到。