webim 怎么实现重发消息

else里面的我可以增加,但是:
this.context.stropheConn.send(dom); 中如果报错了,会触发onerror事件,这个事件是在哪里订阅的?
webim.png
已邀请:

lizg - 好久没有登陆了,回来了...

赞同来自:

 重发消息功能的实现在于发送失败时要知道哪条消息失败,index.html里的onError方法是没有消息ID的,默认只有type和msg两个字段,msg显示的是错误描述信息。要确定哪条消息,需要传递消息标识,在easemob.im.js中的sendCommand()这个方法中加上消息ID的字段,在onError里可以获取到。 sendCommand()发消息时的ID是通过时间戳来生成的id.可以将消息做持久化存储,发送失败后,重新装载消息进行重发即可。

hawk

赞同来自:

id 从哪里取到啊?

lizg - 好久没有登陆了,回来了...

赞同来自:

@hawk 什么id, 这个msgid.dom.id ?

helloworld - IT男

赞同来自:

在easemob.im.js中有个connection.prototype.getUniqueId这个是根据时间戳生成id的方法,获取后加到sendCommand()这个方法里的onError中即可。到index.html页面的回调里就可以取到发送失败的消息ID了。

赞同来自:

姚全润

赞同来自:

加我微信a1870004030

要回复问题请先登录注册

知识价值的认可,源自您的赞赏

扫描二维码,你的支付将由imGeek代收后转给对方

×