# 生成帶參數的二維碼
[TOC]
為了滿足用戶渠道推廣分析的需要,公眾平臺提供了生成帶參數二維碼的接口。使用該接口可以獲得多個帶不同場景值的二維碼,用戶掃描后,公眾號可以接收到事件推送。
## 臨時二維碼
臨時二維碼,是有過期時間的,最長可以設置為在二維碼生成后的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換取二維碼
二維碼圖片通過使用上面生成的臨時或永久二維碼ticket來獲取。
```
echo $instance->getQrcode($qr['ticket'])
```