前言
在开发 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));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79441.html