# 参数二维码

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。

# 临时二维码

临时二维码,是有过期时间的,最长可以设置为在二维码生成后的7天(即604800秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景

参数说明

第一个参数是场景值ID,临时二维码时为32位非0整型。第二个参数是二维码有效时间,以秒为单位。 最大不超过604800(即7天)。

$param = [
	//过期秒数
	'expire_seconds' => 100, 
	//场景值ID
	'scene_id' => 1
];
$qr = WeChat::instance('qrcode')->create($param);

# 永久二维码

永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

参数说明

永久二维码只需要传递一个参数。参数是场景值ID永久二维码最大值为100000(目前参数只支持1~100000)。

成功时返回值为二维码的ticket ,可用来获取二维码图片,失败时返回false。

$param = [
	//场景值ID
    //也可以使用 scene_str 字符串形式的ID,请查看微信手册了解
	'scene_id' => 1
];
$qr = WeChat::instance('qrcode')->createLimitCode($param);

返回值说明

参数 说明
ticket 获取的二维码ticket,凭借此ticket可以在有效时间内换取二维码
expire_seconds 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天)
url 二维码图片解析后的地址,开发者可根据该地址自行生成需要的二维码图片

# 换取二维码

二维码图片通过使用上面生成的临时或永久二维码ticket来获取。

echo $instance->getQrcode($qr['ticket'])

# 长链接转短链接

主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。 参数说明

参数 说明
$longUrl 要转换的长链接

调用举例

//要转换的长链接
$url = 'http://bbs.houdunwang.com/forum.php?mod=viewthread&tid=105786&extra=page%3D1%26filter%3Dlastpost%26orderby%3Dlastpost%26dateline%3D86400%26typeid';

//将长链接转为短链接
$res = WeChat::instance('shorturl')->makeShortUrl($url);

返回值

[
	"errcode"=>0,
	"errmsg"=>"ok",
    "short_url"=>"http:\/\/w.url.cn\/s\/AvCo6Ih"
]