混合开发(APP)

最近在开发一款APP,在app中嵌入H5,在配合过程中踩了两个小坑。

1.由于混合开发,(登录app负责),那么在页面完成后对接接口的时候需要传一个token值,都知道token是登录时生成的,此时就需要APP将该值传给我,app大佬表示在url中有给传,截取token传值后token为null,绑到input中显示token有值,那么这是怎么回事。仔细对比发现截取的toke和url中的token有出入,就是因为该token中有特殊字符如:加减乘除等被编码了,获取后没有解码导致。最后还是写了个方法给APP,让其调用该方法时将token值传过来。(当然也可以解码来解决)。

2.写方法给APP调用,这里必须将该方法挂载到window下APP才能调用。

如:

window['getLocationJson']=(jsonData)=>{//用于接收APP传回来的json字符串,然后将其解析为json对象(给APP调用**********需要挂载到window下APP才能调用的到)
  let self=this;
  self.fromApp=JSON.parse(jsonData);
  self.getAppArea=JSON.parse(jsonData).Location;
}

3.调用APP的方法(判断安卓和ios)

if( /(Android)/i.test(navigator.userAgent) ){
  window.android.goLocation('1');    //安卓
}else{
  window.webkit.messageHandlers.goLocation.postMessage('1');  //Ios
}

4.在H5中用a标签或router-link做跳转时安卓不能触发,后面改为点击事件跳转(其实是安卓大佬禁用了重定向)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值