男色经典
男色经典
  • 发布:2020-04-14 16:56
  • 更新:2022-03-04 09:58
  • 阅读:5333

如何再次调用 app.vue 里的onshow方法?

分类:uni-app

我在 app.vue的onshow方法里写了连接 webSocket的方法,用来实现用户IM聊天功能。
onshow的时候连,onhide的时候断开。

在连socket的时候,要用到用户的信息。

现在问题来了,用户刚下载APP的时候,没有登录,onshow的时候得不到用户信息,所以不进行调用。
但是,用户登录成功后,怎么调用这个onshow方法?

总不能让用户再打开一次app吧。

如果socket内容不写在onshow里面,又不能监听用户前后台切换的时候断开和连接socket。

2020-04-14 16:56 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

你登录的时候进行连接就好了呀~

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

1***@qq.com

登录成功不能直接进行连接的吗,为什么一定要是onShow里面进行连接...

  • 男色经典 (作者)

    要确保用户的app前后台切换时,让socke自动边接或断开唉。。app切到后台运行,收到的消息要做推送,用户再切回来,要再次进行连接,获取未读消息。

    这个不能写在登录里的。

    2020-04-14 17:09

男色经典

男色经典 (作者)

感谢回复,这个问题我解决了~~~哈哈哈。。
谢谢你的启发。

1***@qq.com

1***@qq.com

解决了就行^_^

李老八

李老八

请问您是怎么解决的?

  • 男色经典 (作者)

    websocket在app.vue里是全局的,在任何地方都可以连接.

    2020-06-16 07:09

1***@qq.com

1***@qq.com

恰巧我在和你做同样的东西,请问如何在其他页面访问App.vue的方法,我使用this.getApp()它直接报错

G***@163.com

G***@163.com

楼主 怎么 连呀 我和你写的一样 问题也一样 给点思路

G***@163.com

G***@163.com

登录页面这么写吗楼主 这些app.vue的 接受消息的不执行呀 求救 求救 求救 求救

2***@qq.com

2***@qq.com

不要那样搞,在APP.vue 的 onShow 方法里开启一个定时器,拿到 userID 时去连接webSocket ,连接成功清除定时器,连接失败继续获取 userID 。百度搜 “我不是费圆” 关注我个人博客,有问题私信我

该问题目前已经被锁定, 无法添加新回复