以下为初始化方法
markdown```
let _this = this;
console.log('初始化')
console.log(this.websock)
this.websock = uni.connectSocket({
url: this.websock_url, //
success(res) {
console.log(res);
},
fail() {
console.log('连接失败')
},
complete() {
console.log('连接完成')
}
});
// websocket连接上
uni.onSocketOpen(res => {
console.log('websocket成功连接')
console.log(res);
_this.web_setInterval = setInterval(() => {
uni.sendSocketMessage({
data: 'ping'
});
}, _this.web_time);
_this.gosendup();
_this.intoget = setInterval(() => {
_this.gosendup();
}, _this.intoTime);
});
// websocket接收到信息
uni.onSocketMessage(e => {
console.log('接收到消息')
console.log(e)
if (!e.data || e.data === 'pong' || e.data === 'connect') {
return;
}
let databox = JSON.parse(e.data) || '';
if (databox.opType !== 'view' && databox.opType !== 'update') {
return;
}
let data = databox.data;
let paginatedData = this.paginateArray(data.list, this.limit);
this.pageslist = paginatedData;
this.total = paginatedData.length;
if (!this.ispagesfor && paginatedData.length - 1) {
this.ispagesfor = setInterval(() => {
this.isjiazai = false;
setTimeout(() => {
if (this.aspages >= this.total) {
this.aspages = 1;
} else {
this.aspages++;
}
this.ex_list_array(this.pageslist[this.aspages - 1], data, databox.opType);
}, 200)
}, this.pagestime);
this.ex_list_array(this.pageslist[this.aspages - 1], data, databox.opType);
return;
} else if (this.ispagesfor && this.total === 1) {
this.aspages = 1
clearInterval(this.ispagesfor);
this.ispagesfor = null
}
this.ex_list_array(this.pageslist[this.aspages - 1], data, databox.opType);
});
// websocket发生错误
uni.onSocketError(function(err) {
console.log(err)
});
// websocket关闭
uni.onSocketClose(function(res) {
console.log('WebSocket 已关闭!');
});
以下是卸载方法
markdown``` // 页面卸载
onUnload() {
// 处理页面卸载逻辑
console.log('页面已经卸载');
uni.closeSocket({
code: 500,
success: function(res) {
console.log("WebSocket关闭成功!");
},
fail: function(res) {
console.log("WebSocket关闭失败!");
}
});
}, ```