知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
【小程序踩坑】 掃普通二維碼調(diào)起小程序bug:碼地址傳遞錯(cuò)誤,傳為歷史地址 ...
發(fā)表時(shí)間:2021-3-31
發(fā)布人:葵宇科技
瀏覽次數(shù):44
問題:
用戶掃碼二維碼A,小程序onload中傳遞q參數(shù)為二維碼地址B,且該二維碼地址為用戶歷史使用二維碼地址。
原因:
微信側(cè)掃碼啟動(dòng)參數(shù)錯(cuò)亂。
用戶使用微信“掃一掃”掃描二維碼A,微信通過系統(tǒng)事件啟動(dòng)小程序,用戶使用完之后,
將小程序退到后臺,一段時(shí)間后小程序被系統(tǒng)回收。用戶再次掃描二維碼B,
微信仍然通過系統(tǒng)事件啟動(dòng)小程序,但是實(shí)際上,系統(tǒng)先發(fā)出A二維碼的啟動(dòng)事件,
再發(fā)出B二維碼的啟動(dòng)事件,導(dǎo)致小程序啟動(dòng)參數(shù)錯(cuò)亂。
理論上,用戶第二次掃碼的時(shí)候,系統(tǒng)不應(yīng)該連續(xù)發(fā)出兩次事件。
解決方案:
方案1 (覆蓋7-8成用戶):
微信側(cè)目前上線了熱修復(fù)方案,糾正該問題,保證通過系統(tǒng)事件啟動(dòng)時(shí)傳遞正確的碼地址。但目前該方案僅能覆蓋最近兩個(gè)版本,即6.5.20以后的,覆蓋人群不會很高,活躍用戶的七八成。所以仍然存在該bug.
方案2 (解決剩下的2-3成用戶):
目前掃碼啟動(dòng)小程序的場景,微信會將原始URL通過參數(shù)的方式傳給小程序,key為"q"。 后臺改動(dòng)上線后,會多出一個(gè)key為"scancode_time"的UNIX時(shí)間戳參數(shù),是用戶掃碼的時(shí)間。 用戶掃碼時(shí)間和執(zhí)行onlaod的時(shí)間相對比如果在30s以內(nèi),可以認(rèn)為傳遞給我們的碼地址是30s以內(nèi)剛掃過的碼,可以認(rèn)為傳遞的非歷史地址。從這個(gè)邏輯出發(fā),做了以下校驗(yàn):
ps:第二次將掃碼時(shí)間與服務(wù)器端時(shí)間再次進(jìn)行校驗(yàn)的目的:避免部分用戶手動(dòng)更改手機(jī)時(shí)間或者本地手機(jī)時(shí)間差距較大,導(dǎo)致問題出現(xiàn),故再進(jìn)行一次服務(wù)端時(shí)間校驗(yàn)。
問題雖小,記錄意義更大。
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站收錄
- 小程序密鑰
- web開發(fā)技術(shù)
- uniapp開發(fā)小程序
- typescript
- 網(wǎng)站建設(shè)公司網(wǎng)站
- 網(wǎng)站建設(shè)首選公司
- 云南網(wǎng)站建設(shè)費(fèi)用
- 微信分銷系統(tǒng)
- 網(wǎng)站建設(shè)費(fèi)用
- 重慶網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)首頁
- 網(wǎng)站小程序
- 模版信息
- 云南建設(shè)廳網(wǎng)站
- 小程序開發(fā)排名前十名
- 云南建設(shè)廳官方網(wǎng)站
- 云南小程序商城
- 小程序開發(fā)課程
- 網(wǎng)站建設(shè)高手
- 網(wǎng)站制作哪家好
- 云南etc小程序
- 汽車報(bào)廢回收
- 云南省城鄉(xiāng)建設(shè)廳網(wǎng)站
- 云南小程序開發(fā)公司
- 花農(nóng)小程序
- 小程序商城
- 云南軟件定制公司
- 云南小程序開發(fā)制作
- 網(wǎng)站建設(shè)方法