由於angular 是單頁應用,因此在調用一些手機端可微信接口的地方會很麻煩,這裏總結一下在手機端調用分享和調用微信接口的時候出現的問題及解決的辦法:
出現問題:
- 手機端的方法若是有回調,H5須要調用手機端某個方法的回調時,無論在哪一個頁面須要回調該方法都沒法回調成功
- 若是作有關微信公衆平臺接口,在任何頁面也是沒法調用該接口
解決辦法:
- 出現這種問題的緣由是因爲angular是單頁應用引發的
- 解決方案:目前只想到一種解決辦法就是:在index.html頁面申明一個全局變量,而後將手機端或者微信接口的對象賦值給這個全局變量,最後再在相應的頁面作處理。
舉例說明:
一、下面這段代碼是手機端出發分享按鈕分享H5頁面的一段js橋,爲了能夠分享出去H5的商品詳情頁面須要在index頁面申明全局變量clientShare,而後將回調的對象bridge賦值給client
而後在須要分享的頁面處理手機端的回調問題:
二、下面這段代碼是調用微信接口問題。這裏啓動app採用了手動啓用的方式,主要緣由是爲了解決以前微信公衆號須要獲取地理位置來獲取附近店鋪的邏輯,可是本人以爲這個方法並很差,後面發現更好的方法會跟進再也不贅述這個問題。這裏在index頁面聲明瞭一個全局變量sendAndShare 而後將微信的全部接口的對象wx賦值給sendAndShare而後在相應的頁面直接從sendAndShare來獲取相應的接口來進行邏輯處理,這裏是分享至朋友圈和微信的接口:
而後在相應的頁面來獲取sendShare的值: