小白問題——微信配置不成功
阿新 • • 發佈:2018-12-09
目前專案需要在微信開展 1、網上教程很多的那些前期工作(公眾號配置js安全域名等等)
2、正式開始寫(我需要的是退出功能)
wx.config({ debug: false, // 開啟除錯模式,呼叫的所有api的返回值會在客戶端alert出來,若要檢視傳入的引數,可以在pc端開啟,引數資訊會通過log打出,僅在pc端時才會列印。 appId: item.appid, // 必填,公眾號的唯一標識 timestamp: item.timestamp, // 必填,生成簽名的時間戳 nonceStr: item.noncestr, // 必填,生成簽名的隨機串 signature: item.signature,// 必填,簽名,見附錄1 jsApiList: ['closeWindow'] // 必填,需要使用的JS介面列表,所有JS介面列表見附錄2(我需要的只是退出) });
然後
wx.ready(function(){
alert("成功")
// config資訊驗證後會執行ready方法,所有介面呼叫都必須在config介面獲得結果之後,config是一個客戶端的非同步操作,所以如果需要在頁面載入時就呼叫相關介面,則須把相關介面放在ready函式中呼叫來確保正確執行。對於使用者觸發時才呼叫的介面,則可以直接呼叫,不需要放在ready函式中。
});
wx.error(function(res){ alert("失敗") // config資訊驗證失敗會執行error函式,如簽名過期導致驗證失敗,具體錯誤資訊可以開啟config的debug模式檢視,也可以在返回的res引數中檢視,對於SPA可以在這裡更新簽名。 });
到了這個時候我的資料配置到wx.config,我想當然的要在我的谷歌瀏覽器看效果,但是沒有效果,介面是正確的,既沒有彈出成功也沒有失敗,無法驗證是否配置,原因如下:
所有需要使用JS-SDK的頁面必須先注入配置資訊,否則將無法呼叫(同一個url僅需呼叫一次,對於變化url的SPA的web app可在每次url變化時進行呼叫,目前Android微信客戶端不支援pushState的H5新特性,所以使用pushState來實現web app的頁面會導致簽名失敗,此問題會在Android6.2中修復)。
即需要在微信客戶端才能看到效果,需要在微信的環境下(當時傻了)
如果環境是對的需要考慮之前的步驟有沒有都完成操作
1、域名和之前填的js安全域名是否一致
2、校驗檔案缺失,在配置js安全域名的時候微信會要求我們的安全域名下新增一個有微信提供的校驗檔案
3、開啟debug模式的時候config結果會直接alert出來(可以檢視)
另外吐槽一下weui.js和weui.css需要做一個正經的文件我認為
(個人認為支付寶H5更全面一些對於新手更加友好)