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