方法類似帶參二維碼的生成方法: 跳坑《九十》帶參數(shù)二維碼(帶參二維碼) 微信提供了「獲取小程序二維碼」的接口,通過這個(gè)接口,商家和開發(fā)者能夠制作進(jìn)入不同頁面的小程序二維碼,而不會(huì)限定掃碼進(jìn)入小程序主頁。 小程序碼怎么生成? 下面,小編就以「虛榮數(shù)據(jù)庫」小程序的某個(gè)英雄詳情頁為例,展示這個(gè)接口的使用方法。 【準(zhǔn)備工作】 首先,我們需要確保在小程序的app.json代碼中,已經(jīng)注冊(cè)了相應(yīng)的頁面。 在本例的設(shè)定中,我們就需要在pages里,將pages/detail/hero/hero這個(gè)頁面注冊(cè)進(jìn)去。 "pages":["pages/index/index","pages/detail/hero/hero"] 當(dāng)然,相應(yīng)目錄下也需要有相應(yīng)的頁面文件,且你的小程序已經(jīng)有已發(fā)布的線上版本。否則,用戶掃碼后,微信會(huì)提示出錯(cuò)。 接下來,我們需要到微信小程序后臺(tái),獲取小程序的AppSecret(如果已經(jīng)獲取,這一步可以跳過)。 進(jìn)入小程序后臺(tái),點(diǎn)擊左側(cè)「設(shè)置」,找到「開發(fā)設(shè)置」,我們就能找到AppSecret一項(xiàng)。點(diǎn)擊「獲取」或「重置」,掃碼之后,網(wǎng)頁就會(huì)顯示新的AppSecret。 需要注意的是,如果你之前生成過新的AppSecret,那么舊的AppSecret會(huì)隨這個(gè)操作而失效。 開發(fā)者也需要記得妥善保管AppSecret,盡可能保證AppSecret不會(huì)丟失、泄漏。 【獲取二維碼】 有了小程序的AppID和AppSecret,我們就能利用服務(wù)器,獲取小程序的二維碼了。 在本例,我們通過模擬請(qǐng)求的方式,讓大家了解這個(gè)接口的使用方法和原理。 我們要利用AppID和AppSecret,獲取AccessToken 這一步,我們請(qǐng)求的地址是https://api.weixin.qq.com/cgi-bin/token,你需要使用GET方法,傳遞你的AppID和AppSecret。 從結(jié)果中,我們可以得知:執(zhí)行這個(gè)操作后,微信會(huì)給你返回一個(gè)JSON數(shù)據(jù)包。解析這個(gè)數(shù)據(jù)包,我們就可以獲得AccessToken。 有了AccessToken,我們就可以獲取不同的小程序二維碼了。 微信提供了兩個(gè)POST獲取小程序二維碼的接口。你可以根據(jù)你的業(yè)務(wù)需求,自由選擇任一接口,獲取相應(yīng)的小程序二維碼(參數(shù)中的ACCESS_TOKEN部分填入上一步我們獲取到的AccessToken)。 獲取最新的「菊花式」小程序碼,可以使用這個(gè)接口:https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN。 想要經(jīng)典的「狗皮膏藥式」QR碼,可以使用這個(gè)接口:https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN POST請(qǐng)求體中,需要包含小程序的頁面地址,以及傳入小程序的參數(shù)。記住,這個(gè)頁面必須要在小程序里的進(jìn)行注冊(cè)。 本例中,JSON請(qǐng)求體如下: {"path":"pages/detail/hero/hero?hero=kestrel"} 發(fā)送請(qǐng)求后,微信會(huì)直接返回一張制作好的「小程序碼」。 現(xiàn)在,掃一掃這張小程序碼,看看是不是到了指定頁面了? 【注意事項(xiàng)】 除了我們文中舉例的接口,微信還開放了另一個(gè)與二維碼相關(guān)的接口,就是「掃普通二維碼進(jìn)入小程序」 開發(fā)者自己就可以按照一定規(guī)律,自行批量生成QR碼。但它需要開發(fā)者有已經(jīng)備案的域名,且個(gè)人主體小程序無法使用這個(gè)接口。 微信將通過「獲取小程序二維碼」接口獲取的二維碼的數(shù)量限定在十萬個(gè),并且似乎并沒有「注銷以前生成的二維碼」的功能和機(jī)制。 所以,如果你有非常大量的小程序二維碼生成需求,建議使用普通鏈接二維碼的方式生成QR碼。如果需要使用微信提供的二維碼生成接口,也要注意不要超過限額。 |
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)