微信如何生成带参二维码以及怎样读取二维码参数

首先需要创建二维码ticket

每次创建二维码ticket需要提供一个开发者自行设定的参数(scene_id),分别介绍临时二维码和永久二维码的创建二维码ticket过程。

临时二维码请求说明

http请求方式: POST
URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN
POST数据格式:json
POST数据例子:{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}

或者也可以使用以下POST数据创建字符串形式的二维码参数:
{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

永久二维码请求说明

http请求方式: POST
URL: 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}}}

或者也可以使用以下POST数据创建字符串形式的二维码参数:
{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

参数说明:

参数 说明
expire_seconds 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。
action_name 二维码类型,QR_SCENE为临时的整型参数值,QR_STR_SCENE为临时的字符串参数值,QR_LIMIT_SCENE为永久的整型参数值,QR_LIMIT_STR_SCENE为永久的字符串参数值
action_info 二维码详细信息
scene_id 场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
scene_str 场景值ID(字符串形式的ID),字符串类型,长度限制为1到64

详情请看官网带参二维码链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1443433542

上面都是官网说明的一些重要具体参数

接下来是我自己写的一段代码

这里是临时二维码,连地址带ticket返回的(需要多写一个过期时间):

微信如何生成带参二维码以及怎样读取二维码参数_第1张图片

这里是永久二维码,连地址带ticket返回的:

微信如何生成带参二维码以及怎样读取二维码参数_第2张图片

 
  
 
  
主要是这两点:第一个红框那里就是填写永久或者临时,字符串或者整数的类型   
           第二个红框那里选择填写字符串类型的参数或者整数型参数
(都为必填,详细看上方参数说明)

如果单独生成ticket的话,地址如下:

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

去换二维码的话,地址如下:

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET

上面是生成参数二维码的过程,接下来就是怎么读取了,

公众号事件那边读取方式如下:

$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];

$postObj=simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);

$postObj->EventKey;   (这个值就是你自己添加上的参数了)



这些就是具体生成带参二维码以及如何读取二维码参数的具体做法了,希望可以帮到大家

                              

 微信公众号

你可能感兴趣的:(微信公众号)