1. 程式人生 > >vue 與原生app的對接互動(混合開發)

vue 與原生app的對接互動(混合開發)

小夥伴們在用vue開發h5專案特別是移動端的專案,很多都是打包後掛載在原生APP上的,那就少不了與原生互動了,我最近就是在坐這個,踩了一些坑,拿出來給大家分享下。

0.通過url傳輸資料:(一般是在入口頁面傳下app的使用者資訊進來供vue h5使用)

 1 methods: {
 2             // 接收url後的資料
 3             urltext() {
 4                 let loc = location.href;   6                 let n1 = loc.length;//地址的總長度
 7                 let n2 = loc.indexOf("=");//
取得=號的位置 8 let outToken = loc.substr(n2 + 1, n1 - n2);//從=號後面的內容 9 console.log(loc,n1,n2,outToken) 10 this.outTokenPost(outToken) //傳到處理函式 11 }, 12 }

1.原生APP提供一個介面物件的引用(例如一個掃碼的介面,可能還有回撥函式以獲得掃碼結果)

思路就是萬物通過window 進行互動

// 將vue元件的要回調的函式暴露出去
mounted:function
(){ // 將subscanQRCallBack方法繫結到window下面,提供給外部呼叫 window['scanQRCallBack'] = (result) => { this.subscanQRCallBack(result) } },
methods:{ scan(){
// alert('開始掃碼了') window.client.startScanQR('OS與js互動',scanQRCallBack)  // 通過window呼叫app提供的client物件 }, subscanQRCallBack(result){
// alert('掃碼結果6466:'+result); this.scanPost(result) },
}