在 react 項目中使用微信 JS-SDK 填坑筆記


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>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容