GoEasyIM - 发送自定义消息

自定义消息,可以根据自己的业务更灵活的扩展消息类型,方便的创建除了文本,图片和视频等以外的其他类型消息。
例如:投骰子功能,或者电商客服发送订单,医疗系统发送处方,以及发送红包,发送位置坐标等任何业务需要的自定义类型消息。

创建自定义消息

可以发送一个任意自定义格式的对象,或字符串,但不能包括文件,如需包含文件,只能是文件的路径。

    //示例:创建一个自定义的类型为'order'订单消息
    var order = {   
        number: '20201818005',
        product: 'Mate 30 Pro',
        image: 'https://n.sinaimg.cn/sinacn10123/200/w640h360/20190916/e3d2-ietnfsp7076350.jpg',
        price: 3999
    };    

    var message = im.createCustomMessage({
        type:'order',  //字符串,可以任意自定义类型,比如红包'hongbao', 订单'order,处方'chufang'
        payload: order
    });

发送自定义消息

    //发送单聊消息
    var promise = im.sendPrivateMessage(userId, message);

     //发送群聊消息
    var promise = im.sendGroupMessage(groupId, message);

    promise.then(function() {
       console.log('Private message sent successfully.');
    }).catch(function(error) {
        console.log('Failed to send private message,code:' + error.code +',error'+error.content);
    });

收到自定义消息

    var onPrivateMessageReceived = function(message) {
        //示例:收到一条自定义类型为‘order’的订单消息,

        // {
        //     "messageId": "8f0e27a0c7e111eab347b726da4416bd",
        //     "timestamp": 1594958217087,
        //     "type": "order",  //自定义类型为order
        //     "senderId": "3bb179af-bcc5-4fe0-9dac-c05688484649",
        //     "payload": {
        //         number:'20201818005',
        //         product:'Mate 30 Pro',
        //         image:'https://n.sinaimg.cn/sinacn10123/200/w640h360/20190916/e3d2-ietnfsp7076350.jpg',
        //         price: 3999
        //     },
        //     "receiverId": "fdee46b0-4b01-4590-bdba-6586d7617f95"
        // }


        console.log('收到消息:senderId:' + message.senderId +', content:' + message.payload);
    };
    //监听和接收单聊消息
    im.on(GoEasyIM.EVENT.PRIVATE_MESSAGE_RECEIVED, onPrivateMessageReceived);

results matching ""

    No results matching ""