扫雷免费
This commit is contained in:
parent
ba89b0f2dc
commit
35932622e0
@ -555,15 +555,20 @@ export default {
|
||||
},
|
||||
async initNakama(token, server, key, stableUid = null) {
|
||||
try {
|
||||
// 兜底逻辑: 如果服务器地址是占位符或无效地址,使用默认值
|
||||
const serverUrl = (server && server.includes('yourdomain.com')) || !server
|
||||
// 兜底逻辑: 如果服务器地址是占位符、本地地址或无效地址,使用默认值
|
||||
const isInvalidServer = !server
|
||||
|| server.includes('yourdomain.com')
|
||||
|| server.includes('127.0.0.1')
|
||||
|| server.includes('localhost');
|
||||
|
||||
const serverUrl = isInvalidServer
|
||||
? 'wss://kdy.1024tool.vip'
|
||||
: server;
|
||||
const serverKey = key || 'defaultkey';
|
||||
|
||||
// 如果检测到占位符地址并使用了默认值,记录日志
|
||||
if (server && server.includes('yourdomain.com')) {
|
||||
console.warn('[Nakama] 检测到占位符服务器地址,已自动切换为默认服务器: kdy.1024tool.vip');
|
||||
// 如果检测到无效地址并使用了默认值,记录日志
|
||||
if (isInvalidServer && server) {
|
||||
console.warn('[Nakama] 检测到无效服务器地址 (' + server + '),已自动切换为默认服务器: wss://kdy.1024tool.vip');
|
||||
}
|
||||
|
||||
nakamaManager.initClient(serverUrl, serverKey);
|
||||
@ -629,6 +634,17 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
// 如果此时还未连接(即没有现有对局),建立连接以支持在线人数统计和大厅功能
|
||||
if (!this.isConnected) {
|
||||
try {
|
||||
await nakamaManager.connect();
|
||||
this.isConnected = true;
|
||||
console.log('[Nakama] WebSocket 已连接(用于大厅和在线人数)');
|
||||
} catch (err) {
|
||||
console.warn('[Nakama] 建立连接失败:', err);
|
||||
}
|
||||
}
|
||||
|
||||
// 加入大厅频道用于统计在线人数
|
||||
this.joinLobby();
|
||||
|
||||
@ -1103,9 +1119,12 @@ export default {
|
||||
},
|
||||
async joinLobby() {
|
||||
try {
|
||||
// 加入 minesweeper_lobby 频道, Type 1 (Room), Persistence True, Hidden False
|
||||
await nakamaManager.joinChat('minesweeper_lobby', 1, true, false);
|
||||
console.log('Successfully joined minesweeper lobby');
|
||||
// 加入 minesweeper_lobby 频道
|
||||
// Type 1 = Room (公开房间,可以有多个用户)
|
||||
// Persistence = true (保留历史消息)
|
||||
// Hidden = false (可见频道)
|
||||
const channel = await nakamaManager.joinChat('minesweeper_lobby', 1, true, false);
|
||||
console.log('Successfully joined minesweeper lobby, channel ID:', channel?.id);
|
||||
} catch (error) {
|
||||
console.warn('Failed to join lobby channel:', error);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user