收藏
回答

判断用户是否在线?

问题一:这是一个服务者的小程序,需要判断服务者的在线状态让c端用户知晓,目前已知小程序应用生命周期onShow可以判断在线状态,onHide可以判断小程序进入后台,小程序进入后台后五分钟会被清除,如果我在onHide设置定时任务,设置四分钟之后调用后端接口,但是在这四分钟之内小程序被清除,定时器是否还会执行?定时器的接口是否会被调用?

我目前的思路:onShow调用接口告知后端我已上线,onHide调用接口告知进入后台,后端监听,如果五分钟之内我没有再次调用onShow的接口,后端自行修改我的状态为离线。

这个思路基于小程序被清除之后定时任务不会发出请求。而且不知道后端那边会不会很难不好搞(我的后端说可以实现)

问题二:想问一下大家还有没有什么更好一点的办法?谢谢

回答关注问题邀请回答
收藏

3 个回答

  • 风清雾散云开见日出
    风清雾散云开见日出
    05-05

    直接在app.js中执行一个定时方法,每5分钟执行一次定时,更新一下用户的时间,后端根据这个时间判断用户是否在线,超过6分钟就离线,在6分钟内就在线。

    05-05
    有用 1
    回复 1
    • KFF
      KFF
      05-06
      好的,我这边尝试一下,谢谢
      05-06
      回复
  • 老医翁
    老医翁
    发表于移动端
    05-02
    x
    05-02
    有用
    回复
  • 拾忆
    拾忆
    05-02

    小程序进入后台后应该是无法继续调用API(部分官方API,如播放背景音乐和实时定位除外)。

    05-02
    有用
    回复 3
    • KFF
      KFF
      05-06
      请求也发不出去吗?
      05-06
      回复
    • KFF
      KFF
      05-06
      这个生命周期如果会执行的话,可以尝试在这里发送请求
      05-06
      回复
    • 拾忆
      拾忆
      05-06回复KFF
      发不出去,截图的文字也说的是被销毁前可以“保存”一些数据,下次启动的时候获取这部分数据再处理。
      05-06
      回复
登录 后发表内容