添加websocket文件

This commit is contained in:
kron
2025-05-28 23:49:17 +08:00
parent 6982fee06a
commit e1cb712c57

74
src/websocket.js Normal file
View File

@@ -0,0 +1,74 @@
// utils/websocket.js
let socket = null;
let messageCallback = null;
/**
* 连接 WebSocket
* @param {String} url WebSocket 地址
* @param {Function} onMessage 消息回调
*/
function connectWebSocket(token, onMessage) {
messageCallback = onMessage;
socket = uni.connectSocket({
url: `ws://120.79.241.5:8000/socket?authorization=${token}`,
success: () => {
console.log("连接建立成功");
},
fail: (err) => {
console.error("连接失败", err);
},
});
// 接收消息
uni.onSocketMessage((res) => {
if (messageCallback) {
messageCallback(res.data);
}
});
// 错误处理
uni.onSocketError((err) => {
console.error("WebSocket 错误", err);
});
// 关闭处理
uni.onSocketClose(() => {
console.log("WebSocket 已关闭");
socket = null;
});
}
/**
* 发送消息
* @param {String} msg 要发送的消息内容
*/
function sendWebSocketMessage(msg) {
if (socket && uni.sendSocketMessage) {
uni.sendSocketMessage({
data: msg,
fail: (err) => {
console.error("发送消息失败", err);
},
});
} else {
console.warn("WebSocket 未连接");
}
}
/**
* 关闭连接
*/
function closeWebSocket() {
if (socket) {
uni.closeSocket();
socket = null;
}
}
export default {
connectWebSocket,
sendWebSocketMessage,
closeWebSocket,
};