【问题标题】:What the best way to refresh a wix repeater when a new message receive收到新消息时刷新 wix 中继器的最佳方法是什么
【发布时间】:2020-04-13 20:49:07
【问题描述】:

当一个新的 msg 启动一个新行插入到聊天集合(我的聊天集合包括以下字段 User A、User B、MSG)时,我基于 wix 转发器在我的网站用户之间创建了一个聊天信使,并且信使转发器应该刷新对于两个用户。

所以如果用户 A 向用户 B 发送消息

我应该做以下事情:

  1. 新行插入 DB。
  2. 用户 A 中继器正在刷新。

3.刷新用户 B 中继器

刷新用户 B 中继器的最佳方法是什么?

我使用afterInsert() 知道哪个用户收到了一条消息以及何时收到消息,但现在我需要向该用户发送一个刷新触发器。

我在插入此特定用户后考虑了 sendMessage 功能,然后在收到新消息(use onMessage ) 时刷新用户 B 转发器。主要问题是我不使用wix聊天,所以我无法生成channelId,如果有一个选项可以在没有channelId的情况下从企业向特定用户发送消息,或者在不使用wix聊天应用程序的情况下获取channelId,它将解决这个问题。

我应该使用什么?

【问题讨论】:

    标签: javascript listener velo corvid


    【解决方案1】:

    您可以使用Realtime API 在客户端上为集合创建订阅者。在 afterInsert 函数的后端代码中,向特定客户端发布一条消息,该客户端在回调函数中为转发器中的列表执行刷新函数。您可以将频道信息与您的消息一起存储在您的聊天集合中,以供客户端和后端相互了解。

    【讨论】:

      【解决方案2】:

      您可以做的最好的事情是在页面的 onReady() 函数下设置一个 setInterval() 函数,以每 3-5 秒刷新用户 B 的数据集/中继器,以检查新消息。

      【讨论】:

      • 我不确定这是不是最有效的方法,每 5 秒创建一个查询...也许有一种方法可以使用 wix 聊天 api 为这个特定用户发送消息
      • 我同意这不是“最”有效的方式,但这是现在必须要做的,因为我们无法使用 Wix Chat 生成频道 ID。同样 wix chat 会在一段时间后删除聊天记录,但数据库会保留所有过去的消息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多