GoEasyIM - 会话列表和未读计数

帮助开发者在自己的项目里展示用户最近的会话列表, 显示每个会话的最后一条消息和未读消息数量。

开发者需要通过两个接口协同,才能让会话列表总是保持最新状态:

  1. 获取最新会话列表
  2. 监听会话列表变化

获取最新会话列表

可以获取最新的100条会话。

    var promise = im.latestConversations();

    promise.then(function(result) {
        //会话列表结果
        // {
        //     code: 200,
        //     content: {
        //         unreadTotal: 15,//未读消息总数
        //         conversations: [
        //             {
        //                 type: 'group', groupId: 'group001',
        //                 unread: 5, //未读消息条数
        //                 lastMessage: { //最后一条消息
        //                     "type": "text", "timestamp": 1594958217087, "senderId": "3bb179af-bcc5-4fe0-9dac-c05688484649",
        //                     "payload": {"text": "Hello, GoEasyIM"}
        //                 }
        //             },
        //             {
        //                 type: 'private', userId: 'user001',
        //                 unread: 10, //未读消息条数
        //                 lastMessage: {//最后一条消息
        //                     "type": "audio", "timestamp": 1594958490234, "senderId": "fdee46b0-4b01-4590-bdba-6586d7617f95",
        //                     "payload": {
        //                         "name": "20200717120129175.m4a", "contentType": "audio/m4a", "duration": 2.46, "size": 15220,
        //                         "url": "https://goeasy-hangzhou.oss-cn-hangzhou.aliyuncs.com/goeasy-im/20200717120129175.m4a"
        //                     }
        //                 }
        //             }
        //         ]
        //     }
        // };
    }).catch(function(error) {
        console.log("Failed to get the latest conversations, code:" + error.code + " content:" + error.content);
    });

监听会话列表变化

每当会话列表发生变化,该监听器都会被触发,并返回最新的会话列表。

    var onConversationsUpdated = function(conversations) {
            //更新后的最新会话列表
            // {
            //     unreadTotal: 15, //未读消息总数
            //     conversations: [
            //         {
            //             type: 'group', groupId: 'group001',
            //             unread: 5, //未读消息条数
            //             lastMessage: { //最后一条消息
            //                 "type": "text", "timestamp": 1594958217087, "senderId": "3bb179af-bcc5-4fe0-9dac-c05688484649",
            //                 "payload": {"text": "Hello, GoEasyIM"}
            //             }
            //         },
            //         {
            //             type: 'private', userId: 'user001',
            //             unread: 10, //未读消息条数
            //             lastMessage: {//最后一条消息
            //                 "type": "audio", "timestamp": 1594958490234, "senderId": "fdee46b0-4b01-4590-bdba-6586d7617f95",
            //                 "payload": {
            //                     "name": "20200717120129175.m4a", "contentType": "audio/m4a", "duration": 2.46, "size": 15220,
            //                     "url": "https://goeasy-hangzhou.oss-cn-hangzhou.aliyuncs.com/goeasy-im/20200717120129175.m4a"
            //                 }
            //             }
            //         }
            //     ]
            // };
    };

    //监听会话列表更新
    im.on(GoEasyIM.EVENT.CONVERSATIONS_UPDATED, onConversationsUpdated);

results matching ""

    No results matching ""