アプリJSbrideg.jsと通信するVUEのプロジェクトの使用

まず、確立JSbrideg.jsファイル

たjsBridge = {
    isAndroid:ヌル、
    iSiOS:ヌル、
    callHandlerFunc:関数(json_data){
        この= VAR。
        res_data = nullでした。
        NV = nullでした。
        //警告( "callHandlerFunc");
        VAR U = navigator.userAgent。
        that.isAndroid = u.indexOf( 'アンドロイド')> -1 || u.indexOf( 'Adrの')> -1; //アンドロイド终端
        that.isIOS = !! u.match(/ \(I [^;] +;(U;?。)CPU +のMac OS X /); // IOS终端

        {(that.isIOS)場合
            //警告( "IOS")。
            NV = window.GCWebviewJSBridge。
        }そうしないと{
            NV = window.WebViewJavascriptBridge。
        }
        nv.callHandler( 'getOS'、json_data、関数(応答){
            res_data =応答;
        });
        res_dataを返します。
    }、
    initJsBridge:関数(readyCallback){
        この= VAR。
        VAR U = navigator.userAgent。
        VAR isAndroid = u.indexOf( 'アンドロイド')> -1 || u.indexOf( 'Adrの')> -1; //アンドロイド终端
        VAR isIOS = !! u.match(/ \(I [^;] +;(U;?。)CPU +のMac OS X /); // IOS终端
        //登録jsbridge

        関数connectWebViewJavascriptBridge(コールバック){
            IF(isAndroid){
                IF(window.WebViewJavascriptBridge){
                    コールバック(WebViewJavascriptBridge)
                } そうしないと {
                    document.addEventListener(
                        'WebViewJavascriptBridgeReady'
                        、 関数 () {
                            コールバック(WebViewJavascriptBridge)
                        }、
                        偽
                    );
                }
                リターン;
            }
            {(isIOS)場合
                //警告( "ios2222");
                IF(window.GCWebviewJSBridge){
                    復帰コールバック(GCWebviewJSBridge)。
                }
                IF(window.GCWVJSBCallBacks){
                    window.GCWVJSBCallBacks.push(コールバック関数)を返します。
                }

                window.GCWVJSBCallBacks = [コールバック]。
                VAR GCWVJSBIframe =のdocument.createElement( 'IFRAME');
                GCWVJSBIframe.style.display = 'なし';
                GCWVJSBIframe.src = 'gcwvjsbscheme:// __ GC_BRIDGE_LOADED__';
                document.documentElement.appendChild(GCWVJSBIframe)。
                setTimeout(関数(){document.documentElement.removeChild(GCWVJSBIframe)
                }、0);
            }
        }
        //コール登録方法
        connectWebViewJavascriptBridge(関数(ブリッジ){
            IF(isAndroid){
                bridge.init(関数(メッセージ、responseCallback){
                    console.log(、メッセージ 'JSは、メッセージが表示されました');
                    responseCallback(データ)。
                });
            }
            //ここだけcallHandlerウェイサウンドトラックコードを呼び出す方法を登録して?
           // jsbridge_getJsMessageアプリ方法は、所望のデータのデータのフロントエンドに応答バックこの方法によって、遠位パラメータ渡しを定義、定義されています
            bridge.registerHandler( 'jsbridge_getJsMessage'、関数(データ、responseCallback){
                VAR jsdata = JSON.parse(データ)。
              
                responseCallback(2「上のネイティブパス:」+データ)。
            });

            readyCallback();
        });
    }
}
jsBridge.initJsBridge();

輸出のデフォルト{
 
    //オリジナルのネイティブアプリケーションにデータを送信します
     callHandler(データ){
     =データをJSONてみましょう。

    リターンjsBridge.callHandlerFunc(JSON)。
}、

}

第二に、注意を払う:man.jsで登録 
「コンポーネント/ JSbridge」からインポートブリッジ
。Vue.prototype $ブリッジ=ブリッジ。
ユーザのニーズが取得した情報アプリを通信する場合、アクセス許可がないで、ルーティング制御、フロントエンドを実行します 
router.beforeEach((に、次から)=> {})コール、ページがロードされていないので、
window.WebViewJavascriptBridgeか
window.GCWebviewJSBridgeは存在しません。
プロセスはApp.vueであるに私は  
    時計:{//監視
            (からの)「$ルート」{
             
                アプリ= window.localStorage.getItem(「isapp」)しましょう; //アプリかどうかに入ります
                聞かせてuseid = window.localStorage.getItem( 'user_idの'); //获取useid
                IF(APP){
                    もし(!のuseid){
                        IF(to.path == '/' || to.path == '/ C' || to.path == '/ A' || to.path == '/ B'){
                            リターン;
                        }
                 }そうしないと{
                   
                      VaRのJSON = { "タイプ":101、 "VIDEOID": ""}。
                      この$ bridge.callHandler(JSON.stringify(JSON)参照);。、記録バッファ内の通信アプリケーションでは、ユーザID(ユーザ情報)をユーザ情報登録処理を与えます

                 }
           
             }}











おすすめ

転載: www.cnblogs.com/wenqylh/p/12105787.html