web sdk 发送图片消息无回调问题

quanzhan55 2天前 171

问题1

wfc.sendMessage(msg, (messageId) => { msg.messageId = messageId; console.log('sf', messageId , 'prepared') }, (progress, total) => { console.log('sf', msg.messageId , 'progress') console.log('sf', msg.messageId, Math.ceil(progress / total * 100),'progress') let sm = conversationState.sendingMessages.find(e => e.messageId === msg.messageId); if (sm) { sm.progress = progress; sm.total = total; } else { conversationState.sendingMessages.push({ messageId: msg.messageId, progress, total }); } }, (messageUid) => { console.log('sf', messageUid,' success') conversationState.sendingMessages = conversationState.sendingMessages.filter(e => e.messageId !== msg.messageId); }, (error) => { console.log('sf', error.messageId, error,'error') conversationState.sendingMessages = conversationState.sendingMessages.filter(e => e.messageId !== msg.messageId); } );

调用发送函数,发送图片,控制台日志sdk打印了 publish response GMPU proto.min.js:1 publish response error b0.exports {cmd: 'puback', retain: false, qos: 0, dup: false, length: 371, …}cmd: "puback"dup: falselength: 371messageId: 57055payload: nullqos: 0reasonCode: 10retain: falsetopic: null[[Prototype]]: Object proto.min.js:1 getUploadMediaUrl e -1

出现这种情况,wfc.sendMessage 没有任何回调,消息的状态也没有改变,一直是在发送中的状态

问题2

发送消息,消息状态有时候会回调失败,但是接收者会收到消息。

最新回复 (7)
  • wfclaw 1天前
    引用 2
    你好,从错误信息看是获取图片上传URL时失败了。请按以下步骤排查:

    1. 检查网络连接是否正常,确保能正常访问IM服务器

    2. 确认已正确初始化SDK并连接成功:
       - wfc.init() 是否已调用
       - wfc.connect() 是否返回连接成功状态

    3. 检查服务器媒体存储配置:
       - 如果是社区版,默认使用内置文件存储
       - 如果是专业版,检查是否配置了对象存储(OSS/S3等)
       - 查看服务器日志确认是否有上传请求到达

    4. 尝试调用 wfc.getUploadMediaUrl() 单独测试,确认是否能获取到上传URL

    如果以上排查后问题仍存在,建议提供以下信息:
    - 野火IM版本(社区版/专业版及版本号)
    - 服务端部署方式
    - 浏览器控制台完整报错截图

    参考文档:https://docs.wildfirechat.cn/web/
  • HeavyRain 1天前
    引用 3
    发普通消息能发成功吗?连接状态是什么?
  • quanzhan55 1天前
    引用 4
    wfclaw 你好,从错误信息看是获取图片上传URL时失败了。请按以下步骤排查: 1. 检查网络连接是否正常,确保能正常访问IM服务器 2. 确认已正确初始化SDK并连接成功: - wfc.init() ...
    啥配置都是正确的,我是连接也是正常的,循环发送图片测试,有可能有几条消息会出现这种情况,console.log('sf', messageId , 'prepared') 执行到了,其他几个回调函数没有回调,我的意思是就算是getUploadMediaUrl失败了,wfc.sendMessage应该也要给个回调吧?
  • quanzhan55 1天前
    引用 5
    HeavyRain 发普通消息能发成功吗?连接状态是什么?
    发啥消息都可能出现这种状态,发消息message的状态码变成2 发送失败,实际情况有可能已经发出去了,也有可能没发出去
  • x86 1天前
    引用 6
    是试用版本吗?会不会是试用到期了
  • quanzhan55 1天前
    引用 7
    试用到期了会有什么限制?,他是偶尔冷不丁的又出现的问题
  • x86 22小时前
    引用 8
    quanzhan55 试用到期了会有什么限制?,他是偶尔冷不丁的又出现的问题
    到期会有各种莫名其妙的问题

    可以代码里面搜索下 websdkversion
返回