Cauchy1412 / O2E-TU-1

software engineering homework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

聊天接口声明

Cauchy1412 opened this issue · comments

创建聊天
[method]: POST
[route]: chat/create

请求体:

{
  chatroom_name: string
  from_user_id: int  // 发起者
  to_user_id: int  // 接收者
  demand_id: int  // 可选
}

响应体

{
   id: int  // chatroom id
}

对于企业向专家发起会话的请求,发起者为企业用户,接收者为专家用户,且若该聊天不存在,demand_id 必须存在。若该二元组对应的聊天已存在,将直接返回此 id,不会创建新的聊天。

获取聊天列表
[method]: GET
[route]: /api/chat/list

return:
   -chatroom_list: 聊天列表

其中chatroom定义如下
         'chatroom_id':聊天室id (int)
         'from_user_id': 聊天发起者(企业)(int)
         'to_user_id': 聊天接收者(专家)(int)
         'from_user_name': 聊天发起者名称 (string)
         'to_user_name' :聊天接收者名称 (string)
         'from_user_pic':  聊天发起者头像 (ImageField)
         'to_user_pic': 聊天接收者头像 (ImageField)
         'demand_id' : 需求id (int)
         'message_list': 消息列表 (list)
消息列表中每个消息定义如下:
        'message_id' : 消息id (int)
        'from_user_id': 消息发送者(int)
        'to_user_id': 消息接收者(int)
        'from_user_name': 消息发送者名称 (string)
        'to_user_name':消息接收者名称 (string)
        'created_at': 消息创建时间(DateTimeField)
        'read_state':是否已读(int)
        'content':消息内容(string)

发送新消息
[method]: POST
[route]: /api/chat/push
传递参数:
- cId: 聊天室id (int)
- fromId: 消息发送者id (int)
- toId: 消息接收者id (int)
- content: 消息内容 (string)

return:
   'chatroom_id': 消息室id(int)
    'message_id': 消息id(int)