UPDATE
現(xiàn)在 android 的微信(6.3.31)已經(jīng)修好了序矩,需要按照文檔說的傳入當前頁面的url,也就是沒吃豆重新 config 一次跋破,但是蘋果的微信只要在進入頁面的時候 config 一次就可以了贮泞,微信管接口的估計是個錘子。
在做圖片上傳的時候幔烛,圖片太大老是上傳失敗,在產(chǎn)品汪(??)的建議下用了微信的 JS-SDK囊蓝,微信會處理壓縮饿悬,而且還有順帶連預覽也解決了,好開心聚霜。
后來一發(fā)布狡恬,整組人感覺不好了。主要問題出現(xiàn)在 url 的配置上蝎宇。
微信的官方文檔是這樣說的:
同一個url僅需調(diào)用一次弟劲,對于變化url的SPA的web app可在每次url變化時進行調(diào)用,目前Android微信客戶端不支持pushState的H5新特性,所以使用pushState來實現(xiàn)web app的頁面會導致簽名失敗姥芥,此問題會在Android6.2中修復
實際測試中發(fā)現(xiàn)兔乞,配置的 url 并不是調(diào)用微信 js 的時候所在頁面的地址(也就是通過 location.href
獲得的地址),而是在進入到網(wǎng)站的第一個頁面的地址凉唐,這是第一個問題
第二問題是在蘋果手機的微信上面庸追,只要調(diào)用 wx.config
一次就可以了,但是在 android 的手機台囱,在頁面跳轉之后淡溯,要重新調(diào)用 wx.config
(url 依然是進入網(wǎng)站的第一個頁面的地址,要保存在一個變量里面)簿训,"X5 瀏覽器"咱娶, 我他媽就呵呵了米间。如果用了 react-router
的話,直接在 Route
組件上綁定一個 onChange
方法就可以了
function routeChange(pre, next) { wx.config(getWxConfig());}
<Route path="/react" onChange={routeChange}>
<YourRouteConfig/>
</Route>