一:JS调用APP

1、封装公共方法:

/** *js调用APP * @params {*} Obj  传给app参数 */export function JSToNativeAPP(params) {    let isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1;    let isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);    if (isAndroid) {        window.android.JSToNative(JSON.stringify(params))    } else {        // window.webkit.messageHandlers.JSToNative.postMessage(params)        JSToNative(JSON.stringify(params))    }}

2、使用(组件内引入):

import { JSToNativeAPP } from "@/utils";

 

二:APP调用JS

在mounted() 生命周期中接收  NativeToJS挂载在window上(和原生协议好所有调用h5均是次方法,通过接收到的code值来区分不同含义)

//APP调jswindow.NativeToJS = function (e) {  console.log(e)}

例:

mounted () {    let that = this;    window.NativeToJS = function (res) {//res 原生APP给的数据      // console.log(JSON.parse(res));      let data = JSON.parse(res)      if(data.code == 3){//获取cookie  code 为H5与app协商自定义,代表不同含义        if(data.data.cookie){          that.$cookies.set('SESSION',data.data.cookie,0);        }else{          JSToNativeAPP({            "code": 401,            "msg": '登录失效',            "data": null          })        }      }    }  },

****:以上是在维护的项目中正使用的,如果有什么问题或有更好的方法,求告知

更多相关文章

  1. Android(安卓)IjkMediaPlayer编译支持RTSP播放,降低延时500ms左右
  2. Android获取手机号码和运营商信息的方法
  3. [置顶] Android(安卓)经典面试题整理(一)(附答案)
  4. Android(安卓)简单音乐播放器开发
  5. android应用:startActivityForResult使用实例
  6. 做谷歌地图是获得Map key的方法
  7. Android(安卓)6.0 ContextCompat中不包含CheckSelfPermission异
  8. 【Android(安卓)开发教程】自定义ContentProvider
  9. android xml解析 XmlPullParser的使用

随机推荐

  1. android 滚动的缓冲图片
  2. Android Untold Stories --- Selector an
  3. android ---- ImageUtil工具类
  4. android开发【六】(基于android studio3.2
  5. Android CardView设置成普通的Framelayou
  6. Setting up ccache on android 4.0.3
  7. Eclipase插件下载地址
  8. Android放大镜的实现
  9. Android中如何判断内存卡是否存在
  10. android里面模拟按Home键的效果