我有这个工作:
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 倍。
任何提示如何获得更准确的在线离线日志到数据库?