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) },
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM