zoukankan      html  css  js  c++  java
  • 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) },
    }
  • 相关阅读:
    实现控件的拖拽
    自定义控件——安卓旋转动画
    MD5简单实例
    TextView来实现跑马灯的效果
    Intent的简单使用
    SharedPreferences的封装
    ViewPager+fragment的使用
    安卓定时器
    2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器
    2020重新出发,MySql基础,MySql表数据操作
  • 原文地址:https://www.cnblogs.com/nogodie/p/10029858.html
Copyright © 2011-2022 走看看