RelaxingChat|前后端消息协议

2025/1/7 RelaxingChat

# 前后端协议

# /chat/msg 消息发送接口 请求

{
  "roomId": 0,  // 会话id
  "msgType": 0, // 消息类型 1文本消息 2撤回消息 3图片消息 4文件 5语音 6视频
  "body": {},   // 消息内容 类型不同则请求不同
}
1
2
3
4
5

# 1.文本消息

{
  "msgType": 1,// 消息类型 1文本消息
  "roomId": 0,// 会话id
  "body": {
    "content":"哈哈哈",// 文本消息内容
    "replyMsgId":1,// 回复的消息id,如果没有则不用传
    "atUidList":[10029]// @的uid集合
  },
}
1
2
3
4
5
6
7
8
9

管理员有权限艾特全体成员,如果艾特的是全体成员,uid直接传0

# 2.撤回消息

{
  "msgType": 2,// 消息类型 2撤回消息
  "roomId": 0,// 会话id
  "body": {},
}
1
2
3
4
5

# 3.图片消息

{
  "msgType": 3,//消息类型 3图片消息
  "roomId": 0,//会话id
  "body": {
    "size": 123,//大小(字节)
    "width": 123,//宽度(像素)
    "height": 123,//高度(像素)
    "url": "www.baidu.com"//下载地址
  },
}
1
2
3
4
5
6
7
8
9
10

# 4.文件消息

{
  "msgType": 4,//消息类型 4文件消息
  "roomId": 0,//会话id
  "body": {
    "size": 123,//大小(字节)
    "fileName": "fileName",//文件名
    "url": "www.baidu.com"//下载地址
  },
}
1
2
3
4
5
6
7
8
9

# 5.语音消息

{
  "msgType": 5,//消息类型 5语音消息
  "roomId": 0,//会话id
  "body": {
    "size": 123,//大小(字节)
    "second": 123,//时长(秒)
    "url": "www.baidu.com"//下载地址
  },
}
1
2
3
4
5
6
7
8
9

# 6.视频消息

{
  "msgType": 5,//消息类型 5语音消息
  "roomId": 0,//会话id
  "body": {
    "size": 123,//大小(字节)
    "url": "www.baidu.com",//下载地址
    "thumbWidth": 123,//缩略图宽度(像素)
    "thumbHeight": 123,//缩略图高度(像素)
    "thumbSize": 123,//缩略图大小(字节)
    "thumbUrl": "www.baidu.com",//缩略图下载地址
  },  //消息内容 根据类型不同请求不同
}
1
2
3
4
5
6
7
8
9
10
11
12

# /chat/msg 消息发送接口 返回

{
  "code": 0,
  "message": "",
  "data": {
    "fromUser": {
      "uid": "",
      "username": "",
      "avatar": "",
      "locPlace": ""
    },
    "msg": {
      "type": 0, //消息类型
      "body": {},//消息内容不同的消息类型,内容体不同
      "id": 0,
      "messageMark": {
        "dislikeCount": 0,
        "likeCount": 0,
        "userDislike": 0,
        "userLike": 0
      }
    },
    "sendTime": "",
  },
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

以下皆为msg的json格式

# 1.文本消息

 {
  "type": 1,//消息类型 1正常文本
  "body": {
    "content": "1",
    "urlContentMap": {
      "www.baidu.com": {
        "title": "百度一下,你就知道",
        "description": "全球领先的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求",
        "image": "https://www.baidu.com/favicon.ico"
      }
    },
    "atUidList":[1],//@的uid集合
    "reply": {
      "id": 1,
      "username": "放",
      "type": 1,
      "body": "原消息已被撤回",//根据不同类型回复的消息展示也不同
      "canCallback": 1,
      "gapCount": 1
    }
  } 
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  1. 如果atUidList中有uid等于0,代表艾特全体成员处理
  2. 如果atUidList中有用户的uid,代表用户被艾特,需要有特殊效果,比如消息框变红等

# 2.撤回消息

 {
  "type": 2,//消息类型 2撤回消息
  "body": "\"放\"撤回了一条消息"
}
1
2
3
4

# 3.图片消息

{
"type": 3,//消息类型 3图片消息
"body": {
    "size": 123,//大小(字节)
    "width": 123,//宽度(像素)
    "height": 123,//高度(像素)
    "url": "www.baidu.com"//下载地址
  }
}
1
2
3
4
5
6
7
8
9

# 4.文件消息

{
"type": 4,//消息类型
"body": {
    "size": 123,//大小(字节)
    "fileName": "fileName",//文件名
    "url": "www.baidu.com"//下载地址
  }
}
1
2
3
4
5
6
7
8

# 5.语音消息

{
"type": 5,//消息类型
"body": {
    "size": 123,//大小(字节)
    "second": 123,//时长(秒)
    "url": "www.baidu.com"//下载地址
  }
}
1
2
3
4
5
6
7
8

# 6.视频消息

{
"type": 6,//消息类型
"body": {
    "size": 123,//大小(字节)
    "url": "www.baidu.com",//下载地址
    "thumbWidth": 123,//缩略图宽度(像素)
    "thumbHeight": 123,//缩略图高度(像素)
    "thumbSize": 123,//缩略图大小(字节)
    "thumbUrl": "www.baidu.com",//缩略图下载地址
  }
}
1
2
3
4
5
6
7
8
9
10
11

# websocket req请求

前端请求

# 1.登录请求二维码

# 2.心跳包

# 3.登录验证

{
  "type":3,
  "req": {
    "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiZW1haWwiOiIxMzI5NjYzNDY1N0AxNjMuY29tIiwicGFzc3dvcmQiOiI0MmEyNjJlYTJlMDA2OWY1NWY2OTY5MWE3OTc1OGMyMyIsImlzcyI6InJlbGF4aW5nIiwiZXhwIjoxNzM2NDE5NDc3fQ.k_uPuuD2uLAGciv56UlVg1FvvpsAL5u8pf4ZJGOIxVM"
  }
}
1
2
3
4
5
6

# 4.邮箱登录请求

{
  "type":4,
  "req": {
    "email":"xxx@qq.com"
  }
}
1
2
3
4
5
6

# websocket res返回

后端返回

# 1.登录二维码返回

# 3.登录成功

在ws用户认证的时候,后端返回认证成功type=3,并返回用户信息、

{
  "type": 3,
  "res": {
    "uid": 1,
    "avatar": "...",
    "token": "...",
    "name": "放",
  }
}
1
2
3
4
5
6
7
8
9

# 5.用户上下线通知

{
  "type": 5,
  "res": {
    "uid": 1,
  }
}
1
2
3
4
5
6
Last Updated: 2025/1/8 21:37:04