我的博客遷移至獨立博客:https://blog.plcent.com/,歡迎你們訪問json
微信中支持生成臨時二維碼和永久二維碼,這二者之間也有略微的區別,至於如何生成,怎麼寫,這個不在今天的討論範圍內,由於官方文檔說的很明白。
今天要說的,是在生成帶參數的二維碼時,臨時二維碼和永久二維碼之間場景值ID的差異微信
臨時二維碼:post
post方式提交的json數據中包含scene參數,示例:spa
{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}code
在臨時二維碼中只支持scene_id參數,scene_id參數支持傳送一個整型的數字,好比:123123123123,最大長度爲32位的非零整數blog
爲何是非零呢?文檔
當臨時生成零時二維碼時,若是場景值ID是整數,能夠正常獲取,哪怕你用字符串形式傳遞,例如:字符串
// 如下的方式均可以 // scene_id是數字 {"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}} // scene_id是字符串 {"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": "123"}}}
可是:若是你傳遞的是字符串(沒法轉換成數字的字符串),場景值將會被替換成0,全部這就是爲何要場景值是非零的緣由:get
{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": "我是會被轉換成0的場景值ID"}}}
永久二維碼:博客
永久二維碼不存在這個問題,由於支持字符串