首页 > 建站教程 > 小程序、公众号 >  微信小程序聊天,收到消息通知聊天页面刷新正文

微信小程序聊天,收到消息通知聊天页面刷新

    微信小程序聊天,使用的是融云的微信SDK,也就是RongIMLib.miniprogram-1.1.3.min.js,其实就是针对小程序修改的js sdk。聊天监听写在了聊天列表页。而聊天页面和它不是一个页面,而融云也不允许重复监听,否则只能有一个生效。列表页肯定要监听,不然无法做到收到消息刷新列表。如果是vue做的,可以通过vuex存储和监听变化来时时更新聊天页面。小程序没这些。但是小程序可以获取当前打开的所有路由,并且调用每个路由里面的方法,所以下面的方法可以轻松实现:

在chatList页面,使用下面的监听方法,即监听到新消息,查询所有已打开页面,调用聊天页面chat的getNewMsg方法更新聊天内容:
ry.messageListener(function (msg) {
	var pages = getCurrentPages(); // 获取当前所有打开的页面
	for (var i = 0; i < pages.length; i++){
		if (pages[i].route === 'pages/index/chat/chat' || pages[i].route === 'pages/index/chatgroup/chatgroup'){
			pages[i].getNewMsg(msg);
			break;
		}
	}
	//更新当前列表代码省略
}