util.js 添加以下代码
var socketTask = null;
function link_chat(random){
socketTask = wx.connectSocket({
url:'你得链接',
});
socketTask.onOpen(() => {
getApp().globalData.is_chat='yes'
});
socketTask.onClose(() => {
console.log('WebSocket 连接已关闭');
});
socketTask.onError((err) => {
console.error('WebSocket 错误:', err);
});
socketTask.onMessage((res) => {
msg.push(res.data)
getApp().globalData.msgCount=getApp().globalData.msg.length+1
});
function sendSocketMessage(data) {
if (socketTask && socketTask.readyState === 1) {
socketTask.send({
data: JSON.stringify(data),
});
}
}
function closeSocket() {
if (socketTask && socketTask.readyState === 1) {
socketTask.close();
socketTask = null;
}
}
在app.js 添加公共变量
globalData:{
msg:[],
msgCount:0
}
watch: function (variate, method) {
var obj = getApp().globalData;
let val = obj[variate];
Object.defineProperty(obj, variate, {
set: function (value) {
val = value;
method(variate, value);
},
get: function () {
return val;
}
})
},
在你需要监听的页面添加
onLoad(options) {
getApp().watch('msgCount', () => {
this.data.fetch()
})
}
fetch:function(){
var ltlist= app.globalData.msg
that.setData({
arr:ltlist,
})
}