之前跟客户端联调可能没有注意到细节问题,这次开发又遇到联调,统一整理下,然后自己也封装一套基础代码
注意android以下情况---安卓没带参数,h5端也需要不带参数 ,安卓需要参数,这边也需要携带参数 否则有bug
注意ios情况下 就算ios不需要携带参数,也需要传空

封装bridge.js

// 封装一个bridge.js 文件 ,然后并把这个文件在main.js 挂载到vue原型上import utils from '@extend/util/util.js'// utils.deviceType 是获取设备类型的方法export default {    callhandler (name,callback,data) {        let result = '';        if(utils.deviceType === 'Android'){            if(data){                // 这是android提前与安卓开发人员协商好                result = window.android[name](data);            }else{                window.android[name]();            }        }        if(utils.deviceType === 'IOS'){            result = window.webkit.messageHandlers[name].postMessage(data);        }        // 这里考虑到可能有的api有返回值,所以返回了个result        callback && callback(result)    },    registerhandler (name, callback) {        if(utils.deviceType === 'Android' || utils.deviceType === 'IOS'){            window[name] = res => {                let data = '';                if(res){                    data = JSON.parse(JSON.stringify(res))                 }                callback && callback(data)            }        }    }}

H5调用客户端

// 只需要一句话调用即可this.$bridge.callhandler('finish');

实际应用--在填写完资料后通知客户端

客户端调H5

// 需要提前先注册this.$bridge.registerhandler('setUserInfo', () => {    this.commit() // commit写在本地的提交方法})

实际应用--在填写完资料后客户端点击右上角保存按钮

参考文章
WebViewJavascriptBridge

更多相关文章

  1. Android(安卓)Studio3.0开发JNI流程------JNI函数
  2. Android(安卓)客户端与服务器端进行数据交互(一、登录服务器端)
  3. Android客户端与服务器交互中的token
  4. android ->在界面上使用URI编程 ----开发笔记1
  5. 服务器端向Android客户端的推送解决方案的讨论
  6. 毕设小结(二)Android进程间通信之LocalSocket
  7. Android登录注册功能封装
  8. Android信息推送技术简要分析
  9. Android微信支付彻底扫坑

随机推荐

  1. 在移动端开发中,容易遇到的问题集合。
  2. 【Android(安卓)Studio 4.0.0】高版本And
  3. 虚拟导航(NavigationBar)栏适配
  4. Android(安卓)Native内存泄漏诊断
  5. 2-3-9 RatingBar
  6. cocosCreator打包Android及更换icon
  7. 【Android】自定义Gradle Plugin实现云端
  8. Android上实现一个简单的天气预报APP(二)
  9. Memory & Threading. (Android(安卓)Perf
  10. 在Android中集成FFmpeg