異常描述:
微信小程序領取卡券,調用 wx.addCard 接口,安卓手機正常調起領取卡券界面,蘋果手機、微信開發者工具中均出現“參數錯誤”,如圖:

異常解析:
安卓手機能正常調起領取界面,那就說明領取卡券參數是沒有問題的,那么蘋果手機中出現的異常應該就是ios系統對js的某些兼容性問題了。認真再從頭看一遍小程序開發文檔中關於 領取卡券 的部分,能看到這么一句:
注:cardExt 需進行 JSON 序列化為字符串傳入
既然安卓手機訪問正常,那十有八九就是參數格式問題了。
問題解決:
檢查下小程序中領取卡券的參數 cardExt ,如果是傳入的JSON類型的數據,那么就需要對這個參數序列化下了。
JSON.stringify(cardExt)
修改完成之后重新編輯預覽小程序,蘋果手機和開發者工具應該都可以正常領取卡券了。
后記:
對於安卓手機,一如安卓系統的開源性,基於安卓系統的各種應用、瀏覽器對js的兼容性也比較好。但是對於蘋果系統就不好說了,就如本例中JSON參數,安卓系統可以完美的兼容,蘋果系統就不行了。所以如果要完美的兼容蘋果手機,js的各種寫法還是要嚴格來寫的。
原創專業博客,轉載請注明來源地址:https://www.cnblogs.com/xyyt/p/9707156.html
