[会话]获取消息列表

  • 接口地址: /api/fresns/dialog/messages
  • 请求方式: POST
  • 请求格式: JSON

header 可选参数:

参数名公开模式(是否必传)私有模式(是否必传)
uidYESYES
midYESYES
tokenYESYES

body 参数:

参数名类型是否必传说明
dialogIdNumberYES会话 ID
pageSizeNumberNO每页显示条数(默认 30 条)
pageNumberNO页码(默认 1)

返回结果:

成功

{
    "code": 0,
    "message": "ok",
    "data": {
        "dialogId": "dialogs > id",
        "member": {
            "deactivate": "members > deleted_at 布尔型(停用为 true),如果该成员已经停用,或者查不到数据(已删除),以下参数为空,头像除外",
            "mid": "dialogs > a_member_id 或者 b_member_id",
            "mname": "members > name",
            "nickname": "members > nickname",
            "avatar": "members > avatar_file_url,成员头像为空时 default_avatar 键值,已注销头像 deactivate_avatar 键值",
            "decorate": "members > decorate_file_url",
            "verifiedStatus": "members > verified_status",
            "verifiedIcon": "members > verified_file_url",
            "verifiedDesc": "members > verified_desc"
        },
        "pagination": {
            "total": "一共有多少条数据",
            "current": "当前页码",
            "pageSize": "每页有多少条数据",
            "lastPage": "最后一页页码"
        },
        "list": [
            {
                "messageId": "dialog_messages > id",
                "isMe": "1.我发的 / 2.对方发的",
                "type": "1.文本消息 / 2.文件消息",
                "content": "dialog_messages > message_text",
                "file": {
                    "fid": "dialog_messages > file_id >> files > uuid",
                    "type": "files > file_type",
                    "name": "files > file_name",
                    "extension": "files > file_extension",
                    "mime": "file_appends > file_mime",
                    "size": "file_appends > file_size",
                    "imageWidth": "file_appends > image_width",
                    "imageHeight": "file_appends > image_height",
                    "imageLong": "图片专用:file_appends > image_is_long",
                    "imageThumbUrl": "图片专用:images_bucket_domain + 文件 file_path 字段 + images_post_thumb",
                    "imageSquareUrl": "图片专用:images_bucket_domain + 文件 file_path 字段 + images_post_square",
                    "imageBigUrl": "图片专用:images_bucket_domain + 文件 file_path 字段 + images_post_big",
                    "videoTime": "视频专用:file_appends > video_time",
                    "videoCover": "视频专用:videos_bucket_domain + 文件 video_cover 字段",
                    "videoGif": "视频专用:videos_bucket_domain + 文件 video_gif 字段",
                    "videoUrl": "视频专用:videos_bucket_domain + 文件 file_path 字段",
                    "audioTime": "音频专用:file_appends > audio_time",
                    "audioUrl": "音频专用:audios_bucket_domain + 文件 file_path 字段",
                    "moreJson": {
                        // file_appends > more_json
                    }
                },
                "sendDeactivate": "members > deleted_at 布尔型(停用为 true),如果该成员已经停用,或者查不到数据(已删除),sendMid 参数为空",
                "sendMid": "dialog_messages > send_member_id",
                "sendAvatar": "members > avatar_file_url,成员头像为空时 default_avatar 键值,已注销头像 deactivate_avatar 键值",
                "sendTime": "dialog_messages > created_at"
            }
        ]
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

失败

{
    "code": "code_messages > code",
    "message": "code_messages > message"
}
1
2
3
4

开发说明

  • 验证 middialogs > a_member_id 或 b_member_id 是否匹配。
  • 返回参数 sendTime 先根据传参时区(或默认时区)转换服务器时间和数据库字段时间,再做判断后输出。
    • 1、当前时间和服务器时间,属于同一天,输出「hh:mm」
    • 2、不是同一天,但是同一年,输出「mm-dd hh:mm」
    • 3、不是同一天,也不是同一年,输出「yyyy-mm-dd hh:mm」
  • 所有涉及文件的参数,需要判断是否开启了防盗链,如果开启了,不能直接使用 URL 字段值,需要获取防盗链链接。