前言
在移动互联网时代,应用的跨平台性越来越重要。而 uniapp 则成为了实现跨平台的一种利器。但是对于安卓和 ios 之间的交互,仍然是一个让开发者头疼的问题。本文将深入探讨 uniapp 与安卓 ios 之间的交互,帮助开发者更好地应对这一挑战。
实现思路
- 需要调用获取系统信息同步接口
- 通过系统信息判断是安卓还是
ios
- 进行交互信息
案例
这是一个点击事件中的交互
-
data
中的参数是ios
需要我传递的信息; -
intGoodsId
是ios
会给到的参数名; -
this.userId
是我获取到我当前商品的id
; -
offActDetMsg
是ios
给的方法,直接调用就可以执行他的这个方法; -
toChange
是安卓给的方法,直接调用就可以执行他的这个方法; -
this.detailsList
是安卓需要我传递给他的信息且以json
字符串的形式给到安卓。
关键代码
// 点击立即兑换按钮
btnClick() {
let systemPhone = uni.getSystemInfoSync();//调用获取系统信息同步接口
//console.log(systemPhone,"获取系统信息")
let data = {
intGoodsId: this.userId,
}
//和ios交互信息
if (systemPhone.platform == 'ios') {
//更换offActDetMsg
window.webkit.messageHandlers.offActDetMsg.postMessage(data);//data是拿到上面定义的data
} else {
//和安卓交互信息
window.BusinessBridgeModule.callNative('toChange', JSON.stringify(this.detailsList));
}
}