let socket = null;
const HEARTBEAT_INTERVAL = 5000;
let heartbeatTimer = null;

// // 连接到后端 WebSocket，并开始心跳
// function connect() {
// 	WebSocket.connect('ws://your-backend-url');
// 	startHeartbeat();
// }

// 开始发送心跳消息
function startHeartbeat() {
	heartbeatTimer = setInterval(() => {
		WebSocket.send('heartbeat');
	}, HEARTBEAT_INTERVAL);
}

// 停止发送心跳消息
function stopHeartbeat() {
	clearInterval(heartbeatTimer);
}

// 监听收到的消息
WebSocket.onMessage((event) => {
	if (event.data === 'heartbeat') {
		// 收到心跳响应，重置定时器
		resetHeartbeatTimer();
	} else {
		// 处理其他消息
	}
});

// 重置心跳定时器
function resetHeartbeatTimer() {
	clearInterval(heartbeatTimer);
	startHeartbeat();
}

// 在页面关闭或组件销毁时，关闭 WebSocket 连接并停止心跳
uni.onUnload(() => {
	WebSocket.close();
	stopHeartbeat();
});


function connect(url) {
	socket = uni.connectSocket({
		url: url
	});

	socket.onOpen(() => {
		console.log('WebSocket 连接已打开');
	});

	socket.onError((error) => {
		console.error('WebSocket 连接发生错误', error);
	});

	socket.onClose((e) => {
		console.log('WebSocket 连接已关闭', e);
	});

	socket.onMessage((event) => {
		console.log('收到服务器消息', event.data);
		// 处理收到的消息
	});
}

function send(message) {
	socket.send({
		data: message
	});
}

function close() {
	if (socket) {
		socket.close();
	}
}

export default {
	connect,
	send,
	close
};