diff --git a/src/common/qq-basic-info.ts b/src/common/qq-basic-info.ts index 5dcfc909..20207c2f 100644 --- a/src/common/qq-basic-info.ts +++ b/src/common/qq-basic-info.ts @@ -53,26 +53,22 @@ export class QQBasicInfoWrapper { } //此方法不要直接使用 - getQUAInternal() { - switch (systemPlatform) { - case 'linux': - return `V1_LNX_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`; - case 'darwin': - return `V1_MAC_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`; - default: - return `V1_WIN_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`; - } + getQUAFallback() { + const platformMapping: Partial> = { + win32: `V1_WIN_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`, + darwin: `V1_MAC_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`, + linux: `V1_LNX_${this.getFullQQVesion()}_${this.getQQBuildStr()}_GW_B`, + }; + return platformMapping[systemPlatform] ?? (platformMapping.win32)!; } - getAppidInternal() { - switch (systemPlatform) { - case 'linux': - return '537246140'; - case 'darwin': - return '537246140'; - default: - return '537246092'; - } + getAppIdFallback() { + const platformMapping: Partial> = { + win32: '537246092', + darwin: '537246140', + linux: '537246140', + }; + return platformMapping[systemPlatform] ?? '537246092'; } getAppidV2(): { appid: string; qua: string } { @@ -88,6 +84,6 @@ export class QQBasicInfoWrapper { // else this.context.logger.log(`[QQ版本兼容性检测] 获取Appid异常 请检测NapCat/QQNT是否正常`); this.context.logger.log(`[QQ版本兼容性检测] ${fullVersion} 版本兼容性不佳,可能会导致一些功能无法正常使用`,); - return { appid: this.getAppidInternal(), qua: this.getQUAInternal() }; + return { appid: this.getAppIdFallback(), qua: this.getQUAFallback() }; } } diff --git a/src/core/index.ts b/src/core/index.ts index c6be8827..60ff732b 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -20,11 +20,11 @@ import { LogLevel, LogWrapper } from '@/common/log'; import { NodeIKernelLoginService } from '@/core/services'; import { QQBasicInfoWrapper } from '@/common/qq-basic-info'; import { NapCatPathWrapper } from '@/common/path'; -import path, { resolve } from 'node:path'; +import path from 'node:path'; import fs from 'node:fs'; import { hostname, systemName, systemVersion } from '@/common/system'; import { NTEventWrapper } from '@/common/event'; -import { ChatType, DataSource, GroupMember, KickedOffLineInfo, Peer, SelfInfo, SelfStatusInfo } from '@/core/entities'; +import { DataSource, GroupMember, KickedOffLineInfo, SelfInfo, SelfStatusInfo } from '@/core/entities'; import { NapCatConfigLoader } from '@/core/helper/config'; import os from 'node:os'; import { NodeIKernelGroupListener, NodeIKernelMsgListener, NodeIKernelProfileListener } from '@/core/listeners'; @@ -263,19 +263,12 @@ export async function genSessionConfig( ): Promise { const downloadPath = path.join(account_path, 'NapCat', 'temp'); fs.mkdirSync(downloadPath, { recursive: true }); - //os.platform() - let systemPlatform = PlatformType.KWINDOWS; - switch (os.platform()) { - case 'win32': - systemPlatform = PlatformType.KWINDOWS; - break; - case 'darwin': - systemPlatform = PlatformType.KMAC; - break; - case 'linux': - systemPlatform = PlatformType.KLINUX; - break; - } + const platformMapping: Partial> = { + win32: PlatformType.KWINDOWS, + darwin: PlatformType.KMAC, + linux: PlatformType.KLINUX, + }; + const systemPlatform = platformMapping[os.platform()] ?? PlatformType.KWINDOWS; return { selfUin, selfUid, diff --git a/src/onebot/api/group.ts b/src/onebot/api/group.ts index 19c7a800..013c944c 100644 --- a/src/onebot/api/group.ts +++ b/src/onebot/api/group.ts @@ -139,8 +139,7 @@ export class OneBotGroupApi { } if (element.grayTipElement.jsonGrayTipElement.busiId == 2407) { const type = json.items[json.items.length - 1]?.txt; - switch (type) { - case "头衔": { + if (type === "头衔") { const memberUin = json.items[1].param[0]; const title = json.items[3].txt; logger.logDebug('收到群成员新头衔消息', json); @@ -150,11 +149,10 @@ export class OneBotGroupApi { parseInt(memberUin), title, ); - } - case "移出": + } else if (type === "移出") { logger.logDebug('收到机器人被踢消息', json); return; - default: + } else { logger.logWarn('收到未知的灰条消息', json); } } diff --git a/src/shell/napcat.ts b/src/shell/napcat.ts index 16da00ef..507e1e64 100644 --- a/src/shell/napcat.ts +++ b/src/shell/napcat.ts @@ -70,18 +70,12 @@ export async function NCoreInitShell() { const dataPathGlobal = path.resolve(dataPath, './nt_qq/global'); return [dataPath, dataPathGlobal]; })(); - let systemPlatform = PlatformType.KWINDOWS; - switch (os.platform()) { - case 'win32': - systemPlatform = PlatformType.KWINDOWS; - break; - case 'darwin': - systemPlatform = PlatformType.KMAC; - break; - case 'linux': - systemPlatform = PlatformType.KLINUX; - break; - } + const platformMapping: Partial> = { + win32: PlatformType.KWINDOWS, + darwin: PlatformType.KMAC, + linux: PlatformType.KLINUX, + }; + const systemPlatform = platformMapping[os.platform()] ?? PlatformType.KWINDOWS; if (!basicInfoWrapper.QQVersionAppid || !basicInfoWrapper.QQVersionQua) throw new Error('QQVersionAppid or QQVersionQua is not defined'); // from initConfig engine.initWithDeskTopConfig(