模拟消息() {
    // const { members, id } = this.conversation
    // console.log(members, id)
    this.conversation.send(new textMessage('模拟消息'), { priority: messagePriority.HIGH }).then(message => {
      console.log('发送模拟消息:', message)
    }).catch(err => {
      console.log(err)
    })
  }


  //收到消息
  message(message) {
    console.log('client message',arguments)
  }

我页面中的按钮标签绑定了模拟消息的事件,在开发者工具上点击按钮,真机上的事件监听中收不到消息;而真机上点击按钮,开发者工具中可以收到消息。

真机端和开发环境端的cnversation的id是相同的,并且两端是不同的微信账号,两个账号都在conversation的members中。

调试了很久,没有发现哪儿写错了,估计是小程序真机上监听message事件有问题。

请工作人员核查

console.log('client message')

能否试一下收到消息的时候仅 log 一个字符串。

收到了。。。

这又是为什么。。。

真机上收到消息后,打印出来的arguments是这样的,message中竟然只有两个键值!文档中说的id、from、status什么的都没有!

这是开发者工具中同样的打印,则是齐全的:

我要吐血了。。。

这是一个已知的问题,在下个版本中会改善。

暂时,请先在 js 中拿到 message 的属性之后再将这些属性 set 给 data:

cosnt { id, text, from } = message;
this.setData({message: {id, text, from}});

下个版本更新后,我如何得知?