人人商城/微擎網頁授權快照模式問題研究及解決方案
發表時間:2022-10-27
發布人:葵宇科技
瀏覽次數:18
背景說明
前幾天在使用微擎版人人商城進行測試的時候發現一個有趣的現象,在PC版微信系統中,公眾號端可以正常獲得用戶的昵稱及頭像,但是在手機上進入公眾號卻發現系統無法獲得用戶昵稱及頭像,顯示昵稱為”微信用戶“。
更為神奇的是不管在微擎會員管理中還是在人人商城會員管理中,出現了PC端的正常賬號和手機端“微信用戶”兩個賬號,同時手機端支付等一些列功能均受影響。
這個問題就讓人很迷惑了,我嘗試在開發者工具中進行調試,結果卻是一切正常!一切正常!我TM的納悶了。后來嘗試真機調試,結果卻發現微信取消X5內核了,調試不了,調試不了!直到不經意間發現了一個以前沒見過的東西
原來微信又TMD調整接口了??!官方接口調整公告:微信網頁授權能力調整公告
踩坑記錄
1.必須真機測試
2.調用授權的方式必須是,進入這個頁面就進行登陸(這就是官方所說的不規范登陸授權)
3.打開方式:必須是分享出去的頁面或者鏈接,不能是從公眾號菜單頁面進入
4.必須取消關注公眾號
5.forceSnapShot(?。。。。。。。。。?!坑)
官方說有這個,并且已經把文檔更新了,但是我折騰了好幾個小時,我也無法復現問題。
影響范圍
這次調整影響范圍非常廣,包括所有微擎應用,微擎框架,人人商城等
解決思路
只需要在進行網頁授權的時候,對他進行一下攔截,或者新建一個登陸頁面,讓授權不是直接進入頁面就調用
解決方法
在需要使用使用發起 snsapi_userinfo 網頁授權時轉至一個新的授權頁面,通過用戶主動觸發調用網頁授權,完美避開快照模式
微擎/人人商城網頁快照解決方案
既然有了思路,后面的就簡單了,因為這次調整不僅僅影響人人商城,微擎框架下的所有應用使用網頁授權都會出現這樣的問題,頭像默認灰白,昵稱“微信用戶”,虛擬Openid,無法支付等情況,據此,在盡可能最小程度修改代碼的前提下對人人商城和微擎進行代碼合規化處理。方法采用上面的思路,具體效果見圖示
頭像、昵稱資料獲取 下單,支付 分銷關系綁定 門店店員掃碼核銷 其他頁面:拼團、積分簽到等插件頁
微擎/其他模塊兼容性測試:待進行
詳細修改文檔:點擊右側聯系方式~~