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

What is the best 1-1 chat model ? (AJAX/CI/JQ)

本文关键字:AJAX CI JQ 是什么 聊天 模式      更新时间:2023-09-26

我正在创建一个系统,计划让用户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进入生成聊天会话页面
  3. 用户A从列表中选择用户B
  4. 用户A生成聊天会话/app/chatid/007
  5. 用户A复制并粘贴URL,以便通过收件箱将其发送给用户B
  6. 用户A和用户B就他们希望聊天的时间达成一致

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

  1. 用户A在hh;mm,用户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),它有用户名/ids(无论你在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}