gpt4 book ai didi

javascript - 什么是最好的 1-1 聊天模式? (AJAX/CI/JQ)

转载 作者:行者123 更新时间:2023-11-30 13:22:44 25 4
gpt4 key购买 nike

我正在创建一个系统,我计划让用户 A 生成一个特殊的聊天链接,以便他/她可以与用户 B 进行交流。这是一个 1-1 聊天模型。我的模型的架构如下。我需要知道它是否实用或是否可以改进。

table messages
chatid; {fk}
message_id; {pk}
timestamp;
sender;

table chat
chatid; {pk}
userA;
userB;
timestamp;

场景的控制流程如下:

  1. 用户 A 有意与用户 B 聊天。
  2. 用户 A 进入生成聊天 session 页面。
  3. 用户 A 从列表中选择用户 B。
  4. 用户 A 生成聊天 session /app/chatid/007
  5. 用户 A 复制并粘贴 URL 以通过收件箱将其发送给用户 B。
  6. 用户 A 和用户 B 商定他们希望聊天的时间

我知道,有点奇怪,因为我不知道如何实现一个检查用户在线/离线的系统,尽管如果您有想法可以加入。

  1. 用户 A 在 hh;mm 上打开聊天 URL,用户 B 也是如此。
  2. 他们开始聊天。
  3. 页面没有重新加载,他们聊得很开心。

结束。等待您的回复。

由 Asker 编辑

我正在查看此架构。我不知道如何进一步添加以显示用户 a/用户 b 在线/离线;也许是 last_activity?你告诉。

tbl_chat
-------------
chat_id (pk)
user_id_a (fk)
user_id_b (fk)
timestamp
tinyint;

tbl_msg
-------------
message_id (pk)
chat_id (fk)
user_id_sender (fk)
message_body
timestamp

添加了tinyint;到 tbl_chat所以当用户 A 点击 kill chat 时,它变成 1 ,默认为 tinyint =0;所以这会扼杀聊天。

最佳答案

为了能够将聊天扩展到两个以上的用户并且不必在查询中同时检查 chat.userA 和 chat.userB,我不会在聊天表中使用 userA 和 userB。相反,我会添加一个表(例如 chat_users),其中包含用户名/id(无论您在 userA 和 userB 中输入什么)和一个 chatid。除此之外,我会说消息需要一个正文。

table messages
chatid; {fk}
message_id; {pk}
timestamp;
userid; {fk}
body;

table chat
chatid; {pk}
timestamp;

table chat_user
userid; {fk}
chatid; {fk}

关于javascript - 什么是最好的 1-1 聊天模式? (AJAX/CI/JQ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9632058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com