因為angular 是單頁應用,所以在調用一些手機端可微信接口的地方會很麻煩,這里總結一下在手機端調用分享和調用微信接口的時候出現的問題及解決的辦法:
出現問題:
- 手機端的方法如果有回調,H5需要調用手機端某個方法的回調時,不管在哪個頁面需要回調該方法都無法回調成功
- 如果做有關微信公眾平台接口,在任何頁面也是無法調用該接口
解決辦法:
- 出現這種問題的原因是由於angular是單頁應用引起的
- 解決方案:目前只想到一種解決辦法就是:在index.html頁面申明一個全局變量,然后將手機端或者微信接口的對象賦值給這個全局變量,最后再在相應的頁面做處理。
舉例說明:
1、下面這段代碼是手機端出發分享按鈕分享H5頁面的一段js橋,為了可以分享出去H5的商品詳情頁面需要在index頁面申明全局變量clientShare,然后將回調的對象bridge賦值給client

然后在需要分享的頁面處理手機端的回調問題:

2、下面這段代碼是調用微信接口問題。這里啟動app采用了手動啟用的方式,主要原因是為了解決之前微信公眾號需要獲取地理位置來獲取附近店鋪的邏輯,但是本人覺得這個方法並不好,后面發現更好的方法會跟進不再贅述這個問題。這里在index頁面聲明了一個全局變量sendAndShare 然后將微信的所有接口的對象wx賦值給sendAndShare然后在相應的頁面直接從sendAndShare來獲取相應的接口來進行邏輯處理,這里是分享至朋友圈和微信的接口:

然后在相應的頁面來獲取sendShare的值:
