h5(vue)嵌套ios和android双向交互

简介: h5(vue)嵌套ios和android双向交互

封装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');


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


image.png


客户端调H5



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


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


image.png


参考文章


WebViewJavascriptBridge

相关文章
|
2月前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
30 1
|
2月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
35 3
|
5天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
8天前
|
人工智能 安全 Android开发
【专栏】探索未来:Android 与 iOS 在人工智能时代的融合与创新
【4月更文挑战第27天】在人工智能时代,Android和iOS两大移动操作系统巨头正加速融合与创新。Android以其开放性占据广阔市场,集成AI功能如语音助手;而iOS以其稳定性和生态优势,如Siri,提供卓越体验。两者在AI技术、应用场景上相互借鉴,拓展至医疗、教育等领域,并逐步打通生态系统。然而,技术竞争、数据隐私和标准不一是挑战,新市场需求、技术创新和产业合作则带来机遇。未来,二者将继续推动AI发展,为社会进步贡献力量。
|
6天前
|
缓存 Android开发 iOS开发
打造高效移动应用:Android与iOS性能优化策略
【4月更文挑战第29天】 在移动设备日益成为用户日常互动的主要平台的今天,应用程序的性能已成为决定其成功的关键因素之一。本文将探讨针对Android和iOS平台的性能优化技巧,涵盖内存管理、多线程处理、网络请求优化以及用户界面的流畅性提升等方面。通过分析不同操作系统的架构特点,我们旨在提供一套综合性的策略,帮助开发者构建快速、响应迅捷且用户体验良好的应用。
|
20天前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android's AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
11 0
|
20天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
11 0
|
2月前
|
搜索推荐 Android开发 iOS开发
安卓与iOS操作系统的发展与比较
在移动互联网时代,安卓和iOS两大操作系统在智能手机市场竞争激烈。本文将从技术架构、生态系统、用户体验等方面对安卓和iOS进行比较分析,探讨它们各自的特点和发展趋势。
|
2月前
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
60 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
|
2月前
|
移动开发 JavaScript Android开发
Android与Html5交互
Android与Html5交互