为了账号安全,请及时绑定邮箱和手机立即绑定

萌新!vue 中使用 webview 与安卓交互问题求指导!

萌新!vue 中使用 webview 与安卓交互问题求指导!

POPMUISE 2019-10-16 10:42:22
h5界面需要嵌入到原生app中,用户登录后需要将用户登录信息传回vue,安卓要求根目录下新建html文件,文件中定义函数,例如functioncallJS(token){alert('token:'+token);}问题是我如何检测到这个html中的callJS这个函数,以及如何监测到有token值返回时跳转路由呢?
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

记录下最后是怎么解决问题的!补充下需求,需要将vue项目嵌入到原生安卓app内,安卓通过webview调用js内定义的函数,将用户登陆后相关的信息传给js。将上面提到的callJS函数定义在了app.vue中,具体代码如下:
mounted(){
//声明全局函数
window["callJS"]=(token)=>{
this.callJS(token);
};
},
methods:{
callJS(token){
//这里将token等信息存在session或者store中
}
然后在/public/index.html中进行调用,
window.callJS(token);
但是后面发现路由只要有路由跳转就会调用callJS,至今没有想明白是什么原因导致的。定义了一个全局变量初始值false,第一次调用后赋值为true,限制只调用一次。
                            
查看完整回答
反对 回复 2019-10-16
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

你描述的不清楚:这个功能分为以下几步:1:H5需要知道用户已经登录,也就是oc要通知H5用户已经登录,可以在页面传参数userId,H5这个页面监测到有值则用户登录了,否则就没有登录。2:if(this.$route.query.userId){
//调接口
getUserToken(){
获取用户token
dosomething
}else{
dosomething
}
                            
查看完整回答
反对 回复 2019-10-16
  • 2 回答
  • 0 关注
  • 234 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信