TIMMsgGetMsgList

功能介绍

获取指定会话的消息列表

从 msg_getmsglist_param_last_msg 指定的消息开始获取本地消息列表,msg_getmsglist_param_count 为要获取的消息数目。msg_getmsglist_param_last_msg 可以不指定,不指定时表示以会话最新的消息为 LastMsg 。

若指定 msg_getmsglist_param_is_ramble 为true则本地消息获取不够指定数目时,会去获取云端漫游消息。

msg_getmsglist_param_is_forward 为true时表示获取比 msg_getmsglist_param_last_msg 新的消息,为false时表示获取比 msg_getmsglist_param_last_msg 旧的消息

拉取 C2C 消息时,只能使用 msg_getmsglist_param_last_msg 作为消息的拉取起点;如果没有指定 msg_getmsglist_param_last_msg,默认使用会话的最新消息作为拉取起点

拉取 Group 消息时,除了可以使用 msg_getmsglist_param_last_msg 作为消息的拉取起点外,也可以使用 msg_getmsglist_param_last_msg_seq 来指定消息的拉取起点,二者的区别在于:

使用 msg_getmsglist_param_last_msg 作为消息的拉取起点时,返回的消息列表里不包含 msg_getmsglist_param_last_msg;

使用 msg_getmsglist_param_last_msg_seq 作为消息拉取起点时,返回的消息列表里包含 msg_getmsglist_param_last_msg_seq 所表示的消息;

在拉取 Group 消息时

如果同时指定了 msg_getmsglist_param_last_msg 和 msg_getmsglist_param_last_msg_seq,SDK 优先使用 msg_getmsglist_param_last_msg 作为消息的拉取起点

如果 msg_getmsglist_param_last_msg 和 msg_getmsglist_param_last_msg_seq,SDK 都未指定,消息的拉取起点分为如下两种情况:

如果设置了拉取的时间范围,SDK 会根据 kTIMMsgGetMsgListParamTimeBegin 所描述的时间点作为拉取起点

如果未设置拉取的时间范围,SDK 默认使用会话的最新消息作为拉取起点

参数详解

参数名称 参数类型 是否必填 描述
msgGetMsgListParams MsgGetMsgListParams 获取指定会话的消息列表的参数

返回模板

Promise<commonResult<Array<Json_value_msg>>>

{
    code: TIMResult | TIMErrCode;
    desc?: string | undefined;
    json_param?: Array<Json_value_msg> | undefined;
    json_params?: Array<Json_value_msg> | undefined; // 兼容
    user_data?: string | undefined;
}

返回值详解

名称 数值类型 描述
code TIMResultTIMErrCode 返回状态码
desc string | undefined 返回描述
json_param Array< Json_value_msg > | undefined 根据具具体接口返回
json_params Array< Json_value_msg > | undefined 兼容的字段,某些情况下会返回这个,根据具体接口返回
user_data string | undefined ImSDK负责透传的用户自定义数据,未做任何处理

代码示例

import TimRender from "im_electron_sdk/dist/renderer";
const timRenderInstance = new TimRender();
import { MsgGetMsgListParams,Json_get_msg_param,userProfileCustom,GroupMemberInfoCustemString,GroupMemberInfo,userProfile,Json_value_msg } from "im_electron_sdk/dist/interfaces";
let convId = ''
let convType=0
let userProfileCustom:userProfileCustom = {
    user_profile_custom_string_info_key: '',
    user_profile_custom_string_info_value: 'string;'
}

let groupMemberCustom : GroupMemberInfoCustemString = {
    group_member_info_custom_string_info_key: '',
    group_member_info_custom_string_info_value: '',
}

let groupMemberInfo:GroupMemberInfo ={
    group_member_info_identifier: '',
    group_member_info_join_time: 0,
    group_member_info_member_role: 0,
    group_member_info_msg_flag: 0,
    group_member_info_msg_seq: 0,
    group_member_info_shutup_time: 0,
    group_member_info_name_card: '',
    group_member_info_custom_info: [groupMemberCustom]
}

let senderProfile:userProfile = {
    user_profile_add_permission: 0,
    user_profile_birthday:0,
    user_profile_custom_string_array: [userProfileCustom],
    user_profile_face_url: '',
    user_profile_gender: 0,
    user_profile_identifier:'',
    user_profile_language: 0,
    user_profile_level: 0,
    user_profile_location: '',
    user_profile_nick_name: '',
    user_profile_role: 0,
    user_profile_self_signature: '',
}

let last_msg:Json_value_msg = {
    message_elem_array: [{
            elem_type: 1,
            text_elem_content:'',
        }],
        message_conv_id: '',
        message_conv_type: 0,
        message_sender: '',
        message_priority: 0,
        message_client_time: 0,
        message_server_time: 0,
        message_is_from_self: false,
        message_platform: 0,
        message_is_read: false,
        message_is_online_msg:false,
        message_status: 0,
        message_custom_int: 0,
        message_custom_str: '',
        message_is_excluded_from_unread_count: false,
        message_group_at_user_array: [''],
        message_is_forward_message: false,
        message_sender_profile: senderProfile,
        message_sender_group_member_info: groupMemberInfo,
        message_offline_push_config: {}
}
let params : Json_get_msg_param = {
    msg_getmsglist_param_last_msg: last_msg,    //选填
    msg_getmsglist_param_count: 0,    //选填
    msg_getmsglist_param_is_ramble: true,    //选填
    msg_getmsglist_param_is_forward: false,    //选填
    msg_getmsglist_param_last_msg_seq:0,    //选填
    msg_getmsglist_param_time_begin: 0,    //选填
    msg_getmsglist_param_time_period: 0,    //选填
}

let param:MsgGetMsgListParams = {
    conv_id: convId,    //必填
    conv_type: convType,    //必填
    params: params,    //必填
    user_data: ''     //选填
}

const {code} = await timRenderInstance.TIMMsgGetMsgList(param);
if(code == 0){
    // 成功
}

results matching ""

    No results matching ""