混合开发:
原生app里面,IOS 安卓的原生app里面,嵌套h5界面。
通过原生app里的一个webView盒子进行交互。webView是原生app内置的一个XXX,里面可以放置h5界面。可以相互调用方法。
从app内部点进来到h5界面,首先判断是否登录。
第一步:判断 是什么端
let isios = !!navigator.userAgent.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
第二步: 判断是否登录 前端规定方法名,然后调用 ,ios 安卓都用这个方法。
suareDataObj.communityLogin(); // 判断状态
这就发送了状态给了原生app
第三步 ,在全局注册一个方法给原生app调用。
function updateCommunity(token, account){ // alert('触发更新'); window.myApp.$children[0].updateLinster(token, account); }
原生app调用本地方法的时候,把数据传递给我。我会在函数里把数据保存在内存中。用于各种操作。
第四步 ,发送数据给原生app
computed (){ let transmitDate = [] transmitDate.push(this.actCode,this.activityBetime,this.activityEndtime); JSON.stringify(transmitDate) //组织数据 squareDataObj.getActStatus(transmitDate); //传递活动数据给ios 安卓 alert(transmitDate) }
首先拼接一下他们需要的数据,通过调用原生方法。 把数据传递过去。