【发布时间】:2020-04-05 11:27:24
【问题描述】:
我有这个工作:
Echo.join(`chat.${roomId}`)
.here((users) => {
//
})
.joining((user) => {
this.users.push(user);
this.saveStatus(user, 'online');
})
.leaving((user) => {
this.users = this.users.filter(u => u.id != user.id);
this.saveStatus(user, 'offline');
});
这向我显示了当前用户的准确列表。 但我想要的是将它们的状态也存储在带有时间戳的数据库中。
所以我想到了这个功能:
saveStatus(user, status) {
axios.post("/logbooks", { user_id: user.id, status: "offline"})
}
并在加入和离开状态下调用该函数。 但这并不准确:当只有一个用户在线时,它不会存储值。而当有 20 个用户下线时,一个用户下线 > 会存储这个值的 19 倍。
任何提示如何获得更准确的在线离线日志到数据库?
【问题讨论】:
标签: laravel pusher laravel-echo laravel-7 pusher-js