1. 程式人生 > 其它 >微信H5頁面分享以及自動登入踩坑

微信H5頁面分享以及自動登入踩坑

技術標籤:web appvue.jsjavascriptes6

微信h5頁面是我們平時接觸的比較多的專案需求,app分享單頁面到微信好友還是廣告單頁是我們平時接觸的比較多的,

微信開啟h5頁面就涉及到微信登入和二次分享,當我們在微信裡開啟h5頁面都會有自動登入,在這裡就有一個坑,

頁面自動登入之後會重定向一個連結獲取code值,問題就在這裡出現,例如重定向獲取code值後頁面路徑變為這種格式:https://www.xxx.com/index.html?id=00000&code=0000000000000000$state= 類似這種格式的

,這時候請求自定義分享網頁授權介面,微信規定網頁授權請求介面的路徑必須是路徑後面問好帶一個引數https://www.xxx.com/index.html?id=00000,不允許有#和&,

這時候我們就要把頁面路徑處理一下,

把頁面的路徑改為https://www.xxx.com/index.html?id=00000格式有兩種辦法,

第一種:直接重定向 ,

但是重定向會把頁面重新重新整理,頁面會閃一下,這種體驗非常不好,不建議使用,太low了,

第二種:使用h5瀏覽器的新方法,

history.replaceState(null,null,'?id=000000')

這個方法處理非常有用,有時候我們分享出去的頁面不想給別人知道具體引數,也可以這樣處理,引數是隨便你自己新增什麼都可以,瀏覽器不會記錄也不會重新整理,這樣就可以修改路徑引數而不會重新整理頁面,如果不這樣處理,請求網頁授權注入config就會失敗

不清楚微信網頁授權許可權的自行去查文件微信網頁開發

說到這裡有的夥伴會想:

我能不能在微信登入重定向之前先請求授權呢,如果你的頁面沒有 登入需求的可以這樣操作,如果你網頁授權後還要微信登入,,重定向會把第一次的網頁授權刷掉,也會失敗的

以上就是我自己的平時的處理方法,也許還有更好的方法,我暫時沒想到。