古詩詞大全網 - 藝術簽名 - 微信H5分享 iphone 第壹次進入config:invalid signature

微信H5分享 iphone 第壹次進入config:invalid signature

分享頁面的域名要與 分享出去地址(link)的域名相同,否則自定義的title、link、imgUrl會設置失敗並且沒有任何錯誤提示。

背景:微信公眾號網頁,nuxt.js框架

問題:iphone手機第壹次進入頁面提示: config:invalid signature,也就是說簽名無效,刷新當前頁面後簽名就通過了(config: ok)。而Android手機卻壹直是正常的(config: ok)。

微信分享流程:

微信文檔

第壹步:設置公眾號的JS接口安全域名

第二步:引入js文件

第三步:獲取簽名:傳入當前頁面url(當前網頁的URL,不包含#及其後面部分) 作為參數,請求後端接口獲取簽名。

第四步:所有需要使用JS-SDK的頁面必須先註入配置信息,用第三步獲取的簽名信息(AppId、生成簽名的時間戳、生成簽名的隨機串、簽名)傳入wx.config,完成配置,並開啟調試模式:debug: true

這時用Android手機打開會提示:config: ok,壹切正常。

問題來了:

這時候用iphone手機打開卻提示: config:invalid signature。刷新頁面後就會提示:config: ok,又好了?什麽鬼?

在第三步把“當前頁面url” 打印出來的是: /share/

而進入這個頁面的地址是:

點擊後實際瀏覽器中是:

因為兩個地址不壹致,刷新頁面後瀏覽器的實際地址是: /share/ (刷新頁面後 url最後多了壹個“/”),這時候兩個地址完全壹致,所以刷新頁面後簽名config: ok。

解決辦法:

最簡單粗暴的解決辦法就是進入頁面的時候就給最後加上 “ / ”: