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

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

慕沐林林

记录下最后是怎么解决问题的!补充下需求,需要将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,限制只调用一次。

蓝山帝景

你描述的不清楚:这个功能分为以下几步:1:H5需要知道用户已经登录,也就是oc要通知H5用户已经登录,可以在页面传参数userId,H5这个页面监测到有值则用户登录了,否则就没有登录。2:if(this.$route.query.userId){//调接口getUserToken(){获取用户tokendosomething}}else{dosomething}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript