我在 app.vue的onshow方法里写了连接 webSocket的方法,用来实现用户IM聊天功能。
onshow的时候连,onhide的时候断开。
在连socket的时候,要用到用户的信息。
现在问题来了,用户刚下载APP的时候,没有登录,onshow的时候得不到用户信息,所以不进行调用。
但是,用户登录成功后,怎么调用这个onshow方法?
总不能让用户再打开一次app吧。
如果socket内容不写在onshow里面,又不能监听用户前后台切换的时候断开和连接socket。
我在 app.vue的onshow方法里写了连接 webSocket的方法,用来实现用户IM聊天功能。
onshow的时候连,onhide的时候断开。
在连socket的时候,要用到用户的信息。
现在问题来了,用户刚下载APP的时候,没有登录,onshow的时候得不到用户信息,所以不进行调用。
但是,用户登录成功后,怎么调用这个onshow方法?
总不能让用户再打开一次app吧。
如果socket内容不写在onshow里面,又不能监听用户前后台切换的时候断开和连接socket。
10 个回复
1***@qq.com
你登录的时候进行连接就好了呀~
1***@qq.com
退出就断开一样的道理来的
男色经典 (作者)
不不不,我要先得到用户信息才能连,不然我哪知道谁是谁呀。
2020-04-14 16:58
1***@qq.com
回复 男色经典: 登录了不就是可以获取到用户信息了吗....
2020-04-14 16:59
男色经典 (作者)
回复 1***@qq.com: 登录了是可以获得用户信息了,可是app.vue里的onshow方法也不会再执行了,现在的问题的就如何在登录的页面里判断登录成功的时候让这个onshow再执行一次。。。
2020-04-14 17:01
1***@qq.com
登录成功不能直接进行连接的吗,为什么一定要是onShow里面进行连接...
男色经典 (作者)
要确保用户的app前后台切换时,让socke自动边接或断开唉。。app切到后台运行,收到的消息要做推送,用户再切回来,要再次进行连接,获取未读消息。
这个不能写在登录里的。
2020-04-14 17:09
男色经典 (作者)
感谢回复,这个问题我解决了~~~哈哈哈。。
谢谢你的启发。
1***@qq.com
解决了就行^_^
李老八
请问您是怎么解决的?
男色经典 (作者)
websocket在app.vue里是全局的,在任何地方都可以连接.
2020-06-16 07:09
1***@qq.com
恰巧我在和你做同样的东西,请问如何在其他页面访问App.vue的方法,我使用this.getApp()它直接报错
G***@163.com
楼主 怎么 连呀 我和你写的一样 问题也一样 给点思路
G***@163.com
登录页面这么写吗楼主 这些app.vue的 接受消息的不执行呀 求救 求救 求救 求救
2***@qq.com
不要那样搞,在APP.vue 的 onShow 方法里开启一个定时器,拿到 userID 时去连接webSocket ,连接成功清除定时器,连接失败继续获取 userID 。百度搜 “我不是费圆” 关注我个人博客,有问题私信我