网友回复
在小程序utils目录下新建webSocket.js
// socket已经连接成功
var socketOpen = false
// socket已经调用关闭function
var socketClose = false
// socket发送的消息队列
var socketMsgQueue = []
// 判断心跳变量
var heart = ''
// 心跳失败次数
var heartBeatFailCount = 0
// 终止心跳
var heartBeatTimeOut = null;
// 终止重新连接
var connectSocketTimeOut = null;
var i=1
const url = ''//socket链接地址,需要在微信后台配置
var webSocket = {
connectSocket: function () {
// wx.showLoading({
// title: '',
// mask: true,
// })
socketOpen = false
socketClose = false
socketMsgQueue = []
wx.connectSocket({
url: 'ws://' +url+'/websocket/'+wx.getStorageSync('token'),
// header: { 'ticket': wx.getStorageSync('token')},
success: function (res) {
if (res) {
// 成功回调
// console.log(res)
// options.success && options.success(res);
}
},
fail: function (res) {
if (res) {
// 失败回调
// options.fail && options.fail(res);
}
}
})
},
/**
* 通过 WebSocket 连接发送数据
* @param {options}
* data String / ArrayBuffer 是 需要发送的内容
* success Function 否 接口调用成功的回调函数
* fail Function 否 接口调用失败的回调函数
* complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
*/
sendSocketMessage: function (options) {
if (socketOpen) {
wx.sendSocketMessage({
data: options.msg,
success: function (res) {
if (options) {
options.success && options.success(res);
}
},
fail: function (res) {
if (options) {
options.fail && options.fail(res);
}
}
})
} else {
socketMsgQueue.push(options.msg)
}
},
/**
* 关闭 WebSock...点击查看剩余70%
UUIDv7、nanoid、Snowflake、ULID与sparkid这些id生成器区别?
get请求报错NS_BINDING_ABORTED是什么原因?
happyhorse与seedance及minmax h3到底哪个更好?
scriptc为啥能生成一个不带nodejs的原生二进制可执行程序?
为啥huggingface那么多ai图片和视频模型都能一键脱衣没人管呢?
kimi-k3本地离线部署需要什么样的硬件与价格?
什么是1-bit模型?
如何通过1公里内点对点的蓝牙通讯建立聊天系统?
ai意识空间j-空间到底是啥?
在powershell中运行Ubuntu的wsl2如何运行有ui窗体的python程序?


