From 255b2ad27ebf33e7ee816025aab823934847970d Mon Sep 17 00:00:00 2001 From: Hanxven Date: Mon, 28 Oct 2024 18:25:45 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=B9=8B=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=98=B6=E6=AE=B5=E6=80=A7=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/nightly.yml | 1 + .yarn/install-state.gz | Bin 619885 -> 626596 bytes CHANGELOG.md | 4 +- README.md | 33 +- package.json | 7 +- src/main/bootstrap/index.ts | 19 +- src/main/shards/app-common/index.ts | 22 +- src/main/shards/app-common/state.ts | 11 +- src/main/shards/auto-gameflow/index.ts | 1454 +++++------ src/main/shards/auto-gameflow/state.ts | 440 ++-- src/main/shards/auto-reply/index.ts | 4 +- src/main/shards/auto-select/index.ts | 1000 ++++---- src/main/shards/game-client/index.ts | 24 +- src/main/shards/in-game-send/index.ts | 58 + src/main/shards/in-game-send/state.ts | 13 + src/main/shards/index.ts | 11 - src/main/shards/ipc/index.ts | 6 +- .../shards/keyboard-shorcuts/definitions.ts | 186 -- src/main/shards/keyboard-shorcuts/index.ts | 71 - .../shards/keyboard-shortcuts/definitions.ts | 892 +++++++ src/main/shards/keyboard-shortcuts/index.ts | 177 ++ src/main/shards/league-client-ux/index.ts | 22 +- src/main/shards/league-client/index.ts | 4 +- src/main/shards/logger-factory/index.ts | 18 +- src/main/shards/ongoing-game/index.ts | 1562 ++++++------ src/main/shards/ongoing-game/state.ts | 882 +++---- src/main/shards/respawn-timer/index.ts | 4 +- src/main/shards/saved-player/index.ts | 484 ++-- src/main/shards/self-update/index.ts | 6 +- src/main/shards/setting-factory/index.ts | 151 +- .../setting-factory/mobx-setting-service.ts | 228 -- .../setting-factory/setter-setting-service.ts | 125 + src/main/shards/sgp/index.ts | 4 +- src/main/shards/window-manager/index.ts | 43 +- .../shards/app-common/index.ts | 59 + .../shards/app-common/store.ts | 26 + .../shards/auto-gameflow/index.ts | 110 + .../shards/auto-gameflow/store.ts | 38 + .../shards/auto-reply/index.ts | 45 + .../shards/auto-reply/store.ts | 14 + .../shards/auto-select/index.ts | 75 + .../shards/auto-select/store.ts | 59 + src/renderer-shared/shards/ipc/index.ts | 51 +- .../shards/keyboard-shortcut/index.ts | 42 + .../shards/league-client-ux/index.ts | 37 + .../shards/league-client-ux/store.ts | 16 + .../shards/league-client/index.ts | 104 +- .../shards/league-client/store.ts | 242 +- src/renderer-shared/shards/logger/index.ts | 68 +- .../shards/notification/index.ts | 11 + .../shards/ongoing-game/index.ts | 132 + .../shards/ongoing-game/store.ts | 146 ++ .../shards/self-update/index.ts | 67 + .../shards/self-update/store.ts | 60 + .../{setting => setting-utils}/index.ts | 4 + src/renderer-shared/shards/sgp/index.ts | 63 + src/renderer-shared/shards/sgp/store.ts | 34 + .../shards/window-manager/index.ts | 140 + .../shards/window-manager/store.ts | 37 + src/renderer/src-auxiliary-window/main.ts | 36 +- .../views/opgg/OpggTier.vue | 1389 +++++----- src/renderer/src-main-window/App.vue | 53 +- .../src-main-window/assets/css/styles.less | 10 +- .../components/AnnouncementModal.vue | 27 +- .../components/DeclarationModal.vue | 6 +- .../components/MainWindowTitleBar.vue | 35 +- .../components/OrderedChampionList.vue | 657 ++--- .../components/PlayerTagEditModal.vue | 14 +- .../components/UpdateModal.vue | 37 +- .../components/settings-modal/AboutPane.vue | 46 +- .../components/settings-modal/AppSettings.vue | 63 +- .../settings-modal/DebugSettings.vue | 71 +- .../ExternalDataSourceSettings.vue | 32 +- .../settings-modal/GeneralSettings.vue | 3 +- .../settings-modal/OngoingGameSettings.vue | 134 +- .../settings-modal/SettingsModal.vue | 4 +- src/renderer/src-main-window/main.ts | 18 +- .../shards/match-history-tabs/index.ts | 62 + .../shards/match-history-tabs/store.ts | 20 + .../views/automation/AutoGameflow.vue | 84 +- .../views/automation/AutoMisc.vue | 6 +- .../views/automation/AutoSelect.vue | 164 +- .../card/StandaloneMatchHistoryCardModal.vue | 32 +- .../views/ongoing-game/OngoingGame.vue | 893 +++---- .../views/ongoing-game/PlayerInfoCard.vue | 2247 +++++++++-------- .../views/ongoing-game/ongoing-game-utils.ts | 505 ++-- .../toolkit/in-process/ChampionBench.vue | 36 +- .../toolkit/in-process/GameflowInProcess.vue | 36 +- .../views/toolkit/lobby/LobbyTool.vue | 49 +- .../views/toolkit/lobby/StrawberryTool.vue | 39 +- .../views/toolkit/misc/AvailabilityCheck.vue | 166 -- .../views/toolkit/misc/ChatAvailability.vue | 15 +- .../views/toolkit/misc/ChatStatusMessage.vue | 12 +- .../toolkit/misc/CustomKeyboardSequence.vue | 3 +- .../views/toolkit/misc/FakeRanked.vue | 12 +- .../views/toolkit/misc/Misc.vue | 99 +- .../views/toolkit/misc/Spectate.vue | 43 +- .../views/toolkit/misc/SummonerProfile.vue | 46 +- src/shared/akari-shard/manager.ts | 8 +- .../league-client/chat.ts | 158 +- .../league-client/game-data.ts | 119 +- .../league-client/index.ts | 142 +- .../league-client/loadouts.ts | 21 + .../league-client/lobby.ts | 257 +- .../league-client/regalia.ts | 13 + .../league-client/summoner.ts | 117 +- src/shared/i18n/en-US.json | 59 - src/shared/i18n/en-US.yaml | 45 + src/shared/i18n/zh-CN.json | 53 - src/shared/i18n/zh-CN.yaml | 82 + tsconfig.node.json | 2 +- yarn.lock | 302 ++- 112 files changed, 10279 insertions(+), 7949 deletions(-) create mode 100644 src/main/shards/in-game-send/index.ts create mode 100644 src/main/shards/in-game-send/state.ts delete mode 100644 src/main/shards/index.ts delete mode 100644 src/main/shards/keyboard-shorcuts/definitions.ts delete mode 100644 src/main/shards/keyboard-shorcuts/index.ts create mode 100644 src/main/shards/keyboard-shortcuts/definitions.ts create mode 100644 src/main/shards/keyboard-shortcuts/index.ts delete mode 100644 src/main/shards/setting-factory/mobx-setting-service.ts create mode 100644 src/main/shards/setting-factory/setter-setting-service.ts create mode 100644 src/renderer-shared/shards/app-common/index.ts create mode 100644 src/renderer-shared/shards/app-common/store.ts create mode 100644 src/renderer-shared/shards/auto-gameflow/index.ts create mode 100644 src/renderer-shared/shards/auto-gameflow/store.ts create mode 100644 src/renderer-shared/shards/auto-reply/index.ts create mode 100644 src/renderer-shared/shards/auto-reply/store.ts create mode 100644 src/renderer-shared/shards/auto-select/index.ts create mode 100644 src/renderer-shared/shards/auto-select/store.ts create mode 100644 src/renderer-shared/shards/keyboard-shortcut/index.ts create mode 100644 src/renderer-shared/shards/league-client-ux/index.ts create mode 100644 src/renderer-shared/shards/league-client-ux/store.ts create mode 100644 src/renderer-shared/shards/notification/index.ts create mode 100644 src/renderer-shared/shards/ongoing-game/index.ts create mode 100644 src/renderer-shared/shards/ongoing-game/store.ts create mode 100644 src/renderer-shared/shards/self-update/index.ts create mode 100644 src/renderer-shared/shards/self-update/store.ts rename src/renderer-shared/shards/{setting => setting-utils}/index.ts (71%) create mode 100644 src/renderer-shared/shards/sgp/index.ts create mode 100644 src/renderer-shared/shards/sgp/store.ts create mode 100644 src/renderer-shared/shards/window-manager/index.ts create mode 100644 src/renderer-shared/shards/window-manager/store.ts create mode 100644 src/renderer/src-main-window/shards/match-history-tabs/index.ts create mode 100644 src/renderer/src-main-window/shards/match-history-tabs/store.ts delete mode 100644 src/renderer/src-main-window/views/toolkit/misc/AvailabilityCheck.vue create mode 100644 src/shared/http-api-axios-helper/league-client/loadouts.ts create mode 100644 src/shared/http-api-axios-helper/league-client/regalia.ts delete mode 100644 src/shared/i18n/en-US.json create mode 100644 src/shared/i18n/en-US.yaml delete mode 100644 src/shared/i18n/zh-CN.json create mode 100644 src/shared/i18n/zh-CN.yaml diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 0a4d56cd..6009e621 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3,6 +3,7 @@ on: branches: - main - dev + - refactor workflow_dispatch: jobs: diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index adffd02d6f6ef038ca02d8db2665ca4a26f6729e..0aa800cc0ff2e3f2c2a9e40f0751fe7df1105639 100644 GIT binary patch delta 584142 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�t1vUqJO+?jz`0aoA+T4!lNbBGJo!SAeE(@XsRBalb#G zeh*C0pHW2?C4%(m}crAL3jENI)Ydq=CxAAy35O!3uZ+%whQQocZ$O1*fYL z2De$Ds2~_GNtNb>buDJPe=(;Yka#3agWUbmq1OsG>Id<)GUBQZ;3c#II_cAFcqbYd{*Y1fGwj7g^tqM@?1xPl{X^s7 zXI1?wZui|fYUBfQR7mD-D3bWpf(GOb4k#Et>g;H!&)ngPw@#k~>A?wMyWVjELc)94 z3Hsa^d8y~k$#$$UEW!Y?IGmUvmZR&1{eR*ekXbNtsCe~RCx5*?lvENmK%8{7D&1xN z?0z`xchE*WDIsWf`s4&pPJjLI*6SYZ8i_U%6)6`fUufc1pK;qK$hl9ccWkW3t@LAB zL2Nec7)s}~2{4d=|8Elius%t40jc%nqAt>?QC>!8Z0eWnv7YdRWuE*|6?p(SSbyCC z0@@#4+7kA@HMl>Z1Y}Ll&XitYZ+jdFfFB#fOMdNqTfvqWo#x~miXoaL7_0R$P<3y8 z>1^U>jmX%^2xTcX56qJGclod|6 zN=tl!$zHrS+k|gMh$8skgK#70cYgtc&!NygS*LV{zO$dW6t>=elzSv*zZ>~=|E};c zGCM6gGntO#8q_e;AHt$=JdSYtsoNA$9OY2|$Z&r1OSnHh=8e9-(L_l(<24v`5TIU? zCVU@CI-U`L+YhALcMn`Y*oy0(4*8#XwY@!H*uD6Sy)u-fqe<}Os|_6rmVcb%)hY4g ztIqh0|5WV8JGJnEz)(Ji+nC8*AqH0L+-0tF93Ru>JZDu_p+z#k#-9Lh7pk>lYb0Zp zCq!_M=D;HNV*rD8;@UR7Rt+Kxm^HmHrg^$UjQDN2FxwkrP*B@F)c9uEuxHlR=uGkh zgYd@^^%&W}xw^2@(^IIe^nYiBr5=Xm^CWgXpces2a?5K|HM{zCWdJ3dyEm)56YkEv zN*-K%$--gf2P6bSSzC{Dij^OJ5^15I5lrS6B>@0BK?H)Pi+rRXjY%*Qm-MBo0rH)O@#Ss#E#%MChiy9TsfIF6ARf~7o8QW< zbQ+k*u3lT}Hus`2kGS=V$7ix`e?Go5*$1%uKy*S-t-cY}2%)upW7pwaUT4ef+r`@> z=?J-vCLjsv&S~oGI)6CSsCHpz>Njv3+`LElR8rKJoj3+5M6msUreR#>WFi?_V;DL6wz+d;%nB?puUX~+ zo8$J9Re)4(>pdA9?yUFw;+<*+jDh$xT7z=C;yVp4`KC$$)_;jgAx|!QlZNSz8bY4e z*qN_}5*SDP1SLHtXI08+v5O@WTxv35u+P_M>z&e1hYe?aUB*_%xL;XZb5f%0k4U8r zA+Y6#-~uZ_KFqo!fq7Al#m`ogM#s>1^lgY zwJq(pUQ@WBM}OxHF^C!p2nEk?A``Yv?C}m2KX=pr#iq#X@7t8tJ)NxIYBimH#y%m( z$8=$f6DxlpvDW6Ua58z1S)PDg-(`^+>Gd)I0UGi`)D`Aj* z;RnisMB{i)o4a3_r{C&qSUtYib6%0AO&=s(-@U@HT!%g~44BAjfh$ByK2gCjcH{)p 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%0Ds!7TI7)u^ENp~h`Z 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

>Qa)lq5| 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ϕ@`s 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%0AA1WmWvUzr6F0 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 void } + version: string + /** * 退出应用 */ @@ -134,7 +136,7 @@ export function bootstrap() { logger.info({ message: `League Akari ${app.getVersion()}`, - namespace: 'bootstrap' + namespace: 'app' }) try { @@ -160,6 +162,7 @@ export function bootstrap() { write: (config: any) => writeBaseConfig(config) } manager.global.isAdministrator = isAdministrator + manager.global.version = app.getVersion() manager.global.quit = () => app.quit() manager.global.restart = () => { app.relaunch() @@ -250,17 +253,21 @@ export function bootstrap() { shardDisposed = true events.removeAllListeners() logger.info({ - message: `应用退出`, - namespace: 'bootstrap' + message: `应用即将退出`, + namespace: 'app' }) - logger.on('finish', () => app.quit()) + logger.on('finish', () => app.exit()) // 不知为何, 使用 app.quit() 在这里不会生效. 除非包裹 setImmediate 或 setTimeout logger.end() }) }) + + app.on('quit', () => { + console.log(`[${dayjs().format('YYYY-MM-DD HH:mm:ss:SSS')}] [finale] 应用退出`) + }) } catch (error) { logger.error({ message: `[10001] 应用启动时出现错误 ${formatError(error)}`, - namespace: 'bootstrap' + namespace: 'app' }) dialog.showErrorBox('应用启动时出现错误', formatError(error)) logger.on('finish', () => app.exit(10001)) diff --git a/src/main/shards/app-common/index.ts b/src/main/shards/app-common/index.ts index fbf1c80c..57c43c5c 100644 --- a/src/main/shards/app-common/index.ts +++ b/src/main/shards/app-common/index.ts @@ -1,10 +1,11 @@ import { IAkariShardInitDispose } from '@shared/akari-shard/interface' import { AkariSharedGlobalShard, SHARED_GLOBAL_ID } from '@shared/akari-shard/manager' +import { app, shell } from 'electron' import { AkariIpcMain } from '../ipc' import { MobxUtilsMain } from '../mobx-utils' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { AppCommonSettings, AppCommonState } from './state' /** @@ -25,7 +26,7 @@ export class AppCommonMain implements IAkariShardInitDispose { private _shared: AkariSharedGlobalShard private _ipc: AkariIpcMain private _mobx: MobxUtilsMain - private _setting: MobxSettingService + private _setting: SetterSettingService constructor(deps: any) { this._shared = deps[SHARED_GLOBAL_ID] @@ -46,6 +47,8 @@ export class AppCommonMain implements IAkariShardInitDispose { this._shared.global.events.on('second-instance', (commandLine, workingDirectory) => { this._ipc.sendEvent(AppCommonMain.id, 'second-instance', commandLine, workingDirectory) }) + + this.state.setBaseConfig(this._shared.global.baseConfig.value) } private _setDisableHardwareAccelerationAndRelaunch(s: boolean) { @@ -70,6 +73,10 @@ export class AppCommonMain implements IAkariShardInitDispose { this._shared.global.restart() } + openUserDataDir() { + return shell.openPath(app.getPath('userData')) + } + private async _handleState() { await this._setting.applyToState() this._mobx.propSync(AppCommonMain.id, 'settings', this.settings, [ @@ -78,7 +85,8 @@ export class AppCommonMain implements IAkariShardInitDispose { ]) this._mobx.propSync(AppCommonMain.id, 'state', this.state, [ 'isAdministrator', - 'disableHardwareAcceleration' + 'disableHardwareAcceleration', + 'baseConfig' ]) // 状态指示, 是否禁用硬件加速 @@ -93,5 +101,13 @@ export class AppCommonMain implements IAkariShardInitDispose { this._ipc.onCall(AppCommonMain.id, 'setDisableHardwareAcceleration', (s: boolean) => { this._setDisableHardwareAccelerationAndRelaunch(s) }) + + this._ipc.onCall(AppCommonMain.id, 'getVersion', () => { + return this._shared.global.version + }) + + this._ipc.onCall(AppCommonMain.id, 'openUserDataDir', () => { + return this.openUserDataDir() + }) } } diff --git a/src/main/shards/app-common/state.ts b/src/main/shards/app-common/state.ts index 66cc48e0..c7b8189c 100644 --- a/src/main/shards/app-common/state.ts +++ b/src/main/shards/app-common/state.ts @@ -1,4 +1,5 @@ -import { makeAutoObservable } from 'mobx' +import { BaseConfig } from '@main/bootstrap/base-config' +import { makeAutoObservable, observable } from 'mobx' export class AppCommonState { isAdministrator: boolean = false @@ -8,6 +9,8 @@ export class AppCommonState { */ disableHardwareAcceleration: boolean = false + baseConfig: BaseConfig | null + setAdministrator(s: boolean) { this.isAdministrator = s } @@ -16,8 +19,12 @@ export class AppCommonState { this.disableHardwareAcceleration = s } + setBaseConfig(s: BaseConfig | null) { + this.baseConfig = s + } + constructor() { - makeAutoObservable(this) + makeAutoObservable(this, { baseConfig: observable.ref }) } } diff --git a/src/main/shards/auto-gameflow/index.ts b/src/main/shards/auto-gameflow/index.ts index 7a5dd023..f5037c71 100644 --- a/src/main/shards/auto-gameflow/index.ts +++ b/src/main/shards/auto-gameflow/index.ts @@ -1,727 +1,727 @@ -import { TimeoutTask } from '@main/utils/timer' -import { IAkariShardInitDispose } from '@shared/akari-shard/interface' -import { ChoiceMaker } from '@shared/utils/choice-maker' -import { formatError } from '@shared/utils/errors' -import { randomInt } from '@shared/utils/random' -import { comparer, computed } from 'mobx' - -import { AkariIpcMain } from '../ipc' -import { LeagueClientMain } from '../league-client' -import { AkariLogger, LoggerFactoryMain } from '../logger-factory' -import { MobxUtilsMain } from '../mobx-utils' -import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' -import { AutoGameflowSettings, AutoGameflowState } from './state' - -/** - * 自动游戏流程相关功能 - */ -export class AutoGameflowMain implements IAkariShardInitDispose { - static id = 'auto-gameflow-main' - static dependencies = [ - 'logger-factory-main', - 'setting-factory-main', - 'league-client-main', - 'akari-ipc-main', - 'mobx-utils-main' - ] - - public readonly settings = new AutoGameflowSettings() - public readonly state: AutoGameflowState - - private readonly _loggerFactory: LoggerFactoryMain - private readonly _settingFactory: SettingFactoryMain - private readonly _log: AkariLogger - private readonly _lc: LeagueClientMain - private readonly _setting: MobxSettingService - private readonly _mobx: MobxUtilsMain - private readonly _ipc: AkariIpcMain - - private _autoAcceptTimerId: NodeJS.Timeout | null = null - private _autoSearchMatchTimerId: NodeJS.Timeout | null = null - private _autoSearchMatchCountdownTimerId: NodeJS.Timeout | null = null - - private _playAgainTask = new TimeoutTask(() => this._playAgainFn()) - private _dodgeTask = new TimeoutTask(() => this._dodgeFn()) - private _reconnectTask = new TimeoutTask(() => this._reconnectFn()) - - static HONOR_CATEGORY = ['HEART'] as const - - static PLAY_AGAIN_WAIT_FOR_BALLOT_TIMEOUT = 3250 - static PLAY_AGAIN_WAIT_FOR_STATS_TIMEOUT = 10000 - static PLAY_AGAIN_BUFFER_TIMEOUT = 1575 - - constructor(deps: any) { - this._loggerFactory = deps['logger-factory-main'] - this._settingFactory = deps['setting-factory-main'] - this._log = this._loggerFactory.create(AutoGameflowMain.id) - this._lc = deps['league-client-main'] - this._mobx = deps['mobx-utils-main'] - this._ipc = deps['akari-ipc-main'] - this.state = new AutoGameflowState(this._lc.data, this.settings) - this._setting = this._settingFactory.create( - AutoGameflowMain.id, - { - autoAcceptDelaySeconds: { default: this.settings.autoAcceptDelaySeconds }, - autoAcceptEnabled: { default: this.settings.autoAcceptEnabled }, - autoHonorEnabled: { default: this.settings.autoHonorEnabled }, - autoHonorStrategy: { default: this.settings.autoHonorStrategy }, - autoMatchmakingDelaySeconds: { default: this.settings.autoMatchmakingDelaySeconds }, - autoMatchmakingEnabled: { default: this.settings.autoMatchmakingEnabled }, - autoMatchmakingMaximumMatchDuration: { - default: this.settings.autoMatchmakingMaximumMatchDuration - }, - autoMatchmakingMinimumMembers: { default: this.settings.autoMatchmakingMinimumMembers }, - playAgainEnabled: { default: this.settings.playAgainEnabled }, - autoReconnectEnabled: { default: this.settings.autoReconnectEnabled }, - autoMatchmakingRematchFixedDuration: { - default: this.settings.autoMatchmakingRematchFixedDuration - }, - autoMatchmakingRematchStrategy: { default: this.settings.autoMatchmakingRematchStrategy }, - autoMatchmakingWaitForInvitees: { default: this.settings.autoMatchmakingWaitForInvitees }, - autoHandleInvitationsEnabled: { default: this.settings.autoHandleInvitationsEnabled }, - dodgeAtLastSecondThreshold: { default: this.settings.dodgeAtLastSecondThreshold }, - invitationHandlingStrategies: { default: this.settings.invitationHandlingStrategies } - }, - this.settings - ) - } - - private _handleIpcCall() { - this._ipc.onCall(AutoGameflowMain.id, 'cancelAutoAccept', () => { - this.cancelAutoAccept('normal') - }) - this._ipc.onCall(AutoGameflowMain.id, 'cancelAutoSearchMatch', () => { - this.cancelAutoSearchMatch('normal') - }) - this._ipc.onCall(AutoGameflowMain.id, 'setWillDodgeAtLastSecond', (enabled: boolean) => { - this.state.setWillDodgeAtLastSecond(enabled) - }) - } - - private _handleLogging() { - // 监听 gameflow - this._mobx.reaction( - () => this._lc.data.gameflow.phase, - (phase) => { - this._log.info(`游戏流阶段变化: ${phase}`) - } - ) - } - - private _handleAutoAccept() { - this._mobx.reaction( - () => this._lc.data.gameflow.phase, - (phase) => { - if (!this.settings.autoAcceptEnabled) { - return - } - - if (phase === 'ReadyCheck') { - this.state.setAcceptAt(Date.now() + this.settings.autoAcceptDelaySeconds * 1e3) - this._autoAcceptTimerId = setTimeout( - () => this._acceptMatch(), - this.settings.autoAcceptDelaySeconds * 1e3 - ) - - this._log.info(`ReadyCheck! 即将在 ${this.settings.autoAcceptDelaySeconds} 秒后接受对局`) - } else { - if (this._autoAcceptTimerId) { - if (this.state.willAccept) { - this._log.info(`取消了即将进行的接受操作 - 不在游戏 ReadyCheck 过程中`) - } - - clearTimeout(this._autoAcceptTimerId) - this._autoAcceptTimerId = null - } - this.state.clearAutoAccept() - } - }, - { fireImmediately: true } - ) - - this._mobx.reaction( - () => this.settings.autoAcceptEnabled, - (enabled) => { - if (!enabled) { - this.cancelAutoAccept('normal') - } - }, - { fireImmediately: true } - ) - - this._lc.events.on('/lol-matchmaking/v1/ready-check', (event) => { - if ( - event.data && - (event.data.playerResponse === 'Declined' || event.data.playerResponse === 'Accepted') - ) { - this.cancelAutoAccept('declined') - } - }) - } - - private _handleAutoPlayAgain() { - this._mobx.reaction( - () => [this._lc.data.gameflow.phase, this.settings.playAgainEnabled] as const, - async ([phase, enabled]) => { - if ( - !enabled || - (phase !== 'WaitingForStats' && phase !== 'PreEndOfGame' && phase !== 'EndOfGame') - ) { - this._playAgainTask.cancel() - return - } - - // 如果停留在结算页面时间过长,将考虑返回 - if (phase === 'WaitingForStats' && enabled) { - this._log.info( - `位于 WaitingForStats,等待 ${AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_STATS_TIMEOUT} ms` - ) - this._playAgainTask.start(AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_STATS_TIMEOUT) - return - } - - // 在某些模式中,可能会出现仅有 PreEndOfGame 的情况,需要做一个计时器 - if (phase === 'PreEndOfGame' && enabled) { - this._log.info(`等待点赞事件 ${AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_BALLOT_TIMEOUT} ms`) - this._playAgainTask.start(AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_BALLOT_TIMEOUT) - return - } - - if (phase === 'EndOfGame' && enabled) { - this._log.info(`将在 ${AutoGameflowMain.PLAY_AGAIN_BUFFER_TIMEOUT} ms 后回到房间`) - this._playAgainTask.start(AutoGameflowMain.PLAY_AGAIN_BUFFER_TIMEOUT) - return - } - }, - { equals: comparer.shallow, fireImmediately: true } - ) - } - - private _handleAutoReconnect() { - this._mobx.reaction( - () => [this._lc.data.gameflow.phase, this.settings.autoReconnectEnabled] as const, - ([phase, enabled]) => { - if (phase === 'Reconnect' && enabled) { - this._log.info('将在短暂延迟后尝试重新连接') - this._reconnectTask.start(1000) - } else { - this._reconnectTask.cancel() - } - } - ) - } - - private _handleAutoHandleInvitation() { - this._mobx.reaction( - () => - [ - this._lc.data.lobby.receivedInvitations, - this.settings.autoHandleInvitationsEnabled, - this.settings.invitationHandlingStrategies - ] as const, - async ([invitations, enabled, strategies]) => { - if (!enabled || invitations.length === 0) { - return - } - - this._log.info(`处理邀请: ${JSON.stringify(invitations)}, ${JSON.stringify(strategies)}`) - - const availableInvitations = invitations.filter( - (i) => i.state === 'Pending' && i.canAcceptInvitation - ) - - if (availableInvitations.length === 0) { - return - } - - // 先找到任意一个符合要求的, decline 或 accept 或 ignore - const availableStrategies = availableInvitations - .map((i) => { - const strategy = strategies[i.gameConfig.inviteGameType] - - if (strategy) { - return { - id: i.invitationId, - inviteGameType: i.gameConfig.inviteGameType, - strategy: strategies[i.gameConfig.inviteGameType] - } - } - - return { - id: i.invitationId, - inviteGameType: i.gameConfig.inviteGameType, - strategy: strategies[''] || 'ignore' - } - }) - .toSorted((a, b) => { - if (a.strategy === 'accept' && b.strategy !== 'accept') { - return -1 - } else if (a.strategy !== 'accept' && b.strategy === 'accept') { - return 1 - } else if (a.strategy === 'decline' && b.strategy !== 'decline') { - return -1 - } else if (a.strategy !== 'decline' && b.strategy === 'decline') { - return 1 - } else { - return 0 - } - }) - - if (availableStrategies.length === 0) { - return - } - - const candidate = availableStrategies[0] - - try { - if (candidate.strategy === 'accept') { - await this._lc.api.lobby.acceptReceivedInvitation(candidate.id) - this._log.info(`自动处理邀请: ${candidate.id}, ${candidate.strategy}`) - } else if (candidate.strategy === 'decline') { - await this._lc.api.lobby.declineReceivedInvitation(candidate.id) - this._log.info(`自动处理邀请: ${candidate.id}, ${candidate.strategy}`) - } else { - this._log.info(`忽略这个邀请: ${candidate.id}, ${candidate.strategy}`) - } - } catch (error) { - this._log.warn(`自动处理失败: ${formatError(error)}`) - } - } - ) - } - - private _adjustDodgeTimer(msLeft: number, threshold: number) { - const dodgeIn = Math.max(msLeft - threshold * 1e3, 0) - this._log.info(`时间校正:将在 ${dodgeIn} ms 后秒退`) - this._dodgeTask.start(dodgeIn) - this.state.setDodgeAt(Date.now() + dodgeIn) - } - - private _handleLastSecondDodge() { - this._mobx.reaction( - () => [Boolean(this._lc.data.champSelect.session), this.state.willDodgeAtLastSecond] as const, - ([hasSession, enabled]) => { - if (!hasSession || !enabled) { - if (this._dodgeTask.cancel()) { - this._log.info('预定秒退已取消') - } - this.state.setDodgeAt(-1) - this.state.setWillDodgeAtLastSecond(false) - return - } - }, - { equals: comparer.shallow } - ) - - this._mobx.reaction( - () => - [ - this._lc.data.champSelect.session?.timer, - this.state.willDodgeAtLastSecond, - this.settings.dodgeAtLastSecondThreshold - ] as const, - ([timer, enabled, threshold]) => { - if (timer && enabled) { - if (timer.phase === 'FINALIZATION') { - this._adjustDodgeTimer(timer.adjustedTimeLeftInPhase, threshold) - } - } - }, - { equals: comparer.shallow } - ) - } - - private _handleAutoBallot() { - const honorables = computed(() => { - if (!this._lc.data.honor.ballot) { - return null - } - - const { - eligibleAllies, - eligibleOpponents, - gameId, - votePool: { votes } - } = this._lc.data.honor.ballot - - return { - allies: eligibleAllies.filter((p) => !p.botPlayer).map((p) => p.puuid), - opponents: eligibleOpponents.filter((p) => !p.botPlayer).map((p) => p.puuid), - votes, - gameId - } - }) - - this._mobx.reaction( - () => [honorables.get(), this.settings.autoHonorEnabled] as const, - async ([h, enabled]) => { - if (h && h.gameId) { - this._playAgainTask.cancel() - } - - if (h && h.gameId && enabled) { - try { - const eogStatus = (await this._lc.api.lobby.getEogStatus()).data - const lobbyMembers = [ - ...eogStatus.eogPlayers, - ...eogStatus.leftPlayers, - ...eogStatus.readyPlayers - ] - const candidates: string[] = [] - - const lobbyAllies = h.allies.filter((p) => lobbyMembers.includes(p)) - - if (lobbyAllies.length > 0) { - const actualLobbyVotes = Math.min(h.votes, lobbyAllies.length) - const weights = Array(lobbyAllies.length).fill(1) - const maker = new ChoiceMaker(weights, lobbyAllies) - const lobbyCandidates = maker.choose(actualLobbyVotes) - candidates.push(...lobbyCandidates) - } - - const leftPlayers = [...h.allies, ...h.opponents].filter( - (p) => !lobbyMembers.includes(p) - ) - const actualLeftVotes = Math.min(h.votes - candidates.length, leftPlayers.length) - - if (actualLeftVotes > 0) { - const leftWeights = Array(leftPlayers.length).fill(1) - const leftMaker = new ChoiceMaker(leftWeights, leftPlayers) - const leftCandidates = leftMaker.choose(actualLeftVotes) - candidates.push(...leftCandidates) - } - - for (const puuid of candidates) { - await this._lc.api.honor.honor( - AutoGameflowMain.HONOR_CATEGORY[ - randomInt(0, AutoGameflowMain.HONOR_CATEGORY.length) - ], - puuid - ) - } - - await this._lc.api.honor.ballot() - this._log.info(`自动点赞:给玩家 ${candidates.join(', ')} 点赞, 对局 ID: ${h.gameId}`) - } catch (error) { - this._ipc.sendEvent(AutoGameflowMain.id, 'error-auto-honor', formatError(error)) - this._log.warn(`自动点赞出现错误 ${formatError(error)}`) - } - } - }, - { - equals: comparer.structural, - fireImmediately: true - } - ) - } - - private _handleAutoSearchMatch() { - this._mobx.reaction( - () => this.settings.autoMatchmakingEnabled, - (enabled) => { - if (!enabled) { - this.cancelAutoSearchMatch('normal') - } - }, - { fireImmediately: true } - ) - - this._mobx.reaction( - () => [this.state.activityStartStatus, this.settings.autoMatchmakingEnabled] as const, - ([s, enabled]) => { - if (!enabled) { - this.cancelAutoSearchMatch('normal') - return - } - - if (s === 'can-start-activity') { - this._log.info(`现在将在 ${this.settings.autoMatchmakingDelaySeconds} 秒后开始匹配`) - this.state.setSearchMatchAt(Date.now() + this.settings.autoMatchmakingDelaySeconds * 1e3) - this._autoSearchMatchTimerId = setTimeout( - () => this._startMatchmaking(), - this.settings.autoMatchmakingDelaySeconds * 1e3 - ) - - this._sendAutoSearchMatchInfoInChat() - this._autoSearchMatchCountdownTimerId = setInterval( - () => this._sendAutoSearchMatchInfoInChat(), - 1000 - ) - } else if (s === 'unavailable' || s === 'cannot-start-activity') { - this.cancelAutoSearchMatch('normal') - } else { - this.cancelAutoSearchMatch(s) - } - }, - { equals: comparer.shallow, fireImmediately: true } - ) - - const simplifiedSearchState = computed(() => { - if (!this._lc.data.matchmaking.search) { - return null - } - - return { - timeInQueue: this._lc.data.matchmaking.search.timeInQueue, - estimatedQueueTime: this._lc.data.matchmaking.search.estimatedQueueTime, - searchState: this._lc.data.matchmaking.search.searchState, - lowPriorityData: this._lc.data.matchmaking.search.lowPriorityData, - isCurrentlyInQueue: this._lc.data.matchmaking.search.isCurrentlyInQueue - } - }) - - let penaltyTime = 0 - this._mobx.reaction( - () => Boolean(simplifiedSearchState.get()), - (hasSearchState) => { - if (hasSearchState) { - penaltyTime = simplifiedSearchState.get()?.lowPriorityData.penaltyTime || 0 - } else { - penaltyTime = 0 - } - }, - { fireImmediately: true } - ) - - this._mobx.reaction( - () => - [ - simplifiedSearchState.get(), - this.settings.autoMatchmakingRematchStrategy, - this.settings.autoMatchmakingRematchFixedDuration - ] as const, - ([s, st, d]) => { - if (st === 'never' || !s || s.searchState !== 'Searching') { - return - } - - if (!s.isCurrentlyInQueue) { - return - } - - if (st === 'fixed-duration') { - if (s.timeInQueue - penaltyTime >= d) { - this._lc.api.lobby.deleteSearchMatch().catch((e) => { - this._log.warn(`尝试取消匹配时失败 ${formatError(e)}`) - }) - return - } - } else if (st === 'estimated-duration') { - if (s.timeInQueue - penaltyTime >= s.estimatedQueueTime) { - this._lc.api.lobby.deleteSearchMatch().catch((e) => { - this._log.warn(`尝试取消匹配时失败 ${formatError(e)}`) - }) - } - } - }, - { equals: comparer.structural, fireImmediately: true } - ) - } - - private async _acceptMatch() { - try { - await this._lc.api.matchmaking.accept() - } catch (error) { - this._ipc.sendEvent(AutoGameflowMain.id, 'error-accept-match', formatError(error)) - this._log.warn(`无法接受对局 ${formatError(error)}`) - } - this.state.clearAutoAccept() - this._autoSearchMatchTimerId = null - } - - private async _startMatchmaking() { - try { - if (this._autoSearchMatchCountdownTimerId) { - clearInterval(this._autoSearchMatchCountdownTimerId) - this._autoSearchMatchCountdownTimerId = null - } - this.state.clearAutoSearchMatch() - this._autoSearchMatchTimerId = null - await this._lc.api.lobby.searchMatch() - } catch (error) { - this._ipc.sendEvent(AutoGameflowMain.id, 'error-matchmaking', formatError(error)) - this._log.warn(`无法开始匹配 ${formatError(error)}`) - } - } - - private async _playAgainFn() { - try { - this._log.info('Play again, 返回房间') - await this._lc.api.lobby.playAgain() - } catch (error) { - this._log.warn(`尝试 Play again 时失败`, error) - } - } - - private async _dodgeFn() { - try { - this._log.info('Dodge, 秒退') - await this._lc.api.login.dodge() - } catch (error) { - this._log.warn(`尝试秒退时失败`, error) - } finally { - this.state.setDodgeAt(-1) - } - } - - private async _reconnectFn() { - try { - this._log.info('Reconnect! 尝试重新连接') - await this._lc.api.gameflow.reconnect() - } catch (error) { - this._log.warn(`尝试重新连接失败`, error) - } - } - - private async _handleState() { - await this._setting.applyToState() - - this._setting.onChange('dodgeAtLastSecondThreshold', async (v, { setter }) => { - if (v < 0) { - v = 0 - } - - this.settings.setDodgeAtLastSecondThreshold(v) - await setter() - }) - - this._setting.onChange('autoAcceptEnabled', async (v, { setter }) => { - if (!v) { - this.cancelAutoAccept('normal') - } - - this.settings.setAutoAcceptEnabled(v) - await setter() - }) - - this._mobx.propSync(AutoGameflowMain.id, 'settings', this.settings, [ - 'autoAcceptDelaySeconds', - 'autoAcceptEnabled', - 'autoHonorEnabled', - 'autoHonorStrategy', - 'autoMatchmakingDelaySeconds', - 'autoMatchmakingEnabled', - 'autoMatchmakingMinimumMembers', - 'autoMatchmakingRematchFixedDuration', - 'autoMatchmakingRematchStrategy', - 'autoMatchmakingWaitForInvitees', - 'playAgainEnabled', - 'dodgeAtLastSecondThreshold', - 'autoHandleInvitationsEnabled', - 'autoReconnectEnabled', - 'autoMatchmakingMaximumMatchDuration', - 'invitationHandlingStrategies' - ]) - - this._mobx.propSync(AutoGameflowMain.id, 'state', this.state, [ - 'willAccept', - 'willAcceptAt', - 'willSearchMatch', - 'willSearchMatchAt', - 'activityStartStatus', - 'willDodgeAt', - 'willDodgeAtLastSecond' - ]) - } - - cancelAutoAccept(reason?: string) { - if (this.state.willAccept) { - if (this._autoAcceptTimerId) { - clearTimeout(this._autoAcceptTimerId) - this._autoAcceptTimerId = null - } - this.state.clearAutoAccept() - if (reason === 'accepted') { - this._log.info(`取消了即将进行的接受 - 已经被接受`) - } else if (reason === 'declined') { - this._log.info(`取消了即将进行的接受 - 已经被拒绝`) - } else { - this._log.info(`取消了即将进行的接受`) - } - } - } - - cancelAutoSearchMatch(reason?: string) { - if (this.state.willSearchMatch) { - if (this._autoSearchMatchTimerId) { - clearTimeout(this._autoSearchMatchTimerId) - this._autoSearchMatchTimerId = null - } - if (this._autoSearchMatchCountdownTimerId) { - this._sendAutoSearchMatchInfoInChat(reason) - clearInterval(this._autoSearchMatchCountdownTimerId) - this._autoSearchMatchCountdownTimerId = null - } - - this.state.clearAutoSearchMatch() - this._log.info(`即将进行的自动匹配对局已取消,${reason || '未知'}`) - } - } - - private _sendAutoSearchMatchInfoInChat = async (cancel?: string) => { - if (this._lc.data.chat.conversations.customGame && this.state.willSearchMatch) { - if (cancel === 'normal') { - this._lc.api.chat - .chatSend( - this._lc.data.chat.conversations.customGame.id, - `[League Akari] 自动匹配已取消`, - 'celebration' - ) - .catch(() => {}) - return - } else if (cancel === 'waiting-for-invitee') { - this._lc.api.chat - .chatSend( - this._lc.data.chat.conversations.customGame.id, - `[League Akari] 自动匹配已取消,等待被邀请者`, - 'celebration' - ) - .catch(() => {}) - return - } else if (cancel === 'not-the-leader') { - this._lc.api.chat - .chatSend( - this._lc.data.chat.conversations.customGame.id, - `[League Akari] 自动匹配已取消,当前不是房间房主`, - 'celebration' - ) - .catch(() => {}) - return - } else if (cancel === 'waiting-for-penalty-time') { - this._lc.api.chat - .chatSend( - this._lc.data.chat.conversations.customGame.id, - `[League Akari] 自动匹配已取消,等待秒退计时器`, - 'celebration' - ) - .catch(() => {}) - return - } - - const time = (this.state.willSearchMatchAt - Date.now()) / 1e3 - this._lc.api.chat - .chatSend( - this._lc.data.chat.conversations.customGame.id, - `[League Akari] 将在 ${Math.abs(time).toFixed()} 秒后自动匹配`, - 'celebration' - ) - .catch(() => {}) - } - } - - async onInit() { - await this._handleState() - this._handleIpcCall() - this._handleAutoBallot() - this._handleAutoAccept() - this._handleAutoPlayAgain() - this._handleAutoReconnect() - this._handleAutoHandleInvitation() - this._handleLogging() - this._handleLastSecondDodge() - this._handleAutoSearchMatch() - } - - async onDispose() {} -} +import { TimeoutTask } from '@main/utils/timer' +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { ChoiceMaker } from '@shared/utils/choice-maker' +import { formatError } from '@shared/utils/errors' +import { randomInt } from '@shared/utils/random' +import { comparer, computed } from 'mobx' + +import { AkariIpcMain } from '../ipc' +import { LeagueClientMain } from '../league-client' +import { AkariLogger, LoggerFactoryMain } from '../logger-factory' +import { MobxUtilsMain } from '../mobx-utils' +import { SettingFactoryMain } from '../setting-factory' +import { SetterSettingService } from '../setting-factory/setter-setting-service' +import { AutoGameflowSettings, AutoGameflowState } from './state' + +/** + * 自动游戏流程相关功能 + */ +export class AutoGameflowMain implements IAkariShardInitDispose { + static id = 'auto-gameflow-main' + static dependencies = [ + 'logger-factory-main', + 'setting-factory-main', + 'league-client-main', + 'akari-ipc-main', + 'mobx-utils-main' + ] + + public readonly settings = new AutoGameflowSettings() + public readonly state: AutoGameflowState + + private readonly _loggerFactory: LoggerFactoryMain + private readonly _settingFactory: SettingFactoryMain + private readonly _log: AkariLogger + private readonly _lc: LeagueClientMain + private readonly _setting: SetterSettingService + private readonly _mobx: MobxUtilsMain + private readonly _ipc: AkariIpcMain + + private _autoAcceptTimerId: NodeJS.Timeout | null = null + private _autoSearchMatchTimerId: NodeJS.Timeout | null = null + private _autoSearchMatchCountdownTimerId: NodeJS.Timeout | null = null + + private _playAgainTask = new TimeoutTask(() => this._playAgainFn()) + private _dodgeTask = new TimeoutTask(() => this._dodgeFn()) + private _reconnectTask = new TimeoutTask(() => this._reconnectFn()) + + static HONOR_CATEGORY = ['HEART'] as const + + static PLAY_AGAIN_WAIT_FOR_BALLOT_TIMEOUT = 3250 + static PLAY_AGAIN_WAIT_FOR_STATS_TIMEOUT = 10000 + static PLAY_AGAIN_BUFFER_TIMEOUT = 1575 + + constructor(deps: any) { + this._loggerFactory = deps['logger-factory-main'] + this._settingFactory = deps['setting-factory-main'] + this._log = this._loggerFactory.create(AutoGameflowMain.id) + this._lc = deps['league-client-main'] + this._mobx = deps['mobx-utils-main'] + this._ipc = deps['akari-ipc-main'] + this.state = new AutoGameflowState(this._lc.data, this.settings) + this._setting = this._settingFactory.create( + AutoGameflowMain.id, + { + autoAcceptDelaySeconds: { default: this.settings.autoAcceptDelaySeconds }, + autoAcceptEnabled: { default: this.settings.autoAcceptEnabled }, + autoHonorEnabled: { default: this.settings.autoHonorEnabled }, + autoHonorStrategy: { default: this.settings.autoHonorStrategy }, + autoMatchmakingDelaySeconds: { default: this.settings.autoMatchmakingDelaySeconds }, + autoMatchmakingEnabled: { default: this.settings.autoMatchmakingEnabled }, + autoMatchmakingMaximumMatchDuration: { + default: this.settings.autoMatchmakingMaximumMatchDuration + }, + autoMatchmakingMinimumMembers: { default: this.settings.autoMatchmakingMinimumMembers }, + playAgainEnabled: { default: this.settings.playAgainEnabled }, + autoReconnectEnabled: { default: this.settings.autoReconnectEnabled }, + autoMatchmakingRematchFixedDuration: { + default: this.settings.autoMatchmakingRematchFixedDuration + }, + autoMatchmakingRematchStrategy: { default: this.settings.autoMatchmakingRematchStrategy }, + autoMatchmakingWaitForInvitees: { default: this.settings.autoMatchmakingWaitForInvitees }, + autoHandleInvitationsEnabled: { default: this.settings.autoHandleInvitationsEnabled }, + dodgeAtLastSecondThreshold: { default: this.settings.dodgeAtLastSecondThreshold }, + invitationHandlingStrategies: { default: this.settings.invitationHandlingStrategies } + }, + this.settings + ) + } + + private _handleIpcCall() { + this._ipc.onCall(AutoGameflowMain.id, 'cancelAutoAccept', () => { + this.cancelAutoAccept('normal') + }) + this._ipc.onCall(AutoGameflowMain.id, 'cancelAutoMatchmaking', () => { + this.cancelAutoMatchmaking('normal') + }) + this._ipc.onCall(AutoGameflowMain.id, 'setWillDodgeAtLastSecond', (enabled: boolean) => { + this.state.setWillDodgeAtLastSecond(enabled) + }) + } + + private _handleLogging() { + // 监听 gameflow + this._mobx.reaction( + () => this._lc.data.gameflow.phase, + (phase) => { + this._log.info(`游戏流阶段变化: ${phase}`) + } + ) + } + + private _handleAutoAccept() { + this._mobx.reaction( + () => this._lc.data.gameflow.phase, + (phase) => { + if (!this.settings.autoAcceptEnabled) { + return + } + + if (phase === 'ReadyCheck') { + this.state.setAcceptAt(Date.now() + this.settings.autoAcceptDelaySeconds * 1e3) + this._autoAcceptTimerId = setTimeout( + () => this._acceptMatch(), + this.settings.autoAcceptDelaySeconds * 1e3 + ) + + this._log.info(`ReadyCheck! 即将在 ${this.settings.autoAcceptDelaySeconds} 秒后接受对局`) + } else { + if (this._autoAcceptTimerId) { + if (this.state.willAccept) { + this._log.info(`取消了即将进行的接受操作 - 不在游戏 ReadyCheck 过程中`) + } + + clearTimeout(this._autoAcceptTimerId) + this._autoAcceptTimerId = null + } + this.state.clearAutoAccept() + } + }, + { fireImmediately: true } + ) + + this._mobx.reaction( + () => this.settings.autoAcceptEnabled, + (enabled) => { + if (!enabled) { + this.cancelAutoAccept('normal') + } + }, + { fireImmediately: true } + ) + + this._lc.events.on('/lol-matchmaking/v1/ready-check', (event) => { + if ( + event.data && + (event.data.playerResponse === 'Declined' || event.data.playerResponse === 'Accepted') + ) { + this.cancelAutoAccept('declined') + } + }) + } + + private _handleAutoPlayAgain() { + this._mobx.reaction( + () => [this._lc.data.gameflow.phase, this.settings.playAgainEnabled] as const, + async ([phase, enabled]) => { + if ( + !enabled || + (phase !== 'WaitingForStats' && phase !== 'PreEndOfGame' && phase !== 'EndOfGame') + ) { + this._playAgainTask.cancel() + return + } + + // 如果停留在结算页面时间过长,将考虑返回 + if (phase === 'WaitingForStats' && enabled) { + this._log.info( + `位于 WaitingForStats,等待 ${AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_STATS_TIMEOUT} ms` + ) + this._playAgainTask.start(AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_STATS_TIMEOUT) + return + } + + // 在某些模式中,可能会出现仅有 PreEndOfGame 的情况,需要做一个计时器 + if (phase === 'PreEndOfGame' && enabled) { + this._log.info(`等待点赞事件 ${AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_BALLOT_TIMEOUT} ms`) + this._playAgainTask.start(AutoGameflowMain.PLAY_AGAIN_WAIT_FOR_BALLOT_TIMEOUT) + return + } + + if (phase === 'EndOfGame' && enabled) { + this._log.info(`将在 ${AutoGameflowMain.PLAY_AGAIN_BUFFER_TIMEOUT} ms 后回到房间`) + this._playAgainTask.start(AutoGameflowMain.PLAY_AGAIN_BUFFER_TIMEOUT) + return + } + }, + { equals: comparer.shallow, fireImmediately: true } + ) + } + + private _handleAutoReconnect() { + this._mobx.reaction( + () => [this._lc.data.gameflow.phase, this.settings.autoReconnectEnabled] as const, + ([phase, enabled]) => { + if (phase === 'Reconnect' && enabled) { + this._log.info('将在短暂延迟后尝试重新连接') + this._reconnectTask.start(1000) + } else { + this._reconnectTask.cancel() + } + } + ) + } + + private _handleAutoHandleInvitation() { + this._mobx.reaction( + () => + [ + this._lc.data.lobby.receivedInvitations, + this.settings.autoHandleInvitationsEnabled, + this.settings.invitationHandlingStrategies + ] as const, + async ([invitations, enabled, strategies]) => { + if (!enabled || invitations.length === 0) { + return + } + + this._log.info(`处理邀请: ${JSON.stringify(invitations)}, ${JSON.stringify(strategies)}`) + + const availableInvitations = invitations.filter( + (i) => i.state === 'Pending' && i.canAcceptInvitation + ) + + if (availableInvitations.length === 0) { + return + } + + // 先找到任意一个符合要求的, decline 或 accept 或 ignore + const availableStrategies = availableInvitations + .map((i) => { + const strategy = strategies[i.gameConfig.inviteGameType] + + if (strategy) { + return { + id: i.invitationId, + inviteGameType: i.gameConfig.inviteGameType, + strategy: strategies[i.gameConfig.inviteGameType] + } + } + + return { + id: i.invitationId, + inviteGameType: i.gameConfig.inviteGameType, + strategy: strategies[''] || 'ignore' + } + }) + .toSorted((a, b) => { + if (a.strategy === 'accept' && b.strategy !== 'accept') { + return -1 + } else if (a.strategy !== 'accept' && b.strategy === 'accept') { + return 1 + } else if (a.strategy === 'decline' && b.strategy !== 'decline') { + return -1 + } else if (a.strategy !== 'decline' && b.strategy === 'decline') { + return 1 + } else { + return 0 + } + }) + + if (availableStrategies.length === 0) { + return + } + + const candidate = availableStrategies[0] + + try { + if (candidate.strategy === 'accept') { + await this._lc.api.lobby.acceptReceivedInvitation(candidate.id) + this._log.info(`自动处理邀请: ${candidate.id}, ${candidate.strategy}`) + } else if (candidate.strategy === 'decline') { + await this._lc.api.lobby.declineReceivedInvitation(candidate.id) + this._log.info(`自动处理邀请: ${candidate.id}, ${candidate.strategy}`) + } else { + this._log.info(`忽略这个邀请: ${candidate.id}, ${candidate.strategy}`) + } + } catch (error) { + this._log.warn(`自动处理失败: ${formatError(error)}`) + } + } + ) + } + + private _adjustDodgeTimer(msLeft: number, threshold: number) { + const dodgeIn = Math.max(msLeft - threshold * 1e3, 0) + this._log.info(`时间校正:将在 ${dodgeIn} ms 后秒退`) + this._dodgeTask.start(dodgeIn) + this.state.setDodgeAt(Date.now() + dodgeIn) + } + + private _handleLastSecondDodge() { + this._mobx.reaction( + () => [Boolean(this._lc.data.champSelect.session), this.state.willDodgeAtLastSecond] as const, + ([hasSession, enabled]) => { + if (!hasSession || !enabled) { + if (this._dodgeTask.cancel()) { + this._log.info('预定秒退已取消') + } + this.state.setDodgeAt(-1) + this.state.setWillDodgeAtLastSecond(false) + return + } + }, + { equals: comparer.shallow } + ) + + this._mobx.reaction( + () => + [ + this._lc.data.champSelect.session?.timer, + this.state.willDodgeAtLastSecond, + this.settings.dodgeAtLastSecondThreshold + ] as const, + ([timer, enabled, threshold]) => { + if (timer && enabled) { + if (timer.phase === 'FINALIZATION') { + this._adjustDodgeTimer(timer.adjustedTimeLeftInPhase, threshold) + } + } + }, + { equals: comparer.shallow } + ) + } + + private _handleAutoBallot() { + const honorables = computed(() => { + if (!this._lc.data.honor.ballot) { + return null + } + + const { + eligibleAllies, + eligibleOpponents, + gameId, + votePool: { votes } + } = this._lc.data.honor.ballot + + return { + allies: eligibleAllies.filter((p) => !p.botPlayer).map((p) => p.puuid), + opponents: eligibleOpponents.filter((p) => !p.botPlayer).map((p) => p.puuid), + votes, + gameId + } + }) + + this._mobx.reaction( + () => [honorables.get(), this.settings.autoHonorEnabled] as const, + async ([h, enabled]) => { + if (h && h.gameId) { + this._playAgainTask.cancel() + } + + if (h && h.gameId && enabled) { + try { + const eogStatus = (await this._lc.api.lobby.getEogStatus()).data + const lobbyMembers = [ + ...eogStatus.eogPlayers, + ...eogStatus.leftPlayers, + ...eogStatus.readyPlayers + ] + const candidates: string[] = [] + + const lobbyAllies = h.allies.filter((p) => lobbyMembers.includes(p)) + + if (lobbyAllies.length > 0) { + const actualLobbyVotes = Math.min(h.votes, lobbyAllies.length) + const weights = Array(lobbyAllies.length).fill(1) + const maker = new ChoiceMaker(weights, lobbyAllies) + const lobbyCandidates = maker.choose(actualLobbyVotes) + candidates.push(...lobbyCandidates) + } + + const leftPlayers = [...h.allies, ...h.opponents].filter( + (p) => !lobbyMembers.includes(p) + ) + const actualLeftVotes = Math.min(h.votes - candidates.length, leftPlayers.length) + + if (actualLeftVotes > 0) { + const leftWeights = Array(leftPlayers.length).fill(1) + const leftMaker = new ChoiceMaker(leftWeights, leftPlayers) + const leftCandidates = leftMaker.choose(actualLeftVotes) + candidates.push(...leftCandidates) + } + + for (const puuid of candidates) { + await this._lc.api.honor.honor( + AutoGameflowMain.HONOR_CATEGORY[ + randomInt(0, AutoGameflowMain.HONOR_CATEGORY.length) + ], + puuid + ) + } + + await this._lc.api.honor.ballot() + this._log.info(`自动点赞:给玩家 ${candidates.join(', ')} 点赞, 对局 ID: ${h.gameId}`) + } catch (error) { + this._ipc.sendEvent(AutoGameflowMain.id, 'error-auto-honor', formatError(error)) + this._log.warn(`自动点赞出现错误 ${formatError(error)}`) + } + } + }, + { + equals: comparer.structural, + fireImmediately: true + } + ) + } + + private _handleAutoSearchMatch() { + this._mobx.reaction( + () => this.settings.autoMatchmakingEnabled, + (enabled) => { + if (!enabled) { + this.cancelAutoMatchmaking('normal') + } + }, + { fireImmediately: true } + ) + + this._mobx.reaction( + () => [this.state.activityStartStatus, this.settings.autoMatchmakingEnabled] as const, + ([s, enabled]) => { + if (!enabled) { + this.cancelAutoMatchmaking('normal') + return + } + + if (s === 'can-start-activity') { + this._log.info(`现在将在 ${this.settings.autoMatchmakingDelaySeconds} 秒后开始匹配`) + this.state.setSearchMatchAt(Date.now() + this.settings.autoMatchmakingDelaySeconds * 1e3) + this._autoSearchMatchTimerId = setTimeout( + () => this._startMatchmaking(), + this.settings.autoMatchmakingDelaySeconds * 1e3 + ) + + this._sendAutoSearchMatchInfoInChat() + this._autoSearchMatchCountdownTimerId = setInterval( + () => this._sendAutoSearchMatchInfoInChat(), + 1000 + ) + } else if (s === 'unavailable' || s === 'cannot-start-activity') { + this.cancelAutoMatchmaking('normal') + } else { + this.cancelAutoMatchmaking(s) + } + }, + { equals: comparer.shallow, fireImmediately: true } + ) + + const simplifiedSearchState = computed(() => { + if (!this._lc.data.matchmaking.search) { + return null + } + + return { + timeInQueue: this._lc.data.matchmaking.search.timeInQueue, + estimatedQueueTime: this._lc.data.matchmaking.search.estimatedQueueTime, + searchState: this._lc.data.matchmaking.search.searchState, + lowPriorityData: this._lc.data.matchmaking.search.lowPriorityData, + isCurrentlyInQueue: this._lc.data.matchmaking.search.isCurrentlyInQueue + } + }) + + let penaltyTime = 0 + this._mobx.reaction( + () => Boolean(simplifiedSearchState.get()), + (hasSearchState) => { + if (hasSearchState) { + penaltyTime = simplifiedSearchState.get()?.lowPriorityData.penaltyTime || 0 + } else { + penaltyTime = 0 + } + }, + { fireImmediately: true } + ) + + this._mobx.reaction( + () => + [ + simplifiedSearchState.get(), + this.settings.autoMatchmakingRematchStrategy, + this.settings.autoMatchmakingRematchFixedDuration + ] as const, + ([s, st, d]) => { + if (st === 'never' || !s || s.searchState !== 'Searching') { + return + } + + if (!s.isCurrentlyInQueue) { + return + } + + if (st === 'fixed-duration') { + if (s.timeInQueue - penaltyTime >= d) { + this._lc.api.lobby.deleteSearchMatch().catch((e) => { + this._log.warn(`尝试取消匹配时失败 ${formatError(e)}`) + }) + return + } + } else if (st === 'estimated-duration') { + if (s.timeInQueue - penaltyTime >= s.estimatedQueueTime) { + this._lc.api.lobby.deleteSearchMatch().catch((e) => { + this._log.warn(`尝试取消匹配时失败 ${formatError(e)}`) + }) + } + } + }, + { equals: comparer.structural, fireImmediately: true } + ) + } + + private async _acceptMatch() { + try { + await this._lc.api.matchmaking.accept() + } catch (error) { + this._ipc.sendEvent(AutoGameflowMain.id, 'error-accept-match', formatError(error)) + this._log.warn(`无法接受对局 ${formatError(error)}`) + } + this.state.clearAutoAccept() + this._autoSearchMatchTimerId = null + } + + private async _startMatchmaking() { + try { + if (this._autoSearchMatchCountdownTimerId) { + clearInterval(this._autoSearchMatchCountdownTimerId) + this._autoSearchMatchCountdownTimerId = null + } + this.state.clearAutoSearchMatch() + this._autoSearchMatchTimerId = null + await this._lc.api.lobby.searchMatch() + } catch (error) { + this._ipc.sendEvent(AutoGameflowMain.id, 'error-matchmaking', formatError(error)) + this._log.warn(`无法开始匹配 ${formatError(error)}`) + } + } + + private async _playAgainFn() { + try { + this._log.info('Play again, 返回房间') + await this._lc.api.lobby.playAgain() + } catch (error) { + this._log.warn(`尝试 Play again 时失败`, error) + } + } + + private async _dodgeFn() { + try { + this._log.info('Dodge, 秒退') + await this._lc.api.login.dodge() + } catch (error) { + this._log.warn(`尝试秒退时失败`, error) + } finally { + this.state.setDodgeAt(-1) + } + } + + private async _reconnectFn() { + try { + this._log.info('Reconnect! 尝试重新连接') + await this._lc.api.gameflow.reconnect() + } catch (error) { + this._log.warn(`尝试重新连接失败`, error) + } + } + + private async _handleState() { + await this._setting.applyToState() + + this._setting.onChange('dodgeAtLastSecondThreshold', async (v, { setter }) => { + if (v < 0) { + v = 0 + } + + this.settings.setDodgeAtLastSecondThreshold(v) + await setter() + }) + + this._setting.onChange('autoAcceptEnabled', async (v, { setter }) => { + if (!v) { + this.cancelAutoAccept('normal') + } + + this.settings.setAutoAcceptEnabled(v) + await setter() + }) + + this._mobx.propSync(AutoGameflowMain.id, 'settings', this.settings, [ + 'autoAcceptDelaySeconds', + 'autoAcceptEnabled', + 'autoHonorEnabled', + 'autoHonorStrategy', + 'autoMatchmakingDelaySeconds', + 'autoMatchmakingEnabled', + 'autoMatchmakingMinimumMembers', + 'autoMatchmakingRematchFixedDuration', + 'autoMatchmakingRematchStrategy', + 'autoMatchmakingWaitForInvitees', + 'playAgainEnabled', + 'dodgeAtLastSecondThreshold', + 'autoHandleInvitationsEnabled', + 'autoReconnectEnabled', + 'autoMatchmakingMaximumMatchDuration', + 'invitationHandlingStrategies' + ]) + + this._mobx.propSync(AutoGameflowMain.id, 'state', this.state, [ + 'willAccept', + 'willAcceptAt', + 'willSearchMatch', + 'willSearchMatchAt', + 'activityStartStatus', + 'willDodgeAt', + 'willDodgeAtLastSecond' + ]) + } + + cancelAutoAccept(reason?: string) { + if (this.state.willAccept) { + if (this._autoAcceptTimerId) { + clearTimeout(this._autoAcceptTimerId) + this._autoAcceptTimerId = null + } + this.state.clearAutoAccept() + if (reason === 'accepted') { + this._log.info(`取消了即将进行的接受 - 已经被接受`) + } else if (reason === 'declined') { + this._log.info(`取消了即将进行的接受 - 已经被拒绝`) + } else { + this._log.info(`取消了即将进行的接受`) + } + } + } + + cancelAutoMatchmaking(reason?: string) { + if (this.state.willSearchMatch) { + if (this._autoSearchMatchTimerId) { + clearTimeout(this._autoSearchMatchTimerId) + this._autoSearchMatchTimerId = null + } + if (this._autoSearchMatchCountdownTimerId) { + this._sendAutoSearchMatchInfoInChat(reason) + clearInterval(this._autoSearchMatchCountdownTimerId) + this._autoSearchMatchCountdownTimerId = null + } + + this.state.clearAutoSearchMatch() + this._log.info(`即将进行的自动匹配对局已取消,${reason || '未知'}`) + } + } + + private _sendAutoSearchMatchInfoInChat = async (cancel?: string) => { + if (this._lc.data.chat.conversations.customGame && this.state.willSearchMatch) { + if (cancel === 'normal') { + this._lc.api.chat + .chatSend( + this._lc.data.chat.conversations.customGame.id, + `[League Akari] 自动匹配已取消`, + 'celebration' + ) + .catch(() => {}) + return + } else if (cancel === 'waiting-for-invitee') { + this._lc.api.chat + .chatSend( + this._lc.data.chat.conversations.customGame.id, + `[League Akari] 自动匹配已取消,等待被邀请者`, + 'celebration' + ) + .catch(() => {}) + return + } else if (cancel === 'not-the-leader') { + this._lc.api.chat + .chatSend( + this._lc.data.chat.conversations.customGame.id, + `[League Akari] 自动匹配已取消,当前不是房间房主`, + 'celebration' + ) + .catch(() => {}) + return + } else if (cancel === 'waiting-for-penalty-time') { + this._lc.api.chat + .chatSend( + this._lc.data.chat.conversations.customGame.id, + `[League Akari] 自动匹配已取消,等待秒退计时器`, + 'celebration' + ) + .catch(() => {}) + return + } + + const time = (this.state.willSearchMatchAt - Date.now()) / 1e3 + this._lc.api.chat + .chatSend( + this._lc.data.chat.conversations.customGame.id, + `[League Akari] 将在 ${Math.abs(time).toFixed()} 秒后自动匹配`, + 'celebration' + ) + .catch(() => {}) + } + } + + async onInit() { + await this._handleState() + this._handleIpcCall() + this._handleAutoBallot() + this._handleAutoAccept() + this._handleAutoPlayAgain() + this._handleAutoReconnect() + this._handleAutoHandleInvitation() + this._handleLogging() + this._handleLastSecondDodge() + this._handleAutoSearchMatch() + } + + async onDispose() {} +} diff --git a/src/main/shards/auto-gameflow/state.ts b/src/main/shards/auto-gameflow/state.ts index 53ddc088..64740a0a 100644 --- a/src/main/shards/auto-gameflow/state.ts +++ b/src/main/shards/auto-gameflow/state.ts @@ -1,220 +1,220 @@ -import { makeAutoObservable, observable } from 'mobx' - -import { LeagueClientSyncedData } from '../league-client/data' - -export type AutoHonorStrategy = - | 'prefer-lobby-member' // 随机优先组队时房间内成员 - | 'only-lobby-member' // 随机仅限组队时房间内成员 - | 'all-member' // 随机所有可点赞玩家 - | 'opt-out' // 直接跳过 - | 'all-member-including-opponent' // 随机所有可点赞玩家,包括对手 - -export type AutoMatchmakingStrategy = 'never' | 'fixed-duration' | 'estimated-duration' - -export class AutoGameflowSettings { - autoHonorEnabled: boolean = false - autoHonorStrategy: AutoHonorStrategy = 'prefer-lobby-member' - - playAgainEnabled: boolean = false - - autoAcceptEnabled: boolean = false - autoAcceptDelaySeconds: number = 0 - - autoReconnectEnabled: boolean = false - - autoMatchmakingEnabled: boolean = false - autoMatchmakingMaximumMatchDuration: number = 0 - autoMatchmakingRematchStrategy: AutoMatchmakingStrategy = 'never' - autoMatchmakingRematchFixedDuration: number = 2 - autoMatchmakingDelaySeconds: number = 5 - autoMatchmakingMinimumMembers = 1 // 最低满足人数 - autoMatchmakingWaitForInvitees: boolean = true // 等待邀请中的用户 - - autoHandleInvitationsEnabled: boolean = false - invitationHandlingStrategies: Record = {} - - dodgeAtLastSecondThreshold: number = 2 - - setAutoHonorEnabled(enabled: boolean) { - this.autoHonorEnabled = enabled - } - - setAutoHonorStrategy(strategy: AutoHonorStrategy) { - this.autoHonorStrategy = strategy - } - - setPlayAgainEnabled(enabled: boolean) { - this.playAgainEnabled = enabled - } - - setAutoAcceptEnabled(enabled: boolean) { - this.autoAcceptEnabled = enabled - } - - setAutoAcceptDelaySeconds(seconds: number) { - this.autoAcceptDelaySeconds = seconds - } - - setAutoReconnectEnabled(enabled: boolean) { - this.autoReconnectEnabled = enabled - } - - setAutoMatchmakingEnabled(enabled: boolean) { - this.autoMatchmakingEnabled = enabled - } - - setAutoMatchmakingDelaySeconds(seconds: number) { - this.autoMatchmakingDelaySeconds = seconds - } - - setAutoMatchmakingMinimumMembers(count: number) { - this.autoMatchmakingMinimumMembers = count - } - - setAutoMatchmakingWaitForInvitees(yes: boolean) { - this.autoMatchmakingWaitForInvitees = yes - } - - setAutoMatchmakingRematchStrategy(s: AutoMatchmakingStrategy) { - this.autoMatchmakingRematchStrategy = s - } - - setAutoMatchmakingRematchFixedDuration(seconds: number) { - this.autoMatchmakingRematchFixedDuration = seconds - } - - setautoHandleInvitationsEnabled(enabled: boolean) { - this.autoHandleInvitationsEnabled = enabled - } - - setDodgeAtLastSecondThreshold(threshold: number) { - this.dodgeAtLastSecondThreshold = threshold - } - - setInvitationHandlingStrategies(strategies: Record) { - this.invitationHandlingStrategies = strategies - } - - constructor() { - makeAutoObservable(this, { - invitationHandlingStrategies: observable.struct - }) - } -} - -export class AutoGameflowState { - /** - * 即将进行自动接受操作 - */ - willAccept: boolean = false - - /** - * 即将进行的自动接受操作将在指定时间戳完成 - */ - willAcceptAt: number = -1 - - willSearchMatch: boolean = false - - /** - * 即将进行的匹配开始的时间 - */ - willSearchMatchAt: number = -1 - - /** - * 即将进行的秒退操作将在指定时间执行 - */ - willDodgeAt: number = -1 - - /** - * 是否在最后一秒秒退 - */ - willDodgeAtLastSecond: boolean = false - - get activityStartStatus() { - if (!this._lcData.lobby.lobby) { - return 'unavailable' - } - - if (this._lcData.gameflow.session?.gameData.isCustomGame) { - return 'unavailable' - } - - const self = this._lcData.lobby.lobby.members.find( - (m) => m.puuid === this._lcData.summoner.me?.puuid - ) - - if (self) { - if (!self.isLeader) { - return 'not-the-leader' - } - } else { - return 'unavailable' - } - - if (this._lcData.matchmaking.search) { - const errors = this._lcData.matchmaking.search.errors - const maxPenaltyTime = errors.reduce( - (prev, cur) => Math.max(cur.penaltyTimeRemaining, prev), - -Infinity - ) - - if (maxPenaltyTime > 0) { - return 'waiting-for-penalty-time' - } - } - - if (this.settings.autoMatchmakingWaitForInvitees) { - const hasPendingInvitation = this._lcData.lobby.lobby.invitations.some( - (i) => i.state === 'Pending' - ) - if (hasPendingInvitation) { - return 'waiting-for-invitees' - } - } - - if (this._lcData.lobby.lobby.members.length < this.settings.autoMatchmakingMinimumMembers) { - return 'insufficient-members' - } - - if (this._lcData.lobby.lobby.canStartActivity) { - return 'can-start-activity' - } else { - return 'cannot-start-activity' - } - } - - setAcceptAt(at: number) { - this.willAccept = true - this.willAcceptAt = at - } - - setSearchMatchAt(at: number) { - this.willSearchMatch = true - this.willSearchMatchAt = at - } - - setWillDodgeAtLastSecond(yes: boolean) { - this.willDodgeAtLastSecond = yes - } - - setDodgeAt(at: number) { - this.willDodgeAt = at - } - - clearAutoAccept() { - this.willAccept = false - this.willAcceptAt = -1 - } - - clearAutoSearchMatch() { - this.willSearchMatch = false - this.willSearchMatchAt = -1 - } - - constructor( - private readonly _lcData: LeagueClientSyncedData, - private readonly settings: AutoGameflowSettings - ) { - makeAutoObservable(this) - } -} +import { makeAutoObservable, observable } from 'mobx' + +import { LeagueClientSyncedData } from '../league-client/data' + +export type AutoHonorStrategy = + | 'prefer-lobby-member' // 随机优先组队时房间内成员 + | 'only-lobby-member' // 随机仅限组队时房间内成员 + | 'all-member' // 随机所有可点赞玩家 + | 'opt-out' // 直接跳过 + | 'all-member-including-opponent' // 随机所有可点赞玩家,包括对手 + +export type AutoMatchmakingStrategy = 'never' | 'fixed-duration' | 'estimated-duration' + +export class AutoGameflowSettings { + autoHonorEnabled: boolean = false + autoHonorStrategy: AutoHonorStrategy = 'prefer-lobby-member' + + playAgainEnabled: boolean = false + + autoAcceptEnabled: boolean = false + autoAcceptDelaySeconds: number = 0 + + autoReconnectEnabled: boolean = false + + autoMatchmakingEnabled: boolean = false + autoMatchmakingMaximumMatchDuration: number = 0 + autoMatchmakingRematchStrategy: AutoMatchmakingStrategy = 'never' + autoMatchmakingRematchFixedDuration: number = 2 + autoMatchmakingDelaySeconds: number = 5 + autoMatchmakingMinimumMembers = 1 // 最低满足人数 + autoMatchmakingWaitForInvitees: boolean = true // 等待邀请中的用户 + + autoHandleInvitationsEnabled: boolean = false + invitationHandlingStrategies: Record = {} + + dodgeAtLastSecondThreshold: number = 2 + + setAutoHonorEnabled(enabled: boolean) { + this.autoHonorEnabled = enabled + } + + setAutoHonorStrategy(strategy: AutoHonorStrategy) { + this.autoHonorStrategy = strategy + } + + setPlayAgainEnabled(enabled: boolean) { + this.playAgainEnabled = enabled + } + + setAutoAcceptEnabled(enabled: boolean) { + this.autoAcceptEnabled = enabled + } + + setAutoAcceptDelaySeconds(seconds: number) { + this.autoAcceptDelaySeconds = seconds + } + + setAutoReconnectEnabled(enabled: boolean) { + this.autoReconnectEnabled = enabled + } + + setAutoMatchmakingEnabled(enabled: boolean) { + this.autoMatchmakingEnabled = enabled + } + + setAutoMatchmakingDelaySeconds(seconds: number) { + this.autoMatchmakingDelaySeconds = seconds + } + + setAutoMatchmakingMinimumMembers(count: number) { + this.autoMatchmakingMinimumMembers = count + } + + setAutoMatchmakingWaitForInvitees(yes: boolean) { + this.autoMatchmakingWaitForInvitees = yes + } + + setAutoMatchmakingRematchStrategy(s: AutoMatchmakingStrategy) { + this.autoMatchmakingRematchStrategy = s + } + + setAutoMatchmakingRematchFixedDuration(seconds: number) { + this.autoMatchmakingRematchFixedDuration = seconds + } + + setAutoHandleInvitationsEnabled(enabled: boolean) { + this.autoHandleInvitationsEnabled = enabled + } + + setDodgeAtLastSecondThreshold(threshold: number) { + this.dodgeAtLastSecondThreshold = threshold + } + + setInvitationHandlingStrategies(strategies: Record) { + this.invitationHandlingStrategies = strategies + } + + constructor() { + makeAutoObservable(this, { + invitationHandlingStrategies: observable.struct + }) + } +} + +export class AutoGameflowState { + /** + * 即将进行自动接受操作 + */ + willAccept: boolean = false + + /** + * 即将进行的自动接受操作将在指定时间戳完成 + */ + willAcceptAt: number = -1 + + willSearchMatch: boolean = false + + /** + * 即将进行的匹配开始的时间 + */ + willSearchMatchAt: number = -1 + + /** + * 即将进行的秒退操作将在指定时间执行 + */ + willDodgeAt: number = -1 + + /** + * 是否在最后一秒秒退 + */ + willDodgeAtLastSecond: boolean = false + + get activityStartStatus() { + if (!this._lcData.lobby.lobby) { + return 'unavailable' + } + + if (this._lcData.gameflow.session?.gameData.isCustomGame) { + return 'unavailable' + } + + const self = this._lcData.lobby.lobby.members.find( + (m) => m.puuid === this._lcData.summoner.me?.puuid + ) + + if (self) { + if (!self.isLeader) { + return 'not-the-leader' + } + } else { + return 'unavailable' + } + + if (this._lcData.matchmaking.search) { + const errors = this._lcData.matchmaking.search.errors + const maxPenaltyTime = errors.reduce( + (prev, cur) => Math.max(cur.penaltyTimeRemaining, prev), + -Infinity + ) + + if (maxPenaltyTime > 0) { + return 'waiting-for-penalty-time' + } + } + + if (this.settings.autoMatchmakingWaitForInvitees) { + const hasPendingInvitation = this._lcData.lobby.lobby.invitations.some( + (i) => i.state === 'Pending' + ) + if (hasPendingInvitation) { + return 'waiting-for-invitees' + } + } + + if (this._lcData.lobby.lobby.members.length < this.settings.autoMatchmakingMinimumMembers) { + return 'insufficient-members' + } + + if (this._lcData.lobby.lobby.canStartActivity) { + return 'can-start-activity' + } else { + return 'cannot-start-activity' + } + } + + setAcceptAt(at: number) { + this.willAccept = true + this.willAcceptAt = at + } + + setSearchMatchAt(at: number) { + this.willSearchMatch = true + this.willSearchMatchAt = at + } + + setWillDodgeAtLastSecond(yes: boolean) { + this.willDodgeAtLastSecond = yes + } + + setDodgeAt(at: number) { + this.willDodgeAt = at + } + + clearAutoAccept() { + this.willAccept = false + this.willAcceptAt = -1 + } + + clearAutoSearchMatch() { + this.willSearchMatch = false + this.willSearchMatchAt = -1 + } + + constructor( + private readonly _lcData: LeagueClientSyncedData, + private readonly settings: AutoGameflowSettings + ) { + makeAutoObservable(this) + } +} diff --git a/src/main/shards/auto-reply/index.ts b/src/main/shards/auto-reply/index.ts index 51564110..fadedd65 100644 --- a/src/main/shards/auto-reply/index.ts +++ b/src/main/shards/auto-reply/index.ts @@ -8,7 +8,7 @@ import { LeagueClientMain } from '../league-client' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' import { MobxUtilsMain } from '../mobx-utils' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { AutoReplySettings } from './state' /** @@ -30,7 +30,7 @@ export class AutoReplyMain implements IAkariShardInitDispose { private readonly _settingFactory: SettingFactoryMain private readonly _log: AkariLogger private readonly _lc: LeagueClientMain - private readonly _setting: MobxSettingService + private readonly _setting: SetterSettingService private readonly _mobx: MobxUtilsMain private readonly _ipc: AkariIpcMain diff --git a/src/main/shards/auto-select/index.ts b/src/main/shards/auto-select/index.ts index f05fd094..d882aaa4 100644 --- a/src/main/shards/auto-select/index.ts +++ b/src/main/shards/auto-select/index.ts @@ -1,499 +1,501 @@ -import { IAkariShardInitDispose } from '@shared/akari-shard/interface' -import { formatError } from '@shared/utils/errors' -import { comparer, computed } from 'mobx' - -import { AkariIpcMain } from '../ipc' -import { LeagueClientMain } from '../league-client' -import { AkariLogger, LoggerFactoryMain } from '../logger-factory' -import { MobxUtilsMain } from '../mobx-utils' -import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' -import { AutoSelectSettings, AutoSelectState } from './state' - -export class AutoSelectMain implements IAkariShardInitDispose { - static id = 'auto-select-main' - static dependencies = [ - 'logger-factory-main', - 'setting-factory-main', - 'league-client-main', - 'akari-ipc-main', - 'mobx-utils-main' - ] - - private readonly _loggerFactory: LoggerFactoryMain - private readonly _settingFactory: SettingFactoryMain - private readonly _log: AkariLogger - private readonly _lc: LeagueClientMain - private readonly _setting: MobxSettingService - private readonly _mobx: MobxUtilsMain - private readonly _ipc: AkariIpcMain - - public readonly settings = new AutoSelectSettings() - public readonly state: AutoSelectState - - private _grabTimerId: NodeJS.Timeout | null = null - - constructor(deps: any) { - this._loggerFactory = deps['logger-factory-main'] - this._log = this._loggerFactory.create(AutoSelectMain.id) - this._lc = deps['league-client-main'] - this._mobx = deps['mobx-utils-main'] - this._ipc = deps['akari-ipc-main'] - this._settingFactory = deps['setting-factory-main'] - this.state = new AutoSelectState(this._lc.data, this.settings) - this._setting = this._settingFactory.create( - AutoSelectMain.id, - { - benchExpectedChampions: { default: this.settings.benchExpectedChampions }, - expectedChampions: { default: this.settings.expectedChampions }, - bannedChampions: { default: this.settings.bannedChampions }, - normalModeEnabled: { default: this.settings.normalModeEnabled }, - selectTeammateIntendedChampion: { default: this.settings.selectTeammateIntendedChampion }, - showIntent: { default: this.settings.showIntent }, - completed: { default: this.settings.completed }, - benchModeEnabled: { default: this.settings.benchModeEnabled }, - benchSelectFirstAvailableChampion: { - default: this.settings.benchSelectFirstAvailableChampion - }, - grabDelaySeconds: { default: this.settings.grabDelaySeconds }, - banEnabled: { default: this.settings.banEnabled }, - banTeammateIntendedChampion: { default: this.settings.banTeammateIntendedChampion } - }, - this.settings - ) - } - - private async _handleState() { - await this._setting.applyToState() - - this._mobx.propSync(AutoSelectMain.id, 'settings', this.settings, [ - 'normalModeEnabled', - 'selectTeammateIntendedChampion', - 'showIntent', - 'completed', - 'benchModeEnabled', - 'benchSelectFirstAvailableChampion', - 'grabDelaySeconds', - 'banEnabled', - 'banTeammateIntendedChampion', - 'benchExpectedChampions', - 'expectedChampions', - 'bannedChampions' - ]) - - this._mobx.propSync(AutoSelectMain.id, 'state', this.state, [ - 'upcomingBan', - 'upcomingPick', - 'upcomingGrab', - 'memberMe' - ]) - } - - async onInit() { - await this._handleState() - } - - private _handleAutoPickBan() { - this._mobx.reaction( - () => this.state.upcomingPick, - async (pick) => { - if (!pick) { - return - } - - if (pick.isActingNow && pick.action.isInProgress) { - if ( - !this.settings.completed && - this.state.champSelectActionInfo?.memberMe.championId === pick.championId - ) { - return - } - - try { - this._log.info( - `现在选择:${pick.championId}, ${this.settings.completed}, actionId=${pick.action.id}` - ) - - await this._lc.api.champSelect.pickOrBan( - pick.championId, - this.settings.completed, - 'pick', - pick.action.id - ) - } catch (error) { - this._ipc.sendEvent(AutoSelectMain.id, 'error-pick', pick.championId) - this._log.warn(`尝试自动执行 pick 时失败, 目标英雄: ${pick.championId}`, error) - } - - return - } - - if (!pick.isActingNow) { - if (!this.settings.showIntent) { - return - } - - if (this.state.champSelectActionInfo?.session.isCustomGame) { - return - } - - if (this.state.champSelectActionInfo?.memberMe.championId) { - return - } - - const thatAction = this.state.champSelectActionInfo?.pick.find( - (a) => a.id === pick.action.id - ) - if (thatAction && thatAction.championId === pick.championId) { - return - } - - try { - this._log.info(`现在预选:${pick.championId}, actionId=${pick.action.id}`) - - await this._lc.api.champSelect.action(pick.action.id, { championId: pick.championId }) - } catch (error) { - this._ipc.sendEvent(AutoSelectMain.id, 'error-pre-pick', pick.championId) - this._log.warn(`尝试自动执行预选时失败, 目标英雄: ${pick.championId}`, error) - } - return - } - } - ) - - this._mobx.reaction( - () => this.state.upcomingBan, - async (ban) => { - if (!ban) { - return - } - - if (ban.action.isInProgress && ban.isActingNow) { - try { - await this._lc.api.champSelect.pickOrBan(ban.championId, true, 'ban', ban.action.id) - } catch (error) { - this._ipc.sendEvent(AutoSelectMain.id, 'error-ban', ban.championId) - this._log.warn(`尝试自动执行 pick 时失败, 目标英雄: ${ban.championId}`, error) - } - } - } - ) - - this._mobx.reaction( - () => this.state.upcomingPick, - (pick) => { - this._log.info(`Upcoming Pick - 即将进行的选择: ${JSON.stringify(pick)}`) - } - ) - - this._mobx.reaction( - () => this.state.upcomingBan, - (ban) => { - this._log.info(`Upcoming Ban - 即将进行的禁用: ${JSON.stringify(ban)}`) - } - ) - - this._mobx.reaction( - () => this.state.upcomingGrab, - (grab) => { - this._log.info(`Upcoming Grab - 即将进行的交换: ${JSON.stringify(grab)}`) - } - ) - - // for logging only - const positionInfo = computed( - () => { - if (!this.state.champSelectActionInfo) { - return null - } - - if (!this.settings.normalModeEnabled || !this.settings.banEnabled) { - return null - } - - const position = this.state.champSelectActionInfo.memberMe.assignedPosition - - const championsBan = this.settings.bannedChampions - const championsPick = this.settings.expectedChampions - - return { - position, - ban: championsBan, - pick: championsPick - } - }, - { equals: comparer.structural } - ) - - this._mobx.reaction( - () => positionInfo.get(), - (info) => { - if (info) { - this._log.info( - `当前分配到位置: ${info.position || '<空>'}, 预设选用英雄: ${JSON.stringify(info.pick)}, 预设禁用英雄: ${JSON.stringify(info.ban)}` - ) - } - } - ) - - this._mobx.reaction( - () => this._lc.data.chat.conversations.championSelect?.id, - (id) => { - if (id && this._lc.data.gameflow.phase === 'ChampSelect') { - if (!this._lc.data.champSelect.session) { - return - } - - const texts: string[] = [] - if (!this._lc.data.champSelect.session.benchEnabled && this.settings.normalModeEnabled) { - texts.push('普通模式自动选择已开启') - } - - if (this._lc.data.champSelect.session.benchEnabled && this.settings.benchModeEnabled) { - texts.push('随机模式自动选择已开启') - } - - if (!this._lc.data.champSelect.session.benchEnabled && this.settings.banEnabled) { - let hasBanAction = false - for (const arr of this._lc.data.champSelect.session.actions) { - if (arr.findIndex((a) => a.type === 'ban') !== -1) { - hasBanAction = true - break - } - } - if (hasBanAction) { - texts.push('自动禁用已开启') - } - } - - if (texts.length) { - this._lc.api.chat - .chatSend(id, `[League Akari] ${texts.join(', ')}`, 'celebration') - .catch(() => {}) - } - } - } - ) - } - - private _handleBenchMode() { - interface BenchChampionInfo { - // 最近一次在英雄选择台上的时间 - lastTimeOnBench: number - } - - // 追踪了英雄选择信息的细节 k = 英雄 ID,v = 英雄信息 - const benchChampions = new Map() - - const diffBenchAndUpdate = (prevBench: number[], newBench: number[], time: number) => { - // 多出来的英雄,新的有但上一次没有 - newBench.forEach((c) => { - if (!prevBench.includes(c)) { - benchChampions.set(c, { lastTimeOnBench: time }) - } - }) - - // 消失的英雄,旧的有但新的没有 - prevBench.forEach((c) => { - if (!newBench.includes(c)) { - benchChampions.delete(c) - } - }) - } - - const simplifiedCsSession = computed(() => { - if (!this._lc.data.champSelect.session) { - return null - } - - const { benchEnabled, localPlayerCellId, benchChampions, myTeam } = - this._lc.data.champSelect.session - - return { benchEnabled, localPlayerCellId, benchChampions, myTeam } - }) - - this._mobx.reaction( - () => - [ - simplifiedCsSession.get(), - this.settings.benchExpectedChampions, - this.settings.benchModeEnabled, - this.settings.benchSelectFirstAvailableChampion - ] as const, - ([session, expected, enabled, onlyFirst], [prevSession]) => { - if (!session) { - // session 被清空的情况, 区分一开始就没有的情况 - if (prevSession) { - benchChampions.clear() - } - return - } - - if (!session.benchEnabled) { - return - } - - // Diff - const now = Date.now() - diffBenchAndUpdate( - prevSession?.benchChampions.map((c) => c.championId) || [], - session.benchChampions.map((c) => c.championId), - now - ) - - if (!enabled) { - if (this.state.upcomingGrab) { - this._log.info( - `关闭了该功能, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` - ) - this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) - clearTimeout(this._grabTimerId!) - this._grabTimerId = null - this.state.setUpcomingGrab(null) - } - return - } - - // 当前会话中可选的英雄 - const availableExpectedChampions = expected.filter( - (c) => - this._lc.data.champSelect.currentPickableChampionIds.has(c) && - !this._lc.data.champSelect.disabledChampionIds.has(c) - ) - const pickableChampionsOnBench = availableExpectedChampions.filter((c) => - benchChampions.has(c) - ) - - // 本次变更, 如果有即将进行的交换, 则根据情况判断是否应该取消 - if (this.state.upcomingGrab) { - if (pickableChampionsOnBench.length === 0) { - this._log.info( - `已无可选英雄, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` - ) - this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) - clearTimeout(this._grabTimerId!) - this._grabTimerId = null - this.state.setUpcomingGrab(null) - return - } - - if (onlyFirst) { - // 对于 onlyFirst 的情况, 如果预计的英雄仍位于可选的第一位, 那么就返回 - if (pickableChampionsOnBench[0] === this.state.upcomingGrab.championId) { - return - } else { - this._log.info( - `已非首选英雄, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` - ) - this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) - clearTimeout(this._grabTimerId!) - this._grabTimerId = null - this.state.setUpcomingGrab(null) - } - } else { - // 对于非 onlyFirst 的情况, 只要目标还在期望列表中,且仍在选择台中, 那么直接返回 - if (pickableChampionsOnBench.includes(this.state.upcomingGrab.championId)) { - return - } else { - this._log.info( - `已不在期望列表中, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` - ) - this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) - clearTimeout(this._grabTimerId!) - this._grabTimerId = null - this.state.setUpcomingGrab(null) - } - } - } - - if (pickableChampionsOnBench.length === 0) { - return - } - - const selfChampionId = session.myTeam.find( - (v) => v.cellId === session.localPlayerCellId - )?.championId - - if (!selfChampionId) { - return - } - - if (onlyFirst) { - // 对于 onlyFirst, 如果手上的英雄优先级比较高, 那么没有必要再次选择 - const indexInHand = availableExpectedChampions.indexOf(selfChampionId) - const indexInFirstPickable = availableExpectedChampions.indexOf( - pickableChampionsOnBench[0] - ) - - if (indexInHand !== -1 && indexInHand < indexInFirstPickable) { - return - } - } else { - // 对于非 onlyFirst, 如果自己的英雄在期望列表中, 那么没有必要再次选择 - if (availableExpectedChampions.includes(selfChampionId)) { - return - } - } - - const newTarget = pickableChampionsOnBench[0] - const waitTime = Math.max( - this.settings.grabDelaySeconds * 1e3 - - (now - benchChampions.get(newTarget)!.lastTimeOnBench), - 0 - ) - - this._log.info(`目标交换英雄: ${newTarget}`) - this.state.setUpcomingGrab(newTarget, Date.now() + waitTime) - this._notifyInChat('select', this.state.upcomingGrab!.championId, waitTime).catch(() => {}) - this._grabTimerId = setTimeout(() => this._trySwap(), waitTime) - }, - { equals: comparer.structural } - ) - - this._mobx.reaction( - () => this._lc.data.gameflow.phase, - (phase) => { - if (phase !== 'ChampSelect' && this.state.upcomingGrab) { - this.state.setUpcomingGrab(null) - this._grabTimerId = null - } - } - ) - } - - private async _notifyInChat(type: 'cancel' | 'select', championId: number, time = 0) { - if (!this._lc.data.chat.conversations.championSelect) { - return - } - - try { - await this._lc.api.chat.chatSend( - this._lc.data.chat.conversations.championSelect.id, - type === 'select' - ? `[League Akari] - [自动选择]: 即将在 ${(time / 1000).toFixed(1)} 秒后选择 ${this._lc.data.gameData.champions[championId]?.name || championId}` - : `[League Akari] - [自动选择]: 已取消选择 ${this._lc.data.gameData.champions[championId]?.name || championId}`, - 'celebration' - ) - } catch (error) { - this._ipc.sendEvent(AutoSelectMain.id, 'error-chat-send', formatError(error)) - this._log.warn(`无法发送信息`, error) - } - } - - private async _trySwap() { - if (!this.state.upcomingGrab) { - return - } - - try { - await this._lc.api.champSelect.benchSwap(this.state.upcomingGrab.championId) - this._log.info(`已交换英雄: ${this.state.upcomingGrab.championId}`) - } catch (error) { - this._ipc.sendEvent(AutoSelectMain.id, 'error-bench-swap', this.state.upcomingGrab.championId) - this._log.warn(`在尝试交换英雄时发生错误`, error) - } finally { - this._grabTimerId = null - this.state.setUpcomingGrab(null) - } - } -} +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { formatError } from '@shared/utils/errors' +import { comparer, computed } from 'mobx' + +import { AkariIpcMain } from '../ipc' +import { LeagueClientMain } from '../league-client' +import { AkariLogger, LoggerFactoryMain } from '../logger-factory' +import { MobxUtilsMain } from '../mobx-utils' +import { SettingFactoryMain } from '../setting-factory' +import { SetterSettingService } from '../setting-factory/setter-setting-service' +import { AutoSelectSettings, AutoSelectState } from './state' + +export class AutoSelectMain implements IAkariShardInitDispose { + static id = 'auto-select-main' + static dependencies = [ + 'logger-factory-main', + 'setting-factory-main', + 'league-client-main', + 'akari-ipc-main', + 'mobx-utils-main' + ] + + private readonly _loggerFactory: LoggerFactoryMain + private readonly _settingFactory: SettingFactoryMain + private readonly _log: AkariLogger + private readonly _lc: LeagueClientMain + private readonly _setting: SetterSettingService + private readonly _mobx: MobxUtilsMain + private readonly _ipc: AkariIpcMain + + public readonly settings = new AutoSelectSettings() + public readonly state: AutoSelectState + + private _grabTimerId: NodeJS.Timeout | null = null + + constructor(deps: any) { + this._loggerFactory = deps['logger-factory-main'] + this._log = this._loggerFactory.create(AutoSelectMain.id) + this._lc = deps['league-client-main'] + this._mobx = deps['mobx-utils-main'] + this._ipc = deps['akari-ipc-main'] + this._settingFactory = deps['setting-factory-main'] + this.state = new AutoSelectState(this._lc.data, this.settings) + this._setting = this._settingFactory.create( + AutoSelectMain.id, + { + benchExpectedChampions: { default: this.settings.benchExpectedChampions }, + expectedChampions: { default: this.settings.expectedChampions }, + bannedChampions: { default: this.settings.bannedChampions }, + normalModeEnabled: { default: this.settings.normalModeEnabled }, + selectTeammateIntendedChampion: { default: this.settings.selectTeammateIntendedChampion }, + showIntent: { default: this.settings.showIntent }, + completed: { default: this.settings.completed }, + benchModeEnabled: { default: this.settings.benchModeEnabled }, + benchSelectFirstAvailableChampion: { + default: this.settings.benchSelectFirstAvailableChampion + }, + grabDelaySeconds: { default: this.settings.grabDelaySeconds }, + banEnabled: { default: this.settings.banEnabled }, + banTeammateIntendedChampion: { default: this.settings.banTeammateIntendedChampion } + }, + this.settings + ) + } + + private async _handleState() { + await this._setting.applyToState() + + this._mobx.propSync(AutoSelectMain.id, 'settings', this.settings, [ + 'normalModeEnabled', + 'selectTeammateIntendedChampion', + 'showIntent', + 'completed', + 'benchModeEnabled', + 'benchSelectFirstAvailableChampion', + 'grabDelaySeconds', + 'banEnabled', + 'banTeammateIntendedChampion', + 'benchExpectedChampions', + 'expectedChampions', + 'bannedChampions' + ]) + + this._mobx.propSync(AutoSelectMain.id, 'state', this.state, [ + 'upcomingBan', + 'upcomingPick', + 'upcomingGrab', + 'memberMe' + ]) + } + + async onInit() { + await this._handleState() + this._handleAutoPickBan() + this._handleBenchMode() + } + + private _handleAutoPickBan() { + this._mobx.reaction( + () => this.state.upcomingPick, + async (pick) => { + if (!pick) { + return + } + + if (pick.isActingNow && pick.action.isInProgress) { + if ( + !this.settings.completed && + this.state.champSelectActionInfo?.memberMe.championId === pick.championId + ) { + return + } + + try { + this._log.info( + `现在选择:${pick.championId}, ${this.settings.completed}, actionId=${pick.action.id}` + ) + + await this._lc.api.champSelect.pickOrBan( + pick.championId, + this.settings.completed, + 'pick', + pick.action.id + ) + } catch (error) { + this._ipc.sendEvent(AutoSelectMain.id, 'error-pick', pick.championId) + this._log.warn(`尝试自动执行 pick 时失败, 目标英雄: ${pick.championId}`, error) + } + + return + } + + if (!pick.isActingNow) { + if (!this.settings.showIntent) { + return + } + + if (this.state.champSelectActionInfo?.session.isCustomGame) { + return + } + + if (this.state.champSelectActionInfo?.memberMe.championId) { + return + } + + const thatAction = this.state.champSelectActionInfo?.pick.find( + (a) => a.id === pick.action.id + ) + if (thatAction && thatAction.championId === pick.championId) { + return + } + + try { + this._log.info(`现在预选:${pick.championId}, actionId=${pick.action.id}`) + + await this._lc.api.champSelect.action(pick.action.id, { championId: pick.championId }) + } catch (error) { + this._ipc.sendEvent(AutoSelectMain.id, 'error-pre-pick', pick.championId) + this._log.warn(`尝试自动执行预选时失败, 目标英雄: ${pick.championId}`, error) + } + return + } + } + ) + + this._mobx.reaction( + () => this.state.upcomingBan, + async (ban) => { + if (!ban) { + return + } + + if (ban.action.isInProgress && ban.isActingNow) { + try { + await this._lc.api.champSelect.pickOrBan(ban.championId, true, 'ban', ban.action.id) + } catch (error) { + this._ipc.sendEvent(AutoSelectMain.id, 'error-ban', ban.championId) + this._log.warn(`尝试自动执行 pick 时失败, 目标英雄: ${ban.championId}`, error) + } + } + } + ) + + this._mobx.reaction( + () => this.state.upcomingPick, + (pick) => { + this._log.info(`Upcoming Pick - 即将进行的选择: ${JSON.stringify(pick)}`) + } + ) + + this._mobx.reaction( + () => this.state.upcomingBan, + (ban) => { + this._log.info(`Upcoming Ban - 即将进行的禁用: ${JSON.stringify(ban)}`) + } + ) + + this._mobx.reaction( + () => this.state.upcomingGrab, + (grab) => { + this._log.info(`Upcoming Grab - 即将进行的交换: ${JSON.stringify(grab)}`) + } + ) + + // for logging only + const positionInfo = computed( + () => { + if (!this.state.champSelectActionInfo) { + return null + } + + if (!this.settings.normalModeEnabled || !this.settings.banEnabled) { + return null + } + + const position = this.state.champSelectActionInfo.memberMe.assignedPosition + + const championsBan = this.settings.bannedChampions + const championsPick = this.settings.expectedChampions + + return { + position, + ban: championsBan, + pick: championsPick + } + }, + { equals: comparer.structural } + ) + + this._mobx.reaction( + () => positionInfo.get(), + (info) => { + if (info) { + this._log.info( + `当前分配到位置: ${info.position || '<空>'}, 预设选用英雄: ${JSON.stringify(info.pick)}, 预设禁用英雄: ${JSON.stringify(info.ban)}` + ) + } + } + ) + + this._mobx.reaction( + () => this._lc.data.chat.conversations.championSelect?.id, + (id) => { + if (id && this._lc.data.gameflow.phase === 'ChampSelect') { + if (!this._lc.data.champSelect.session) { + return + } + + const texts: string[] = [] + if (!this._lc.data.champSelect.session.benchEnabled && this.settings.normalModeEnabled) { + texts.push('普通模式自动选择已开启') + } + + if (this._lc.data.champSelect.session.benchEnabled && this.settings.benchModeEnabled) { + texts.push('随机模式自动选择已开启') + } + + if (!this._lc.data.champSelect.session.benchEnabled && this.settings.banEnabled) { + let hasBanAction = false + for (const arr of this._lc.data.champSelect.session.actions) { + if (arr.findIndex((a) => a.type === 'ban') !== -1) { + hasBanAction = true + break + } + } + if (hasBanAction) { + texts.push('自动禁用已开启') + } + } + + if (texts.length) { + this._lc.api.chat + .chatSend(id, `[League Akari] ${texts.join(', ')}`, 'celebration') + .catch(() => {}) + } + } + } + ) + } + + private _handleBenchMode() { + interface BenchChampionInfo { + // 最近一次在英雄选择台上的时间 + lastTimeOnBench: number + } + + // 追踪了英雄选择信息的细节 k = 英雄 ID,v = 英雄信息 + const benchChampions = new Map() + + const diffBenchAndUpdate = (prevBench: number[], newBench: number[], time: number) => { + // 多出来的英雄,新的有但上一次没有 + newBench.forEach((c) => { + if (!prevBench.includes(c)) { + benchChampions.set(c, { lastTimeOnBench: time }) + } + }) + + // 消失的英雄,旧的有但新的没有 + prevBench.forEach((c) => { + if (!newBench.includes(c)) { + benchChampions.delete(c) + } + }) + } + + const simplifiedCsSession = computed(() => { + if (!this._lc.data.champSelect.session) { + return null + } + + const { benchEnabled, localPlayerCellId, benchChampions, myTeam } = + this._lc.data.champSelect.session + + return { benchEnabled, localPlayerCellId, benchChampions, myTeam } + }) + + this._mobx.reaction( + () => + [ + simplifiedCsSession.get(), + this.settings.benchExpectedChampions, + this.settings.benchModeEnabled, + this.settings.benchSelectFirstAvailableChampion + ] as const, + ([session, expected, enabled, onlyFirst], [prevSession]) => { + if (!session) { + // session 被清空的情况, 区分一开始就没有的情况 + if (prevSession) { + benchChampions.clear() + } + return + } + + if (!session.benchEnabled) { + return + } + + // Diff + const now = Date.now() + diffBenchAndUpdate( + prevSession?.benchChampions.map((c) => c.championId) || [], + session.benchChampions.map((c) => c.championId), + now + ) + + if (!enabled) { + if (this.state.upcomingGrab) { + this._log.info( + `关闭了该功能, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` + ) + this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) + clearTimeout(this._grabTimerId!) + this._grabTimerId = null + this.state.setUpcomingGrab(null) + } + return + } + + // 当前会话中可选的英雄 + const availableExpectedChampions = expected.filter( + (c) => + this._lc.data.champSelect.currentPickableChampionIds.has(c) && + !this._lc.data.champSelect.disabledChampionIds.has(c) + ) + const pickableChampionsOnBench = availableExpectedChampions.filter((c) => + benchChampions.has(c) + ) + + // 本次变更, 如果有即将进行的交换, 则根据情况判断是否应该取消 + if (this.state.upcomingGrab) { + if (pickableChampionsOnBench.length === 0) { + this._log.info( + `已无可选英雄, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` + ) + this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) + clearTimeout(this._grabTimerId!) + this._grabTimerId = null + this.state.setUpcomingGrab(null) + return + } + + if (onlyFirst) { + // 对于 onlyFirst 的情况, 如果预计的英雄仍位于可选的第一位, 那么就返回 + if (pickableChampionsOnBench[0] === this.state.upcomingGrab.championId) { + return + } else { + this._log.info( + `已非首选英雄, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` + ) + this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) + clearTimeout(this._grabTimerId!) + this._grabTimerId = null + this.state.setUpcomingGrab(null) + } + } else { + // 对于非 onlyFirst 的情况, 只要目标还在期望列表中,且仍在选择台中, 那么直接返回 + if (pickableChampionsOnBench.includes(this.state.upcomingGrab.championId)) { + return + } else { + this._log.info( + `已不在期望列表中, 取消即将进行的交换:ID:${this.state.upcomingGrab.championId}` + ) + this._notifyInChat('cancel', this.state.upcomingGrab.championId).catch(() => {}) + clearTimeout(this._grabTimerId!) + this._grabTimerId = null + this.state.setUpcomingGrab(null) + } + } + } + + if (pickableChampionsOnBench.length === 0) { + return + } + + const selfChampionId = session.myTeam.find( + (v) => v.cellId === session.localPlayerCellId + )?.championId + + if (!selfChampionId) { + return + } + + if (onlyFirst) { + // 对于 onlyFirst, 如果手上的英雄优先级比较高, 那么没有必要再次选择 + const indexInHand = availableExpectedChampions.indexOf(selfChampionId) + const indexInFirstPickable = availableExpectedChampions.indexOf( + pickableChampionsOnBench[0] + ) + + if (indexInHand !== -1 && indexInHand < indexInFirstPickable) { + return + } + } else { + // 对于非 onlyFirst, 如果自己的英雄在期望列表中, 那么没有必要再次选择 + if (availableExpectedChampions.includes(selfChampionId)) { + return + } + } + + const newTarget = pickableChampionsOnBench[0] + const waitTime = Math.max( + this.settings.grabDelaySeconds * 1e3 - + (now - benchChampions.get(newTarget)!.lastTimeOnBench), + 0 + ) + + this._log.info(`目标交换英雄: ${newTarget}`) + this.state.setUpcomingGrab(newTarget, Date.now() + waitTime) + this._notifyInChat('select', this.state.upcomingGrab!.championId, waitTime).catch(() => {}) + this._grabTimerId = setTimeout(() => this._trySwap(), waitTime) + }, + { equals: comparer.structural } + ) + + this._mobx.reaction( + () => this._lc.data.gameflow.phase, + (phase) => { + if (phase !== 'ChampSelect' && this.state.upcomingGrab) { + this.state.setUpcomingGrab(null) + this._grabTimerId = null + } + } + ) + } + + private async _notifyInChat(type: 'cancel' | 'select', championId: number, time = 0) { + if (!this._lc.data.chat.conversations.championSelect) { + return + } + + try { + await this._lc.api.chat.chatSend( + this._lc.data.chat.conversations.championSelect.id, + type === 'select' + ? `[League Akari] - [自动选择]: 即将在 ${(time / 1000).toFixed(1)} 秒后选择 ${this._lc.data.gameData.champions[championId]?.name || championId}` + : `[League Akari] - [自动选择]: 已取消选择 ${this._lc.data.gameData.champions[championId]?.name || championId}`, + 'celebration' + ) + } catch (error) { + this._ipc.sendEvent(AutoSelectMain.id, 'error-chat-send', formatError(error)) + this._log.warn(`无法发送信息`, error) + } + } + + private async _trySwap() { + if (!this.state.upcomingGrab) { + return + } + + try { + await this._lc.api.champSelect.benchSwap(this.state.upcomingGrab.championId) + this._log.info(`已交换英雄: ${this.state.upcomingGrab.championId}`) + } catch (error) { + this._ipc.sendEvent(AutoSelectMain.id, 'error-bench-swap', this.state.upcomingGrab.championId) + this._log.warn(`在尝试交换英雄时发生错误`, error) + } finally { + this._grabTimerId = null + this.state.setUpcomingGrab(null) + } + } +} diff --git a/src/main/shards/game-client/index.ts b/src/main/shards/game-client/index.ts index 3ba9d22e..49de0fb8 100644 --- a/src/main/shards/game-client/index.ts +++ b/src/main/shards/game-client/index.ts @@ -6,10 +6,11 @@ import https from 'https' import toolkit from '../../native/laToolkitWin32x64.node' import { AkariIpcMain } from '../ipc' +import { KeyboardShortcutsMain } from '../keyboard-shortcuts' import { LeagueClientMain } from '../league-client' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { SgpMain } from '../sgp' import { GameClientSettings } from './state' @@ -29,7 +30,8 @@ export class GameClientMain implements IAkariShardInitDispose { 'logger-factory-main', 'setting-factory-main', 'sgp-main', - 'league-client-main' + 'league-client-main', + 'keyboard-shortcuts-main' ] static GAME_CLIENT_PROCESS_NAME = 'League of Legends.exe' @@ -40,9 +42,10 @@ export class GameClientMain implements IAkariShardInitDispose { private readonly _loggerFactory: LoggerFactoryMain private readonly _settingFactory: SettingFactoryMain private readonly _log: AkariLogger - private readonly _setting: MobxSettingService + private readonly _setting: SetterSettingService private readonly _sgp: SgpMain private readonly _lc: LeagueClientMain + private readonly _kbd: KeyboardShortcutsMain private readonly _http = axios.create({ baseURL: GameClientMain.GAME_CLIENT_BASE_URL, @@ -65,6 +68,7 @@ export class GameClientMain implements IAkariShardInitDispose { this._api = new GameClientHttpApiAxiosHelper(this._http) this._sgp = deps['sgp-main'] this._lc = deps['league-client-main'] + this._kbd = deps['keyboard-shortcuts-main'] this._setting = this._settingFactory.create( GameClientMain.id, @@ -85,10 +89,20 @@ export class GameClientMain implements IAkariShardInitDispose { async onInit() { await this._setting.applyToState() - this._handleCall() + this._handleIpcCall() + this._handleTerminateGameClientOnAltF4() } - private _handleCall() { + private _handleTerminateGameClientOnAltF4() { + // 松手时触发, 而非按下时触发 + this._kbd.events.on('last-active-shortcut', ({ id }) => { + if (id === 'LeftAlt+F4' || id === 'RightAlt+F4') { + this._terminateGameClient() + } + }) + } + + private _handleIpcCall() { this._ipc.onCall(GameClientMain.id, 'terminateGameClient', () => { this._terminateGameClient() }) diff --git a/src/main/shards/in-game-send/index.ts b/src/main/shards/in-game-send/index.ts new file mode 100644 index 00000000..70def619 --- /dev/null +++ b/src/main/shards/in-game-send/index.ts @@ -0,0 +1,58 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcMain } from '../ipc' +import { KeyboardShortcutsMain } from '../keyboard-shortcuts' +import { AkariLogger, LoggerFactoryMain } from '../logger-factory' +import { MobxUtilsMain } from '../mobx-utils' +import { OngoingGameMain } from '../ongoing-game' +import { SettingFactoryMain } from '../setting-factory' +import { SetterSettingService } from '../setting-factory/setter-setting-service' +import { InGameSendSettings, InGameSendState } from './state' + +/** + * 用于在游戏中模拟发送的相关功能 + * - 游戏内发送消息 + * - 英雄选择阶段发送消息 + */ +export class InGameSendMain implements IAkariShardInitDispose { + static id = 'in-game-send-main' + static dependencies = [ + 'akari-ipc-main', + 'mobx-utils-main', + 'logger-factory-main', + 'setting-factory-main', + 'keyboard-shortcuts-main', + 'ongoing-game-main' + ] + + private _loggerFactory: LoggerFactoryMain + private _settingFactory: SettingFactoryMain + private _log: AkariLogger + private _mobx: MobxUtilsMain + private _ipc: AkariIpcMain + private _setting: SetterSettingService + private _kbd: KeyboardShortcutsMain + private _ongoingGame: OngoingGameMain + + public readonly settings = new InGameSendSettings() + public readonly state = new InGameSendState() + + constructor(deps: any) { + this._loggerFactory = deps['logger-factory-main'] + this._settingFactory = deps['setting-factory-main'] + this._mobx = deps['mobx-utils-main'] + this._ipc = deps['akari-ipc-main'] + this._kbd = deps['keyboard-shortcuts-main'] + this._ongoingGame = deps['ongoing-game-main'] + this._log = this._loggerFactory.create(InGameSendMain.id) + this._setting = this._settingFactory.create(InGameSendMain.id, {}, this.settings) + } + + private async _handleState() { + await this._setting.applyToState() + } + + async onInit() { + await this._handleState() + } +} diff --git a/src/main/shards/in-game-send/state.ts b/src/main/shards/in-game-send/state.ts new file mode 100644 index 00000000..377e3be1 --- /dev/null +++ b/src/main/shards/in-game-send/state.ts @@ -0,0 +1,13 @@ +import { makeAutoObservable } from 'mobx' + +export class InGameSendSettings { + constructor() { + makeAutoObservable(this) + } +} + +export class InGameSendState { + constructor() { + makeAutoObservable(this) + } +} diff --git a/src/main/shards/index.ts b/src/main/shards/index.ts deleted file mode 100644 index 1d7fdd9b..00000000 --- a/src/main/shards/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -// import { AkariManager } from '@shared/akari-shard/manager' - -// import { AkariIpcMain } from './ipc' -// import { LoggerMain } from './logger' -// import { StateSyncMain } from './state-sync' - -// const manager = new AkariManager() - -// manager.use(AkariIpcMain, LoggerMain, StateSyncMain) - -// manager.setup() diff --git a/src/main/shards/ipc/index.ts b/src/main/shards/ipc/index.ts index 655db4eb..81176cac 100644 --- a/src/main/shards/ipc/index.ts +++ b/src/main/shards/ipc/index.ts @@ -7,12 +7,12 @@ export interface IpcMainSuccessDataType { data: T } -export interface IpcMainErrorDataType { +export interface IpcMainErrorDataType { success: false - error: T + error: any } -export type IpcMainDataType = IpcMainSuccessDataType | IpcMainErrorDataType +export type IpcMainDataType = IpcMainSuccessDataType | IpcMainErrorDataType /** * League Akari 的 IPC 主进程实现 diff --git a/src/main/shards/keyboard-shorcuts/definitions.ts b/src/main/shards/keyboard-shorcuts/definitions.ts deleted file mode 100644 index 53728f9f..00000000 --- a/src/main/shards/keyboard-shorcuts/definitions.ts +++ /dev/null @@ -1,186 +0,0 @@ -export interface KeyDefinition { - _nameRaw: string - name: string - standardName: string -} - -// copied from global-key-listener -export const VKEY_MAP: Record = { - 0x30: { _nameRaw: 'VK_0', name: '0', standardName: '0' }, - 0x31: { _nameRaw: 'VK_1', name: '1', standardName: '1' }, - 0x32: { _nameRaw: 'VK_2', name: '2', standardName: '2' }, - 0x33: { _nameRaw: 'VK_3', name: '3', standardName: '3' }, - 0x34: { _nameRaw: 'VK_4', name: '4', standardName: '4' }, - 0x35: { _nameRaw: 'VK_5', name: '5', standardName: '5' }, - 0x36: { _nameRaw: 'VK_6', name: '6', standardName: '6' }, - 0x37: { _nameRaw: 'VK_7', name: '7', standardName: '7' }, - 0x38: { _nameRaw: 'VK_8', name: '8', standardName: '8' }, - 0x39: { _nameRaw: 'VK_9', name: '9', standardName: '9' }, - 0x41: { _nameRaw: 'VK_A', name: 'A', standardName: 'A' }, - 0x42: { _nameRaw: 'VK_B', name: 'B', standardName: 'B' }, - 0x43: { _nameRaw: 'VK_C', name: 'C', standardName: 'C' }, - 0x44: { _nameRaw: 'VK_D', name: 'D', standardName: 'D' }, - 0x45: { _nameRaw: 'VK_E', name: 'E', standardName: 'E' }, - 0x46: { _nameRaw: 'VK_F', name: 'F', standardName: 'F' }, - 0x47: { _nameRaw: 'VK_G', name: 'G', standardName: 'G' }, - 0x48: { _nameRaw: 'VK_H', name: 'H', standardName: 'H' }, - 0x49: { _nameRaw: 'VK_I', name: 'I', standardName: 'I' }, - 0x4a: { _nameRaw: 'VK_J', name: 'J', standardName: 'J' }, - 0x4b: { _nameRaw: 'VK_K', name: 'K', standardName: 'K' }, - 0x4c: { _nameRaw: 'VK_L', name: 'L', standardName: 'L' }, - 0x4d: { _nameRaw: 'VK_M', name: 'M', standardName: 'M' }, - 0x4e: { _nameRaw: 'VK_N', name: 'N', standardName: 'N' }, - 0x4f: { _nameRaw: 'VK_O', name: 'O', standardName: 'O' }, - 0x50: { _nameRaw: 'VK_P', name: 'P', standardName: 'P' }, - 0x51: { _nameRaw: 'VK_Q', name: 'Q', standardName: 'Q' }, - 0x52: { _nameRaw: 'VK_R', name: 'R', standardName: 'R' }, - 0x53: { _nameRaw: 'VK_S', name: 'S', standardName: 'S' }, - 0x54: { _nameRaw: 'VK_T', name: 'T', standardName: 'T' }, - 0x55: { _nameRaw: 'VK_U', name: 'U', standardName: 'U' }, - 0x56: { _nameRaw: 'VK_V', name: 'V', standardName: 'V' }, - 0x57: { _nameRaw: 'VK_W', name: 'W', standardName: 'W' }, - 0x58: { _nameRaw: 'VK_X', name: 'X', standardName: 'X' }, - 0x59: { _nameRaw: 'VK_Y', name: 'Y', standardName: 'Y' }, - 0x5a: { _nameRaw: 'VK_Z', name: 'Z', standardName: 'Z' }, - 0x01: { _nameRaw: 'VK_LBUTTON', name: 'LBUTTON', standardName: 'MOUSE LEFT' }, - 0x02: { _nameRaw: 'VK_RBUTTON', name: 'RBUTTON', standardName: 'MOUSE RIGHT' }, - 0x03: { _nameRaw: 'VK_CANCEL', name: 'CANCEL', standardName: '' }, - 0x04: { _nameRaw: 'VK_MBUTTON', name: 'MBUTTON', standardName: 'MOUSE MIDDLE' }, - 0x05: { _nameRaw: 'VK_XBUTTON1', name: 'XBUTTON1', standardName: 'MOUSE X1' }, - 0x06: { _nameRaw: 'VK_XBUTTON2', name: 'XBUTTON2', standardName: 'MOUSE X2' }, - 0x08: { _nameRaw: 'VK_BACK', name: 'BACK', standardName: 'BACKSPACE' }, - 0x09: { _nameRaw: 'VK_TAB', name: 'TAB', standardName: 'TAB' }, - 0x0d: { _nameRaw: 'VK_RETURN', name: 'RETURN', standardName: 'RETURN' }, - 0x10: { _nameRaw: 'VK_SHIFT', name: 'SHIFT', standardName: '' }, - 0x11: { _nameRaw: 'VK_CONTROL', name: 'CONTROL', standardName: '' }, - 0x12: { _nameRaw: 'VK_MENU', name: 'MENU', standardName: '' }, - 0x13: { _nameRaw: 'VK_PAUSE', name: 'PAUSE', standardName: '' }, - 0x14: { _nameRaw: 'VK_CAPITAL', name: 'CAPSLOCK', standardName: 'CAPS LOCK' }, - 0x15: { _nameRaw: 'VK_KANA', name: 'KANA', standardName: '' }, - 0x16: { _nameRaw: 'VK_IME_ON', name: 'IME_ON', standardName: '' }, - 0x17: { _nameRaw: 'VK_JUNJA', name: 'JUNJA', standardName: '' }, - 0x18: { _nameRaw: 'VK_FINAL', name: 'FINAL', standardName: '' }, - 0x19: { _nameRaw: 'VK_HANJA', name: 'HANJA', standardName: '' }, - 0x1a: { _nameRaw: 'VK_IME_OFF', name: 'IME_OFF', standardName: '' }, - 0x1b: { _nameRaw: 'VK_ESCAPE', name: 'ESCAPE', standardName: 'ESCAPE' }, - 0x1c: { _nameRaw: 'VK_CONVERT', name: 'CONVERT', standardName: '' }, - 0x1d: { _nameRaw: 'VK_NONCONVERT', name: 'NONCONVERT', standardName: '' }, - 0x1e: { _nameRaw: 'VK_ACCEPT', name: 'ACCEPT', standardName: '' }, - 0x1f: { _nameRaw: 'VK_MODECHANGE', name: 'MODECHANGE', standardName: '' }, - 0x20: { _nameRaw: 'VK_SPACE', name: 'SPACE', standardName: 'SPACE' }, - 0x21: { _nameRaw: 'VK_PRIOR', name: 'PRIOR', standardName: 'PAGE UP' }, - 0x22: { _nameRaw: 'VK_NEXT', name: 'NEXT', standardName: 'PAGE DOWN' }, - 0x23: { _nameRaw: 'VK_END', name: 'END', standardName: 'END' }, - 0x24: { _nameRaw: 'VK_HOME', name: 'HOME', standardName: 'HOME' }, - 0x25: { _nameRaw: 'VK_LEFT', name: 'LEFT', standardName: 'LEFT ARROW' }, - 0x26: { _nameRaw: 'VK_UP', name: 'UP', standardName: 'UP ARROW' }, - 0x27: { _nameRaw: 'VK_RIGHT', name: 'RIGHT', standardName: 'RIGHT ARROW' }, - 0x28: { _nameRaw: 'VK_DOWN', name: 'DOWN', standardName: 'DOWN ARROW' }, - 0x29: { _nameRaw: 'VK_SELECT', name: 'SELECT', standardName: '' }, - 0x2a: { _nameRaw: 'VK_PRINT', name: 'PRINT', standardName: '' }, - 0x2b: { _nameRaw: 'VK_EXECUTE', name: 'EXECUTE', standardName: '' }, - 0x2c: { _nameRaw: 'VK_SNAPSHOT', name: 'SNAPSHOT', standardName: 'PRINT SCREEN' }, - 0x2d: { _nameRaw: 'VK_INSERT', name: 'INSERT', standardName: 'INS' }, - 0x2e: { _nameRaw: 'VK_DELETE', name: 'DELETE', standardName: 'DELETE' }, - 0x2f: { _nameRaw: 'VK_HELP', name: 'HELP', standardName: '' }, - 0x5b: { _nameRaw: 'VK_LWIN', name: 'LWIN', standardName: 'LEFT META' }, - 0x5c: { _nameRaw: 'VK_RWIN', name: 'RWIN', standardName: 'RIGHT META' }, - 0x5d: { _nameRaw: 'VK_APPS', name: 'APPS', standardName: '' }, - 0x5f: { _nameRaw: 'VK_SLEEP', name: 'SLEEP', standardName: '' }, - 0x60: { _nameRaw: 'VK_NUMPAD0', name: 'NUMPAD0', standardName: 'NUMPAD 0' }, - 0x61: { _nameRaw: 'VK_NUMPAD1', name: 'NUMPAD1', standardName: 'NUMPAD 1' }, - 0x62: { _nameRaw: 'VK_NUMPAD2', name: 'NUMPAD2', standardName: 'NUMPAD 2' }, - 0x63: { _nameRaw: 'VK_NUMPAD3', name: 'NUMPAD3', standardName: 'NUMPAD 3' }, - 0x64: { _nameRaw: 'VK_NUMPAD4', name: 'NUMPAD4', standardName: 'NUMPAD 4' }, - 0x65: { _nameRaw: 'VK_NUMPAD5', name: 'NUMPAD5', standardName: 'NUMPAD 5' }, - 0x66: { _nameRaw: 'VK_NUMPAD6', name: 'NUMPAD6', standardName: 'NUMPAD 6' }, - 0x67: { _nameRaw: 'VK_NUMPAD7', name: 'NUMPAD7', standardName: 'NUMPAD 7' }, - 0x68: { _nameRaw: 'VK_NUMPAD8', name: 'NUMPAD8', standardName: 'NUMPAD 8' }, - 0x69: { _nameRaw: 'VK_NUMPAD9', name: 'NUMPAD9', standardName: 'NUMPAD 9' }, - 0x6a: { _nameRaw: 'VK_MULTIPLY', name: 'MULTIPLY', standardName: 'NUMPAD MULTIPLY' }, - 0x6b: { _nameRaw: 'VK_ADD', name: 'ADD', standardName: 'NUMPAD PLUS' }, - 0x0c: { _nameRaw: 'VK_CLEAR', name: 'CLEAR', standardName: 'NUMPAD CLEAR' }, - 0x6d: { _nameRaw: 'VK_SUBTRACT', name: 'SUBTRACT', standardName: 'NUMPAD MINUS' }, - 0x6e: { _nameRaw: 'VK_DECIMAL', name: 'DECIMAL', standardName: 'NUMPAD DOT' }, - 0x6f: { _nameRaw: 'VK_DIVIDE', name: 'DIVIDE', standardName: 'NUMPAD DIVIDE' }, - 0x6c: { _nameRaw: 'VK_SEPARATOR', name: 'SEPARATOR', standardName: '' }, - 0x70: { _nameRaw: 'VK_F1', name: 'F1', standardName: 'F1' }, - 0x71: { _nameRaw: 'VK_F2', name: 'F2', standardName: 'F2' }, - 0x72: { _nameRaw: 'VK_F3', name: 'F3', standardName: 'F3' }, - 0x73: { _nameRaw: 'VK_F4', name: 'F4', standardName: 'F4' }, - 0x74: { _nameRaw: 'VK_F5', name: 'F5', standardName: 'F5' }, - 0x75: { _nameRaw: 'VK_F6', name: 'F6', standardName: 'F6' }, - 0x76: { _nameRaw: 'VK_F7', name: 'F7', standardName: 'F7' }, - 0x77: { _nameRaw: 'VK_F8', name: 'F8', standardName: 'F8' }, - 0x78: { _nameRaw: 'VK_F9', name: 'F9', standardName: 'F9' }, - 0x79: { _nameRaw: 'VK_F10', name: 'F10', standardName: 'F10' }, - 0x7a: { _nameRaw: 'VK_F11', name: 'F11', standardName: 'F11' }, - 0x7b: { _nameRaw: 'VK_F12', name: 'F12', standardName: 'F12' }, - 0x7c: { _nameRaw: 'VK_F13', name: 'F13', standardName: 'F13' }, - 0x7d: { _nameRaw: 'VK_F14', name: 'F14', standardName: 'F14' }, - 0x7e: { _nameRaw: 'VK_F15', name: 'F15', standardName: 'F15' }, - 0x7f: { _nameRaw: 'VK_F16', name: 'F16', standardName: 'F16' }, - 0x80: { _nameRaw: 'VK_F17', name: 'F17', standardName: 'F17' }, - 0x81: { _nameRaw: 'VK_F18', name: 'F18', standardName: 'F18' }, - 0x82: { _nameRaw: 'VK_F19', name: 'F19', standardName: 'F19' }, - 0x83: { _nameRaw: 'VK_F20', name: 'F20', standardName: 'F20' }, - 0x84: { _nameRaw: 'VK_F21', name: 'F21', standardName: 'F21' }, - 0x85: { _nameRaw: 'VK_F22', name: 'F22', standardName: 'F22' }, - 0x86: { _nameRaw: 'VK_F23', name: 'F23', standardName: 'F23' }, - 0x87: { _nameRaw: 'VK_F24', name: 'F24', standardName: 'F24' }, - 0x90: { _nameRaw: 'VK_NUMLOCK', name: 'NUMLOCK', standardName: 'NUM LOCK' }, - 0x91: { _nameRaw: 'VK_SCROLL', name: 'SCROLL', standardName: 'SCROLL LOCK' }, - 0xa0: { _nameRaw: 'VK_LSHIFT', name: 'LSHIFT', standardName: 'LEFT SHIFT' }, - 0xa1: { _nameRaw: 'VK_RSHIFT', name: 'RSHIFT', standardName: 'RIGHT SHIFT' }, - 0xa2: { _nameRaw: 'VK_LCONTROL', name: 'LCONTROL', standardName: 'LEFT CTRL' }, - 0xa3: { _nameRaw: 'VK_RCONTROL', name: 'RCONTROL', standardName: 'RIGHT CTRL' }, - 0xa4: { _nameRaw: 'VK_LMENU', name: 'LALT', standardName: 'LEFT ALT' }, - 0xa5: { _nameRaw: 'VK_RMENU', name: 'RALT', standardName: 'RIGHT ALT' }, - 0xa6: { _nameRaw: 'VK_BROWSER_BACK', name: 'BROWSER_BACK', standardName: '' }, - 0xa7: { _nameRaw: 'VK_BROWSER_FORWARD', name: 'BROWSER_FORWARD', standardName: '' }, - 0xa8: { _nameRaw: 'VK_BROWSER_REFRESH', name: 'BROWSER_REFRESH', standardName: '' }, - 0xa9: { _nameRaw: 'VK_BROWSER_STOP', name: 'BROWSER_STOP', standardName: '' }, - 0xaa: { _nameRaw: 'VK_BROWSER_SEARCH', name: 'BROWSER_SEARCH', standardName: '' }, - 0xab: { _nameRaw: 'VK_BROWSER_FAVORITES', name: 'BROWSER_FAVORITES', standardName: '' }, - 0xac: { _nameRaw: 'VK_BROWSER_HOME', name: 'BROWSER_HOME', standardName: '' }, - 0xad: { _nameRaw: 'VK_VOLUME_MUTE', name: 'VOLUME_MUTE', standardName: '' }, - 0xae: { _nameRaw: 'VK_VOLUME_DOWN', name: 'VOLUME_DOWN', standardName: '' }, - 0xaf: { _nameRaw: 'VK_VOLUME_UP', name: 'VOLUME_UP', standardName: '' }, - 0xb0: { _nameRaw: 'VK_MEDIA_NEXT_TRACK', name: 'MEDIA_NEXT_TRACK', standardName: '' }, - 0xb1: { _nameRaw: 'VK_MEDIA_PREV_TRACK', name: 'MEDIA_PREV_TRACK', standardName: '' }, - 0xb2: { _nameRaw: 'VK_MEDIA_STOP', name: 'MEDIA_STOP', standardName: '' }, - 0xb3: { _nameRaw: 'VK_MEDIA_PLAY_PAUSE', name: 'MEDIA_PLAY_PAUSE', standardName: '' }, - 0xb4: { _nameRaw: 'VK_LAUNCH_MAIL', name: 'LAUNCH_MAIL', standardName: '' }, - 0xb5: { _nameRaw: 'VK_LAUNCH_MEDIA_SELECT', name: 'LAUNCH_MEDIA_SELECT', standardName: '' }, - 0xb6: { _nameRaw: 'VK_LAUNCH_APP1', name: 'LAUNCH_APP1', standardName: '' }, - 0xb7: { _nameRaw: 'VK_LAUNCH_APP2', name: 'LAUNCH_APP2', standardName: '' }, - 0xba: { _nameRaw: 'VK_OEM_1', name: 'OEM_1', standardName: 'SEMICOLON' }, - 0xbb: { _nameRaw: 'VK_OEM_PLUS', name: 'OEM_PLUS', standardName: 'EQUALS' }, - 0xbc: { _nameRaw: 'VK_OEM_COMMA', name: 'OEM_COMMA', standardName: 'COMMA' }, - 0xbd: { _nameRaw: 'VK_OEM_MINUS', name: 'OEM_MINUS', standardName: 'MINUS' }, - 0xbe: { _nameRaw: 'VK_OEM_PERIOD', name: 'OEM_PERIOD', standardName: 'DOT' }, - 0xbf: { _nameRaw: 'VK_OEM_2', name: 'OEM_2', standardName: 'FORWARD SLASH' }, - 0xc0: { _nameRaw: 'VK_OEM_3', name: 'OEM_3', standardName: 'SECTION' }, - 0xdb: { _nameRaw: 'VK_OEM_4', name: 'OEM_4', standardName: 'SQUARE BRACKET OPEN' }, - 0xdc: { _nameRaw: 'VK_OEM_5', name: 'OEM_5', standardName: 'BACKSLASH' }, - 0xdd: { _nameRaw: 'VK_OEM_6', name: 'OEM_6', standardName: 'SQUARE BRACKET CLOSE' }, - 0xde: { _nameRaw: 'VK_OEM_7', name: 'OEM_7', standardName: 'QUOTE' }, - 0xdf: { _nameRaw: 'VK_OEM_8', name: 'OEM_8', standardName: '' }, - 0xe2: { _nameRaw: 'VK_OEM_102', name: 'OEM_102', standardName: 'BACKTICK' }, - 0xe5: { _nameRaw: 'VK_PROCESSKEY', name: 'PROCESSKEY', standardName: '' }, - 0xe7: { _nameRaw: 'VK_PACKET', name: 'PACKET', standardName: '' }, - 0xf6: { _nameRaw: 'VK_ATTN', name: 'ATTN', standardName: '' }, - 0xf7: { _nameRaw: 'VK_CRSEL', name: 'CRSEL', standardName: '' }, - 0xf8: { _nameRaw: 'VK_EXSEL', name: 'EXSEL', standardName: '' }, - 0xf9: { _nameRaw: 'VK_EREOF', name: 'EREOF', standardName: '' }, - 0xfa: { _nameRaw: 'VK_PLAY', name: 'PLAY', standardName: '' }, - 0xfb: { _nameRaw: 'VK_ZOOM', name: 'ZOOM', standardName: '' }, - 0xfc: { _nameRaw: 'VK_NONAME', name: 'NONAME', standardName: '' }, - 0xfd: { _nameRaw: 'VK_PA1', name: 'PA1', standardName: '' }, - 0xfe: { _nameRaw: 'VK_OEM_CLEAR', name: 'OEM_CLEAR', standardName: '' } -} - -export function isModifierKey(keyCode: number) { - // VK_SHIFT, VK_CONTROL, VK_MENU, VK_LWIN, VK_RWIN, VK_LSHIFT, VK_RSHIFT, VK_LCONTROL, VK_RCONTROL, VK_LMENU, VK_RMENU - return [0x10, 0x11, 0x12, 0xa0, 0xa1, 0xa2, 0xa3].includes(keyCode) -} diff --git a/src/main/shards/keyboard-shorcuts/index.ts b/src/main/shards/keyboard-shorcuts/index.ts deleted file mode 100644 index cdbf5719..00000000 --- a/src/main/shards/keyboard-shorcuts/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import input from '@main/native/la-input-win64.node' -import { IAkariShardInitDispose } from '@shared/akari-shard/interface' -import EventEmitter from 'node:events' - -import { AppCommonMain } from '../app-common' -import { KeyDefinition, VKEY_MAP } from './definitions' - -/** - * 处理键盘快捷键的模块 - * 通过较为 Native 的方式, 使其可以在程序外任何地方使用, 前提是程序有管理员权限 - */ -export class KeyboardShortcutsMain implements IAkariShardInitDispose { - static id = 'keyboard-shortcuts-main' - static dependencies = ['app-common-main'] - - private readonly _common: AppCommonMain - - private _tracked: number[] = new Array(384).fill(0) - - /** - * 原生监听到的键盘事件 - */ - public readonly events = new EventEmitter<{ - key: [event: KeyDefinition & { isDown: boolean }] - }>() - - constructor(deps: any) { - this._common = deps['app-common-main'] - } - - sendKey(code: number, press: boolean) { - input.sendKey(code, press) - } - - sendKeys(str: string) { - input.sendKeys(str) - } - - async onInit() { - if (this._common.state.isAdministrator) { - input.startHook() - - const DEFAULT_KEY_DEF = { - _nameRaw: 'UNKNOWN', - name: 'UNKNOWN', - standardName: '' - } - - input.onKeyEvent((key) => { - const [keyCodeRaw, state] = key.split(',') - - const keyCode = parseInt(keyCodeRaw) - const isDown = state === 'DOWN' - - this.events.emit('key', { - ...(VKEY_MAP[keyCode] || DEFAULT_KEY_DEF), - isDown - }) - - this._tracked[keyCode] = state === 'DOWN' ? 1 : 0 - }) - } - } - - async onDispose() { - if (this._common.state.isAdministrator) { - input.stopHook() - } - this.events.removeAllListeners() - } -} diff --git a/src/main/shards/keyboard-shortcuts/definitions.ts b/src/main/shards/keyboard-shortcuts/definitions.ts new file mode 100644 index 00000000..17b732d0 --- /dev/null +++ b/src/main/shards/keyboard-shortcuts/definitions.ts @@ -0,0 +1,892 @@ +export interface KeyDefinition { + _nameRaw: string + name: string + standardName: string + keyId: string +} + +// 键位信息来自 global-key-listener +export const VKEY_MAP: Record = { + 1: { + _nameRaw: 'VK_LBUTTON', + name: 'LBUTTON', + standardName: 'MOUSE LEFT', + keyId: 'LeftMouseButton' + }, + 2: { + _nameRaw: 'VK_RBUTTON', + name: 'RBUTTON', + standardName: 'MOUSE RIGHT', + keyId: 'RightMouseButton' + }, + 3: { + _nameRaw: 'VK_CANCEL', + name: 'CANCEL', + standardName: '', + keyId: 'Cancel' + }, + 4: { + _nameRaw: 'VK_MBUTTON', + name: 'MBUTTON', + standardName: 'MOUSE MkeyIdDLE', + keyId: 'MkeyIddleMouseButton' + }, + 5: { + _nameRaw: 'VK_XBUTTON1', + name: 'XBUTTON1', + standardName: 'MOUSE X1', + keyId: 'MouseXButton1' + }, + 6: { + _nameRaw: 'VK_XBUTTON2', + name: 'XBUTTON2', + standardName: 'MOUSE X2', + keyId: 'MouseXButton2' + }, + 8: { + _nameRaw: 'VK_BACK', + name: 'BACK', + standardName: 'BACKSPACE', + keyId: 'Backspace' + }, + 9: { + _nameRaw: 'VK_TAB', + name: 'TAB', + standardName: 'TAB', + keyId: 'Tab' + }, + 12: { + _nameRaw: 'VK_CLEAR', + name: 'CLEAR', + standardName: 'NUMPAD CLEAR', + keyId: 'NumpadClear' + }, + 13: { + _nameRaw: 'VK_RETURN', + name: 'RETURN', + standardName: 'RETURN', + keyId: 'Enter' + }, + 16: { + _nameRaw: 'VK_SHIFT', + name: 'SHIFT', + standardName: '', + keyId: 'Shift' + }, + 17: { + _nameRaw: 'VK_CONTROL', + name: 'CONTROL', + standardName: '', + keyId: 'Control' + }, + 18: { + _nameRaw: 'VK_MENU', + name: 'MENU', + standardName: '', + keyId: 'Alt' + }, + 19: { + _nameRaw: 'VK_PAUSE', + name: 'PAUSE', + standardName: '', + keyId: 'Pause' + }, + 20: { + _nameRaw: 'VK_CAPITAL', + name: 'CAPSLOCK', + standardName: 'CAPS LOCK', + keyId: 'CapsLock' + }, + 21: { + _nameRaw: 'VK_KANA', + name: 'KANA', + standardName: '', + keyId: 'Kana' + }, + 22: { + _nameRaw: 'VK_IME_ON', + name: 'IME_ON', + standardName: '', + keyId: 'IMEOn' + }, + 23: { + _nameRaw: 'VK_JUNJA', + name: 'JUNJA', + standardName: '', + keyId: 'Junja' + }, + 24: { + _nameRaw: 'VK_FINAL', + name: 'FINAL', + standardName: '', + keyId: 'Final' + }, + 25: { + _nameRaw: 'VK_HANJA', + name: 'HANJA', + standardName: '', + keyId: 'Hanja' + }, + 26: { + _nameRaw: 'VK_IME_OFF', + name: 'IME_OFF', + standardName: '', + keyId: 'IMEOff' + }, + 27: { + _nameRaw: 'VK_ESCAPE', + name: 'ESCAPE', + standardName: 'ESCAPE', + keyId: 'Escape' + }, + 28: { + _nameRaw: 'VK_CONVERT', + name: 'CONVERT', + standardName: '', + keyId: 'Convert' + }, + 29: { + _nameRaw: 'VK_NONCONVERT', + name: 'NONCONVERT', + standardName: '', + keyId: 'NonConvert' + }, + 30: { + _nameRaw: 'VK_ACCEPT', + name: 'ACCEPT', + standardName: '', + keyId: 'Accept' + }, + 31: { + _nameRaw: 'VK_MODECHANGE', + name: 'MODECHANGE', + standardName: '', + keyId: 'ModeChange' + }, + 32: { + _nameRaw: 'VK_SPACE', + name: 'SPACE', + standardName: 'SPACE', + keyId: 'Space' + }, + 33: { + _nameRaw: 'VK_PRIOR', + name: 'PRIOR', + standardName: 'PAGE UP', + keyId: 'PageUp' + }, + 34: { + _nameRaw: 'VK_NEXT', + name: 'NEXT', + standardName: 'PAGE DOWN', + keyId: 'PageDown' + }, + 35: { + _nameRaw: 'VK_END', + name: 'END', + standardName: 'END', + keyId: 'End' + }, + 36: { + _nameRaw: 'VK_HOME', + name: 'HOME', + standardName: 'HOME', + keyId: 'Home' + }, + 37: { + _nameRaw: 'VK_LEFT', + name: 'LEFT', + standardName: 'LEFT ARROW', + keyId: 'LeftArrow' + }, + 38: { + _nameRaw: 'VK_UP', + name: 'UP', + standardName: 'UP ARROW', + keyId: 'UpArrow' + }, + 39: { + _nameRaw: 'VK_RIGHT', + name: 'RIGHT', + standardName: 'RIGHT ARROW', + keyId: 'RightArrow' + }, + 40: { + _nameRaw: 'VK_DOWN', + name: 'DOWN', + standardName: 'DOWN ARROW', + keyId: 'DownArrow' + }, + 41: { + _nameRaw: 'VK_SELECT', + name: 'SELECT', + standardName: '', + keyId: 'Select' + }, + 42: { + _nameRaw: 'VK_PRINT', + name: 'PRINT', + standardName: '', + keyId: 'Print' + }, + 43: { + _nameRaw: 'VK_EXECUTE', + name: 'EXECUTE', + standardName: '', + keyId: 'Execute' + }, + 44: { + _nameRaw: 'VK_SNAPSHOT', + name: 'SNAPSHOT', + standardName: 'PRINT SCREEN', + keyId: 'PrintScreen' + }, + 45: { + _nameRaw: 'VK_INSERT', + name: 'INSERT', + standardName: 'INS', + keyId: 'Insert' + }, + 46: { + _nameRaw: 'VK_DELETE', + name: 'DELETE', + standardName: 'DELETE', + keyId: 'Delete' + }, + 47: { + _nameRaw: 'VK_HELP', + name: 'HELP', + standardName: '', + keyId: 'Help' + }, + 48: { _nameRaw: 'VK_0', name: '0', standardName: '0', keyId: '0' }, + 49: { _nameRaw: 'VK_1', name: '1', standardName: '1', keyId: '1' }, + 50: { _nameRaw: 'VK_2', name: '2', standardName: '2', keyId: '2' }, + 51: { _nameRaw: 'VK_3', name: '3', standardName: '3', keyId: '3' }, + 52: { _nameRaw: 'VK_4', name: '4', standardName: '4', keyId: '4' }, + 53: { _nameRaw: 'VK_5', name: '5', standardName: '5', keyId: '5' }, + 54: { _nameRaw: 'VK_6', name: '6', standardName: '6', keyId: '6' }, + 55: { _nameRaw: 'VK_7', name: '7', standardName: '7', keyId: '7' }, + 56: { _nameRaw: 'VK_8', name: '8', standardName: '8', keyId: '8' }, + 57: { _nameRaw: 'VK_9', name: '9', standardName: '9', keyId: '9' }, + 65: { _nameRaw: 'VK_A', name: 'A', standardName: 'A', keyId: 'A' }, + 66: { _nameRaw: 'VK_B', name: 'B', standardName: 'B', keyId: 'B' }, + 67: { _nameRaw: 'VK_C', name: 'C', standardName: 'C', keyId: 'C' }, + 68: { _nameRaw: 'VK_D', name: 'D', standardName: 'D', keyId: 'D' }, + 69: { _nameRaw: 'VK_E', name: 'E', standardName: 'E', keyId: 'E' }, + 70: { _nameRaw: 'VK_F', name: 'F', standardName: 'F', keyId: 'F' }, + 71: { _nameRaw: 'VK_G', name: 'G', standardName: 'G', keyId: 'G' }, + 72: { _nameRaw: 'VK_H', name: 'H', standardName: 'H', keyId: 'H' }, + 73: { _nameRaw: 'VK_I', name: 'I', standardName: 'I', keyId: 'I' }, + 74: { _nameRaw: 'VK_J', name: 'J', standardName: 'J', keyId: 'J' }, + 75: { _nameRaw: 'VK_K', name: 'K', standardName: 'K', keyId: 'K' }, + 76: { _nameRaw: 'VK_L', name: 'L', standardName: 'L', keyId: 'L' }, + 77: { _nameRaw: 'VK_M', name: 'M', standardName: 'M', keyId: 'M' }, + 78: { _nameRaw: 'VK_N', name: 'N', standardName: 'N', keyId: 'N' }, + 79: { _nameRaw: 'VK_O', name: 'O', standardName: 'O', keyId: 'O' }, + 80: { _nameRaw: 'VK_P', name: 'P', standardName: 'P', keyId: 'P' }, + 81: { _nameRaw: 'VK_Q', name: 'Q', standardName: 'Q', keyId: 'Q' }, + 82: { _nameRaw: 'VK_R', name: 'R', standardName: 'R', keyId: 'R' }, + 83: { _nameRaw: 'VK_S', name: 'S', standardName: 'S', keyId: 'S' }, + 84: { _nameRaw: 'VK_T', name: 'T', standardName: 'T', keyId: 'T' }, + 85: { _nameRaw: 'VK_U', name: 'U', standardName: 'U', keyId: 'U' }, + 86: { _nameRaw: 'VK_V', name: 'V', standardName: 'V', keyId: 'V' }, + 87: { _nameRaw: 'VK_W', name: 'W', standardName: 'W', keyId: 'W' }, + 88: { _nameRaw: 'VK_X', name: 'X', standardName: 'X', keyId: 'X' }, + 89: { _nameRaw: 'VK_Y', name: 'Y', standardName: 'Y', keyId: 'Y' }, + 90: { _nameRaw: 'VK_Z', name: 'Z', standardName: 'Z', keyId: 'Z' }, + 91: { + _nameRaw: 'VK_LWIN', + name: 'LWIN', + standardName: 'LEFT META', + keyId: 'LeftMeta' + }, + 92: { + _nameRaw: 'VK_RWIN', + name: 'RWIN', + standardName: 'RIGHT META', + keyId: 'RightMeta' + }, + 93: { + _nameRaw: 'VK_APPS', + name: 'APPS', + standardName: '', + keyId: 'Apps' + }, + 95: { + _nameRaw: 'VK_SLEEP', + name: 'SLEEP', + standardName: '', + keyId: 'Sleep' + }, + 96: { + _nameRaw: 'VK_NUMPAD0', + name: 'NUMPAD0', + standardName: 'NUMPAD 0', + keyId: 'Numpad0' + }, + 97: { + _nameRaw: 'VK_NUMPAD1', + name: 'NUMPAD1', + standardName: 'NUMPAD 1', + keyId: 'Numpad1' + }, + 98: { + _nameRaw: 'VK_NUMPAD2', + name: 'NUMPAD2', + standardName: 'NUMPAD 2', + keyId: 'Numpad2' + }, + 99: { + _nameRaw: 'VK_NUMPAD3', + name: 'NUMPAD3', + standardName: 'NUMPAD 3', + keyId: 'Numpad3' + }, + 100: { + _nameRaw: 'VK_NUMPAD4', + name: 'NUMPAD4', + standardName: 'NUMPAD 4', + keyId: 'Numpad4' + }, + 101: { + _nameRaw: 'VK_NUMPAD5', + name: 'NUMPAD5', + standardName: 'NUMPAD 5', + keyId: 'Numpad5' + }, + 102: { + _nameRaw: 'VK_NUMPAD6', + name: 'NUMPAD6', + standardName: 'NUMPAD 6', + keyId: 'Numpad6' + }, + 103: { + _nameRaw: 'VK_NUMPAD7', + name: 'NUMPAD7', + standardName: 'NUMPAD 7', + keyId: 'Numpad7' + }, + 104: { + _nameRaw: 'VK_NUMPAD8', + name: 'NUMPAD8', + standardName: 'NUMPAD 8', + keyId: 'Numpad8' + }, + 105: { + _nameRaw: 'VK_NUMPAD9', + name: 'NUMPAD9', + standardName: 'NUMPAD 9', + keyId: 'Numpad9' + }, + 106: { + _nameRaw: 'VK_MULTIPLY', + name: 'MULTIPLY', + standardName: 'NUMPAD MULTIPLY', + keyId: 'NumpadMultiply' + }, + 107: { + _nameRaw: 'VK_ADD', + name: 'ADD', + standardName: 'NUMPAD PLUS', + keyId: 'NumpadPlus' + }, + 108: { + _nameRaw: 'VK_SEPARATOR', + name: 'SEPARATOR', + standardName: '', + keyId: 'Separator' + }, + 109: { + _nameRaw: 'VK_SUBTRACT', + name: 'SUBTRACT', + standardName: 'NUMPAD MINUS', + keyId: 'NumpadMinus' + }, + 110: { + _nameRaw: 'VK_DECIMAL', + name: 'DECIMAL', + standardName: 'NUMPAD DOT', + keyId: 'NumpadDot' + }, + 111: { + _nameRaw: 'VK_DIVkeyIdE', + name: 'DIVkeyIdE', + standardName: 'NUMPAD DIVkeyIdE', + keyId: 'NumpadDivkeyIde' + }, + 112: { + _nameRaw: 'VK_F1', + name: 'F1', + standardName: 'F1', + keyId: 'F1' + }, + 113: { + _nameRaw: 'VK_F2', + name: 'F2', + standardName: 'F2', + keyId: 'F2' + }, + 114: { + _nameRaw: 'VK_F3', + name: 'F3', + standardName: 'F3', + keyId: 'F3' + }, + 115: { + _nameRaw: 'VK_F4', + name: 'F4', + standardName: 'F4', + keyId: 'F4' + }, + 116: { + _nameRaw: 'VK_F5', + name: 'F5', + standardName: 'F5', + keyId: 'F5' + }, + 117: { + _nameRaw: 'VK_F6', + name: 'F6', + standardName: 'F6', + keyId: 'F6' + }, + 118: { + _nameRaw: 'VK_F7', + name: 'F7', + standardName: 'F7', + keyId: 'F7' + }, + 119: { + _nameRaw: 'VK_F8', + name: 'F8', + standardName: 'F8', + keyId: 'F8' + }, + 120: { + _nameRaw: 'VK_F9', + name: 'F9', + standardName: 'F9', + keyId: 'F9' + }, + 121: { + _nameRaw: 'VK_F10', + name: 'F10', + standardName: 'F10', + keyId: 'F10' + }, + 122: { + _nameRaw: 'VK_F11', + name: 'F11', + standardName: 'F11', + keyId: 'F11' + }, + 123: { + _nameRaw: 'VK_F12', + name: 'F12', + standardName: 'F12', + keyId: 'F12' + }, + 124: { + _nameRaw: 'VK_F13', + name: 'F13', + standardName: 'F13', + keyId: 'F13' + }, + 125: { + _nameRaw: 'VK_F14', + name: 'F14', + standardName: 'F14', + keyId: 'F14' + }, + 126: { + _nameRaw: 'VK_F15', + name: 'F15', + standardName: 'F15', + keyId: 'F15' + }, + 127: { + _nameRaw: 'VK_F16', + name: 'F16', + standardName: 'F16', + keyId: 'F16' + }, + 128: { + _nameRaw: 'VK_F17', + name: 'F17', + standardName: 'F17', + keyId: 'F17' + }, + 129: { + _nameRaw: 'VK_F18', + name: 'F18', + standardName: 'F18', + keyId: 'F18' + }, + 130: { + _nameRaw: 'VK_F19', + name: 'F19', + standardName: 'F19', + keyId: 'F19' + }, + 131: { + _nameRaw: 'VK_F20', + name: 'F20', + standardName: 'F20', + keyId: 'F20' + }, + 132: { + _nameRaw: 'VK_F21', + name: 'F21', + standardName: 'F21', + keyId: 'F21' + }, + 133: { + _nameRaw: 'VK_F22', + name: 'F22', + standardName: 'F22', + keyId: 'F22' + }, + 134: { + _nameRaw: 'VK_F23', + name: 'F23', + standardName: 'F23', + keyId: 'F23' + }, + 135: { + _nameRaw: 'VK_F24', + name: 'F24', + standardName: 'F24', + keyId: 'F24' + }, + 144: { + _nameRaw: 'VK_NUMLOCK', + name: 'NUMLOCK', + standardName: 'NUM LOCK', + keyId: 'NumLock' + }, + 145: { + _nameRaw: 'VK_SCROLL', + name: 'SCROLL', + standardName: 'SCROLL LOCK', + keyId: 'ScrollLock' + }, + 160: { + _nameRaw: 'VK_LSHIFT', + name: 'LSHIFT', + standardName: 'LEFT SHIFT', + keyId: 'LeftShift' + }, + 161: { + _nameRaw: 'VK_RSHIFT', + name: 'RSHIFT', + standardName: 'RIGHT SHIFT', + keyId: 'RightShift' + }, + 162: { + _nameRaw: 'VK_LCONTROL', + name: 'LCONTROL', + standardName: 'LEFT CTRL', + keyId: 'LeftControl' + }, + 163: { + _nameRaw: 'VK_RCONTROL', + name: 'RCONTROL', + standardName: 'RIGHT CTRL', + keyId: 'RightControl' + }, + 164: { + _nameRaw: 'VK_LMENU', + name: 'LALT', + standardName: 'LEFT ALT', + keyId: 'LeftAlt' + }, + 165: { + _nameRaw: 'VK_RMENU', + name: 'RALT', + standardName: 'RIGHT ALT', + keyId: 'RightAlt' + }, + 166: { + _nameRaw: 'VK_BROWSER_BACK', + name: 'BROWSER_BACK', + standardName: '', + keyId: 'BrowserBack' + }, + 167: { + _nameRaw: 'VK_BROWSER_FORWARD', + name: 'BROWSER_FORWARD', + standardName: '', + keyId: 'BrowserForward' + }, + 168: { + _nameRaw: 'VK_BROWSER_REFRESH', + name: 'BROWSER_REFRESH', + standardName: '', + keyId: 'BrowserRefresh' + }, + 169: { + _nameRaw: 'VK_BROWSER_STOP', + name: 'BROWSER_STOP', + standardName: '', + keyId: 'BrowserStop' + }, + 170: { + _nameRaw: 'VK_BROWSER_SEARCH', + name: 'BROWSER_SEARCH', + standardName: '', + keyId: 'BrowserSearch' + }, + 171: { + _nameRaw: 'VK_BROWSER_FAVORITES', + name: 'BROWSER_FAVORITES', + standardName: '', + keyId: 'BrowserFavorites' + }, + 172: { + _nameRaw: 'VK_BROWSER_HOME', + name: 'BROWSER_HOME', + standardName: '', + keyId: 'BrowserHome' + }, + 173: { + _nameRaw: 'VK_VOLUME_MUTE', + name: 'VOLUME_MUTE', + standardName: '', + keyId: 'VolumeMute' + }, + 174: { + _nameRaw: 'VK_VOLUME_DOWN', + name: 'VOLUME_DOWN', + standardName: '', + keyId: 'VolumeDown' + }, + 175: { + _nameRaw: 'VK_VOLUME_UP', + name: 'VOLUME_UP', + standardName: '', + keyId: 'VolumeUp' + }, + 176: { + _nameRaw: 'VK_MEDIA_NEXT_TRACK', + name: 'MEDIA_NEXT_TRACK', + standardName: '', + keyId: 'NextTrack' + }, + 177: { + _nameRaw: 'VK_MEDIA_PREV_TRACK', + name: 'MEDIA_PREV_TRACK', + standardName: '', + keyId: 'PreviousTrack' + }, + 178: { + _nameRaw: 'VK_MEDIA_STOP', + name: 'MEDIA_STOP', + standardName: '', + keyId: 'StopMedia' + }, + 179: { + _nameRaw: 'VK_MEDIA_PLAY_PAUSE', + name: 'MEDIA_PLAY_PAUSE', + standardName: '', + keyId: 'PlayPauseMedia' + }, + 180: { + _nameRaw: 'VK_LAUNCH_MAIL', + name: 'LAUNCH_MAIL', + standardName: '', + keyId: 'LaunchMail' + }, + 181: { + _nameRaw: 'VK_LAUNCH_MEDIA_SELECT', + name: 'LAUNCH_MEDIA_SELECT', + standardName: '', + keyId: 'LaunchMediaSelect' + }, + 182: { + _nameRaw: 'VK_LAUNCH_APP1', + name: 'LAUNCH_APP1', + standardName: '', + keyId: 'LaunchApp1' + }, + 183: { + _nameRaw: 'VK_LAUNCH_APP2', + name: 'LAUNCH_APP2', + standardName: '', + keyId: 'LaunchApp2' + }, + 186: { + _nameRaw: 'VK_OEM_1', + name: 'OEM_1', + standardName: 'SEMICOLON', + keyId: 'Semicolon' + }, + 187: { + _nameRaw: 'VK_OEM_PLUS', + name: 'OEM_PLUS', + standardName: 'EQUALS', + keyId: 'Equals' + }, + 188: { + _nameRaw: 'VK_OEM_COMMA', + name: 'OEM_COMMA', + standardName: 'COMMA', + keyId: 'Comma' + }, + 189: { + _nameRaw: 'VK_OEM_MINUS', + name: 'OEM_MINUS', + standardName: 'MINUS', + keyId: 'Minus' + }, + 190: { + _nameRaw: 'VK_OEM_PERIOD', + name: 'OEM_PERIOD', + standardName: 'DOT', + keyId: 'Dot' + }, + 191: { + _nameRaw: 'VK_OEM_2', + name: 'OEM_2', + standardName: 'FORWARD SLASH', + keyId: 'ForwardSlash' + }, + 192: { + _nameRaw: 'VK_OEM_3', + name: 'OEM_3', + standardName: 'SECTION', + keyId: 'Section' + }, + 219: { + _nameRaw: 'VK_OEM_4', + name: 'OEM_4', + standardName: 'SQUARE BRACKET OPEN', + keyId: 'OpenBracket' + }, + 220: { + _nameRaw: 'VK_OEM_5', + name: 'OEM_5', + standardName: 'BACKSLASH', + keyId: 'Backslash' + }, + 221: { + _nameRaw: 'VK_OEM_6', + name: 'OEM_6', + standardName: 'SQUARE BRACKET CLOSE', + keyId: 'CloseBracket' + }, + 222: { + _nameRaw: 'VK_OEM_7', + name: 'OEM_7', + standardName: 'QUOTE', + keyId: 'Quote' + }, + 223: { + _nameRaw: 'VK_OEM_8', + name: 'OEM_8', + standardName: '', + keyId: 'OEM8' + }, + 226: { + _nameRaw: 'VK_OEM_102', + name: 'OEM_102', + standardName: 'BACKTICK', + keyId: 'Backtick' + }, + 229: { + _nameRaw: 'VK_PROCESSKEY', + name: 'PROCESSKEY', + standardName: '', + keyId: 'ProcessKey' + }, + 231: { + _nameRaw: 'VK_PACKET', + name: 'PACKET', + standardName: '', + keyId: 'Packet' + }, + 246: { + _nameRaw: 'VK_ATTN', + name: 'ATTN', + standardName: '', + keyId: 'Attention' + }, + 247: { + _nameRaw: 'VK_CRSEL', + name: 'CRSEL', + standardName: '', + keyId: 'CrSel' + }, + 248: { + _nameRaw: 'VK_EXSEL', + name: 'EXSEL', + standardName: '', + keyId: 'ExSel' + }, + 249: { + _nameRaw: 'VK_EREOF', + name: 'EREOF', + standardName: '', + keyId: 'EraseEOF' + }, + 250: { + _nameRaw: 'VK_PLAY', + name: 'PLAY', + standardName: '', + keyId: 'Play' + }, + 251: { + _nameRaw: 'VK_ZOOM', + name: 'ZOOM', + standardName: '', + keyId: 'Zoom' + }, + 252: { + _nameRaw: 'VK_NONAME', + name: 'NONAME', + standardName: '', + keyId: 'NoName' + }, + 253: { + _nameRaw: 'VK_PA1', + name: 'PA1', + standardName: '', + keyId: 'PA1' + }, + 254: { + _nameRaw: 'VK_OEM_CLEAR', + name: 'OEM_CLEAR', + standardName: '', + keyId: 'OEMClear' + } +} + +export const MODIFIER_KEYS = new Set([17, 16, 18, 160, 162, 164, 91, 161, 163, 165, 92]) + +export const UNIFIED_KEY_ID = { + 16: 'Shift', + 160: 'Shift', + 161: 'Shift', + 162: 'Control', + 163: 'Control', + 164: 'Alt', + 165: 'Alt', + 91: 'Meta', + 92: 'Meta', + 96: '0', + 97: '1', + 98: '2', + 99: '3', + 100: '4', + 101: '5', + 102: '6', + 103: '7', + 104: '8', + 105: '9', + 109: 'Minus', + 110: 'Dot' +} as const + +export function isModifierKey(keyCode: number) { + return MODIFIER_KEYS.has(keyCode) +} diff --git a/src/main/shards/keyboard-shortcuts/index.ts b/src/main/shards/keyboard-shortcuts/index.ts new file mode 100644 index 00000000..958403f3 --- /dev/null +++ b/src/main/shards/keyboard-shortcuts/index.ts @@ -0,0 +1,177 @@ +import input from '@main/native/la-input-win64.node' +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import EventEmitter from 'node:events' + +import { AppCommonMain } from '../app-common' +import { AkariIpcMain } from '../ipc' +import { KeyDefinition, UNIFIED_KEY_ID, VKEY_MAP, isModifierKey } from './definitions' + +interface ShortcutDetails { + keyCodes: number[] + keys: KeyDefinition[] + id: string + unifiedId: string +} + +/** + * 处理键盘快捷键的模块 + * 通过较为 Native 的方式, 使其可以在程序外任何地方使用, 前提是程序有管理员权限 + */ +export class KeyboardShortcutsMain implements IAkariShardInitDispose { + static id = 'keyboard-shortcuts-main' + static dependencies = ['app-common-main', 'akari-ipc-main'] + + private readonly _common: AppCommonMain + private readonly _ipc: AkariIpcMain + + /** 除了修饰键之外的其他按键 */ + private readonly _pressedOtherKeys = new Set() + + /** 修饰键 */ + private readonly _pressedModifierKeys = new Set() + + /** 最后一次激活的快捷键组合, 用于追踪在所有按键结束后的快捷键情况 */ + private _lastActiveShortcut: number[] = [] + + /** + * 修饰键的惯例可读顺序, 用于组合成好看的字符串 + */ + static readonly MODIFIER_READING_ORDER = { + 162: 0, + 163: 1, + 16: 2, + 160: 3, + 161: 4, + 18: 5, + 164: 6, + 165: 7, + 91: 8, + 92: 9 + } + + /** + * 原生监听到的键盘事件 + */ + public readonly events = new EventEmitter<{ + /** + * 在任意一个有意义的快捷键被按下时触发 + */ + shortcut: [details: ShortcutDetails] + + /** + * 在所有按键结束后, 且最后一次激活的快捷键组合被触发时触发 + * 这个事件用于规避 SendInput 在模拟过程中, 和现有正在进行的按键冲突的问题 + */ + 'last-active-shortcut': [details: ShortcutDetails] + }>() + + constructor(deps: any) { + this._common = deps['app-common-main'] + this._ipc = deps['akari-ipc-main'] + } + + sendKey(code: number, press: boolean) { + input.sendKey(code, press) + } + + sendKeys(str: string) { + input.sendKeys(str) + } + + async onInit() { + if (this._common.state.isAdministrator) { + input.startHook() + + input.onKeyEvent((key) => { + const [keyCodeRaw, state] = key.split(',') + + // ignore VK_PACKET (231) + if (keyCodeRaw === '231') { + return + } + + if (!VKEY_MAP[keyCodeRaw]) { + return + } + + const keyCode = parseInt(keyCodeRaw, 10) + const isDown = state === 'DOWN' + + if (isModifierKey(keyCode)) { + // skip if unchanged + if (this._pressedModifierKeys.has(keyCode) === isDown) { + return + } + + if (isDown) { + this._pressedModifierKeys.add(keyCode) + } else { + this._pressedModifierKeys.delete(keyCode) + } + } else { + if (isDown) { + this._pressedOtherKeys.add(keyCode) + const modifiers = Array.from(this._pressedModifierKeys.values()) + const sorted = modifiers.toSorted((a, b) => { + return ( + KeyboardShortcutsMain.MODIFIER_READING_ORDER[a] - + KeyboardShortcutsMain.MODIFIER_READING_ORDER[b] + ) + }) + + const keyCodes = [...sorted, keyCode] + const keys = keyCodes.map((k) => VKEY_MAP[k]) + const combined = keys.map((k) => k.keyId).join('+') + const unified = [ + ...new Set(keyCodes.map((k) => UNIFIED_KEY_ID[k] || VKEY_MAP[k].keyId)) + ].join('+') + + this._lastActiveShortcut = keyCodes + this.events.emit('shortcut', { keyCodes, keys, id: combined, unifiedId: unified }) + this._ipc.sendEvent(KeyboardShortcutsMain.id, 'shortcut', { + keyCodes, + keys, + id: combined, + unifiedId: unified + }) + } else { + this._pressedOtherKeys.delete(keyCode) + } + } + + if ( + this._pressedModifierKeys.size === 0 && + this._pressedOtherKeys.size === 0 && + this._lastActiveShortcut.length > 0 + ) { + const keys = this._lastActiveShortcut.map((k) => VKEY_MAP[k]) + const combined = keys.map((k) => k.keyId).join('+') + const unified = [ + ...new Set(this._lastActiveShortcut.map((k) => UNIFIED_KEY_ID[k] || VKEY_MAP[k].keyId)) + ].join('+') + + this.events.emit('last-active-shortcut', { + keyCodes: this._lastActiveShortcut, + keys, + id: combined, + unifiedId: unified + }) + this._ipc.sendEvent(KeyboardShortcutsMain.id, 'last-active-shortcut', { + keyCodes: this._lastActiveShortcut, + keys, + id: combined, + unifiedId: unified + }) + this._lastActiveShortcut = [] + } + }) + } + } + + async onDispose() { + if (this._common.state.isAdministrator) { + input.stopHook() + } + this.events.removeAllListeners() + } +} diff --git a/src/main/shards/league-client-ux/index.ts b/src/main/shards/league-client-ux/index.ts index 3616eca6..de942a6f 100644 --- a/src/main/shards/league-client-ux/index.ts +++ b/src/main/shards/league-client-ux/index.ts @@ -4,6 +4,9 @@ import { IAkariShardInitDispose } from '@shared/akari-shard/interface' import { AppCommonMain } from '../app-common' import { AkariIpcMain } from '../ipc' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' +import { MobxUtilsMain } from '../mobx-utils' +import { SettingFactoryMain } from '../setting-factory' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { LeagueClientUxSettings, LeagueClientUxState } from './state' /** @@ -15,7 +18,8 @@ export class LeagueClientUxMain implements IAkariShardInitDispose { 'akari-ipc-main', 'mobx-utils-main', 'app-common-main', - 'logger-factory-main' + 'logger-factory-main', + 'setting-factory-main' ] static UX_PROCESS_NAME = 'LeagueClientUx.exe' @@ -27,7 +31,10 @@ export class LeagueClientUxMain implements IAkariShardInitDispose { private readonly _ipc: AkariIpcMain private readonly _common: AppCommonMain private readonly _loggerFactory: LoggerFactoryMain + private readonly _settingFactory: SettingFactoryMain private readonly _log: AkariLogger + private readonly _mobx: MobxUtilsMain + private readonly _setting: SetterSettingService private _pollTimerId: NodeJS.Timeout | null = null @@ -35,11 +42,24 @@ export class LeagueClientUxMain implements IAkariShardInitDispose { this._ipc = deps['akari-ipc-main'] this._common = deps['app-common-main'] this._loggerFactory = deps['logger-factory-main'] + this._mobx = deps['mobx-utils-main'] + this._settingFactory = deps['setting-factory-main'] this._log = this._loggerFactory.create(LeagueClientUxMain.id) + this._setting = this._settingFactory.create( + LeagueClientUxMain.id, + { + useWmic: { default: this.settings.useWmic } + }, + this.settings + ) } async onInit() { this._handlePollExistingUx() + + await this._setting.applyToState() + this._mobx.propSync(LeagueClientUxMain.id, 'settings', this.settings, ['useWmic']) + this._mobx.propSync(LeagueClientUxMain.id, 'state', this.state, ['launchedClients']) } async onDispose() { diff --git a/src/main/shards/league-client/index.ts b/src/main/shards/league-client/index.ts index 949006d1..3da7cb0f 100644 --- a/src/main/shards/league-client/index.ts +++ b/src/main/shards/league-client/index.ts @@ -16,7 +16,7 @@ import { LeagueClientUxMain } from '../league-client-ux' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' import { MobxUtilsMain } from '../mobx-utils' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { LeagueClientSyncedData } from './data' import { LeagueClientSettings, LeagueClientState } from './state' @@ -60,7 +60,7 @@ export class LeagueClientMain implements IAkariShardInitDispose { private readonly _mobx: MobxUtilsMain private readonly _ux: LeagueClientUxMain private readonly _settingFactory: SettingFactoryMain - private readonly _setting: MobxSettingService + private readonly _setting: SetterSettingService private _http: AxiosInstance | null = null private _ws: WebSocket | null = null diff --git a/src/main/shards/logger-factory/index.ts b/src/main/shards/logger-factory/index.ts index 7cbd76e4..07930b85 100644 --- a/src/main/shards/logger-factory/index.ts +++ b/src/main/shards/logger-factory/index.ts @@ -129,17 +129,25 @@ export class LoggerFactoryMain implements IAkariShardInitDispose { (namespace: string, level: string, ...args: any[]) => { switch (level) { case 'info': - return this.info(namespace, ...args) + this.info(namespace, ...args) + return case 'warn': - return this.warn(namespace, ...args) + this.warn(namespace, ...args) + return case 'error': - return this.error(namespace, ...args) + this.error(namespace, ...args) + return case 'debug': - return this.debug(namespace, ...args) + this.debug(namespace, ...args) + return default: - return this.info(namespace, ...args) + this.info(namespace, ...args) } } ) + + this._ipc.onCall(LoggerFactoryMain.id, 'openLogsDir', () => { + this.openLogsDir() + }) } } diff --git a/src/main/shards/ongoing-game/index.ts b/src/main/shards/ongoing-game/index.ts index d5c87e6c..7c3bbe59 100644 --- a/src/main/shards/ongoing-game/index.ts +++ b/src/main/shards/ongoing-game/index.ts @@ -1,772 +1,790 @@ -import { IAkariShardInitDispose } from '@shared/akari-shard/interface' -import { EMPTY_PUUID } from '@shared/constants/common' -import { - MatchHistoryGamesAnalysisAll, - MatchHistoryGamesAnalysisTeamSide, - analyzeMatchHistory, - analyzeTeamMatchHistory -} from '@shared/utils/analysis' -import { calculateTogetherTimes, removeOverlappingSubsets } from '@shared/utils/team-up-calc' -import { comparer, computed, toJS } from 'mobx' -import PQueue from 'p-queue' - -import { AkariIpcMain } from '../ipc' -import { LeagueClientMain } from '../league-client' -import { AkariLogger, LoggerFactoryMain } from '../logger-factory' -import { MobxUtilsMain } from '../mobx-utils' -import { SavedPlayerMain } from '../saved-player' -import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' -import { SgpMain } from '../sgp' -import { OngoingGameSettings, OngoingGameState } from './state' - -/** - * 用于游戏过程中的对局分析, 包括在此期间的战绩查询, 计算等 - */ -export class OngoingGameMain implements IAkariShardInitDispose { - static id = 'ongoing-game-main' - static dependencies = [ - 'logger-factory-main', - 'setting-factory-main', - 'league-client-main', - 'akari-ipc-main', - 'mobx-utils-main', - 'sgp-main', - 'saved-player-main' - ] - - static LOADING_PRIORITY = { - SUMMONER: 1, - MATCH_HISTORY: 2, - SAVED_INFO: 3, - RANKED_STATS: 4, - CHAMPION_MASTERY: 5 - } - - /** - * 目前已知的可用队列, 这是为了避免查询不支持队列时返回为空的情况 - */ - static SAFE_QUEUES = new Set([ - `q_420`, - `q_430`, - `q_440`, - `q_450`, // ARAM - `q_490`, - `q_900`, // URF - `q_1400`, // ULTBOOK - `q_1700`, - `q_1900` - ]) - - private readonly _loggerFactory: LoggerFactoryMain - private readonly _settingFactory: SettingFactoryMain - private readonly _log: AkariLogger - private readonly _lc: LeagueClientMain - private readonly _setting: MobxSettingService - private readonly _mobx: MobxUtilsMain - private readonly _ipc: AkariIpcMain - private readonly _sgp: SgpMain - private readonly _saved: SavedPlayerMain - - public readonly settings = new OngoingGameSettings() - public readonly state: OngoingGameState - - /** 为**加载战绩**设置的特例 */ - private readonly _mhQueue = new PQueue() - /** 为**加载战绩**设置的特例 */ - private _mhController: AbortController | null = null - - /** - * 其他 API 的并发控制 - */ - private readonly _queue = new PQueue() - private _controller: AbortController | null = null - - constructor(deps: any) { - this._loggerFactory = deps['logger-factory-main'] - this._log = this._loggerFactory.create(OngoingGameMain.id) - this._lc = deps['league-client-main'] - this._mobx = deps['mobx-utils-main'] - this._ipc = deps['akari-ipc-main'] - this._settingFactory = deps['setting-factory-main'] - this._sgp = deps['sgp-main'] - this._saved = deps['saved-player-main'] - this._setting = this._settingFactory.create( - OngoingGameMain.id, - { - concurrency: { default: this.settings.concurrency }, - enabled: { default: this.settings.enabled }, - matchHistoryLoadCount: { default: this.settings.matchHistoryLoadCount }, - orderPlayerBy: { default: this.settings.orderPlayerBy }, - preMadeTeamThreshold: { default: this.settings.preMadeTeamThreshold }, - matchHistoryUseSgpApi: { default: this.settings.matchHistoryUseSgpApi } - }, - this.settings - ) - this.state = new OngoingGameState(this._lc.data) - } - - private async _handleState() { - await this._setting.applyToState() - this._mobx.propSync(OngoingGameMain.id, 'settings', this.settings, [ - 'concurrency', - 'enabled', - 'matchHistoryLoadCount', - 'orderPlayerBy', - 'preMadeTeamThreshold', - 'matchHistoryUseSgpApi' - ]) - this._mobx.propSync(OngoingGameMain.id, 'state', this.state, [ - 'championSelections', - 'gameInfo', - 'positionAssignments', - 'premadeTeams', - 'queryStage', - 'teams', - 'matchHistoryTag' - ]) - } - - async onInit() { - await this._handleState() - this._handlePQueue() - this._handleLoad() - this._handleIpcCall() - this._handleCalculation() - } - - private _handlePQueue() { - this._mhQueue.on('active', () => { - this._log.debug( - `更新队列: 并发=${this._mhQueue.concurrency}, 当前数量=${this._mhQueue.size}, 等待中=${this._mhQueue.pending}` - ) - }) - - this._queue.on('active', () => { - this._log.debug( - `更新队列: 并发=${this._mhQueue.concurrency}, 当前数量=${this._mhQueue.size}, 等待中=${this._mhQueue.pending}` - ) - }) - - this._mobx.reaction( - () => this.settings.concurrency, - (concurrency) => { - this._mhQueue.concurrency = concurrency - this._queue.concurrency = concurrency - }, - { fireImmediately: true } - ) - } - - private _handleLoad() { - this._mobx.reaction( - () => this.state.queryStage, - (stage) => { - // 设计时, 必须保证加载流程是完全可控的 - // 阶段切换会立即取消之前的请求, 虽然在大部分情况下无需这么做 - if (this._controller) { - this._controller.abort() - this._controller = null - } - - if (this._mhController) { - this._mhController.abort() - this._mhController = null - } - - if (stage.phase === 'unavailable') { - this.state.clear() - this.state.setMatchHistoryTag(null) - this._ipc.sendEvent(OngoingGameMain.id, 'clear') - return - } - - this._controller = new AbortController() - this._mhController = new AbortController() - - if (this.state.queryStage.phase === 'champ-select') { - this._champSelect({ - mhSignal: this._mhController.signal, - signal: this._controller.signal, - force: false - }) - } else if (this.state.queryStage.phase === 'in-game') { - this._inGame({ - mhSignal: this._mhController.signal, - signal: this._controller.signal, - force: false - }) - } - } - ) - - // 这些条件发生变化, 那么就会重新计算 - const unionQueryCondition = computed( - () => { - return { - count: this.settings.matchHistoryLoadCount, - tag: this.state.matchHistoryTag || undefined - } - }, - { equals: comparer.structural } - ) - - // 战绩重新加载条件 - this._mobx.reaction( - () => unionQueryCondition.get(), - (condition) => { - if (this.state.queryStage.phase === 'unavailable') { - return - } - - if (this._mhController) { - this._mhController.abort() - this._mhController = null - } - - const controller = new AbortController() - this._mhController = controller - - const puuids = this.getPuuidsToLoadForPlayers() - puuids.forEach((puuid) => { - this._loadPlayerMatchHistory(puuid, { - signal: controller.signal, - count: condition.count, - tag: condition.tag, - force: false - }) - }) - }, - { delay: 1000 } - ) - } - - /** - * - * @param options 其中的 force, 用于标识是否强制刷新. 若为 false, 在查询条件未发生变动时不会重新加载 - */ - private _champSelect(options: { mhSignal: AbortSignal; signal: AbortSignal; force: boolean }) { - const { mhSignal, signal, force } = options - - const puuids = this.getPuuidsToLoadForPlayers() - puuids.forEach((puuid) => { - this._loadPlayerMatchHistory(puuid, { - signal: mhSignal, - force, - count: this.settings.matchHistoryLoadCount - }) - this._loadPlayerSummoner(puuid, { signal, force }) - this._loadPlayerRankedStats(puuid, { signal, force }) - this._loadPlayerSavedInfo(puuid, { signal, force }) - this._loadPlayerChampionMasteries(puuid, { signal, force }) - }) - } - - /** 目前实现同 #._champSelect */ - private _inGame(options: { mhSignal: AbortSignal; signal: AbortSignal; force: boolean }) { - const { mhSignal, signal, force } = options - - const puuids = this.getPuuidsToLoadForPlayers() - puuids.forEach((puuid) => { - this._loadPlayerMatchHistory(puuid, { - signal: mhSignal, - force, - count: this.settings.matchHistoryLoadCount - }) - this._loadPlayerSummoner(puuid, { signal, force }) - this._loadPlayerRankedStats(puuid, { signal, force }) - this._loadPlayerSavedInfo(puuid, { signal, force }) - this._loadPlayerChampionMasteries(puuid, { signal, force }) - }) - } - - private _clearAndReload() { - if (this._controller) { - this._controller.abort() - this._controller = null - } - - if (this._mhController) { - this._mhController.abort() - this._mhController = null - } - - this.state.clear() - this._ipc.sendEvent(OngoingGameMain.id, 'clear') - - this._controller = new AbortController() - this._mhController = new AbortController() - - if (this.state.queryStage.phase === 'champ-select') { - this._champSelect({ - mhSignal: this._mhController.signal, - signal: this._controller.signal, - force: true - }) - } else if (this.state.queryStage.phase === 'in-game') { - this._inGame({ - mhSignal: this._mhController.signal, - signal: this._controller.signal, - force: true - }) - } - } - - private getPuuidsToLoadForPlayers() { - if (this.state.queryStage.phase === 'unavailable') { - return [] - } - - if (this.state.queryStage.phase === 'champ-select') { - const session = this._lc.data.champSelect.session - if (!session) { - return [] - } - - const m = session.myTeam.filter((p) => p.puuid && p.puuid !== EMPTY_PUUID).map((t) => t.puuid) - - const t = session.theirTeam - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .map((t) => t.puuid) - - return [...m, ...t] - } else if (this.state.queryStage.phase === 'in-game') { - const session = this._lc.data.gameflow.session - - if (!session) { - return [] - } - - const m = session.gameData.teamOne - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .map((t) => t.puuid) - - const t = session.gameData.teamTwo - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .map((t) => t.puuid) - - return [...m, ...t] - } - - return [] - } - - private async _loadPlayerMatchHistory( - puuid: string, - options: { - signal?: AbortSignal - tag?: string - count?: number - force?: boolean - } = {} - ) { - const isAbleToUseSgpApi = - this.settings.matchHistoryUseSgpApi && - this._sgp.state.availability.serversSupported.matchHistory - - let { count = 20, signal, tag, force } = options - - const current = this.state.matchHistory[puuid] - if ( - !force && // 在不强制更新的情况下 - current && // 在存在值的情况下 - current.targetCount === count && // 必要条件之一: 加载数量没有变化 - current.source === (isAbleToUseSgpApi ? 'sgp' : 'lcu') && // 必要条件之一: 数据来源没有变化 - (!isAbleToUseSgpApi || current.tag === tag) // 必要条件之一: SGP API 时, tag 也必须一致 (LCU API 将忽略 tag, 本来也没用) - ) { - // 以上不需要重新加载的前提, 是假设在一个对局期间, 这些数据都不会发生变化 - // 事实上在一个对局期间, 大部分情况是不会发生变化的 - return - } - - if (isAbleToUseSgpApi) { - // SGP API 可以筛选战绩 - // 在未设置筛选条件的情况下, 会根据设置的偏好来决定是否筛选 - if (tag === undefined) { - if (this.settings.matchHistoryQueuePreference === 'all') { - tag = undefined - } else if ( - this.settings.matchHistoryQueuePreference === 'current' && - this.state.queryStage.gameInfo && - OngoingGameMain.SAFE_QUEUES.has(`q_${this.state.queryStage.gameInfo.queueId}`) - ) { - tag = `q_${this.state.queryStage.gameInfo.queueId}` - } - } else { - // 对于已经设置 tag 偏好的情况, 会检测是否是安全队列, 否则重置 - if (!OngoingGameMain.SAFE_QUEUES.has(tag)) { - tag = undefined - } - } - - const data = await this._mhQueue - .add(() => this._sgp.getMatchHistoryLcuFormat(puuid, 0, count, tag), { - signal, - priority: OngoingGameMain.LOADING_PRIORITY.MATCH_HISTORY - }) - .catch((error) => this._handleAbortError(error)) - - if (!data) { - return - } - - const toBeLoaded = { - data: data.games.games, - targetCount: count, - source: 'sgp' as 'sgp' | 'lcu', - tag - } - - this.state.matchHistory[puuid] = toBeLoaded - this._ipc.sendEvent(OngoingGameMain.id, 'match-history-loaded', puuid, toBeLoaded) - } else { - const res = await this._queue - .add(() => this._lc.api.matchHistory.getMatchHistory(puuid, 0, count - 1), { - signal, - priority: OngoingGameMain.LOADING_PRIORITY.MATCH_HISTORY - }) - .catch((error) => this._handleAbortError(error)) - - if (!res) { - return - } - - const data = res.data - - const toBeLoaded = { - data: data.games.games, - targetCount: count, - source: 'lcu' as 'sgp' | 'lcu' - } - - this.state.matchHistory[puuid] = toBeLoaded - this._ipc.sendEvent(OngoingGameMain.id, 'match-history-loaded', puuid, toBeLoaded) - } - } - - private async _loadPlayerSummoner( - puuid: string, - options: { - signal?: AbortSignal - force?: boolean - } = {} - ) { - const { signal, force } = options - - // 如果不是强制更新, 并且已经有数据, 那么就不再加载 - if (!force && this.state.summoner[puuid]) { - return - } - - const res = await this._queue - .add(() => this._lc.api.summoner.getSummonerByPuuid(puuid), { - signal, - priority: OngoingGameMain.LOADING_PRIORITY.SUMMONER - }) - .catch((error) => this._handleAbortError(error)) - - if (!res) { - return - } - - const data = res.data - - const toBeLoaded = { data, source: 'lcu' as 'sgp' | 'lcu' } - this.state.summoner[puuid] = toBeLoaded - this._ipc.sendEvent(OngoingGameMain.id, 'summoner-loaded', puuid, toBeLoaded) - } - - private async _loadPlayerSavedInfo( - puuid: string, - options: { - signal?: AbortSignal - force?: boolean - } = {} - ) { - // just used to suppress ts error - if (!this._lc.state.auth || !this._lc.data.summoner.me) { - return - } - - const query = { - puuid, - selfPuuid: this._lc.data.summoner.me.puuid, - region: this._lc.state.auth.region, - rsoPlatformId: this._lc.state.auth.rsoPlatformId - } - - const { signal, force } = options - - if (!force && this.state.savedInfo[puuid]) { - return - } - - const res = await this._queue - .add(() => this._saved.querySavedPlayerWithGames(query), { - signal, - priority: OngoingGameMain.LOADING_PRIORITY.SAVED_INFO - }) - .catch((error) => this._handleAbortError(error)) - - if (!res) { - return - } - - this.state.savedInfo[puuid] = res - this._ipc.sendEvent(OngoingGameMain.id, 'saved-info-loaded', puuid, res) - } - - private async _loadPlayerRankedStats( - puuid: string, - options: { - signal?: AbortSignal - force?: boolean - } = {} - ) { - const { signal, force } = options - - if (!force && this.state.rankedStats[puuid]) { - return - } - - const res = await this._mhQueue - .add(() => this._lc.api.ranked.getRankedStats(puuid), { - signal, - priority: OngoingGameMain.LOADING_PRIORITY.RANKED_STATS - }) - .catch((error) => this._handleAbortError(error)) - - if (!res) { - return - } - - const data = res.data - - const toBeLoaded = { data, source: 'lcu' as 'sgp' | 'lcu' } - this.state.rankedStats[puuid] = toBeLoaded - this._ipc.sendEvent(OngoingGameMain.id, 'ranked-stats-loaded', puuid, toBeLoaded) - } - - private async _loadPlayerChampionMasteries( - puuid: string, - options: { - signal?: AbortSignal - force?: boolean - } = {} - ) { - const { signal, force } = options - - if (!force && this.state.championMastery[puuid]) { - return - } - - const res = await this._mhQueue - .add(() => this._lc.api.championMastery.getPlayerChampionMastery(puuid), { - signal, - priority: OngoingGameMain.LOADING_PRIORITY.CHAMPION_MASTERY - }) - .catch((error) => this._handleAbortError(error)) - - if (!res) { - return - } - - const data = res.data - - const simplifiedMastery = data - .map((m) => ({ - championId: m.championId, - championLevel: m.championLevel, - championPoints: m.championPoints, - milestoneGrades: m.milestoneGrades - })) - .reduce((obj, cur) => { - obj[cur.championId] = cur - return obj - }, {} as any) - - const toBeLoaded = { data: simplifiedMastery, source: 'lcu' as 'sgp' | 'lcu' } - this.state.championMastery[puuid] = toBeLoaded - this._ipc.sendEvent(OngoingGameMain.id, 'champion-mastery-loaded', puuid, toBeLoaded) - } - - private _handleIpcCall() { - this._ipc.onCall(OngoingGameMain.id, 'getAll', () => { - const matchHistory = toJS(this.state.matchHistory) - const summoner = toJS(this.state.summoner) - const rankedStats = toJS(this.state.rankedStats) - const savedInfo = toJS(this.state.savedInfo) - - return { matchHistory, summoner, rankedStats, savedInfo } - }) - - this._ipc.onCall(OngoingGameMain.id, 'setMatchHistoryTag', (tag: string) => { - if (OngoingGameMain.SAFE_QUEUES.has(tag)) { - this.state.setMatchHistoryTag(tag) - } - }) - - this._ipc.onCall(OngoingGameMain.id, 'reload', () => { - this._clearAndReload() - }) - } - - private _calcTeamUp() { - if (!this.state.teams) { - return null - } - - const games = Object.values(this.state.matchHistory) - .map((m) => m.data) - .flat() - - if (!games.length) { - return null - } - - // 统计所有目前游戏中的每个队伍,并且将这些队伍分别视为一个独立的个体,使用 `${游戏ID}|${队伍ID}` 进行唯一区分 - const teamSides = new Map() - for (const game of games) { - const mode = game.gameMode - - // participantId -> puuid - const participantsMap = game.participantIdentities.reduce( - (obj, current) => { - obj[current.participantId] = current.player.puuid - return obj - }, - {} as Record - ) - - let grouped: { teamId: number; puuid: string }[] - - // 对于竞技场模式,在战绩接口中只有一个队伍。如果要区分小队,需要使用 subteamPlacement 或 subteamId 字段 - if (mode === 'CHERRY') { - grouped = game.participants.map((p) => ({ - teamId: p.stats.subteamPlacement, // 取值范围是 1, 2, 3, 4, 这个实际上也是最终队伍排名 - puuid: participantsMap[p.participantId] - })) - } else { - // 对于其他模式,按照两队式计算 - grouped = game.participants.map((p) => ({ - teamId: p.teamId, - puuid: participantsMap[p.participantId] - })) - } - - // teamId -> puuid[],这个记录的是这条战绩中的 - const teamPlayersMap = grouped.reduce( - (obj, current) => { - if (obj[current.teamId]) { - obj[current.teamId].push(current.puuid) - } else { - obj[current.teamId] = [current.puuid] - } - return obj - }, - {} as Record - ) - - // sideId -> puuid[],按照队伍区分。 - Object.entries(teamPlayersMap).forEach(([teamId, players]) => { - const sideId = `${game.gameId}|${teamId}` - if (teamSides.has(sideId)) { - return - } - teamSides.set(sideId, players) - }) - } - - const matches = Array.from(teamSides).map(([id /* sideId */, players]) => ({ id, players })) - - // key: teamSide, values: { players: string[], times: number }[] - const result = Object.entries(this.state.teams).reduce( - (obj, [team, teamPlayers]) => { - obj[team] = calculateTogetherTimes(matches, teamPlayers, this.settings.preMadeTeamThreshold) - - return obj - }, - {} as Record< - string, - { - players: string[] - times: number - }[] - > - ) - - // teamSide -> players[][] - const combinedGroups: Record = {} - - for (const [team, playerGroups] of Object.entries(result)) { - const groups = playerGroups.map((pg) => pg.players) - combinedGroups[team] = removeOverlappingSubsets(groups) as string[][] - } - - return combinedGroups - } - - private _calcAnalysis() { - if (!this.state.teams) { - return null - } - - const playerAnalyses: Record = {} - - for (const [puuid, matchHistory] of Object.entries(this.state.matchHistory)) { - if (!matchHistory) { - continue - } - - const analysis = analyzeMatchHistory( - matchHistory.data.map((mh) => ({ game: mh, isDetailed: true })), // for compatibility - puuid - ) - if (analysis) { - playerAnalyses[puuid] = analysis - } - } - - const teamAnalyses: Record = {} - - for (const [sideId, puuids] of Object.entries(this.state.teams)) { - const teamPlayerAnalyses = puuids.map((p) => playerAnalyses[p]).filter(Boolean) - const teamAnalysis = analyzeTeamMatchHistory(teamPlayerAnalyses) - if (teamAnalysis) { - teamAnalyses[sideId] = teamAnalysis - } - } - - return { - players: playerAnalyses, - teams: teamAnalyses - } - } - - private _handleCalculation() { - // 重新计算战绩信息 - this._mobx.reaction( - () => Object.values(this.state.matchHistory), - (_changedV) => { - this.state.setPlayerStats(this._calcAnalysis()) - }, - { delay: 200, equals: comparer.shallow } - ) - - // 重新计算预组队 - this._mobx.reaction( - () => [Object.values(this.state.matchHistory), this.settings.preMadeTeamThreshold] as const, - ([_changedV, _threshold]) => { - this.state.setPremadeTeams(this._calcTeamUp()) - }, - { delay: 200, equals: comparer.shallow } - ) - } - - private _handleAbortError(e: any) { - if (e instanceof Error && e.name === 'AbortError') { - return - } - return Promise.reject(e) - } -} +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { EMPTY_PUUID } from '@shared/constants/common' +import { + MatchHistoryGamesAnalysisAll, + MatchHistoryGamesAnalysisTeamSide, + analyzeMatchHistory, + analyzeTeamMatchHistory +} from '@shared/utils/analysis' +import { calculateTogetherTimes, removeOverlappingSubsets } from '@shared/utils/team-up-calc' +import _ from 'lodash' +import { comparer, computed, toJS } from 'mobx' +import PQueue from 'p-queue' + +import { AkariIpcMain } from '../ipc' +import { LeagueClientMain } from '../league-client' +import { AkariLogger, LoggerFactoryMain } from '../logger-factory' +import { MobxUtilsMain } from '../mobx-utils' +import { SavedPlayerMain } from '../saved-player' +import { SettingFactoryMain } from '../setting-factory' +import { SetterSettingService } from '../setting-factory/setter-setting-service' +import { SgpMain } from '../sgp' +import { OngoingGameSettings, OngoingGameState } from './state' + +/** + * 用于游戏过程中的对局分析, 包括在此期间的战绩查询, 计算等 + */ +export class OngoingGameMain implements IAkariShardInitDispose { + static id = 'ongoing-game-main' + static dependencies = [ + 'logger-factory-main', + 'setting-factory-main', + 'league-client-main', + 'akari-ipc-main', + 'mobx-utils-main', + 'sgp-main', + 'saved-player-main' + ] + + static LOADING_PRIORITY = { + SUMMONER: 1, + MATCH_HISTORY: 2, + SAVED_INFO: 3, + RANKED_STATS: 4, + CHAMPION_MASTERY: 5 + } + + /** + * 目前已知的可用队列, 这是为了避免查询不支持队列时返回为空的情况 + */ + static SAFE_TAGS = new Set([ + `q_420`, + `q_430`, + `q_440`, + `q_450`, // ARAM + `q_490`, + `q_900`, // URF + `q_1400`, // ULTBOOK + `q_1700`, + `q_1900` + ]) + + private readonly _loggerFactory: LoggerFactoryMain + private readonly _settingFactory: SettingFactoryMain + private readonly _log: AkariLogger + private readonly _lc: LeagueClientMain + private readonly _setting: SetterSettingService + private readonly _mobx: MobxUtilsMain + private readonly _ipc: AkariIpcMain + private readonly _sgp: SgpMain + private readonly _saved: SavedPlayerMain + + public readonly settings = new OngoingGameSettings() + public readonly state: OngoingGameState + + /** 为**加载战绩**设置的特例 */ + private readonly _mhQueue = new PQueue() + /** 为**加载战绩**设置的特例 */ + private _mhController: AbortController | null = null + + /** + * 其他 API 的并发控制 + */ + private readonly _queue = new PQueue() + private _controller: AbortController | null = null + + private _debouncedUpdateMatchHistoryFn = _.debounce(() => this._updateMatchHistory(), 500) + + constructor(deps: any) { + this._loggerFactory = deps['logger-factory-main'] + this._log = this._loggerFactory.create(OngoingGameMain.id) + this._lc = deps['league-client-main'] + this._mobx = deps['mobx-utils-main'] + this._ipc = deps['akari-ipc-main'] + this._settingFactory = deps['setting-factory-main'] + this._sgp = deps['sgp-main'] + this._saved = deps['saved-player-main'] + this._setting = this._settingFactory.create( + OngoingGameMain.id, + { + concurrency: { default: this.settings.concurrency }, + enabled: { default: this.settings.enabled }, + matchHistoryLoadCount: { default: this.settings.matchHistoryLoadCount }, + premadeTeamThreshold: { default: this.settings.premadeTeamThreshold }, + matchHistoryUseSgpApi: { default: this.settings.matchHistoryUseSgpApi }, + matchHistoryTagPreference: { default: this.settings.matchHistoryTagPreference } + }, + this.settings + ) + this.state = new OngoingGameState(this._lc.data) + } + + private async _handleState() { + await this._setting.applyToState() + this._mobx.propSync(OngoingGameMain.id, 'settings', this.settings, [ + 'concurrency', + 'enabled', + 'matchHistoryLoadCount', + 'premadeTeamThreshold', + 'matchHistoryUseSgpApi', + 'matchHistoryTagPreference' + ]) + this._mobx.propSync(OngoingGameMain.id, 'state', this.state, [ + 'championSelections', + 'gameInfo', + 'positionAssignments', + 'premadeTeams', + 'queryStage', + 'teams', + 'matchHistoryTag' + ]) + } + + async onInit() { + await this._handleState() + this._handlePQueue() + this._handleLoad() + this._handleIpcCall() + this._handleCalculation() + + // for better control + this._setting.onChange('matchHistoryLoadCount', async (value, { setter }) => { + if (value >= 1 && value <= 200) { + await setter(value) + this._debouncedUpdateMatchHistoryFn() + } + }) + + this._setting.onChange('matchHistoryUseSgpApi', async (value, { setter }) => { + await setter(value) + this._debouncedUpdateMatchHistoryFn() + }) + + this._setting.onChange('premadeTeamThreshold', async (value, { setter }) => { + if (value >= 3) { + await setter(value) + } + }) + } + + private _handlePQueue() { + this._mhQueue.on('active', () => { + this._log.debug( + `更新队列: 并发=${this._mhQueue.concurrency}, 当前数量=${this._mhQueue.size}, 等待中=${this._mhQueue.pending}` + ) + }) + + this._queue.on('active', () => { + this._log.debug( + `更新队列: 并发=${this._mhQueue.concurrency}, 当前数量=${this._mhQueue.size}, 等待中=${this._mhQueue.pending}` + ) + }) + + this._mobx.reaction( + () => this.settings.concurrency, + (concurrency) => { + this._mhQueue.concurrency = concurrency + this._queue.concurrency = concurrency + }, + { fireImmediately: true } + ) + } + + private _handleLoad() { + this._mobx.reaction( + () => [this.state.queryStage, this.settings.enabled] as const, + ([stage, enabled]) => { + if (this._controller) { + this._controller.abort() + this._controller = null + } + + if (this._mhController) { + this._mhController.abort() + this._mhController = null + } + + this._debouncedUpdateMatchHistoryFn.cancel() + + if (stage.phase === 'unavailable' || !enabled) { + this.state.clear() + this.state.setMatchHistoryTag('all') + this._ipc.sendEvent(OngoingGameMain.id, 'clear') + return + } + + this._controller = new AbortController() + this._mhController = new AbortController() + + if (this.state.queryStage.phase === 'champ-select') { + this._champSelect({ + mhSignal: this._mhController.signal, + signal: this._controller.signal, + force: false + }) + } else if (this.state.queryStage.phase === 'in-game') { + this._inGame({ + mhSignal: this._mhController.signal, + signal: this._controller.signal, + force: false + }) + } + }, + { equals: comparer.shallow } + ) + } + + private _updateMatchHistory() { + if (!this.settings.enabled) { + return + } + + if (this.state.queryStage.phase === 'unavailable') { + return + } + + if (this._mhController) { + this._mhController.abort() + this._mhController = null + } + + const controller = new AbortController() + this._mhController = controller + + const puuids = this.getPuuidsToLoadForPlayers() + puuids.forEach((puuid) => { + this._loadPlayerMatchHistory(puuid, { + signal: controller.signal, + count: this.settings.matchHistoryLoadCount, + tag: this.state.matchHistoryTag, + force: false, + useSgpApi: this.settings.matchHistoryUseSgpApi + }) + }) + } + + /** + * + * @param options 其中的 force, 用于标识是否强制刷新. 若为 false, 在查询条件未发生变动时不会重新加载 + */ + private _champSelect(options: { mhSignal: AbortSignal; signal: AbortSignal; force: boolean }) { + const { mhSignal, signal, force } = options + + const puuids = this.getPuuidsToLoadForPlayers() + puuids.forEach((puuid) => { + this._loadPlayerMatchHistory(puuid, { + signal: mhSignal, + force, + count: this.settings.matchHistoryLoadCount, + useSgpApi: this.settings.matchHistoryUseSgpApi + }) + this._loadPlayerSummoner(puuid, { signal, force }) + this._loadPlayerRankedStats(puuid, { signal, force }) + this._loadPlayerSavedInfo(puuid, { signal, force }) + this._loadPlayerChampionMasteries(puuid, { signal, force }) + }) + } + + /** 目前实现同 #._champSelect */ + private _inGame(options: { mhSignal: AbortSignal; signal: AbortSignal; force: boolean }) { + const { mhSignal, signal, force } = options + + const puuids = this.getPuuidsToLoadForPlayers() + puuids.forEach((puuid) => { + this._loadPlayerMatchHistory(puuid, { + signal: mhSignal, + force, + count: this.settings.matchHistoryLoadCount, + useSgpApi: this.settings.matchHistoryUseSgpApi + }) + this._loadPlayerSummoner(puuid, { signal, force }) + this._loadPlayerRankedStats(puuid, { signal, force }) + this._loadPlayerSavedInfo(puuid, { signal, force }) + this._loadPlayerChampionMasteries(puuid, { signal, force }) + }) + } + + private _clearAndReload() { + if (this._controller) { + this._controller.abort() + this._controller = null + } + + if (this._mhController) { + this._mhController.abort() + this._mhController = null + } + + this.state.clear() + this._ipc.sendEvent(OngoingGameMain.id, 'clear') + + this._controller = new AbortController() + this._mhController = new AbortController() + + if (this.state.queryStage.phase === 'champ-select') { + this._champSelect({ + mhSignal: this._mhController.signal, + signal: this._controller.signal, + force: true + }) + } else if (this.state.queryStage.phase === 'in-game') { + this._inGame({ + mhSignal: this._mhController.signal, + signal: this._controller.signal, + force: true + }) + } + } + + private getPuuidsToLoadForPlayers() { + if (this.state.queryStage.phase === 'unavailable') { + return [] + } + + if (this.state.queryStage.phase === 'champ-select') { + const session = this._lc.data.champSelect.session + if (!session) { + return [] + } + + const m = session.myTeam.filter((p) => p.puuid && p.puuid !== EMPTY_PUUID).map((t) => t.puuid) + + const t = session.theirTeam + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .map((t) => t.puuid) + + return [...m, ...t] + } else if (this.state.queryStage.phase === 'in-game') { + const session = this._lc.data.gameflow.session + + if (!session) { + return [] + } + + const m = session.gameData.teamOne + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .map((t) => t.puuid) + + const t = session.gameData.teamTwo + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .map((t) => t.puuid) + + return [...m, ...t] + } + + return [] + } + + private async _loadPlayerMatchHistory( + puuid: string, + options: { + signal?: AbortSignal + tag?: string + count?: number + force?: boolean + useSgpApi?: boolean + } = {} + ) { + let { count = 20, signal, tag, force, useSgpApi } = options + + const isAbleToUseSgpApi = + useSgpApi && this._sgp.state.availability.serversSupported.matchHistory + + const current = this.state.matchHistory[puuid] + if ( + !force && // 在不强制更新的情况下 + current && // 在存在值的情况下 + current.targetCount === count && // 必要条件之一: 加载数量没有变化 + current.source === (isAbleToUseSgpApi ? 'sgp' : 'lcu') && // 必要条件之一: 数据来源没有变化 + (!isAbleToUseSgpApi || current.tag === tag) // 必要条件之一: SGP API 时, tag 也必须一致 (LCU API 将忽略 tag, 本来也没用) + ) { + // 以上不需要重新加载的前提, 是假设在一个对局期间, 这些数据都不会发生变化 + // ) 事实上在一个对局期间, 大部分情况是不会发生变化的 + return + } + + if (isAbleToUseSgpApi) { + // SGP API 可以筛选战绩 + // 在未设置筛选条件的情况下, 会根据设置的偏好来决定是否筛选 + if (tag === undefined || tag === 'all') { + if (this.settings.matchHistoryTagPreference === 'all') { + this.state.setMatchHistoryTag('all') + } else if ( + this.settings.matchHistoryTagPreference === 'current' && + this.state.queryStage.gameInfo && + OngoingGameMain.SAFE_TAGS.has(`q_${this.state.queryStage.gameInfo.queueId}`) + ) { + tag = `q_${this.state.queryStage.gameInfo.queueId}` + this.state.setMatchHistoryTag(`q_${this.state.queryStage.gameInfo.queueId}`) + } + } else { + // 对于已经设置 tag 偏好的情况, 会检测是否是安全队列, 否则重置 + if (!OngoingGameMain.SAFE_TAGS.has(tag)) { + tag = undefined + this.state.setMatchHistoryTag('all') + } + } + + const data = await this._mhQueue + .add(() => this._sgp.getMatchHistoryLcuFormat(puuid, 0, count, tag), { + signal, + priority: OngoingGameMain.LOADING_PRIORITY.MATCH_HISTORY + }) + .catch((error) => this._handleAbortError(error)) + + if (!data) { + return + } + + const toBeLoaded = { + data: data.games.games, + targetCount: count, + source: 'sgp' as 'sgp' | 'lcu', + tag + } + + this.state.matchHistory[puuid] = toBeLoaded + this._ipc.sendEvent(OngoingGameMain.id, 'match-history-loaded', puuid, toBeLoaded) + } else { + const res = await this._queue + .add(() => this._lc.api.matchHistory.getMatchHistory(puuid, 0, count - 1), { + signal, + priority: OngoingGameMain.LOADING_PRIORITY.MATCH_HISTORY + }) + .catch((error) => this._handleAbortError(error)) + + if (!res) { + return + } + + const data = res.data + + const toBeLoaded = { + data: data.games.games, + targetCount: count, + source: 'lcu' as 'sgp' | 'lcu' + } + + this.state.matchHistory[puuid] = toBeLoaded + this._ipc.sendEvent(OngoingGameMain.id, 'match-history-loaded', puuid, toBeLoaded) + } + } + + private async _loadPlayerSummoner( + puuid: string, + options: { + signal?: AbortSignal + force?: boolean + } = {} + ) { + const { signal, force } = options + + // 如果不是强制更新, 并且已经有数据, 那么就不再加载 + if (!force && this.state.summoner[puuid]) { + return + } + + const res = await this._queue + .add(() => this._lc.api.summoner.getSummonerByPuuid(puuid), { + signal, + priority: OngoingGameMain.LOADING_PRIORITY.SUMMONER + }) + .catch((error) => this._handleAbortError(error)) + + if (!res) { + return + } + + const data = res.data + + const toBeLoaded = { data, source: 'lcu' as 'sgp' | 'lcu' } + this.state.summoner[puuid] = toBeLoaded + this._ipc.sendEvent(OngoingGameMain.id, 'summoner-loaded', puuid, toBeLoaded) + } + + private async _loadPlayerSavedInfo( + puuid: string, + options: { + signal?: AbortSignal + force?: boolean + } = {} + ) { + // just used to suppress ts error + if (!this._lc.state.auth || !this._lc.data.summoner.me) { + return + } + + const query = { + puuid, + selfPuuid: this._lc.data.summoner.me.puuid, + region: this._lc.state.auth.region, + rsoPlatformId: this._lc.state.auth.rsoPlatformId + } + + const { signal, force } = options + + if (!force && this.state.savedInfo[puuid]) { + return + } + + const res = await this._queue + .add(() => this._saved.querySavedPlayerWithGames(query), { + signal, + priority: OngoingGameMain.LOADING_PRIORITY.SAVED_INFO + }) + .catch((error) => this._handleAbortError(error)) + + if (!res) { + return + } + + this.state.savedInfo[puuid] = res + this._ipc.sendEvent(OngoingGameMain.id, 'saved-info-loaded', puuid, res) + } + + private async _loadPlayerRankedStats( + puuid: string, + options: { + signal?: AbortSignal + force?: boolean + } = {} + ) { + const { signal, force } = options + + if (!force && this.state.rankedStats[puuid]) { + return + } + + const res = await this._mhQueue + .add(() => this._lc.api.ranked.getRankedStats(puuid), { + signal, + priority: OngoingGameMain.LOADING_PRIORITY.RANKED_STATS + }) + .catch((error) => this._handleAbortError(error)) + + if (!res) { + return + } + + const data = res.data + + const toBeLoaded = { data, source: 'lcu' as 'sgp' | 'lcu' } + this.state.rankedStats[puuid] = toBeLoaded + this._ipc.sendEvent(OngoingGameMain.id, 'ranked-stats-loaded', puuid, toBeLoaded) + } + + private async _loadPlayerChampionMasteries( + puuid: string, + options: { + signal?: AbortSignal + force?: boolean + } = {} + ) { + const { signal, force } = options + + if (!force && this.state.championMastery[puuid]) { + return + } + + const res = await this._mhQueue + .add(() => this._lc.api.championMastery.getPlayerChampionMastery(puuid), { + signal, + priority: OngoingGameMain.LOADING_PRIORITY.CHAMPION_MASTERY + }) + .catch((error) => this._handleAbortError(error)) + + if (!res) { + return + } + + const data = res.data + + const simplifiedMastery = data + .map((m) => ({ + championId: m.championId, + championLevel: m.championLevel, + championPoints: m.championPoints, + milestoneGrades: m.milestoneGrades + })) + .reduce((obj, cur) => { + obj[cur.championId] = cur + return obj + }, {} as any) + + const toBeLoaded = { data: simplifiedMastery, source: 'lcu' as 'sgp' | 'lcu' } + this.state.championMastery[puuid] = toBeLoaded + this._ipc.sendEvent(OngoingGameMain.id, 'champion-mastery-loaded', puuid, toBeLoaded) + } + + private _handleIpcCall() { + this._ipc.onCall(OngoingGameMain.id, 'getAll', () => { + const matchHistory = toJS(this.state.matchHistory) + const summoner = toJS(this.state.summoner) + const rankedStats = toJS(this.state.rankedStats) + const savedInfo = toJS(this.state.savedInfo) + const championMastery = toJS(this.state.championMastery) + + return { matchHistory, summoner, rankedStats, savedInfo, championMastery } + }) + + this._ipc.onCall(OngoingGameMain.id, 'setMatchHistoryTag', (tag: string) => { + if (OngoingGameMain.SAFE_TAGS.has(tag) || tag === 'all') { + this.state.setMatchHistoryTag(tag) + this._debouncedUpdateMatchHistoryFn() + } + }) + + this._ipc.onCall(OngoingGameMain.id, 'reload', () => { + this._clearAndReload() + }) + } + + private _calcTeamUp() { + if (!this.state.teams) { + return null + } + + const games = Object.values(this.state.matchHistory) + .map((m) => m.data) + .flat() + + if (!games.length) { + return null + } + + // 统计所有目前游戏中的每个队伍,并且将这些队伍分别视为一个独立的个体,使用 `${游戏ID}|${队伍ID}` 进行唯一区分 + const teamSides = new Map() + for (const game of games) { + const mode = game.gameMode + + // participantId -> puuid + const participantsMap = game.participantIdentities.reduce( + (obj, current) => { + obj[current.participantId] = current.player.puuid + return obj + }, + {} as Record + ) + + let grouped: { teamId: number; puuid: string }[] + + // 对于竞技场模式,在战绩接口中只有一个队伍。如果要区分小队,需要使用 subteamPlacement 或 subteamId 字段 + if (mode === 'CHERRY') { + grouped = game.participants.map((p) => ({ + teamId: p.stats.subteamPlacement, // 取值范围是 1, 2, 3, 4, 这个实际上也是最终队伍排名 + puuid: participantsMap[p.participantId] + })) + } else { + // 对于其他模式,按照两队式计算 + grouped = game.participants.map((p) => ({ + teamId: p.teamId, + puuid: participantsMap[p.participantId] + })) + } + + // teamId -> puuid[],这个记录的是这条战绩中的 + const teamPlayersMap = grouped.reduce( + (obj, current) => { + if (obj[current.teamId]) { + obj[current.teamId].push(current.puuid) + } else { + obj[current.teamId] = [current.puuid] + } + return obj + }, + {} as Record + ) + + // sideId -> puuid[],按照队伍区分。 + Object.entries(teamPlayersMap).forEach(([teamId, players]) => { + const sideId = `${game.gameId}|${teamId}` + if (teamSides.has(sideId)) { + return + } + teamSides.set(sideId, players) + }) + } + + const matches = Array.from(teamSides).map(([id /* sideId */, players]) => ({ id, players })) + + // key: teamSide, values: { players: string[], times: number }[] + const result = Object.entries(this.state.teams).reduce( + (obj, [team, teamPlayers]) => { + obj[team] = calculateTogetherTimes(matches, teamPlayers, this.settings.premadeTeamThreshold) + + return obj + }, + {} as Record< + string, + { + players: string[] + times: number + }[] + > + ) + + // teamSide -> players[][] + const combinedGroups: Record = {} + + for (const [team, playerGroups] of Object.entries(result)) { + const groups = playerGroups.map((pg) => pg.players) + combinedGroups[team] = removeOverlappingSubsets(groups) as string[][] + } + + return combinedGroups + } + + private _calcAnalysis() { + if (!this.state.teams) { + return null + } + + const playerAnalyses: Record = {} + + for (const [puuid, matchHistory] of Object.entries(this.state.matchHistory)) { + if (!matchHistory) { + continue + } + + const analysis = analyzeMatchHistory( + matchHistory.data.map((mh) => ({ game: mh, isDetailed: true })), // for compatibility + puuid + ) + if (analysis) { + playerAnalyses[puuid] = analysis + } + } + + const teamAnalyses: Record = {} + + for (const [sideId, puuids] of Object.entries(this.state.teams)) { + const teamPlayerAnalyses = puuids.map((p) => playerAnalyses[p]).filter(Boolean) + const teamAnalysis = analyzeTeamMatchHistory(teamPlayerAnalyses) + if (teamAnalysis) { + teamAnalyses[sideId] = teamAnalysis + } + } + + return { + players: playerAnalyses, + teams: teamAnalyses + } + } + + private _handleCalculation() { + // 重新计算战绩信息 + this._mobx.reaction( + () => Object.values(this.state.matchHistory), + (_changedV) => { + this.state.setPlayerStats(this._calcAnalysis()) + }, + { delay: 200, equals: comparer.shallow } + ) + + // 重新计算预组队 + this._mobx.reaction( + () => [Object.values(this.state.matchHistory), this.settings.premadeTeamThreshold] as const, + ([_changedV, _threshold]) => { + this.state.setPremadeTeams(this._calcTeamUp()) + }, + { delay: 200, equals: comparer.shallow } + ) + } + + private _handleAbortError(e: any) { + if (e instanceof Error && e.name === 'AbortError') { + return + } + return Promise.reject(e) + } +} diff --git a/src/main/shards/ongoing-game/state.ts b/src/main/shards/ongoing-game/state.ts index c56f9bc3..bcfbdb80 100644 --- a/src/main/shards/ongoing-game/state.ts +++ b/src/main/shards/ongoing-game/state.ts @@ -1,438 +1,444 @@ -import { EMPTY_PUUID } from '@shared/constants/common' -import { PlayerChampionMastery } from '@shared/types/lcu/champion-mastery' -import { Game, MatchHistory } from '@shared/types/lcu/match-history' -import { RankedStats } from '@shared/types/lcu/ranked' -import { SummonerInfo } from '@shared/types/lcu/summoner' -import { - MatchHistoryGamesAnalysisAll, - MatchHistoryGamesAnalysisTeamSide -} from '@shared/utils/analysis' -import { parseSelectedRole } from '@shared/utils/ranked' -import { computed, makeAutoObservable, observable } from 'mobx' - -import { LeagueClientSyncedData } from '../league-client/data' -import { SavedPlayer } from '../storage/entities/SavedPlayers' - -export class OngoingGameSettings { - enabled: boolean = true - preMadeTeamThreshold: number = 3 - matchHistoryLoadCount: number = 20 - concurrency: number = 3 - orderPlayerBy: 'win-rate' | 'kda' | 'default' | 'akari-score' = 'default' - - /** - * 查询战绩时是否优先使用 SGP API - */ - matchHistoryUseSgpApi: boolean = true - - /** - * 战绩查询时, 优先查询当前模式还是全部模式 - */ - matchHistoryQueuePreference: 'current' | 'all' = 'current' - - setEnabled(value: boolean) { - this.enabled = value - } - - setPreMadeTeamThreshold(value: number) { - this.preMadeTeamThreshold = value - } - - setMatchHistoryLoadCount(value: number) { - this.matchHistoryLoadCount = value - } - - setConcurrency(limit: number) { - this.concurrency = limit - } - - setMatchHistoryUseSgpApi(value: boolean) { - this.matchHistoryUseSgpApi = value - } - - setOrderPlayerBy(value: 'win-rate' | 'kda' | 'default' | 'akari-score') { - this.orderPlayerBy = value - } - - constructor() { - makeAutoObservable(this) - } -} - -export class OngoingGameState { - get gameInfo() { - if (!this._lcData.gameflow.session) { - return null - } - - return { - queueId: !this._lcData.gameflow.session.gameData.queue.id, - queueType: !this._lcData.gameflow.session.gameData.queue.type, - gameId: !this._lcData.gameflow.session.gameData.gameId, - gameMode: !this._lcData.gameflow.session.gameData.queue.gameMode - } - } - - /** - * 当前进行的英雄选择 - */ - get championSelections() { - if (this.queryStage.phase === 'champ-select') { - if (!this._lcData.champSelect.session) { - return null - } - - const selections: Record = {} - this._lcData.champSelect.session.myTeam.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - selections[p.puuid] = p.championId || p.championPickIntent - } - }) - - this._lcData.champSelect.session.theirTeam.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - selections[p.puuid] = p.championId || p.championPickIntent - } - }) - - return selections - } else if (this.queryStage.phase === 'in-game') { - if (!this._lcData.gameflow.session) { - return null - } - - const selections: Record = {} - this._lcData.gameflow.session.gameData.playerChampionSelections.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - selections[p.puuid] = p.championId - } - }) - - this._lcData.gameflow.session.gameData.teamOne.forEach((p) => { - if (p.championId) { - selections[p.puuid] = p.championId - } - }) - - this._lcData.gameflow.session.gameData.teamTwo.forEach((p) => { - if (p.championId) { - selections[p.puuid] = p.championId - } - }) - - return selections - } - - return null - } - - get positionAssignments() { - if (this.queryStage.phase === 'champ-select') { - if (!this._lcData.champSelect.session) { - return null - } - - const assignments: Record = {} - - this._lcData.champSelect.session.myTeam.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - assignments[p.puuid] = { - position: p.assignedPosition.toUpperCase(), - role: null - } - } - }) - - this._lcData.champSelect.session.theirTeam.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - assignments[p.puuid] = { - position: p.assignedPosition.toUpperCase(), - role: null - } - } - }) - - return assignments - } else if (this.queryStage.phase === 'in-game') { - if (!this._lcData.gameflow.session) { - return null - } - - const assignments: Record = {} - - this._lcData.gameflow.session.gameData.teamOne.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - assignments[p.puuid] = { - position: p.selectedPosition, - role: parseSelectedRole(p.selectedRole) - } - } - }) - - this._lcData.gameflow.session.gameData.teamTwo.forEach((p) => { - if (p.puuid && p.puuid !== EMPTY_PUUID) { - assignments[p.puuid] = { - position: p.selectedPosition, - role: parseSelectedRole(p.selectedRole) - } - } - }) - - return assignments - } - - return null - } - - /** - * 当前对局的队伍分配 - */ - get teams() { - if (this.queryStage.phase === 'champ-select') { - if (!this._lcData.champSelect.session) { - return null - } - - const teams: Record = {} - - this._lcData.champSelect.session.myTeam - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .forEach((p) => { - const key = p.team ? `our-${p.team}` : 'our' - if (!teams[key]) { - teams[key] = [] - } - teams[key].push(p.puuid) - }) - - this._lcData.champSelect.session.theirTeam - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .forEach((p) => { - const key = p.team ? `their-${p.team}` : 'their' - if (!teams[key]) { - teams[key] = [] - } - teams[key].push(p.puuid) - }) - - return teams - } else if (this.queryStage.phase === 'in-game') { - if (!this._lcData.gameflow.session) { - return null - } - - const teams: Record = { - 100: [], - 200: [] - } - - this._lcData.gameflow.session.gameData.teamOne - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .forEach((p) => { - teams['100'].push(p.puuid) - }) - - this._lcData.gameflow.session.gameData.teamTwo - .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) - .forEach((p) => { - teams['200'].push(p.puuid) - }) - - return teams - } - - return null - } - - /** - * 当前游戏的进行状态简化,用于区分 League Akari 的几个主要阶段 - * - * unavailable - 不需要介入的状态 - * - * champ-select - 正在英雄选择阶段 - * - * in-game - 在游戏中或游戏结算中 - */ - get queryStage() { - if ( - this._lcData.gameflow.session && - this._lcData.gameflow.session.phase === 'ChampSelect' && - this._lcData.champSelect.session - ) { - return { - phase: 'champ-select', - gameInfo: { - queueId: this._lcData.gameflow.session.gameData.queue.id, - queueType: this._lcData.gameflow.session.gameData.queue.type, - gameId: this._lcData.gameflow.session.gameData.gameId, - gameMode: this._lcData.gameflow.session.gameData.queue.gameMode - } - } - } - - if ( - this._lcData.gameflow.session && - (this._lcData.gameflow.session.phase === 'GameStart' || - this._lcData.gameflow.session.phase === 'InProgress' || - this._lcData.gameflow.session.phase === 'WaitingForStats' || - this._lcData.gameflow.session.phase === 'PreEndOfGame' || - this._lcData.gameflow.session.phase === 'EndOfGame' || - this._lcData.gameflow.session.phase === 'Reconnect') - ) { - return { - phase: 'in-game', - gameInfo: { - queueId: this._lcData.gameflow.session.gameData.queue.id, - queueType: this._lcData.gameflow.session.gameData.queue.type, - gameId: this._lcData.gameflow.session.gameData.gameId, - gameMode: this._lcData.gameflow.session.gameData.queue.gameMode - } - } - } - - return { - phase: 'unavailable', - gameInfo: null - } - } - - /** - * 在游戏结算时,League Akari 会额外进行一些操作 - */ - get isInEog() { - return ( - this._lcData.gameflow.phase === 'WaitingForStats' || - this._lcData.gameflow.phase === 'PreEndOfGame' || - this._lcData.gameflow.phase === 'EndOfGame' - ) - } - - /** - * 计算出来的预设队伍 - */ - premadeTeams: Record | null = null - - setPremadeTeams(value: Record | null) { - this.premadeTeams = value - } - - /** - * 根据目前所有战绩计算出来的玩家分析数据 - */ - playerStats: { - players: Record - teams: Record - } | null = null - - setPlayerStats( - value: { - players: Record - teams: Record - } | null - ) { - this.playerStats = value - } - - /** - * 战绩列表的 tag, 用于 SGP API - */ - matchHistoryTag: string | null - - setMatchHistoryTag(value: string | null) { - this.matchHistoryTag = value - } - - /** - * 每名玩家的战绩 - * 手动同步 - */ - matchHistory: Record< - string, - { - /** 战绩源, lc 为通过 LC 代理查询服务器, SGP 为直接查询服务器. 前者高可用 */ - source: 'lcu' | 'sgp' - - /** 适用于 SGP 的 tag string, 当设置为 lcu 时, 该选项会被忽略 */ - tag?: string - - /** 目标加载数量, 非实际数量 */ - targetCount: number - - /** 大概不用说明 */ - data: Game[] - } - > = {} - - /** - * 每名玩家的召唤师信息 - * 手动同步 - */ - summoner: Record< - string, - { - source: 'lcu' | 'sgp' - data: SummonerInfo - } - > = {} - - /** - * 每名玩家的段位 - * 手动同步 - */ - rankedStats: Record< - string, - { - source: 'lcu' | 'sgp' - data: RankedStats - } - > = {} - - /** - * 每名玩家的段位 - * 手动同步 - */ - championMastery: Record< - string, - { - source: 'lcu' | 'sgp' - data: Record< - number, - { - championId: number - championLevel: number - championPoints: number - } - > - } - > = {} - - savedInfo: Record = {} - - clear() { - this.playerStats = null - this.premadeTeams = {} - this.matchHistory = {} - this.summoner = {} - this.savedInfo = {} - this.matchHistoryTag = null - } - - constructor(private readonly _lcData: LeagueClientSyncedData) { - makeAutoObservable(this, { - // shallow object - matchHistory: observable.shallow, - summoner: observable.shallow, - rankedStats: observable.shallow, - savedInfo: observable.shallow, - - // structured data - championSelections: computed.struct, - gameInfo: computed.struct, - positionAssignments: computed.struct, - teams: computed.struct, - premadeTeams: observable.struct, - playerStats: observable.struct, - queryStage: computed.struct - }) - } -} +import { EMPTY_PUUID } from '@shared/constants/common' +import { Game } from '@shared/types/lcu/match-history' +import { RankedStats } from '@shared/types/lcu/ranked' +import { SummonerInfo } from '@shared/types/lcu/summoner' +import { + MatchHistoryGamesAnalysisAll, + MatchHistoryGamesAnalysisTeamSide +} from '@shared/utils/analysis' +import { ParsedRole, parseSelectedRole } from '@shared/utils/ranked' +import { computed, makeAutoObservable, observable } from 'mobx' + +import { LeagueClientSyncedData } from '../league-client/data' +import { SavedPlayer } from '../storage/entities/SavedPlayers' + +export class OngoingGameSettings { + enabled: boolean = true + premadeTeamThreshold: number = 3 + matchHistoryLoadCount: number = 20 + concurrency: number = 3 + + /** + * 查询战绩时是否优先使用 SGP API + */ + matchHistoryUseSgpApi: boolean = true + + /** + * 战绩查询时, 优先查询当前模式还是全部模式, 仅当 SGP API 启用时有效 + */ + matchHistoryTagPreference: 'current' | 'all' = 'current' + + setEnabled(value: boolean) { + this.enabled = value + } + + setPreMadeTeamThreshold(value: number) { + this.premadeTeamThreshold = value + } + + setMatchHistoryLoadCount(value: number) { + this.matchHistoryLoadCount = value + } + + setConcurrency(limit: number) { + this.concurrency = limit + } + + setMatchHistoryUseSgpApi(value: boolean) { + this.matchHistoryUseSgpApi = value + } + + constructor() { + makeAutoObservable(this) + } +} + +export class OngoingGameState { + get gameInfo() { + if (!this._lcData.gameflow.session) { + return null + } + + return { + queueId: !this._lcData.gameflow.session.gameData.queue.id, + queueType: !this._lcData.gameflow.session.gameData.queue.type, + gameId: !this._lcData.gameflow.session.gameData.gameId, + gameMode: !this._lcData.gameflow.session.gameData.queue.gameMode + } + } + + /** + * 当前进行的英雄选择 + */ + get championSelections() { + if (this.queryStage.phase === 'champ-select') { + if (!this._lcData.champSelect.session) { + return null + } + + const selections: Record = {} + this._lcData.champSelect.session.myTeam.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + selections[p.puuid] = p.championId || p.championPickIntent + } + }) + + this._lcData.champSelect.session.theirTeam.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + selections[p.puuid] = p.championId || p.championPickIntent + } + }) + + return selections + } else if (this.queryStage.phase === 'in-game') { + if (!this._lcData.gameflow.session) { + return null + } + + const selections: Record = {} + this._lcData.gameflow.session.gameData.playerChampionSelections.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + selections[p.puuid] = p.championId + } + }) + + this._lcData.gameflow.session.gameData.teamOne.forEach((p) => { + if (p.championId) { + selections[p.puuid] = p.championId + } + }) + + this._lcData.gameflow.session.gameData.teamTwo.forEach((p) => { + if (p.championId) { + selections[p.puuid] = p.championId + } + }) + + return selections + } + + return null + } + + get positionAssignments() { + if (this.queryStage.phase === 'champ-select') { + if (!this._lcData.champSelect.session) { + return null + } + + const assignments: Record< + string, + { + position: string + role: ParsedRole | null + } + > = {} + + this._lcData.champSelect.session.myTeam.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + assignments[p.puuid] = { + position: p.assignedPosition.toUpperCase(), + role: null + } + } + }) + + this._lcData.champSelect.session.theirTeam.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + assignments[p.puuid] = { + position: p.assignedPosition.toUpperCase(), + role: null + } + } + }) + + return assignments + } else if (this.queryStage.phase === 'in-game') { + if (!this._lcData.gameflow.session) { + return null + } + + const assignments: Record< + string, + { + position: string + role: ParsedRole | null + } + > = {} + + this._lcData.gameflow.session.gameData.teamOne.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + assignments[p.puuid] = { + position: p.selectedPosition, + role: parseSelectedRole(p.selectedRole) + } + } + }) + + this._lcData.gameflow.session.gameData.teamTwo.forEach((p) => { + if (p.puuid && p.puuid !== EMPTY_PUUID) { + assignments[p.puuid] = { + position: p.selectedPosition, + role: parseSelectedRole(p.selectedRole) + } + } + }) + + return assignments + } + + return null + } + + /** + * 当前对局的队伍分配 + */ + get teams() { + if (this.queryStage.phase === 'champ-select') { + if (!this._lcData.champSelect.session) { + return null + } + + const teams: Record = {} + + this._lcData.champSelect.session.myTeam + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .forEach((p) => { + const key = p.team ? `our-${p.team}` : 'our' + if (!teams[key]) { + teams[key] = [] + } + teams[key].push(p.puuid) + }) + + this._lcData.champSelect.session.theirTeam + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .forEach((p) => { + const key = p.team ? `their-${p.team}` : 'their' + if (!teams[key]) { + teams[key] = [] + } + teams[key].push(p.puuid) + }) + + return teams + } else if (this.queryStage.phase === 'in-game') { + if (!this._lcData.gameflow.session) { + return null + } + + const teams: Record = { + 100: [], + 200: [] + } + + this._lcData.gameflow.session.gameData.teamOne + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .forEach((p) => { + teams['100'].push(p.puuid) + }) + + this._lcData.gameflow.session.gameData.teamTwo + .filter((p) => p.puuid && p.puuid !== EMPTY_PUUID) + .forEach((p) => { + teams['200'].push(p.puuid) + }) + + return teams + } + + return null + } + + /** + * 当前游戏的进行状态简化,用于区分 League Akari 的几个主要阶段 + * + * unavailable - 不需要介入的状态 + * + * champ-select - 正在英雄选择阶段 + * + * in-game - 在游戏中或游戏结算中 + */ + get queryStage() { + if ( + this._lcData.gameflow.session && + this._lcData.gameflow.session.phase === 'ChampSelect' && + this._lcData.champSelect.session + ) { + return { + phase: 'champ-select', + gameInfo: { + queueId: this._lcData.gameflow.session.gameData.queue.id, + queueType: this._lcData.gameflow.session.gameData.queue.type, + gameId: this._lcData.gameflow.session.gameData.gameId, + gameMode: this._lcData.gameflow.session.gameData.queue.gameMode + } + } + } + + if ( + this._lcData.gameflow.session && + (this._lcData.gameflow.session.phase === 'GameStart' || + this._lcData.gameflow.session.phase === 'InProgress' || + this._lcData.gameflow.session.phase === 'WaitingForStats' || + this._lcData.gameflow.session.phase === 'PreEndOfGame' || + this._lcData.gameflow.session.phase === 'EndOfGame' || + this._lcData.gameflow.session.phase === 'Reconnect') + ) { + return { + phase: 'in-game', + gameInfo: { + queueId: this._lcData.gameflow.session.gameData.queue.id, + queueType: this._lcData.gameflow.session.gameData.queue.type, + gameId: this._lcData.gameflow.session.gameData.gameId, + gameMode: this._lcData.gameflow.session.gameData.queue.gameMode + } + } + } + + return { + phase: 'unavailable', + gameInfo: null + } + } + + /** + * 在游戏结算时,League Akari 会额外进行一些操作 + */ + get isInEog() { + return ( + this._lcData.gameflow.phase === 'WaitingForStats' || + this._lcData.gameflow.phase === 'PreEndOfGame' || + this._lcData.gameflow.phase === 'EndOfGame' + ) + } + + /** + * 计算出来的预设队伍 + */ + premadeTeams: Record | null = null + + setPremadeTeams(value: Record | null) { + this.premadeTeams = value + } + + /** + * 根据目前所有战绩计算出来的玩家分析数据 + */ + playerStats: { + players: Record + teams: Record + } | null = null + + setPlayerStats( + value: { + players: Record + teams: Record + } | null + ) { + this.playerStats = value + } + + /** + * 战绩列表的 tag, 用于 SGP API + */ + matchHistoryTag: string + + setMatchHistoryTag(value: string) { + this.matchHistoryTag = value + } + + /** + * 每名玩家的战绩 + * 手动同步 + */ + matchHistory: Record< + string, + { + /** 战绩源, lc 为通过 LC 代理查询服务器, SGP 为直接查询服务器. 前者高可用 */ + source: 'lcu' | 'sgp' + + /** 适用于 SGP 的 tag string, 当设置为 lcu 时, 该选项会被忽略 */ + tag?: string + + /** 目标加载数量, 非实际数量 */ + targetCount: number + + /** 大概不用说明 */ + data: Game[] + } + > = {} + + /** + * 每名玩家的召唤师信息 + * 手动同步 + */ + summoner: Record< + string, + { + source: 'lcu' | 'sgp' + data: SummonerInfo + } + > = {} + + /** + * 每名玩家的段位 + * 手动同步 + */ + rankedStats: Record< + string, + { + source: 'lcu' | 'sgp' + data: RankedStats + } + > = {} + + /** + * 每名玩家的段位 + * 手动同步 + */ + championMastery: Record< + string, + { + source: 'lcu' | 'sgp' + data: Record< + number, + { + championId: number + championLevel: number + championPoints: number + } + > + } + > = {} + + savedInfo: Record = {} + + clear() { + this.playerStats = null + this.premadeTeams = {} + this.matchHistory = {} + this.summoner = {} + this.savedInfo = {} + this.matchHistoryTag = 'all' + } + + constructor(private readonly _lcData: LeagueClientSyncedData) { + makeAutoObservable(this, { + // shallow object + matchHistory: observable.shallow, + summoner: observable.shallow, + rankedStats: observable.shallow, + savedInfo: observable.shallow, + + // structured data + championSelections: computed.struct, + gameInfo: computed.struct, + positionAssignments: computed.struct, + teams: computed.struct, + premadeTeams: observable.struct, + playerStats: observable.struct, + queryStage: computed.struct + }) + } +} diff --git a/src/main/shards/respawn-timer/index.ts b/src/main/shards/respawn-timer/index.ts index 7b0823a0..222fa41a 100644 --- a/src/main/shards/respawn-timer/index.ts +++ b/src/main/shards/respawn-timer/index.ts @@ -6,7 +6,7 @@ import { LeagueClientMain } from '../league-client' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' import { MobxUtilsMain } from '../mobx-utils' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { RespawnTimerSettings, RespawnTimerState } from './state' export class RespawnTimerMain implements IAkariShardInitDispose { @@ -30,7 +30,7 @@ export class RespawnTimerMain implements IAkariShardInitDispose { private readonly _leagueClient: LeagueClientMain private readonly _mobx: MobxUtilsMain private readonly _settingFactory: SettingFactoryMain - private readonly _setting: MobxSettingService + private readonly _setting: SetterSettingService private _timer: NodeJS.Timeout private _isStarted = false diff --git a/src/main/shards/saved-player/index.ts b/src/main/shards/saved-player/index.ts index d150fed8..e93e5d8b 100644 --- a/src/main/shards/saved-player/index.ts +++ b/src/main/shards/saved-player/index.ts @@ -1,242 +1,242 @@ -import { IAkariShardInitDispose } from '@shared/akari-shard/interface' -import { Equal } from 'typeorm' - -import { AkariIpcMain } from '../ipc' -import { StorageMain } from '../storage' -import { EncounteredGame } from '../storage/entities/EncounteredGame' -import { SavedPlayer } from '../storage/entities/SavedPlayers' -import { - EncounteredGameQueryDto, - EncounteredGameSaveDto, - SavedPlayerQueryDto, - SavedPlayerSaveDto, - UpdateTagDto, - WithEncounteredGamesQueryDto -} from './types' - -/** - * 记录的玩家信息查询 - */ -export class SavedPlayerMain implements IAkariShardInitDispose { - static id = 'saved-player-main' - static dependencies = ['akari-ipc-main', 'storage-main'] - - static ENCOUNTERED_GAME_QUERY_DEFAULT_PAGE_SIZE = 40 - - private readonly _ipc: AkariIpcMain - private readonly _storage: StorageMain - - constructor(deps: any) { - this._ipc = deps['akari-ipc-main'] - this._storage = deps['storage-main'] - } - - async onInit() { - this._handleIpcCall() - } - - /** - * - * @param query - * @returns - */ - async queryEncounteredGames(query: EncounteredGameQueryDto) { - const pageSize = query.pageSize || SavedPlayerMain.ENCOUNTERED_GAME_QUERY_DEFAULT_PAGE_SIZE - const page = query.page || 1 - - const take = pageSize - const skip = (page - 1) * pageSize - - const encounteredGames = await this._storage.dataSource.manager.find(EncounteredGame, { - where: { - selfPuuid: Equal(query.selfPuuid), - puuid: Equal(query.puuid), - region: Equal(query.region), - rsoPlatformId: Equal(query.rsoPlatformId), - queueType: query.queueType ? Equal(query.queueType) : undefined - }, - order: { updateAt: query.timeOrder || 'desc' }, - take, - skip - }) - - return encounteredGames - } - - async saveEncounteredGame(dto: EncounteredGameSaveDto) { - const g = new EncounteredGame() - g.gameId = dto.gameId - g.region = dto.region - g.rsoPlatformId = dto.rsoPlatformId - g.selfPuuid = dto.selfPuuid - g.puuid = dto.puuid - g.queueType = dto.queueType || '' - g.updateAt = new Date() - return this._storage.dataSource.manager.save(g) - } - - async querySavedPlayer(query: SavedPlayerQueryDto) { - if (!query.puuid || !query.selfPuuid || !query.region) { - throw new Error('puuid, selfPuuid or region cannot be empty') - } - - return this._storage.dataSource.manager.findOneBy(SavedPlayer, { - puuid: Equal(query.puuid), - selfPuuid: Equal(query.selfPuuid), - region: Equal(query.region), - rsoPlatformId: Equal(query.rsoPlatformId) - }) - } - - async querySavedPlayerWithGames(query: SavedPlayerQueryDto & WithEncounteredGamesQueryDto) { - if (!query.puuid || !query.selfPuuid || !query.region) { - throw new Error('puuid, selfPuuid or region cannot be empty') - } - - const savedPlayer = await this._storage.dataSource.manager.findOneBy(SavedPlayer, { - puuid: Equal(query.puuid), - selfPuuid: Equal(query.selfPuuid), - region: Equal(query.region), - rsoPlatformId: Equal(query.rsoPlatformId) - }) - - if (savedPlayer) { - const encounteredGames = await this.queryEncounteredGames({ - puuid: query.puuid, - selfPuuid: query.selfPuuid, - region: query.region, - rsoPlatformId: query.rsoPlatformId, - queueType: query.queueType - }) - - return { ...savedPlayer, encounteredGames } - } - - return null - } - - async deleteSavedPlayer(query: SavedPlayerQueryDto) { - if (!query.puuid || !query.selfPuuid || !query.region) { - throw new Error('puuid, selfPuuid or region cannot be empty') - } - - return this._storage.dataSource.manager.delete(SavedPlayer, query) - } - - async saveSavedPlayer(player: SavedPlayerSaveDto) { - if (!player.puuid || !player.selfPuuid || !player.region) { - throw new Error('puuid, selfPuuid or region cannot be empty') - } - - const savedPlayer = new SavedPlayer() - const date = new Date() - savedPlayer.puuid = player.puuid - - if (player.tag !== undefined) { - savedPlayer.tag = player.tag - } - - savedPlayer.selfPuuid = player.selfPuuid - savedPlayer.rsoPlatformId = player.rsoPlatformId - savedPlayer.region = player.region - savedPlayer.updateAt = date - - if (player.encountered) { - savedPlayer.lastMetAt = date - } - - return this._storage.dataSource.manager.save(savedPlayer) - } - - /** - * 查询玩家的所有标记, 包括非此账号标记的 - * 不可跨区服查询 - * @param query - */ - async getPlayerTags(query: SavedPlayerQueryDto) { - if (!query.puuid || !query.selfPuuid || !query.region) { - throw new Error('puuid, selfPuuid or region cannot be empty') - } - - const players = await this._storage.dataSource.manager.findBy(SavedPlayer, { - puuid: Equal(query.puuid), - region: Equal(query.region), - rsoPlatformId: Equal(query.rsoPlatformId) - }) - - return players - .filter((p) => p.tag) - .map((p) => { - return { - ...p, - markedBySelf: p.selfPuuid === query.selfPuuid - } - }) - } - - /** - * 更改某个玩家的 Tag, 提供标记者和被标记者的 puuid - * 提供为空则为删除标记 - */ - async updatePlayerTag(dto: UpdateTagDto) { - // 这里的 selfPuuid 是标记者的 puuid - if (!dto.puuid || !dto.selfPuuid) { - throw new Error('puuid, selfPuuid cannot be empty') - } - - const player = await this._storage.dataSource.manager.findOneBy(SavedPlayer, { - puuid: Equal(dto.puuid), - selfPuuid: Equal(dto.selfPuuid) - }) - - if (!player) { - throw new Error('player not found') - } - - player.tag = dto.tag - player.updateAt = new Date() - return this._storage.dataSource.manager.save(player) - } - - private _handleIpcCall() { - this._ipc.onCall(SavedPlayerMain.id, 'querySavedPlayer', (query: SavedPlayerQueryDto) => { - return this.querySavedPlayer(query) - }) - - this._ipc.onCall( - SavedPlayerMain.id, - 'querySavedPlayerWithGames', - (query: SavedPlayerQueryDto & WithEncounteredGamesQueryDto) => { - return this.querySavedPlayerWithGames(query) - } - ) - - this._ipc.onCall(SavedPlayerMain.id, 'saveSavedPlayer', (player: SavedPlayerSaveDto) => { - return this.saveSavedPlayer(player) - }) - - this._ipc.onCall(SavedPlayerMain.id, 'deleteSavedPlayer', (query: SavedPlayerQueryDto) => { - return this.deleteSavedPlayer(query) - }) - - this._ipc.onCall( - SavedPlayerMain.id, - 'queryEncounteredGames', - (query: EncounteredGameQueryDto) => { - return this.queryEncounteredGames(query) - } - ) - - this._ipc.onCall(SavedPlayerMain.id, 'saveEncounteredGame', (dto: EncounteredGameSaveDto) => { - return this.saveEncounteredGame(dto) - }) - - this._ipc.onCall(SavedPlayerMain.id, 'getPlayerTags', (query: SavedPlayerQueryDto) => { - return this.getPlayerTags(query) - }) - - this._ipc.onCall(SavedPlayerMain.id, 'updatePlayerTag', (dto: UpdateTagDto) => { - return this.updatePlayerTag(dto) - }) - } -} +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { Equal } from 'typeorm' + +import { AkariIpcMain } from '../ipc' +import { StorageMain } from '../storage' +import { EncounteredGame } from '../storage/entities/EncounteredGame' +import { SavedPlayer } from '../storage/entities/SavedPlayers' +import { + EncounteredGameQueryDto, + EncounteredGameSaveDto, + SavedPlayerQueryDto, + SavedPlayerSaveDto, + UpdateTagDto, + WithEncounteredGamesQueryDto +} from './types' + +/** + * 记录的玩家信息查询 + */ +export class SavedPlayerMain implements IAkariShardInitDispose { + static id = 'saved-player-main' + static dependencies = ['akari-ipc-main', 'storage-main'] + + static ENCOUNTERED_GAME_QUERY_DEFAULT_PAGE_SIZE = 40 + + private readonly _ipc: AkariIpcMain + private readonly _storage: StorageMain + + constructor(deps: any) { + this._ipc = deps['akari-ipc-main'] + this._storage = deps['storage-main'] + } + + async onInit() { + this._handleIpcCall() + } + + /** + * + * @param query + * @returns + */ + async queryEncounteredGames(query: EncounteredGameQueryDto) { + const pageSize = query.pageSize || SavedPlayerMain.ENCOUNTERED_GAME_QUERY_DEFAULT_PAGE_SIZE + const page = query.page || 1 + + const take = pageSize + const skip = (page - 1) * pageSize + + const encounteredGames = await this._storage.dataSource.manager.find(EncounteredGame, { + where: { + selfPuuid: Equal(query.selfPuuid), + puuid: Equal(query.puuid), + region: Equal(query.region), + rsoPlatformId: Equal(query.rsoPlatformId), + queueType: query.queueType ? Equal(query.queueType) : undefined + }, + order: { updateAt: query.timeOrder || 'desc' }, + take, + skip + }) + + return encounteredGames + } + + async saveEncounteredGame(dto: EncounteredGameSaveDto) { + const g = new EncounteredGame() + g.gameId = dto.gameId + g.region = dto.region + g.rsoPlatformId = dto.rsoPlatformId + g.selfPuuid = dto.selfPuuid + g.puuid = dto.puuid + g.queueType = dto.queueType || '' + g.updateAt = new Date() + return this._storage.dataSource.manager.save(g) + } + + async querySavedPlayer(query: SavedPlayerQueryDto) { + if (!query.puuid || !query.selfPuuid || !query.region) { + throw new Error('puuid, selfPuuid or region cannot be empty') + } + + return this._storage.dataSource.manager.findOneBy(SavedPlayer, { + puuid: Equal(query.puuid), + selfPuuid: Equal(query.selfPuuid), + region: Equal(query.region), + rsoPlatformId: Equal(query.rsoPlatformId) + }) + } + + async querySavedPlayerWithGames(query: SavedPlayerQueryDto & WithEncounteredGamesQueryDto) { + if (!query.puuid || !query.selfPuuid || !query.region) { + throw new Error('puuid, selfPuuid or region cannot be empty') + } + + const savedPlayer = await this._storage.dataSource.manager.findOneBy(SavedPlayer, { + puuid: Equal(query.puuid), + selfPuuid: Equal(query.selfPuuid), + region: Equal(query.region), + rsoPlatformId: Equal(query.rsoPlatformId) + }) + + if (savedPlayer) { + const encounteredGames = await this.queryEncounteredGames({ + puuid: query.puuid, + selfPuuid: query.selfPuuid, + region: query.region, + rsoPlatformId: query.rsoPlatformId, + queueType: query.queueType + }) + + return { ...savedPlayer, encounteredGames } + } + + return null + } + + async deleteSavedPlayer(query: SavedPlayerQueryDto) { + if (!query.puuid || !query.selfPuuid || !query.region) { + throw new Error('puuid, selfPuuid or region cannot be empty') + } + + return this._storage.dataSource.manager.delete(SavedPlayer, query) + } + + async saveSavedPlayer(player: SavedPlayerSaveDto) { + if (!player.puuid || !player.selfPuuid || !player.region) { + throw new Error('puuid, selfPuuid or region cannot be empty') + } + + const savedPlayer = new SavedPlayer() + const date = new Date() + savedPlayer.puuid = player.puuid + + if (player.tag !== undefined) { + savedPlayer.tag = player.tag + } + + savedPlayer.selfPuuid = player.selfPuuid + savedPlayer.rsoPlatformId = player.rsoPlatformId + savedPlayer.region = player.region + savedPlayer.updateAt = date + + if (player.encountered) { + savedPlayer.lastMetAt = date + } + + return this._storage.dataSource.manager.save(savedPlayer) + } + + /** + * 查询玩家的所有标记, 包括非此账号标记的 + * 不可跨区服查询 + * @param query + */ + async getPlayerTags(query: SavedPlayerQueryDto) { + if (!query.puuid || !query.selfPuuid || !query.region) { + throw new Error('puuid, selfPuuid or region cannot be empty') + } + + const players = await this._storage.dataSource.manager.findBy(SavedPlayer, { + puuid: Equal(query.puuid), + region: Equal(query.region), + rsoPlatformId: Equal(query.rsoPlatformId) + }) + + return players + .filter((p) => p.tag) + .map((p) => { + return { + ...p, + markedBySelf: p.selfPuuid === query.selfPuuid + } + }) + } + + /** + * 更改某个玩家的 Tag, 提供标记者和被标记者的 puuid + * 提供为空则为删除标记 + */ + async updatePlayerTag(dto: UpdateTagDto) { + // 这里的 selfPuuid 是标记者的 puuid + if (!dto.puuid || !dto.selfPuuid) { + throw new Error('puuid, selfPuuid cannot be empty') + } + + const player = await this._storage.dataSource.manager.findOneBy(SavedPlayer, { + puuid: Equal(dto.puuid), + selfPuuid: Equal(dto.selfPuuid) + }) + + if (!player) { + throw new Error('player not found') + } + + player.tag = dto.tag + player.updateAt = new Date() + return this._storage.dataSource.manager.save(player) + } + + private _handleIpcCall() { + this._ipc.onCall(SavedPlayerMain.id, 'querySavedPlayer', (query: SavedPlayerQueryDto) => { + return this.querySavedPlayer(query) + }) + + this._ipc.onCall( + SavedPlayerMain.id, + 'querySavedPlayerWithGames', + (query: SavedPlayerQueryDto & WithEncounteredGamesQueryDto) => { + return this.querySavedPlayerWithGames(query) + } + ) + + this._ipc.onCall(SavedPlayerMain.id, 'saveSavedPlayer', (player: SavedPlayerSaveDto) => { + return this.saveSavedPlayer(player) + }) + + this._ipc.onCall(SavedPlayerMain.id, 'deleteSavedPlayer', (query: SavedPlayerQueryDto) => { + return this.deleteSavedPlayer(query) + }) + + this._ipc.onCall( + SavedPlayerMain.id, + 'queryEncounteredGames', + (query: EncounteredGameQueryDto) => { + return this.queryEncounteredGames(query) + } + ) + + this._ipc.onCall(SavedPlayerMain.id, 'saveEncounteredGame', (dto: EncounteredGameSaveDto) => { + return this.saveEncounteredGame(dto) + }) + + this._ipc.onCall(SavedPlayerMain.id, 'getPlayerTags', (query: SavedPlayerQueryDto) => { + return this.getPlayerTags(query) + }) + + this._ipc.onCall(SavedPlayerMain.id, 'updatePlayerTag', (dto: UpdateTagDto) => { + return this.updatePlayerTag(dto) + }) + } +} diff --git a/src/main/shards/self-update/index.ts b/src/main/shards/self-update/index.ts index 04ea25de..59b3a906 100644 --- a/src/main/shards/self-update/index.ts +++ b/src/main/shards/self-update/index.ts @@ -6,7 +6,7 @@ import { } from '@shared/constants/common' import { FileInfo, GithubApiLatestRelease } from '@shared/types/github' import { formatError } from '@shared/utils/errors' -import axios, { AxiosResponse } from 'axios' +import axios, { AxiosResponse, isAxiosError } from 'axios' import { app, shell } from 'electron' import { comparer } from 'mobx' import { extractFull } from 'node-7z' @@ -22,7 +22,7 @@ import { AkariIpcMain } from '../ipc' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' import { MobxUtilsMain } from '../mobx-utils' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { SelfUpdateSettings, SelfUpdateState } from './state' /** @@ -59,7 +59,7 @@ export class SelfUpdateMain implements IAkariShardInitDispose { private readonly _loggerFactory: LoggerFactoryMain private readonly _settingFactory: SettingFactoryMain private readonly _log: AkariLogger - private readonly _setting: MobxSettingService + private readonly _setting: SetterSettingService private _http = axios.create({ headers: { 'User-Agent': SelfUpdateMain.USER_AGENT } diff --git a/src/main/shards/setting-factory/index.ts b/src/main/shards/setting-factory/index.ts index f1819549..9e24de3f 100644 --- a/src/main/shards/setting-factory/index.ts +++ b/src/main/shards/setting-factory/index.ts @@ -1,10 +1,13 @@ import { IAkariShardInitDispose } from '@shared/akari-shard/interface' import { Paths } from '@shared/utils/types' +import { app } from 'electron' +import fs from 'node:fs' +import path from 'node:path' import { AkariIpcMain } from '../ipc' -import { MobxUtilsMain } from '../mobx-utils' import { StorageMain } from '../storage' -import { MobxSettingService } from './mobx-setting-service' +import { Setting } from '../storage/entities/Settings' +import { SetterSettingService } from './setter-setting-service' export type OnChangeCallback = ( newValue: T, @@ -33,18 +36,16 @@ export interface SettingSchema { */ export class SettingFactoryMain implements IAkariShardInitDispose { static id = 'setting-factory-main' - static dependencies = ['storage-main', 'akari-ipc-main', 'mobx-utils-main'] + static dependencies = ['storage-main', 'akari-ipc-main'] private readonly _ipc: AkariIpcMain private readonly _storage: StorageMain - private readonly _mobx: MobxUtilsMain - private readonly _settings: Map = new Map() + private readonly _settings: Map = new Map() constructor(deps: any) { this._ipc = deps['akari-ipc-main'] this._storage = deps['storage-main'] - this._mobx = deps['mobx-utils-main'] } create( @@ -56,7 +57,7 @@ export class SettingFactoryMain implements IAkariShardInitDispose { throw new Error(`namespace ${namespace} already created`) } - const service = new MobxSettingService(this, SettingFactoryMain, namespace, schema, obj, { + const service = new SetterSettingService(this, SettingFactoryMain, namespace, schema, obj, { storage: this._storage }) @@ -64,6 +65,124 @@ export class SettingFactoryMain implements IAkariShardInitDispose { return service } + /** + * 拥有指定设置项吗? + */ + _hasKeyInStorage(namespace: string, key: string) { + const key2 = `${namespace}/${key}` + return this._storage.dataSource.manager.existsBy(Setting, { key: key2 }) + } + + /** + * 获取指定设置项的值 + * @param key + * @param defaultValue + * @returns + */ + async _getFromStorage(namespace: string, key: string): Promise + async _getFromStorage(namespace: string, key: string, defaultValue: T): Promise + async _getFromStorage(namespace: string, key: string, defaultValue?: any) { + const key2 = `${namespace}/${key}` + const v = await this._storage.dataSource.manager.findOneBy(Setting, { key: key2 }) + if (!v) { + if (defaultValue !== undefined) { + return defaultValue + } + throw new Error(`cannot find setting of key ${key}`) + } + + return v.value + } + + /** + * 设置指定设置项的值 + * @param key + * @param value + */ + async _saveToStorage(namespace: string, key: string, value: any) { + const key2 = `${namespace}/${key}` + + if (!key2 || value === undefined) { + throw new Error('key or value cannot be empty') + } + + await this._storage.dataSource.manager.save(Setting.create(key2, value)) + } + + /** + * 删除设置项, 但通常没有用过 + * @param key + */ + async _removeFromStorage(namespace: string, key: string) { + const key2 = `${namespace}/${key}` + if (!key2) { + throw new Error('key is required') + } + + await this._storage.dataSource.manager.delete(Setting, { key: key2 }) + } + + /** + * 从应用目录读取某个 JSON 文件,提供一个文件名 + */ + async readFromJsonConfigFile(namespace: string, filename: string): Promise { + if (!namespace) { + throw new Error('domain is required') + } + + const jsonPath = path.join( + app.getPath('userData'), + SetterSettingService.CONFIG_DIR_NAME, + namespace, + filename + ) + + if (!fs.existsSync(jsonPath)) { + throw new Error(`config file ${filename} does not exist`) + } + + // 读取 UTF-8 格式的 JSON 文件 + const content = await fs.promises.readFile(jsonPath, 'utf-8') + return JSON.parse(content) + } + + /** + * 将某个东西写入到 JSON 文件中,提供一个文件名 + */ + async writeToJsonConfigFile(namespace: string, filename: string, data: any) { + if (!namespace) { + throw new Error('domain is required') + } + + const jsonPath = path.join( + app.getPath('userData'), + SetterSettingService.CONFIG_DIR_NAME, + namespace, + filename + ) + + await fs.promises.mkdir(path.dirname(jsonPath), { recursive: true }) + await fs.promises.writeFile(jsonPath, JSON.stringify(data, null, 2), 'utf-8') + } + + /** + * 检查某个 json 配置文件是否存在 + */ + async jsonConfigFileExists(namespace: string, filename: string) { + if (!namespace) { + throw new Error('domain is required') + } + + const jsonPath = path.join( + app.getPath('userData'), + SetterSettingService.CONFIG_DIR_NAME, + namespace, + filename + ) + + return fs.existsSync(jsonPath) + } + async onInit() { /** * 渲染进程请求获取设置项 @@ -73,13 +192,23 @@ export class SettingFactoryMain implements IAkariShardInitDispose { 'set', async (namespace: string, key: string, newValue: any) => { const service = this._settings.get(namespace) - if (!service) { - throw new Error(`namespace ${namespace} not found`) - } - await service.set(key, newValue) + if (service) { + await service.set(key, newValue) + } else { + this._saveToStorage(namespace, key, newValue) + } } ) + + this._ipc.onCall(SettingFactoryMain.id, 'get', async (namespace: string, key: string) => { + const service = this._settings.get(namespace) + if (service) { + return service.get(key) + } + + return this._getFromStorage(namespace, key) + }) } async onDispose() { diff --git a/src/main/shards/setting-factory/mobx-setting-service.ts b/src/main/shards/setting-factory/mobx-setting-service.ts deleted file mode 100644 index 6fc05fd1..00000000 --- a/src/main/shards/setting-factory/mobx-setting-service.ts +++ /dev/null @@ -1,228 +0,0 @@ -import { app } from 'electron' -import _ from 'lodash' -import { runInAction } from 'mobx' -import { existsSync, promises } from 'node:fs' -import { dirname, join } from 'path' - -import { OnChangeCallback, SettingFactoryMain } from '.' -import { StorageMain } from '../storage' -import { Setting } from '../storage/entities/Settings' - -/** - * 结合 mobx 状态同步的设置项服务 - * 耦合了状态和设置项读写的功能, 顺便还能读写 JSON 文件 - */ -export class MobxSettingService { - static CONFIG_DIR_NAME = 'AkariConfig' - - private readonly _storage: StorageMain - - constructor( - private readonly _storageFactory: SettingFactoryMain, - private readonly _C: typeof SettingFactoryMain, - private readonly _namespace: string, - // for accessibility - public readonly _schema: Record, - public readonly _obj: object, - _deps: any - ) { - this._storage = _deps.storage - } - - /** - * 拥有指定设置项吗? - */ - _hasKeyInStorage(key: string) { - const key2 = `${this._namespace}/${key}` - return this._storage.dataSource.manager.existsBy(Setting, { key: key2 }) - } - - /** - * 获取指定设置项的值 - * @param key - * @param defaultValue - * @returns - */ - async _getFromStorage(key: string): Promise - async _getFromStorage(key: string, defaultValue: T): Promise - async _getFromStorage(key: string, defaultValue?: any) { - const key2 = `${this._namespace}/${key}` - const v = await this._storage.dataSource.manager.findOneBy(Setting, { key: key2 }) - if (!v) { - if (defaultValue !== undefined) { - return defaultValue - } - throw new Error(`cannot find setting of key ${key}`) - } - - return v.value - } - - /** - * 设置指定设置项的值 - * @param key - * @param value - */ - async _saveToStorage(key: string, value: any) { - const key2 = `${this._namespace}/${key}` - - if (!key2 || value === undefined) { - throw new Error('key or value cannot be empty') - } - - await this._storage.dataSource.manager.save(Setting.create(key2, value)) - } - - /** - * 删除设置项, 但通常没有用过 - * @param key - */ - async _removeFromStorage(key: string) { - const key2 = `${this._namespace}/${key}` - if (!key2) { - throw new Error('key is required') - } - - await this._storage.dataSource.manager.delete(Setting, { key: key2 }) - } - - /** - * 获取所有设置项 - */ - async _getAllFromStorage() { - const items: Record = {} - const jobs = Object.entries(this._schema).map(async ([key, schema]) => { - const value = await this._getFromStorage(key as any, schema.default) - items[key] = value - }) - await Promise.all(jobs) - return items - } - - /** - * 获取设置项, 并存储到这个 mobx 对象中 - * @param obj Mobx Observable - * @returns 所有设置项 - */ - async applyToState() { - const items = await this._getAllFromStorage() - Object.entries(items).forEach(([key, value]) => { - _.set(this._obj, key, value) - }) - return items - } - - /** - * 从应用目录读取某个 JSON 文件,提供一个文件名 - */ - async readFromJsonConfigFile(filename: string): Promise { - if (!this._namespace) { - throw new Error('domain is required') - } - - const jsonPath = join( - app.getPath('userData'), - MobxSettingService.CONFIG_DIR_NAME, - this._namespace, - filename - ) - - if (!existsSync(jsonPath)) { - throw new Error(`config file ${filename} does not exist`) - } - - // 读取 UTF-8 格式的 JSON 文件 - const content = await promises.readFile(jsonPath, 'utf-8') - return JSON.parse(content) - } - - /** - * 将某个东西写入到 JSON 文件中,提供一个文件名 - */ - async writeToJsonConfigFile(filename: string, data: any) { - if (!this._namespace) { - throw new Error('domain is required') - } - - const jsonPath = join( - app.getPath('userData'), - MobxSettingService.CONFIG_DIR_NAME, - this._namespace, - filename - ) - - await promises.mkdir(dirname(jsonPath), { recursive: true }) - await promises.writeFile(jsonPath, JSON.stringify(data, null, 2), 'utf-8') - } - - /** - * 检查某个 json 配置文件是否存在 - */ - async jsonConfigFileExists(filename: string) { - if (!this._namespace) { - throw new Error('domain is required') - } - - const jsonPath = join( - app.getPath('userData'), - MobxSettingService.CONFIG_DIR_NAME, - this._namespace, - filename - ) - - return existsSync(jsonPath) - } - - /** - * 当某个设置项发生变化时, 拦截此行为 - * @param newValue - * @param extra - */ - onChange(key: string, fn: OnChangeCallback) { - const _fn = this._schema[key].onChange - // 重复设置, 会报错 - if (_fn) { - throw new Error(`onChange for key ${key} already set`) - } - - this._schema[key].onChange = fn - } - - /** - * 设置设置项的新值, 并更新状态 - * @param key - * @param newValue - */ - async set(key: string, newValue: any) { - const fn = this._schema[key]?.onChange - - if (fn) { - const oldValue = this._obj[key as any] - await fn(newValue, { - oldValue, - key, - setter: async (v?: any) => { - if (v === undefined) { - runInAction(() => _.set(this._obj, key, newValue)) - await this._saveToStorage(key as any, v) - } else { - runInAction(() => _.set(this._obj, key, v)) - await this._saveToStorage(key as any, newValue) - } - } - }) - } else { - runInAction(() => _.set(this._obj, key, newValue)) - await this._saveToStorage(key, newValue) - } - } - - /** - * placeholder - * @param key - */ - remove(key: string): never { - console.error(`Deemo will finally find his ${key}, not Celia but Alice`) - throw new Error('not implemented') - } -} diff --git a/src/main/shards/setting-factory/setter-setting-service.ts b/src/main/shards/setting-factory/setter-setting-service.ts new file mode 100644 index 00000000..e69b52e1 --- /dev/null +++ b/src/main/shards/setting-factory/setter-setting-service.ts @@ -0,0 +1,125 @@ +import _ from 'lodash' +import { runInAction } from 'mobx' + +import { OnChangeCallback, SettingFactoryMain } from '.' + +/** + * 在更新设置时同时更改状态, 状态同步的设置项服务 + * 耦合了状态和设置项读写的功能, 顺便还能读写 JSON 文件 + */ +export class SetterSettingService { + static CONFIG_DIR_NAME = 'AkariConfig' + + constructor( + private readonly _ins: SettingFactoryMain, + private readonly _C: typeof SettingFactoryMain, + private readonly _namespace: string, + // for accessibility + public readonly _schema: Record, + public readonly _obj: object, + _deps: any + ) {} + + _getFromStorage(key: string, defaultValue: any) { + return this._ins._getFromStorage(this._namespace, key, defaultValue) + } + + _saveToStorage(key: string, value: any) { + return this._ins._saveToStorage(this._namespace, key, value) + } + + /** + * 获取所有设置项 + */ + async _getAllFromStorage() { + const items: Record = {} + const jobs = Object.entries(this._schema).map(async ([key, schema]) => { + const value = await this._ins._getFromStorage(this._namespace, key as any, schema.default) + items[key] = value + }) + await Promise.all(jobs) + return items + } + + /** + * 获取设置项, 并存储到这个 mobx 对象中 + * @param obj Mobx Observable + * @returns 所有设置项 + */ + async applyToState() { + const items = await this._getAllFromStorage() + Object.entries(items).forEach(([key, value]) => { + _.set(this._obj, key, value) + }) + return items + } + + async readFromJsonConfigFile(filename: string): Promise { + return this._ins.readFromJsonConfigFile(this._namespace, filename) + } + + async writeToJsonConfigFile(filename: string, data: any) { + return this._ins.writeToJsonConfigFile(this._namespace, filename, data) + } + + async jsonConfigFileExists(filename: string) { + return this._ins.jsonConfigFileExists(this._namespace, filename) + } + + /** + * 当某个设置项发生变化时, 拦截此行为 + * @param newValue + * @param extra + */ + onChange(key: string, fn: OnChangeCallback) { + const _fn = this._schema[key].onChange + // 重复设置, 会报错 + if (_fn) { + throw new Error(`onChange for key ${key} already set`) + } + + this._schema[key].onChange = fn + } + + /** + * 设置设置项的新值, 并更新状态 + * @param key + * @param newValue + */ + async set(key: string, newValue: any) { + const fn = this._schema[key]?.onChange + + if (fn) { + const oldValue = this._obj[key as any] + await fn(newValue, { + oldValue, + key, + setter: async (v?: any) => { + if (v === undefined) { + runInAction(() => _.set(this._obj, key, newValue)) + await this._ins._saveToStorage(this._namespace, key as any, v) + } else { + runInAction(() => _.set(this._obj, key, v)) + await this._ins._saveToStorage(this._namespace, key as any, newValue) + } + } + }) + } else { + runInAction(() => _.set(this._obj, key, newValue)) + await this._ins._saveToStorage(this._namespace, key, newValue) + } + } + + async get(key: string) { + return _.get(this._obj, key) + } + + /** + * placeholder + * @param key + */ + remove(key: string): never { + console.error(`Deemo will finally find his ${key}, not Celia but Alice`) + throw new Error('not implemented') + } +} diff --git a/src/main/shards/sgp/index.ts b/src/main/shards/sgp/index.ts index 14236aa9..b979497a 100644 --- a/src/main/shards/sgp/index.ts +++ b/src/main/shards/sgp/index.ts @@ -13,7 +13,7 @@ import { LeagueClientMain } from '../league-client' import { AkariLogger, LoggerFactoryMain } from '../logger-factory' import { MobxUtilsMain } from '../mobx-utils' import { SettingFactoryMain } from '../setting-factory' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { SgpState } from './state' /** @@ -90,7 +90,7 @@ export class SgpMain implements IAkariShardInitDispose { private _loggerFactory: LoggerFactoryMain private _settingFactory: SettingFactoryMain private _log: AkariLogger - private _setting: MobxSettingService + private _setting: SetterSettingService private _mobx: MobxUtilsMain private _lc: LeagueClientMain private _ipc: AkariIpcMain diff --git a/src/main/shards/window-manager/index.ts b/src/main/shards/window-manager/index.ts index f054cdb3..3f25e54b 100644 --- a/src/main/shards/window-manager/index.ts +++ b/src/main/shards/window-manager/index.ts @@ -10,7 +10,7 @@ import { AkariIpcMain } from '../ipc' import { LeagueClientMain } from '../league-client' import { AkariLogger } from '../logger-factory' import { MobxUtilsMain } from '../mobx-utils' -import { MobxSettingService } from '../setting-factory/mobx-setting-service' +import { SetterSettingService } from '../setting-factory/setter-setting-service' import { WindowManagerSettings, WindowManagerState } from './state' export class WindowManagerMain implements IAkariShardInitDispose { @@ -42,10 +42,14 @@ export class WindowManagerMain implements IAkariShardInitDispose { private readonly _ipc: AkariIpcMain private readonly _mobx: MobxUtilsMain private readonly _log: AkariLogger - private readonly _setting: MobxSettingService + private readonly _setting: SetterSettingService private readonly _lc: LeagueClientMain - private _willClose = false + /** + * 标记位, 用于判断是否是即将退出应用程序 (需要全部窗口关闭) + */ + private _willQuit = false + private _nextCloseAction: string | null = null private _mw: BrowserWindow | null = null @@ -78,20 +82,21 @@ export class WindowManagerMain implements IAkariShardInitDispose { this._mobx.propSync(WindowManagerMain.id, 'state', this.state, [ 'mainWindowFocus', - 'mainWindowReady', + // 'mainWindowReady', 'mainWindowShow', - 'mainWindowSize', + // 'mainWindowSize', 'mainWindowStatus', 'auxWindowFocus', 'auxWindowReady', - 'auxWindowBounds', + // 'auxWindowBounds', 'auxWindowFunctionality', - 'auxWindowStatus', - 'auxWindowFunctionalityBounds' + 'auxWindowStatus' + // 'auxWindowFunctionalityBounds' ]) this._mobx.propSync(WindowManagerMain.id, 'settings', this.settings, [ 'mainWindowCloseAction', + 'auxWindowEnabled', 'auxWindowAutoShow', 'auxWindowOpacity', 'auxWindowPinned', @@ -103,6 +108,7 @@ export class WindowManagerMain implements IAkariShardInitDispose { this._handleAuxWindowIpcCall() this._handleAuxWindowObservations() + // TODO DEBUG REMOVE THIS this.createMainWindow() } @@ -233,7 +239,7 @@ export class WindowManagerMain implements IAkariShardInitDispose { } showOrRestoreAuxWindow(inactive = false) { - if (this._aw) { + if (this._aw && this.state.auxWindowReady) { if (!this.state.auxWindowShow) { if (inactive) { this._aw.showInactive() @@ -319,7 +325,7 @@ export class WindowManagerMain implements IAkariShardInitDispose { * @returns */ private _handleCloseMainWindow(event: Event) { - if (this._willClose) { + if (this._willQuit) { this._aw?.close() return } @@ -339,7 +345,7 @@ export class WindowManagerMain implements IAkariShardInitDispose { this._ipc.sendEvent(WindowManagerMain.id, 'main-window-close-asking') this.showOrRestoreMainWindow() } else { - this._willClose = true + this._willQuit = true this._mw?.close() this._log.info('主窗口将关闭') } @@ -586,13 +592,12 @@ export class WindowManagerMain implements IAkariShardInitDispose { this._aw.on('page-title-updated', (e) => e.preventDefault()) this._aw.on('close', (e) => { - // TODO - // if (this._isForceClose) { - // this._isForceClose = false - // return - // } - // e.preventDefault() - // this.hideWindow() + if (this._willQuit) { + return + } + + e.preventDefault() + this.hideAuxWindow() }) if (is.dev && process.env['ELECTRON_RENDERER_URL']) { @@ -791,7 +796,7 @@ export class WindowManagerMain implements IAkariShardInitDispose { } showOrRestoreMainWindow(inactive = false) { - if (this._mw) { + if (this._mw && this.state.mainWindowReady) { if (!this.state.mainWindowShow) { if (inactive) { this._mw.showInactive() diff --git a/src/renderer-shared/shards/app-common/index.ts b/src/renderer-shared/shards/app-common/index.ts new file mode 100644 index 00000000..abf41223 --- /dev/null +++ b/src/renderer-shared/shards/app-common/index.ts @@ -0,0 +1,59 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useAppCommonStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'app-common-main' + +export class AppCommonRenderer implements IAkariShardInitDispose { + static id = 'app-common-renderer' + static dependencies = [ + 'akari-ipc-renderer', + 'setting-utils-renderer', + 'pinia-mobx-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + onSecondInstance(fn: (commandLine: string[], workingDirectory: string) => void) { + return this._ipc.onEventVue(MAIN_SHARD_NAMESPACE, 'second-instance', fn) + } + + getVersion() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'getVersion') as Promise + } + + openUserDataDir() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'openUserDataDir') + } + + setInKyokoMode(s: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'isInKyokoMode', s) + } + + setShowFreeSoftwareDeclaration(s: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'showFreeSoftwareDeclaration', s) + } + + setDisableHardwareAcceleration(s: boolean) { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'setDisableHardwareAcceleration', s) + } + + async onInit() { + const store = useAppCommonStore() + store.version = await this.getVersion() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } +} diff --git a/src/renderer-shared/shards/app-common/store.ts b/src/renderer-shared/shards/app-common/store.ts new file mode 100644 index 00000000..427a6ef8 --- /dev/null +++ b/src/renderer-shared/shards/app-common/store.ts @@ -0,0 +1,26 @@ +import { defineStore } from 'pinia' +import { ref, shallowReactive, shallowRef } from 'vue' + +interface BaseConfig { + disableHardwareAcceleration?: boolean +} + +export const useAppCommonStore = defineStore('shard:app-common-renderer', () => { + const settings = shallowReactive({ + showFreeSoftwareDeclaration: false, + isInKyokoMode: false + }) + + const version = ref('0.0.0') + const isAdministrator = ref(false) + const disableHardwareAcceleration = ref(false) + const baseConfig = shallowRef(null) + + return { + settings, + isAdministrator, + disableHardwareAcceleration, + version, + baseConfig + } +}) diff --git a/src/renderer-shared/shards/auto-gameflow/index.ts b/src/renderer-shared/shards/auto-gameflow/index.ts new file mode 100644 index 00000000..7bd9e728 --- /dev/null +++ b/src/renderer-shared/shards/auto-gameflow/index.ts @@ -0,0 +1,110 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useAutoGameflowStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'auto-gameflow-main' + +export class AutoGameflowRenderer implements IAkariShardInitDispose { + static id = 'auto-gameflow-renderer' + static dependencies = [ + 'akari-ipc-renderer', + 'setting-utils-renderer', + 'pinia-mobx-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + cancelAutoAccept() { + this._ipc.call(MAIN_SHARD_NAMESPACE, 'cancelAutoAccept') + } + + cancelAutoMatchmaking() { + this._ipc.call(MAIN_SHARD_NAMESPACE, 'cancelAutoMatchmaking') + } + + setWillDodgeAtLastSecond(enabled: number) { + this._ipc.call(MAIN_SHARD_NAMESPACE, 'setWillDodgeAtLastSecond', enabled) + } + + setAutoHonorEnabled(enabled: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoHonorEnabled', enabled) + } + + setAutoHonorStrategy(strategy: string) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoHonorStrategy', strategy) + } + + setPlayAgainEnabled(enabled: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'playAgainEnabled', enabled) + } + + setAutoAcceptEnabled(enabled: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoAcceptEnabled', enabled) + } + + setAutoAcceptDelaySeconds(seconds: number) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoAcceptDelaySeconds', seconds) + } + + setAutoReconnectEnabled(enabled: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoReconnectEnabled', enabled) + } + + setAutoMatchmakingEnabled(enabled: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingEnabled', enabled) + } + + setAutoMatchmakingMaximumMatchDuration(seconds: number) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingMaximumMatchDuration', seconds) + } + + setAutoMatchmakingDelaySeconds(seconds: number) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingDelaySeconds', seconds) + } + + setAutoMatchmakingMinimumMembers(count: number) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingMinimumMembers', count) + } + + setAutoMatchmakingWaitForInvitees(yes: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingWaitForInvitees', yes) + } + + setAutoMatchmakingRematchStrategy(s: string) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingRematchStrategy', s) + } + + setAutoMatchmakingRematchFixedDuration(seconds: number) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoMatchmakingRematchFixedDuration', seconds) + } + + setAutoHandleInvitationsEnabled(enabled: boolean) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'autoHandleInvitationsEnabled', enabled) + } + + setDodgeAtLastSecondThreshold(threshold: number) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'dodgeAtLastSecondThreshold', threshold) + } + + setInvitationHandlingStrategies(strategies: Record) { + this._setting.set(MAIN_SHARD_NAMESPACE, 'invitationHandlingStrategies', strategies) + } + + async onInit() { + const store = useAutoGameflowStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } +} diff --git a/src/renderer-shared/shards/auto-gameflow/store.ts b/src/renderer-shared/shards/auto-gameflow/store.ts new file mode 100644 index 00000000..cb0ec1bc --- /dev/null +++ b/src/renderer-shared/shards/auto-gameflow/store.ts @@ -0,0 +1,38 @@ +import { defineStore } from 'pinia' +import { shallowReactive, shallowRef } from 'vue' + +// copied from main shard +export type AutoHonorStrategy = + | 'prefer-lobby-member' + | 'only-lobby-member' + | 'all-member' + | 'opt-out' + | 'all-member-including-opponent' + +// copied from main shard +export type AutoMatchmakingStrategy = 'never' | 'fixed-duration' | 'estimated-duration' + +export const useAutoGameflowStore = defineStore('shard:auto-gameflow-renderer', () => { + const settings = shallowReactive({ + autoHonorEnabled: false, + autoHonorStrategy: 'prefer-lobby-member' as AutoHonorStrategy, + playAgainEnabled: false, + autoAcceptEnabled: false, + autoAcceptDelaySeconds: 0, + autoReconnectEnabled: false, + autoMatchmakingEnabled: false, + autoMatchmakingMaximumMatchDuration: 0, + autoMatchmakingRematchStrategy: 'never' as AutoMatchmakingStrategy, + autoMatchmakingRematchFixedDuration: 2, + autoMatchmakingDelaySeconds: 5, + autoMatchmakingMinimumMembers: 1, + autoMatchmakingWaitForInvitees: true, + autoHandleInvitationsEnabled: false, + invitationHandlingStrategies: {} as Record, + dodgeAtLastSecondThreshold: 2 + }) + + return { + settings + } +}) diff --git a/src/renderer-shared/shards/auto-reply/index.ts b/src/renderer-shared/shards/auto-reply/index.ts new file mode 100644 index 00000000..2290e973 --- /dev/null +++ b/src/renderer-shared/shards/auto-reply/index.ts @@ -0,0 +1,45 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useAutoReplyStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'auto-reply-main' + +export class AutoReplyRenderer implements IAkariShardInitDispose { + static id = 'auto-reply-renderer' + static dependencies = [ + 'akari-ipc-renderer', + 'setting-utils-renderer', + 'pinia-mobx-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + setEnabled(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'enabled', enabled) + } + + setText(text: string) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'text', text) + } + + setEnableOnAway(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'enableOnAway', enabled) + } + + async onInit() { + const store = useAutoReplyStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } +} diff --git a/src/renderer-shared/shards/auto-reply/store.ts b/src/renderer-shared/shards/auto-reply/store.ts new file mode 100644 index 00000000..86e62839 --- /dev/null +++ b/src/renderer-shared/shards/auto-reply/store.ts @@ -0,0 +1,14 @@ +import { defineStore } from 'pinia' +import { ref, shallowReactive, shallowRef } from 'vue' + +export const useAutoReplyStore = defineStore('shard:auto-reply-renderer', () => { + const settings = shallowReactive({ + enabled: false, + text: '', + enableOnAway: false + }) + + return { + settings + } +}) diff --git a/src/renderer-shared/shards/auto-select/index.ts b/src/renderer-shared/shards/auto-select/index.ts new file mode 100644 index 00000000..ed4dfc7d --- /dev/null +++ b/src/renderer-shared/shards/auto-select/index.ts @@ -0,0 +1,75 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useAutoSelectStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'auto-select-main' + +export class AutoSelectRenderer implements IAkariShardInitDispose { + static id = 'auto-select-renderer' + static dependencies = ['setting-utils-renderer', 'pinia-mobx-utils-renderer'] + + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + setNormalModeEnabled(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'normalModeEnabled', enabled) + } + + setExpectedChampions(expectedChampions: Record) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'expectedChampions', expectedChampions) + } + + setSelectTeammateIntendedChampion(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'selectTeammateIntendedChampion', enabled) + } + + setShowIntent(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'showIntent', enabled) + } + + setCompleted(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'completed', enabled) + } + + setBenchModeEnabled(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'benchModeEnabled', enabled) + } + + setBenchExpectedChampions(expectedChampions: number[]) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'benchExpectedChampions', expectedChampions) + } + + setGrabDelaySeconds(seconds: number) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'grabDelaySeconds', seconds) + } + + setBenchSelectFirstAvailableChampion(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'benchSelectFirstAvailableChampion', enabled) + } + + setBanEnabled(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'banEnabled', enabled) + } + + setBannedChampions(bannedChampions: Record) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'bannedChampions', bannedChampions) + } + + setBanTeammateIntendedChampion(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'banTeammateIntendedChampion', enabled) + } + + async onInit() { + const store = useAutoSelectStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } +} diff --git a/src/renderer-shared/shards/auto-select/store.ts b/src/renderer-shared/shards/auto-select/store.ts new file mode 100644 index 00000000..2be97702 --- /dev/null +++ b/src/renderer-shared/shards/auto-select/store.ts @@ -0,0 +1,59 @@ +import { ChampSelectTeam } from '@shared/types/lcu/champ-select' +import { defineStore } from 'pinia' +import { shallowReactive, shallowRef } from 'vue' + +// copied from main shard +interface UpcomingBanPick { + championId: number + isActingNow: boolean + action: { + id: number + isInProgress: boolean + completed: boolean + } +} + +export const useAutoSelectStore = defineStore('shard:auto-select-renderer', () => { + const settings = shallowReactive({ + normalModeEnabled: false, + expectedChampions: { + top: [], + jungle: [], + middle: [], + bottom: [], + utility: [], + default: [] + }, + selectTeammateIntendedChampion: false, + showIntent: false, + completed: false, + benchModeEnabled: false, + benchSelectFirstAvailableChampion: false, + benchExpectedChampions: [], + grabDelaySeconds: 1, + banEnabled: false, + bannedChampions: { + top: [], + jungle: [], + middle: [], + bottom: [], + utility: [], + default: [] + }, + banTeammateIntendedChampion: false + }) + + const upcomingPick = shallowRef(null) + const upcomingBan = shallowRef(null) + const upcomingGrab = shallowRef<{ championId: number; willGrabAt: number } | null>(null) + const memberMe = shallowRef(null) + + return { + settings, + + upcomingPick, + upcomingBan, + upcomingGrab, + memberMe + } +}) diff --git a/src/renderer-shared/shards/ipc/index.ts b/src/renderer-shared/shards/ipc/index.ts index 050b0378..d64a00a3 100644 --- a/src/renderer-shared/shards/ipc/index.ts +++ b/src/renderer-shared/shards/ipc/index.ts @@ -1,6 +1,10 @@ import { ElectronAPI } from '@electron-toolkit/preload' import { IAkariShardInitDispose } from '@shared/akari-shard/interface' -import { IpcRenderer, IpcRendererEvent } from 'electron' +import { AkariSharedGlobalShard, SHARED_GLOBAL_ID } from '@shared/akari-shard/manager' +import { IpcRendererEvent } from 'electron' +import { getCurrentScope, onScopeDispose } from 'vue' + +import type { LoggerRenderer } from '../logger' declare global { interface Window { @@ -8,8 +12,25 @@ declare global { } } +export interface IpcMainSuccessDataType { + success: true + data: T +} + +export interface IpcMainErrorDataType { + success: false + error: any +} + +const LOGGER_SHARD_NAMESPACE = 'logger-renderer' + +export type IpcMainDataType = IpcMainSuccessDataType | IpcMainErrorDataType + export class AkariIpcRenderer implements IAkariShardInitDispose { static id = 'akari-ipc-renderer' + static dependencies = [SHARED_GLOBAL_ID] + + private readonly _shared: AkariSharedGlobalShard private _eventMap = new Map>() private _cancelFn: (() => void) | null = null @@ -49,8 +70,20 @@ export class AkariIpcRenderer implements IAkariShardInitDispose { * @param args * @returns */ - call(namespace: string, fnName: string, ...args: any[]) { - return window.electron.ipcRenderer.invoke('akariCall', namespace, fnName, ...args) as Promise + async call(namespace: string, fnName: string, ...args: any[]) { + const result: IpcMainDataType = await window.electron.ipcRenderer.invoke( + 'akariCall', + namespace, + fnName, + ...args + ) + if (result.success) { + return result.data as T + } else { + const logger = this._shared.manager.getInstance(LOGGER_SHARD_NAMESPACE) + logger?.error(namespace, result.error) + throw new Error('IPC Error', { cause: result.error }) + } } /** @@ -74,6 +107,15 @@ export class AkariIpcRenderer implements IAkariShardInitDispose { } } + /** + * Vue 可自行解除订阅的事件 + */ + onEventVue(namespace: string, eventName: string, fn: (...args: any[]) => void) { + const disposeFn = this.onEvent(namespace, eventName, fn) + getCurrentScope() && onScopeDispose(() => disposeFn()) + return disposeFn + } + /** * 取消订阅一个事件 * @param namespace @@ -89,7 +131,8 @@ export class AkariIpcRenderer implements IAkariShardInitDispose { } } - constructor() { + constructor(deps: any) { + this._shared = deps[SHARED_GLOBAL_ID] this._dispatchEvent = this._dispatchEvent.bind(this) } } diff --git a/src/renderer-shared/shards/keyboard-shortcut/index.ts b/src/renderer-shared/shards/keyboard-shortcut/index.ts new file mode 100644 index 00000000..d3660f7d --- /dev/null +++ b/src/renderer-shared/shards/keyboard-shortcut/index.ts @@ -0,0 +1,42 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcRenderer } from '../ipc' + +const MAIN_SHARD_NAMESPACE = 'keyboard-shortcuts-main' + +// copied from main shard +interface ShortcutDetails { + keyCodes: number[] + keys: { + _nameRaw: string + name: string + standardName: string + readableName: string + }[] + id: string + unifiedId: string +} + +/** + * 连接到主进程的快捷键服务 + */ +export class KeyboardShortcutsRenderer implements IAkariShardInitDispose { + static id = 'keyboard-shortcuts-renderer' + static dependencies = ['akari-ipc-renderer'] + + private readonly _ipc: AkariIpcRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + } + + onShortcut(fn: (event: ShortcutDetails) => void) { + return this._ipc.onEventVue(MAIN_SHARD_NAMESPACE, 'shortcut', fn) + } + + onLastActiveShortcut(fn: (event: ShortcutDetails) => void) { + return this._ipc.onEventVue(MAIN_SHARD_NAMESPACE, 'last-active-shortcut', fn) + } + + async onInit() {} +} diff --git a/src/renderer-shared/shards/league-client-ux/index.ts b/src/renderer-shared/shards/league-client-ux/index.ts new file mode 100644 index 00000000..0dd7787b --- /dev/null +++ b/src/renderer-shared/shards/league-client-ux/index.ts @@ -0,0 +1,37 @@ +import { AkariIpcRenderer } from '../ipc' +import { LoggerRenderer } from '../logger' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useLeagueClientUxStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'league-client-ux-main' + +export class LeagueClientUxRenderer { + static id = 'league-client-ux-renderer' + static dependencies = [ + 'akari-ipc-renderer', + 'pinia-mobx-utils-renderer', + 'setting-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + setUseWmic(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'useWmic', enabled) + } + + async onInit() { + const store = useLeagueClientUxStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } +} diff --git a/src/renderer-shared/shards/league-client-ux/store.ts b/src/renderer-shared/shards/league-client-ux/store.ts new file mode 100644 index 00000000..820cb433 --- /dev/null +++ b/src/renderer-shared/shards/league-client-ux/store.ts @@ -0,0 +1,16 @@ +import { defineStore } from 'pinia' +import { shallowReactive, shallowRef } from 'vue' +import { UxCommandLine } from '../league-client/store' + +export const useLeagueClientUxStore = defineStore('shard:league-client-ux', () => { + const settings = shallowReactive({ + useWmic: false + }) + + const launchedClients = shallowRef([]) + + return { + settings, + launchedClients + } +}) diff --git a/src/renderer-shared/shards/league-client/index.ts b/src/renderer-shared/shards/league-client/index.ts index fc01ba1c..1ef26051 100644 --- a/src/renderer-shared/shards/league-client/index.ts +++ b/src/renderer-shared/shards/league-client/index.ts @@ -1,52 +1,52 @@ -import { LeagueClientHttpApiAxiosHelper } from '@shared/http-api-axios-helper/league-client' -import axios from 'axios' - -import { AkariIpcRenderer } from '../ipc' -import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' -import { SettingUtilsRenderer } from '../setting' -import { useLeagueClientStore } from './store' - -export const MAIN_SHARD_NAMESPACE = 'league-client-main' - -export class LeagueClientRenderer { - static id = 'league-client-renderer' - static dependencies = [ - 'pinia-mobx-utils-renderer', - 'akari-ipc-renderer', - 'setting-utils-renderer' - ] - - private readonly _ipc: AkariIpcRenderer - private readonly _pm: PiniaMobxUtilsRenderer - private readonly _setting: SettingUtilsRenderer - - public readonly api = new LeagueClientHttpApiAxiosHelper( - axios.create({ baseURL: 'akari://league-client' }) - ) - - async onInit() { - const store = useLeagueClientStore() - - this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'gameData', store.gameData) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'honor', store.honor) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'champSelect', store.champSelect) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'chat', store.chat) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'matchmaking', store.matchmaking) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'gameflow', store.gameflow) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'lobby', store.lobby) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'login', store.login) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'summoner', store.summoner) - this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) - } - - constructor(deps: any) { - this._pm = deps['pinia-mobx-utils-renderer'] - this._ipc = deps['akari-ipc-renderer'] - this._setting = deps['setting-utils-renderer'] - } - - setAutoConnect(enabled: boolean) { - return this._setting.set(MAIN_SHARD_NAMESPACE, 'autoConnect', enabled) - } -} +import { LeagueClientHttpApiAxiosHelper } from '@shared/http-api-axios-helper/league-client' +import axios from 'axios' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useLeagueClientStore } from './store' + +export const MAIN_SHARD_NAMESPACE = 'league-client-main' + +export class LeagueClientRenderer { + static id = 'league-client-renderer' + static dependencies = [ + 'pinia-mobx-utils-renderer', + 'akari-ipc-renderer', + 'setting-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + public readonly api = new LeagueClientHttpApiAxiosHelper( + axios.create({ baseURL: 'akari://league-client' }) + ) + + async onInit() { + const store = useLeagueClientStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'gameData', store.gameData) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'honor', store.honor) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'champSelect', store.champSelect) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'chat', store.chat) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'matchmaking', store.matchmaking) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'gameflow', store.gameflow) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'lobby', store.lobby) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'login', store.login) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'summoner', store.summoner) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } + + constructor(deps: any) { + this._pm = deps['pinia-mobx-utils-renderer'] + this._ipc = deps['akari-ipc-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + setAutoConnect(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'autoConnect', enabled) + } +} diff --git a/src/renderer-shared/shards/league-client/store.ts b/src/renderer-shared/shards/league-client/store.ts index 1ca1d9d9..1e39f596 100644 --- a/src/renderer-shared/shards/league-client/store.ts +++ b/src/renderer-shared/shards/league-client/store.ts @@ -1,121 +1,121 @@ -import { ChampSelectSession } from '@shared/types/lcu/champ-select' -import { ChatPerson, Conversation } from '@shared/types/lcu/chat' -import { - Augment, - ChampionSimple, - Item, - Perk, - Perkstyles, - Queue, - SummonerSpell -} from '@shared/types/lcu/game-data' -import { GameflowPhase, GameflowSession } from '@shared/types/lcu/gameflow' -import { Ballot } from '@shared/types/lcu/honorV2' -import { Lobby, ReceivedInvitation } from '@shared/types/lcu/lobby' -import { LoginQueueState } from '@shared/types/lcu/login' -import { GetSearch, ReadyCheck } from '@shared/types/lcu/matchmaking' -import { SummonerInfo } from '@shared/types/lcu/summoner' -import { defineStore } from 'pinia' -import { shallowReactive, shallowRef } from 'vue' - -// copied -export type LcConnectionStateType = 'connecting' | 'connected' | 'disconnected' - -// copied -export interface UxCommandLine { - port: number - pid: number - authToken: string - certificate: string - region: string - rsoPlatformId: string - riotClientPort: number - riotClientAuthToken: string -} - -export const useLeagueClientStore = defineStore('store:league-client-renderer', () => { - const connectionState = shallowRef('disconnected') - const auth = shallowRef(null) - const connectingClient = shallowRef(null) - - const settings = shallowReactive({ - autoConnect: false - }) - - const gameData = { - champions: shallowRef>({}), - augments: shallowRef>({}), - perks: shallowRef>({}), - perkstyles: shallowRef>({}), - queues: shallowRef>({}), - items: shallowRef>({}), - summonerSpells: shallowRef>({}) - } as const - - const champSelect = { - session: shallowRef(null), - currentChampion: shallowRef(null), - currentPickableChampionIds: shallowRef([]), - currentBannableChampionIds: shallowRef([]), - disabledChampionIds: shallowRef([]) - } as const - - const chat = { - me: shallowRef(null), - conversations: { - championSelect: shallowRef(null), - postGame: shallowRef(null), - customGame: shallowRef(null) - } as const, - participants: { - championSelect: shallowRef(null), - postGame: shallowRef(null), - customGame: shallowRef(null) - } as const - } as const - - const gameflow = { - phase: shallowRef(null), - session: shallowRef(null) - } as const - - const honor = { - ballot: shallowRef(null) - } as const - - const lobby = { - lobby: shallowRef(null), - receivedInvitations: shallowRef([]) - } as const - - const summoner = { - me: shallowRef(null) - } as const - - const login = { - loginQueueState: shallowRef(null) - } as const - - const matchmaking = { - readyCheck: shallowRef(null), - search: shallowRef(null) - } as const - - return { - gameData, - champSelect, - chat, - gameflow, - honor, - lobby, - summoner, - login, - matchmaking, - - settings, - - connectionState, - auth, - connectingClient - } -}) +import { ChampSelectSession } from '@shared/types/lcu/champ-select' +import { ChatPerson, Conversation } from '@shared/types/lcu/chat' +import { + Augment, + ChampionSimple, + Item, + Perk, + Perkstyles, + Queue, + SummonerSpell +} from '@shared/types/lcu/game-data' +import { GameflowPhase, GameflowSession } from '@shared/types/lcu/gameflow' +import { Ballot } from '@shared/types/lcu/honorV2' +import { Lobby, ReceivedInvitation } from '@shared/types/lcu/lobby' +import { LoginQueueState } from '@shared/types/lcu/login' +import { GetSearch, ReadyCheck } from '@shared/types/lcu/matchmaking' +import { SummonerInfo } from '@shared/types/lcu/summoner' +import { defineStore } from 'pinia' +import { shallowReactive, shallowRef } from 'vue' + +// copied +export type LcConnectionStateType = 'connecting' | 'connected' | 'disconnected' + +// copied +export interface UxCommandLine { + port: number + pid: number + authToken: string + certificate: string + region: string + rsoPlatformId: string + riotClientPort: number + riotClientAuthToken: string +} + +export const useLeagueClientStore = defineStore('shard:league-client-renderer', () => { + const connectionState = shallowRef('disconnected') + const auth = shallowRef(null) + const connectingClient = shallowRef(null) + + const settings = shallowReactive({ + autoConnect: false + }) + + const gameData = { + champions: shallowRef>({}), + augments: shallowRef>({}), + perks: shallowRef>({}), + perkstyles: shallowRef>({}), + queues: shallowRef>({}), + items: shallowRef>({}), + summonerSpells: shallowRef>({}) + } as const + + const champSelect = { + session: shallowRef(null), + currentChampion: shallowRef(null), + currentPickableChampionIds: shallowRef>(new Set()), + currentBannableChampionIds: shallowRef>(new Set()), + disabledChampionIds: shallowRef>(new Set()) + } as const + + const chat = { + me: shallowRef(null), + conversations: { + championSelect: shallowRef(null), + postGame: shallowRef(null), + customGame: shallowRef(null) + } as const, + participants: { + championSelect: shallowRef(null), + postGame: shallowRef(null), + customGame: shallowRef(null) + } as const + } as const + + const gameflow = { + phase: shallowRef(null), + session: shallowRef(null) + } as const + + const honor = { + ballot: shallowRef(null) + } as const + + const lobby = { + lobby: shallowRef(null), + receivedInvitations: shallowRef([]) + } as const + + const summoner = { + me: shallowRef(null) + } as const + + const login = { + loginQueueState: shallowRef(null) + } as const + + const matchmaking = { + readyCheck: shallowRef(null), + search: shallowRef(null) + } as const + + return { + gameData, + champSelect, + chat, + gameflow, + honor, + lobby, + summoner, + login, + matchmaking, + + settings, + + connectionState, + auth, + connectingClient + } +}) diff --git a/src/renderer-shared/shards/logger/index.ts b/src/renderer-shared/shards/logger/index.ts index 993f98f7..aada5aa7 100644 --- a/src/renderer-shared/shards/logger/index.ts +++ b/src/renderer-shared/shards/logger/index.ts @@ -46,45 +46,81 @@ export class LoggerRenderer { info(namespace: string, ...args: any[]) { console.info( - `%c[${dayjs().format('HH:mm:ss')}] [%c${namespace}%c]`, - 'color: blue; font-weight: bold;', // 时间部分样式 - 'color: green; font-style: italic;', // namespace部分样式 + `%c[${dayjs().format('HH:mm:ss')}] %c[%c${namespace}%c] %c[info]`, + 'color: #3498db; font-weight: bold;', 'color: inherit;', + 'color: #2e2571; font-weight: bold;', + 'color: inherit;', + 'color: #004c3c; font-weight: bold;', ...args ) - return this._ipc.call(MAIN_SHARD_NAMESPACE, namespace, 'info', this._objectsToString(...args)) + return this._ipc.call( + MAIN_SHARD_NAMESPACE, + 'log', + namespace, + 'info', + this._objectsToString(...args) + ) } warn(namespace: string, ...args: any[]) { console.warn( - `%c[${dayjs().format('HH:mm:ss')}] [%c${namespace}%c]`, - 'color: blue; font-weight: bold;', // 时间部分样式 - 'color: green; font-style: italic;', // namespace部分样式 + `%c[${dayjs().format('HH:mm:ss')}] %c[%c${namespace}%c] %c[warn]`, + 'color: #3498db; font-weight: bold;', + 'color: inherit;', + 'color: #2e2571; font-weight: bold;', 'color: inherit;', + 'color: #004c3c; font-weight: bold;', ...args ) - return this._ipc.call(MAIN_SHARD_NAMESPACE, namespace, 'warn', this._objectsToString(...args)) + return this._ipc.call( + MAIN_SHARD_NAMESPACE, + 'log', + namespace, + 'warn', + this._objectsToString(...args) + ) } error(namespace: string, ...args: any[]) { console.error( - `%c[${dayjs().format('HH:mm:ss')}] [%c${namespace}%c]`, - 'color: blue; font-weight: bold;', - 'color: green; font-style: italic;', + `%c[${dayjs().format('HH:mm:ss')}] %c[%c${namespace}%c] %c[error]`, + 'color: #3498db; font-weight: bold;', + 'color: inherit;', + 'color: #2e2571; font-weight: bold;', 'color: inherit;', + 'color: #004c3c; font-weight: bold;', ...args ) - return this._ipc.call(MAIN_SHARD_NAMESPACE, namespace, 'error', this._objectsToString(...args)) + return this._ipc.call( + MAIN_SHARD_NAMESPACE, + 'log', + namespace, + 'error', + this._objectsToString(...args) + ) } debug(namespace: string, ...args: any[]) { console.debug( - `%c[${dayjs().format('HH:mm:ss')}] [%c${namespace}%c]`, - 'color: blue; font-weight: bold;', - 'color: green; font-style: italic;', + `%c[${dayjs().format('HH:mm:ss')}] %c[%c${namespace}%c] %c[debug]`, + 'color: #3498db; font-weight: bold;', + 'color: inherit;', + 'color: #2e2571; font-weight: bold;', 'color: inherit;', + 'color: #004c3c; font-weight: bold;', ...args ) - return this._ipc.call(MAIN_SHARD_NAMESPACE, namespace, 'debug', this._objectsToString(...args)) + return this._ipc.call( + MAIN_SHARD_NAMESPACE, + 'log', + namespace, + 'debug', + this._objectsToString(...args) + ) + } + + openLogsDir() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'openLogsDir') } } diff --git a/src/renderer-shared/shards/notification/index.ts b/src/renderer-shared/shards/notification/index.ts new file mode 100644 index 00000000..9807e03f --- /dev/null +++ b/src/renderer-shared/shards/notification/index.ts @@ -0,0 +1,11 @@ +/** + * 管理渲染进程中的各类通知 + * 通知包括两种 + * - 进行中的通知, 如当前正在进行的东西 + * - 瞬时的通知, 例如错误提示等 + */ +export class NotificationRenderer { + static id = 'notification-renderer' + + constructor() {} +} diff --git a/src/renderer-shared/shards/ongoing-game/index.ts b/src/renderer-shared/shards/ongoing-game/index.ts new file mode 100644 index 00000000..a3601fb7 --- /dev/null +++ b/src/renderer-shared/shards/ongoing-game/index.ts @@ -0,0 +1,132 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { effectScope, watch } from 'vue' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useOngoingGameStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'ongoing-game-main' +export class OngoingGameRenderer implements IAkariShardInitDispose { + static id = 'ongoing-game-renderer' + static dependencies = [ + 'akari-ipc-renderer', + 'pinia-mobx-utils-renderer', + 'setting-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + private _scope = effectScope() + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + setConcurrency(value: number) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'concurrency', value) + } + + setEnabled(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'enabled', value) + } + + setMatchHistoryLoadCount(value: number) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'matchHistoryLoadCount', value) + } + + setPremadeTeamThreshold(value: number) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'premadeTeamThreshold', value) + } + + setMatchHistoryUseSgpApi(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'matchHistoryUseSgpApi', value) + } + + setMatchHistoryTag(value: string) { + this._ipc.call(MAIN_SHARD_NAMESPACE, 'setMatchHistoryTag', value) + } + + setMatchHistoryTagPreference(value: 'current' | 'all') { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'matchHistoryQueuePreference', value) + } + + reload() { + this._ipc.call(MAIN_SHARD_NAMESPACE, 'reload') + } + + getAll() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'getAll') as Promise<{ + matchHistory: any + summoner: any + rankedStats: any + championMastery: any + savedInfo: any + }> + } + + async onInit() { + const store = useOngoingGameStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + + this._ipc.onEvent(MAIN_SHARD_NAMESPACE, 'clear', () => { + store.summoner = {} + store.matchHistory = {} + store.rankedStats = {} + store.championMastery = {} + store.savedInfo = {} + }) + + this._ipc.onEvent(MAIN_SHARD_NAMESPACE, 'match-history-loaded', (puuid: string, data) => { + store.matchHistory[puuid] = data + }) + + this._ipc.onEvent(MAIN_SHARD_NAMESPACE, 'summoner-loaded', (puuid: string, data) => { + store.summoner[puuid] = data + }) + + this._ipc.onEvent(MAIN_SHARD_NAMESPACE, 'ranked-stats-loaded', (puuid: string, data) => { + store.rankedStats[puuid] = data + }) + + this._ipc.onEvent(MAIN_SHARD_NAMESPACE, 'champion-mastery-loaded', (puuid: string, data) => { + store.championMastery[puuid] = data + }) + + this._ipc.onEvent(MAIN_SHARD_NAMESPACE, 'saved-info-loaded', (puuid: string, data) => { + store.savedInfo[puuid] = data + }) + + const { championMastery, matchHistory, rankedStats, savedInfo, summoner } = await this.getAll() + store.championMastery = championMastery + store.matchHistory = matchHistory + store.rankedStats = rankedStats + store.savedInfo = savedInfo + store.summoner = summoner + + store.settings.orderPlayerBy = await this._setting.get( + OngoingGameRenderer.id, + 'orderPlayerBy', + store.settings.orderPlayerBy + ) + + this._scope.run(() => { + watch( + () => store.settings.orderPlayerBy, + (newValue) => { + this._setting.set(OngoingGameRenderer.id, 'orderPlayerBy', newValue) + } + ) + }) + } + + async onDispose() { + this._scope.stop() + } +} diff --git a/src/renderer-shared/shards/ongoing-game/store.ts b/src/renderer-shared/shards/ongoing-game/store.ts new file mode 100644 index 00000000..fa8a20b7 --- /dev/null +++ b/src/renderer-shared/shards/ongoing-game/store.ts @@ -0,0 +1,146 @@ +import { Mastery } from '@shared/types/lcu/champion-mastery' +import { Game } from '@shared/types/lcu/match-history' +import { RankedStats } from '@shared/types/lcu/ranked' +import { SummonerInfo } from '@shared/types/lcu/summoner' +import { + MatchHistoryGamesAnalysisAll, + MatchHistoryGamesAnalysisTeamSide +} from '@shared/utils/analysis' +import { ParsedRole } from '@shared/utils/ranked' +import { defineStore } from 'pinia' +import { shallowReactive, shallowRef } from 'vue' + +// copied from main shard +interface OngoingGameInfo { + queueId: number + queueType: string + gameId: number + gameMode: string +} + +// copied from main shard +interface MatchHistoryPlayer { + source: 'lcu' | 'sgp' + tag?: string + targetCount: number + data: Game[] +} + +// copied from main shard +interface SummonerPlayer { + source: 'lcu' | 'sgp' + data: SummonerInfo +} + +// copied from main shard +interface RankedStatsPlayer { + source: 'lcu' | 'sgp' + data: RankedStats +} + +// copied from main shard +interface ChampionMasteryPlayer { + source: 'lcu' | 'sgp' + data: Record +} + +// copied from main shard +interface EncounteredGame { + id: number + + gameId: number + + puuid: string + + selfPuuid: string + + region: string + + rsoPlatformId: string + + updateAt: Date + + queueType: string +} + +// copied from main shard +export interface SavedInfo { + puuid: string + + selfPuuid: string + + region: string + + rsoPlatformId: string + + tag: string | null + + updateAt: Date + + lastMetAt: Date | null + + encounteredGames: EncounteredGame[] +} + +export const useOngoingGameStore = defineStore('shard:ongoing-game-renderer', () => { + const settings = shallowReactive({ + enabled: false, + premadeTeamThreshold: 3, + matchHistoryLoadCount: 20, + concurrency: 3, + matchHistoryUseSgpApi: true, + matchHistoryTagPreference: 'current' as 'current' | 'all', + + // renderer only + orderPlayerBy: 'default' as 'win-rate' | 'kda' | 'default' | 'akari-score' + }) + + const gameInfo = shallowRef(null) + const championSelections = shallowRef | null>(null) + const positionAssignments = shallowRef | null>(null) + const teams = shallowRef | null>(null) + + // untyped + const queryStage = shallowRef() + const isInEog = shallowRef(false) + const premadeTeams = shallowRef | null>(null) + + const playerStats = shallowRef<{ + players: Record + teams: Record + } | null>(null) + + const matchHistoryTag = shallowRef(null) + + const matchHistory = shallowRef>({}) + const summoner = shallowRef>({}) + const rankedStats = shallowRef>({}) + const championMastery = shallowRef>({}) + const savedInfo = shallowRef>({}) + + return { + settings, + + gameInfo, + championSelections, + positionAssignments, + teams, + queryStage, + isInEog, + premadeTeams, + playerStats, + matchHistoryTag, + + matchHistory, + summoner, + rankedStats, + championMastery, + savedInfo + } +}) diff --git a/src/renderer-shared/shards/self-update/index.ts b/src/renderer-shared/shards/self-update/index.ts new file mode 100644 index 00000000..be629bb4 --- /dev/null +++ b/src/renderer-shared/shards/self-update/index.ts @@ -0,0 +1,67 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useSelfUpdateStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'self-update-main' + +export class SelfUpdateRenderer implements IAkariShardInitDispose { + static id = 'self-update-renderer' + + static dependencies = [ + 'akari-ipc-renderer', + 'pinia-mobx-utils-renderer', + 'setting-utils-renderer' + ] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._setting = deps['setting-utils-renderer'] + } + + checkUpdates() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'checkUpdates') + } + + startUpdate() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'startUpdate') + } + + cancelUpdate() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'cancelUpdate') + } + + setAnnouncementRead(sha: string) { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'setAnnouncementRead', sha) + } + + openNewUpdatesDir() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'openNewUpdatesDir') + } + + setAutoCheckUpdates(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'autoCheckUpdates', enabled) + } + + setAutoDownloadUpdates(enabled: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'autoDownloadUpdates', enabled) + } + + setDownloadSource(source: 'gitee' | 'github') { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'downloadSource', source) + } + + async onInit() { + const store = useSelfUpdateStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + } +} diff --git a/src/renderer-shared/shards/self-update/store.ts b/src/renderer-shared/shards/self-update/store.ts new file mode 100644 index 00000000..0af964c3 --- /dev/null +++ b/src/renderer-shared/shards/self-update/store.ts @@ -0,0 +1,60 @@ +import { defineStore } from 'pinia' +import { ref, shallowReactive, shallowRef } from 'vue' + +// copied from main shard +interface UpdateProgressInfo { + phase: 'downloading' | 'unpacking' | 'waiting-for-restart' | 'download-failed' | 'unpack-failed' + + downloadingProgress: number + + averageDownloadSpeed: number + + downloadTimeLeft: number + + fileSize: number + + unpackingProgress: number +} + +// copied from main shard +interface CurrentAnnouncement { + content: string + updateAt: Date + isRead: boolean + sha: string +} + +// copied from main shard +interface NewUpdates { + source: 'gitee' | 'github' + currentVersion: string + releaseVersion: string + releaseNotesUrl: string + downloadUrl: string + filename: string + releaseNotes: string +} + +export const useSelfUpdateStore = defineStore('shard:self-update-renderer', () => { + const settings = shallowReactive({ + autoCheckUpdates: true, + autoDownloadUpdates: true, + downloadSource: 'gitee' as 'gitee' | 'github' + }) + + const isCheckingUpdates = ref(false) + const lastCheckAt = ref(null) + const updateProgressInfo = shallowRef(null) + const currentAnnouncement = shallowRef(null) + const newUpdates = shallowRef(null) + + return { + settings, + + isCheckingUpdates, + lastCheckAt, + updateProgressInfo, + currentAnnouncement, + newUpdates + } +}) diff --git a/src/renderer-shared/shards/setting/index.ts b/src/renderer-shared/shards/setting-utils/index.ts similarity index 71% rename from src/renderer-shared/shards/setting/index.ts rename to src/renderer-shared/shards/setting-utils/index.ts index 587d6e00..98703b7b 100644 --- a/src/renderer-shared/shards/setting/index.ts +++ b/src/renderer-shared/shards/setting-utils/index.ts @@ -15,4 +15,8 @@ export class SettingUtilsRenderer { set(namespace: string, key: string, value: any) { return this._ipc.call(MAIN_SHARD_NAMESPACE, 'set', namespace, key, value) } + + async get(namespace: string, key: string, defaultValue?: any) { + return (await this._ipc.call(MAIN_SHARD_NAMESPACE, 'get', namespace, key)) ?? defaultValue + } } diff --git a/src/renderer-shared/shards/sgp/index.ts b/src/renderer-shared/shards/sgp/index.ts new file mode 100644 index 00000000..a2bfa85a --- /dev/null +++ b/src/renderer-shared/shards/sgp/index.ts @@ -0,0 +1,63 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { AvailableServersMap } from '@shared/data-sources/sgp' +import { Game, MatchHistory } from '@shared/types/lcu/match-history' + +import { AkariIpcRenderer } from '../ipc' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { useSgpStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'sgp-main' + +export class SgpRenderer implements IAkariShardInitDispose { + static id = 'sgp-renderer' + static dependencies = ['akari-ipc-renderer', 'pinia-mobx-utils-renderer'] + + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + + constructor(deps: any) { + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + } + + getSupportedSgpServers() { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'getSupportedSgpServers') + } + + getMatchHistoryLcuFormat( + playerPuuid: string, + start: number, + count: number, + tag?: string, + sgpServerId?: string + ) { + return this._ipc.call( + MAIN_SHARD_NAMESPACE, + 'getMatchHistoryLcuFormat', + playerPuuid, + start, + count, + tag, + sgpServerId + ) + } + + getGameSummaryLcuFormat(gameId: number, sgpServerId?: string) { + return this._ipc.call( + MAIN_SHARD_NAMESPACE, + 'getGameSummaryLcuFormat', + gameId, + sgpServerId + ) + } + + getSpectatorGameflow(puuid: string, sgpServerId?: string) { + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'getSpectatorGameflow', puuid, sgpServerId) + } + + async onInit() { + const store = useSgpStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + } +} diff --git a/src/renderer-shared/shards/sgp/store.ts b/src/renderer-shared/shards/sgp/store.ts new file mode 100644 index 00000000..793cb05b --- /dev/null +++ b/src/renderer-shared/shards/sgp/store.ts @@ -0,0 +1,34 @@ +import { AvailableServersMap } from '@shared/data-sources/sgp' +import { defineStore } from 'pinia' +import { shallowRef } from 'vue' + +export const useSgpStore = defineStore('shard:sgp-renderer', () => { + const availability = shallowRef<{ + region: string + rsoPlatform: string + sgpServerId: string + serversSupported: { + matchHistory: boolean + common: boolean + } + sgpServers: AvailableServersMap + }>({ + region: '', + rsoPlatform: '', + sgpServerId: '', + serversSupported: { + matchHistory: false, + common: false + }, + sgpServers: { + servers: {}, + tencentServerMatchHistoryInteroperability: [], + tencentServerSpectatorInteroperability: [], + tencentServerSummonerInteroperability: [] + } + }) + + return { + availability + } +}) diff --git a/src/renderer-shared/shards/window-manager/index.ts b/src/renderer-shared/shards/window-manager/index.ts new file mode 100644 index 00000000..11b5dda3 --- /dev/null +++ b/src/renderer-shared/shards/window-manager/index.ts @@ -0,0 +1,140 @@ +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' + +import { AkariIpcRenderer } from '../ipc' +import { LoggerRenderer } from '../logger' +import { PiniaMobxUtilsRenderer } from '../pinia-mobx-utils' +import { SettingUtilsRenderer } from '../setting-utils' +import { useWindowManagerStore } from './store' + +const MAIN_SHARD_NAMESPACE = 'window-manager-main' + +export class WindowManagerRenderer implements IAkariShardInitDispose { + static id = 'window-manager-renderer' + static dependencies = [ + 'setting-utils-renderer', + 'akari-ipc-renderer', + 'pinia-mobx-utils-renderer', + 'logger-renderer' + ] + + private readonly _setting: SettingUtilsRenderer + private readonly _ipc: AkariIpcRenderer + private readonly _pm: PiniaMobxUtilsRenderer + private readonly _log: LoggerRenderer + + constructor(deps: any) { + this._setting = deps['setting-utils-renderer'] + this._ipc = deps['akari-ipc-renderer'] + this._pm = deps['pinia-mobx-utils-renderer'] + this._log = deps['logger-renderer'] + } + + async onInit() { + const store = useWindowManagerStore() + + this._pm.sync(MAIN_SHARD_NAMESPACE, 'state', store) + this._pm.sync(MAIN_SHARD_NAMESPACE, 'settings', store.settings) + } + + onAskClose(fn: (...args: any[]) => void) { + return this._ipc.onEventVue(MAIN_SHARD_NAMESPACE, 'main-window-close-asking', fn) + } + + maximizeMainWindow() { + this._log.info(WindowManagerRenderer.id, '最大化主窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/maximize') + } + + minimizeMainWindow() { + this._log.info(WindowManagerRenderer.id, '最小化主窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/minimize') + } + + restoreMainWindow() { + this._log.info(WindowManagerRenderer.id, '恢复主窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/restore') + } + + closeMainWindow(strategy?: string) { + this._log.info(WindowManagerRenderer.id, '关闭主窗口', `策略: ${strategy || '[NONE]'}`) + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/close', strategy) + } + + toggleMainWindowDevtools() { + this._log.info(WindowManagerRenderer.id, '切换主窗口开发者工具') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/toggleDevtools') + } + + hideMainWindow() { + this._log.info(WindowManagerRenderer.id, '隐藏主窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/hide') + } + + showMainWindow() { + this._log.info(WindowManagerRenderer.id, '显示主窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/show') + } + + minimizeAuxWindow() { + this._log.info(WindowManagerRenderer.id, '最小化辅助窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'aux-window/minimize') + } + + restoreAuxWindow() { + this._log.info(WindowManagerRenderer.id, '恢复辅助窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'aux-window/restore') + } + + hideAuxWindow() { + this._log.info(WindowManagerRenderer.id, '隐藏辅助窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'aux-window/hide') + } + + showAuxWindow() { + this._log.info(WindowManagerRenderer.id, '显示辅助窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'aux-window/show') + } + + resetAuxWindowPosition() { + this._log.info(WindowManagerRenderer.id, '重置辅助窗口位置') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'aux-window/resetWindowPosition') + } + + setFunctionality(functionality: string) { + this._log.info(WindowManagerRenderer.id, '设置辅助窗口功能', functionality) + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'aux-window/setFunctionality', functionality) + } + + unmaximizeMainWindow() { + this._log.info(WindowManagerRenderer.id, '取消最大化主窗口') + return this._ipc.call(MAIN_SHARD_NAMESPACE, 'main-window/unmaximize') + } + + setMainWindowCloseAction(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'mainWindowCloseAction', value) + } + + setAuxWindowAutoShow(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'auxWindowAutoShow', value) + } + + setAuxWindowEnabled(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'auxWindowEnabled', value) + } + + setAuxWindowOpacity(value: number) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'auxWindowOpacity', value) + } + + setAuxWindowPinned(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'auxWindowPinned', value) + } + + setAuxWindowShowSkinSelector(value: boolean) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'auxWindowShowSkinSelector', value) + } + + setAuxWindowZoomFactor(value: number) { + return this._setting.set(MAIN_SHARD_NAMESPACE, 'auxWindowZoomFactor', value) + } +} diff --git a/src/renderer-shared/shards/window-manager/store.ts b/src/renderer-shared/shards/window-manager/store.ts new file mode 100644 index 00000000..6665b857 --- /dev/null +++ b/src/renderer-shared/shards/window-manager/store.ts @@ -0,0 +1,37 @@ +import { defineStore } from 'pinia' +import { ref, shallowReactive } from 'vue' + +// copied +export type MainWindowCloseAction = 'minimize-to-tray' | 'quit' | 'ask' + +export const useWindowManagerStore = defineStore('shard:window-manager-renderer', () => { + const settings = shallowReactive({ + mainWindowCloseAction: 'ask' as MainWindowCloseAction, + auxWindowEnabled: true, + auxWindowAutoShow: true, + auxWindowOpacity: 0.9, + auxWindowPinned: true, + auxWindowShowSkinSelector: false, + auxWindowZoomFactor: 1.0 + }) + + const mainWindowStatus = ref('normal') + const mainWindowFocus = ref('focused') + const mainWindowShow = ref(true) + + const auxWindowStatus = ref('normal') + const auxWindowFocus = ref('focused') + const auxWindowShow = ref(true) + const auxWindowFunctionality = ref('indicator') + + return { + settings, + mainWindowStatus, + mainWindowFocus, + mainWindowShow, + auxWindowStatus, + auxWindowFocus, + auxWindowShow, + auxWindowFunctionality + } +}) diff --git a/src/renderer/src-auxiliary-window/main.ts b/src/renderer/src-auxiliary-window/main.ts index a4ef9074..716deb7f 100644 --- a/src/renderer/src-auxiliary-window/main.ts +++ b/src/renderer/src-auxiliary-window/main.ts @@ -1,4 +1,11 @@ -import { appRendererModule as am } from '@renderer-shared/modules/app' +import { AkariIpcRenderer } from '@renderer-shared/shards/ipc' +import { LeagueClientRenderer } from '@renderer-shared/shards/league-client' +import { LoggerRenderer } from '@renderer-shared/shards/logger' +import { PiniaMobxUtilsRenderer } from '@renderer-shared/shards/pinia-mobx-utils' +import { RiotClientRenderer } from '@renderer-shared/shards/riot-client' +import { SettingUtilsRenderer } from '@renderer-shared/shards/setting-utils' +import { WindowManagerRenderer } from '@renderer-shared/shards/window-manager' +import { AkariManager } from '@shared/akari-shard/manager' import dayjs from 'dayjs' import 'dayjs/locale/zh-cn' import duration from 'dayjs/plugin/duration' @@ -9,7 +16,6 @@ import { createApp } from 'vue' import NaiveUIProviderApp from './NaiveUIProviderApp.vue' import './assets/css/styles.less' -import { setupLeagueAkariRendererModules } from './modules' import { router } from './routes' dayjs.extend(relativeTime) @@ -19,14 +25,30 @@ const app = createApp(NaiveUIProviderApp) app.use(router) app.use(createPinia()) +const manager = new AkariManager() + +app.provide('shard-manager', manager) + +manager.use( + LeagueClientRenderer, + RiotClientRenderer, + SettingUtilsRenderer, + AkariIpcRenderer, + PiniaMobxUtilsRenderer, + LoggerRenderer, + WindowManagerRenderer +) + try { - await setupLeagueAkariRendererModules() -} catch (error) { - console.error('League Akari 无法正确加载:', error) -} finally { + await manager.setup() + + const logger = manager.getInstance('logger-renderer') as LoggerRenderer + app.config.errorHandler = (err, instance, info) => { - am.logger.error(info, err) + logger.error('Vue', err, instance, info) console.error('Vue Error:', err, instance, info) } app.mount('#app') +} catch (error) { + console.error('League Akari 无法正确加载:', error) } diff --git a/src/renderer/src-auxiliary-window/views/opgg/OpggTier.vue b/src/renderer/src-auxiliary-window/views/opgg/OpggTier.vue index 818216f3..5b18b86f 100644 --- a/src/renderer/src-auxiliary-window/views/opgg/OpggTier.vue +++ b/src/renderer/src-auxiliary-window/views/opgg/OpggTier.vue @@ -1,694 +1,695 @@ - - - - - - - + + + + + + + diff --git a/src/renderer/src-main-window/App.vue b/src/renderer/src-main-window/App.vue index c0663aaa..54bfabb9 100644 --- a/src/renderer/src-main-window/App.vue +++ b/src/renderer/src-main-window/App.vue @@ -14,16 +14,15 @@ - - - - + + + + + + + diff --git a/src/renderer/src-main-window/components/PlayerTagEditModal.vue b/src/renderer/src-main-window/components/PlayerTagEditModal.vue index 382f5856..9b0b39d9 100644 --- a/src/renderer/src-main-window/components/PlayerTagEditModal.vue +++ b/src/renderer/src-main-window/components/PlayerTagEditModal.vue @@ -35,10 +35,9 @@ import LcuImage from '@renderer-shared/components/LcuImage.vue' import { getSummonerByPuuid } from '@renderer-shared/http-api/summoner' import { coreFunctionalityRendererModule as cfm } from '@renderer-shared/modules/core-functionality' import { SavedPlayerInfo } from '@renderer-shared/modules/core-functionality/store' -import { useLcuConnectionStore } from '@renderer-shared/modules/lcu-connection/store' -import { useSummonerStore } from '@renderer-shared/modules/lcu-state-sync/summoner' import { storageRendererModule as sm } from '@renderer-shared/modules/storage' import { laNotification } from '@renderer-shared/notification' +import { useLeagueClientStore } from '@renderer-shared/shards/league-client/store' import { SummonerInfo } from '@shared/types/lcu/summoner' import { summonerName } from '@shared/utils/name' import { NButton, NInput, NModal } from 'naive-ui' @@ -49,7 +48,7 @@ const show = defineModel('show', { default: false }) const summonerInfo = shallowRef(null) const savedInfo = shallowRef(null) -const lc = useLcuConnectionStore() +const lc = useLeagueClientStore() const inputEl = useTemplateRef('input') @@ -62,7 +61,7 @@ const props = defineProps<{ }>() watch([() => show.value, () => props.puuid], async ([sh, puuid]) => { - if (!puuid || !lc.auth || !summoner.me) { + if (!puuid || !lc.auth || !lc.summoner.me) { summonerInfo.value = null return } @@ -73,7 +72,7 @@ watch([() => show.value, () => props.puuid], async ([sh, puuid]) => { summonerInfo.value = s const p = await sm.querySavedPlayerWithGames({ - selfPuuid: summoner.me.puuid, + selfPuuid: lc.summoner.me.puuid, puuid: props.puuid, region: lc.auth.region, rsoPlatformId: lc.auth.rsoPlatformId @@ -97,17 +96,16 @@ watch([() => show.value, () => summonerInfo.value], ([s, u]) => { } }) -const summoner = useSummonerStore() const text = ref('') const handleSaveTag = async () => { - if (!lc.auth || !summoner.me || !props.puuid) { + if (!lc.auth || !lc.summoner.me || !props.puuid) { return } try { await cfm.saveSavedPlayer({ - selfPuuid: summoner.me.puuid, + selfPuuid: lc.summoner.me.puuid, puuid: props.puuid, region: lc.auth.region, rsoPlatformId: lc.auth.rsoPlatformId, diff --git a/src/renderer/src-main-window/components/UpdateModal.vue b/src/renderer/src-main-window/components/UpdateModal.vue index cfff89c1..fb533a9a 100644 --- a/src/renderer/src-main-window/components/UpdateModal.vue +++ b/src/renderer/src-main-window/components/UpdateModal.vue @@ -4,36 +4,36 @@ size="small" preset="card" v-model:show="show" - :class="styles['settings-modal']" + :class="$style['settings-modal']" > -

+
- 新版本可用:{{ au.newUpdates.releaseVersion }} (当前版本:{{ - au.newUpdates.currentVersion + 新版本可用:{{ sus.newUpdates.releaseVersion }} (当前版本:{{ + sus.newUpdates.currentVersion }})
-
当前版本:{{ au.newUpdates.currentVersion }}
+
当前版本:{{ sus.newUpdates.currentVersion }}
- {{ au.newUpdates.source === 'github' ? 'Github' : 'Gitee' }} 发布页面{{ sus.newUpdates.source === 'github' ? 'Github' : 'Gitee' }} 发布页面 {{ au.newUpdates.source === 'github' ? 'Github' : 'Gitee' }} 下载{{ sus.newUpdates.source === 'github' ? 'Github' : 'Gitee' }} 下载
@@ -43,23 +43,22 @@ + + + + + diff --git a/src/renderer/src-main-window/components/settings-modal/GeneralSettings.vue b/src/renderer/src-main-window/components/settings-modal/GeneralSettings.vue index a7ab142e..da1c839a 100644 --- a/src/renderer/src-main-window/components/settings-modal/GeneralSettings.vue +++ b/src/renderer/src-main-window/components/settings-modal/GeneralSettings.vue @@ -199,6 +199,7 @@ const matchHistorySourceOptions = [ } .card-header-title.disabled { - color: rgb(97, 97, 97); + color: rgba(255, 255, 255, 0.35); } + diff --git a/src/renderer/src-main-window/components/settings-modal/OngoingGameSettings.vue b/src/renderer/src-main-window/components/settings-modal/OngoingGameSettings.vue index 8dcdb4d7..fafff851 100644 --- a/src/renderer/src-main-window/components/settings-modal/OngoingGameSettings.vue +++ b/src/renderer/src-main-window/components/settings-modal/OngoingGameSettings.vue @@ -10,20 +10,8 @@ > - - - + + + + + + + 所有模式 + 当前模式 + + - + + + +
diff --git a/src/renderer/src-main-window/components/settings-modal/SettingsModal.vue b/src/renderer/src-main-window/components/settings-modal/SettingsModal.vue index e7130d8d..08472511 100644 --- a/src/renderer/src-main-window/components/settings-modal/SettingsModal.vue +++ b/src/renderer/src-main-window/components/settings-modal/SettingsModal.vue @@ -27,9 +27,9 @@ import DebugSettings from './DebugSettings.vue' import GeneralSettings from './GeneralSettings.vue' import OngoingGameSettings from './OngoingGameSettings.vue' -const styles = useCssModule() -const show = defineModel('show', { default: false }) +const styles = (useCssModule as any)() +const show = defineModel('show', { default: false }) const tabName = defineModel('tabName', { default: 'basic' }) diff --git a/src/renderer/src-main-window/main.ts b/src/renderer/src-main-window/main.ts index 5a587a78..63b751ce 100644 --- a/src/renderer/src-main-window/main.ts +++ b/src/renderer/src-main-window/main.ts @@ -1,9 +1,14 @@ +import { AppCommonRenderer } from '@renderer-shared/shards/app-common' import { AkariIpcRenderer } from '@renderer-shared/shards/ipc' import { LeagueClientRenderer } from '@renderer-shared/shards/league-client' +import { LeagueClientUxRenderer } from '@renderer-shared/shards/league-client-ux' import { LoggerRenderer } from '@renderer-shared/shards/logger' import { PiniaMobxUtilsRenderer } from '@renderer-shared/shards/pinia-mobx-utils' import { RiotClientRenderer } from '@renderer-shared/shards/riot-client' -import { SettingUtilsRenderer } from '@renderer-shared/shards/setting' +import { SelfUpdateRenderer } from '@renderer-shared/shards/self-update' +import { SettingUtilsRenderer } from '@renderer-shared/shards/setting-utils' +import { SgpRenderer } from '@renderer-shared/shards/sgp' +import { WindowManagerRenderer } from '@renderer-shared/shards/window-manager' import { AkariManager } from '@shared/akari-shard/manager' import dayjs from 'dayjs' import 'dayjs/locale/zh-cn' @@ -29,12 +34,17 @@ const manager = new AkariManager() app.provide('shard-manager', manager) manager.use( + AkariIpcRenderer, + AppCommonRenderer, LeagueClientRenderer, + LeagueClientUxRenderer, + LoggerRenderer, + PiniaMobxUtilsRenderer, RiotClientRenderer, + SelfUpdateRenderer, SettingUtilsRenderer, - AkariIpcRenderer, - PiniaMobxUtilsRenderer, - LoggerRenderer + SgpRenderer, + WindowManagerRenderer ) try { diff --git a/src/renderer/src-main-window/shards/match-history-tabs/index.ts b/src/renderer/src-main-window/shards/match-history-tabs/index.ts new file mode 100644 index 00000000..0c433cd5 --- /dev/null +++ b/src/renderer/src-main-window/shards/match-history-tabs/index.ts @@ -0,0 +1,62 @@ +import { SettingUtilsRenderer } from '@renderer-shared/shards/setting-utils' +import { IAkariShardInitDispose } from '@shared/akari-shard/interface' +import { effectScope, watch } from 'vue' + +import { useMatchHistoryTabsStore } from './store' + +export class MatchHistoryTabsRenderer implements IAkariShardInitDispose { + static id = 'match-history-tabs-renderer' + static dependencies = ['setting-utils-renderer'] + + private readonly _setting: SettingUtilsRenderer + + constructor(deps: any) { + this._setting = deps['setting-utils-renderer'] + } + + private _scope = effectScope() + + async onInit() { + await this._handleSettings() + } + + async onDispose() { + this._scope.stop() + } + + /** + * 一些设置项仅在渲染进程中使用, 主进程并不需要 + * 由于使用到的地方比较少, 目前先手动同步 + */ + private async _handleSettings() { + const store = useMatchHistoryTabsStore() + + store.settings.refreshTabsAfterGameEnds = await this._setting.get( + MatchHistoryTabsRenderer.id, + 'refreshTabsAfterGameEnds', + store.settings.refreshTabsAfterGameEnds + ) + + store.settings.matchHistoryUseSgpApi = await this._setting.get( + MatchHistoryTabsRenderer.id, + 'matchHistoryUseSgpApi', + store.settings.matchHistoryUseSgpApi + ) + + this._scope.run(() => { + watch( + () => store.settings.refreshTabsAfterGameEnds, + async (newValue) => { + await this._setting.set(MatchHistoryTabsRenderer.id, 'refreshTabsAfterGameEnds', newValue) + } + ) + + watch( + () => store.settings.matchHistoryUseSgpApi, + async (newValue) => { + await this._setting.set(MatchHistoryTabsRenderer.id, 'matchHistoryUseSgpApi', newValue) + } + ) + }) + } +} diff --git a/src/renderer/src-main-window/shards/match-history-tabs/store.ts b/src/renderer/src-main-window/shards/match-history-tabs/store.ts new file mode 100644 index 00000000..4433ac36 --- /dev/null +++ b/src/renderer/src-main-window/shards/match-history-tabs/store.ts @@ -0,0 +1,20 @@ +import { defineStore } from 'pinia' +import { shallowReactive } from 'vue' + +export const useMatchHistoryTabsStore = defineStore('shard:match-history-tabs-renderer', () => { + const settings = shallowReactive({ + /** + * 游戏结束后刷新涉及到的页面卡 + */ + refreshTabsAfterGameEnds: true, + + /** + * 优先使用 SGP API 查询战绩 + */ + matchHistoryUseSgpApi: true + }) + + return { + settings + } +}) diff --git a/src/renderer/src-main-window/views/automation/AutoGameflow.vue b/src/renderer/src-main-window/views/automation/AutoGameflow.vue index cb82c553..b71aa8d0 100644 --- a/src/renderer/src-main-window/views/automation/AutoGameflow.vue +++ b/src/renderer/src-main-window/views/automation/AutoGameflow.vue @@ -10,8 +10,8 @@ :label-width="200" > @@ -23,8 +23,8 @@ > @@ -54,8 +54,8 @@ 自动点赞 以完成点赞投票阶段 @@ -97,20 +97,20 @@ :label-width="200" > @@ -151,8 +151,8 @@ :label-width="200" > @@ -168,18 +168,18 @@ class="control-item-margin" label="退出匹配时间 (s)" :label-description=" - agf.settings.autoMatchmakingRematchStrategy !== 'fixed-duration' + store.settings.autoMatchmakingRematchStrategy !== 'fixed-duration' ? `该选项仅当停止匹配策略为固定时间时生效` : `在超过该时间后,将停止匹配,单位为秒` " - :disabled="agf.settings.autoMatchmakingRematchStrategy !== 'fixed-duration'" + :disabled="store.settings.autoMatchmakingRematchStrategy !== 'fixed-duration'" :label-width="200" > @@ -206,8 +206,8 @@ :label-width="200" > @@ -263,8 +263,9 @@ diff --git a/src/renderer/src-main-window/views/automation/AutoMisc.vue b/src/renderer/src-main-window/views/automation/AutoMisc.vue index a3a74f79..4812c938 100644 --- a/src/renderer/src-main-window/views/automation/AutoMisc.vue +++ b/src/renderer/src-main-window/views/automation/AutoMisc.vue @@ -43,11 +43,13 @@ + + + + + diff --git a/src/renderer/src-main-window/views/ongoing-game/PlayerInfoCard.vue b/src/renderer/src-main-window/views/ongoing-game/PlayerInfoCard.vue index d00c07b9..a16dbd99 100644 --- a/src/renderer/src-main-window/views/ongoing-game/PlayerInfoCard.vue +++ b/src/renderer/src-main-window/views/ongoing-game/PlayerInfoCard.vue @@ -1,1123 +1,1124 @@ - - - - - + + + + + diff --git a/src/renderer/src-main-window/views/ongoing-game/ongoing-game-utils.ts b/src/renderer/src-main-window/views/ongoing-game/ongoing-game-utils.ts index 26411954..0e98a513 100644 --- a/src/renderer/src-main-window/views/ongoing-game/ongoing-game-utils.ts +++ b/src/renderer/src-main-window/views/ongoing-game/ongoing-game-utils.ts @@ -1,258 +1,247 @@ -import { useLcuConnectionStore } from '@renderer-shared/modules/lcu-connection/store' -import { useChampSelectStore } from '@renderer-shared/modules/lcu-state-sync/champ-select' -import { useGameDataStore } from '@renderer-shared/modules/lcu-state-sync/game-data' -import { useGameflowStore } from '@renderer-shared/modules/lcu-state-sync/gameflow' -import { InjectionKey, computed } from 'vue' - -import BronzeMedal from '@main-window/assets/ranked-icons/bronze.png' -import ChallengerMedal from '@main-window/assets/ranked-icons/challenger.png' -import DiamondMedal from '@main-window/assets/ranked-icons/diamond.png' -import EmeraldMedal from '@main-window/assets/ranked-icons/emerald.png' -import GoldMedal from '@main-window/assets/ranked-icons/gold.png' -import GrandmasterMedal from '@main-window/assets/ranked-icons/grandmaster.png' -import IronMedal from '@main-window/assets/ranked-icons/iron.png' -import MasterMedal from '@main-window/assets/ranked-icons/master.png' -import PlatinumMedal from '@main-window/assets/ranked-icons/platinum.png' -import SilverMedal from '@main-window/assets/ranked-icons/silver.png' - -export const RANKED_MEDAL_MAP: Record = { - IRON: IronMedal, - BRONZE: BronzeMedal, - SILVER: SilverMedal, - GOLD: GoldMedal, - PLATINUM: PlatinumMedal, - EMERALD: EmeraldMedal, - DIAMOND: DiamondMedal, - MASTER: MasterMedal, - GRANDMASTER: GrandmasterMedal, - CHALLENGER: ChallengerMedal -} - -export const POSITION_ASSIGNMENT_REASON = { - FILL_SECONDARY: { - name: '副选补位', - color: '#82613b', - foregroundColor: '#ffffff' - }, - FILL_PRIMARY: { - name: '主选补位', - color: '#5b4694', - foregroundColor: '#ffffff' - }, - PRIMARY: { - name: '主选', - color: '#5b4694', - foregroundColor: '#ffffff' - }, - SECONDARY: { - name: '副选', - color: '#5b4694', - foregroundColor: '#ffffff' - }, - AUTOFILL: { - name: '系统补位', - color: '#944646', - foregroundColor: '#ffffff' - } -} - -export function useQueueOptions() { - const gameData = useGameDataStore() - - return computed(() => { - return [ - { - label: '当前队列', - value: -10 - }, - { - label: '全部队列', - value: -20 - }, - { - label: gameData.queues[420]?.name || 'Ranked Solo/Duo', - value: 420 - }, - { - label: gameData.queues[430]?.name || 'Normal', - value: 430 - }, - { - label: gameData.queues[440]?.name || 'Ranked Flex', - value: 440 - }, - { - label: gameData.queues[450]?.name || 'ARAM', - value: 450 - }, - - { - label: gameData.queues[1700]?.name || 'ARENA', - value: 1700 - }, - { - label: gameData.queues[490]?.name || 'Quickplay', - value: 490 - }, - { - label: gameData.queues[1900]?.name || 'URF', - value: 1900 - }, - { - label: gameData.queues[900]?.name || 'ARURF', - value: 900 - } - ] - }) -} - -export function useOrderOptions() { - return [ - { - label: '楼层顺序', - value: 'default' - }, - { - label: '胜率降序', - value: 'win-rate' - }, - { - label: 'KDA 降序', - value: 'kda' - }, - { - label: '评分降序', - value: 'akari-score' - } - ] -} - -export function useIdleState() { - const gameflow = useGameflowStore() - const champSelect = useChampSelectStore() - const lc = useLcuConnectionStore() - - return computed(() => { - return ( - gameflow.phase === 'Lobby' || - gameflow.phase === 'None' || - gameflow.phase === 'Matchmaking' || - gameflow.phase === 'ReadyCheck' || - gameflow.phase === 'WatchInProgress' || - (gameflow.phase !== 'InProgress' && - champSelect.session && - champSelect.session.isSpectating) || - lc.state !== 'connected' - ) - }) -} - -export interface TeamMeta { - name: string - side: number // 100 和 200 代表红色方和蓝色方, -1 代表未知 -} - -export const TEAM_NAMES: Record = { - '100': { - name: '蓝队', - side: 100 - }, - '200': { - name: '红队', - side: 200 - }, - our: { - name: '我方', - side: -1 - }, - their: { - name: '敌方', - side: -1 - }, - 'our-1': { - name: '我方 (蓝队)', - side: 100 - }, - 'our-2': { - name: '我方 (红队)', - side: 200 - }, - 'their-1': { - name: '敌方 (蓝队)', - side: 100 - }, - 'their-2': { - name: '敌方 (红队)', - side: 200 - } -} - -export const CHINESE_NUMBERS = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] -export const ENGLISH_NUMBERS = [ - '1st', - '2nd', - '3rd', - '4th', - '5th', - '6th', - '7th', - '8th', - '9th', - '10th' -] - -export const POSITION_NAMES = { - AUTOFILL: '无', - FILL_PRIMARY: '主选补位', - FILL_SECONDARY: '副选补位', - FILL: '补位', - UNSELECTED: '未选择', - BOTTOM: '下路', - JUNGLE: '打野', - MIDDLE: '中路', - UTILITY: '辅助' -} - -export const PRE_MADE_TEAMS = [ - 'A', - 'B', - 'C', - 'D', - 'E', - 'F', - 'G', - 'H', - 'I', - 'J', - 'K', - 'L', - 'M', - 'N', - 'O', - 'P', - 'Q', - 'R', - 'S', - 'T', - 'U', - 'V', - 'W', - 'X', - 'Y', - 'Z' -] - -export const PRE_MADE_TEAM_COLORS = { - A: { foregroundColor: '#da2e80', color: '#fff' }, - B: { foregroundColor: '#17d628', color: '#000' }, - C: { foregroundColor: '#628aff', color: '#000' }, - D: { foregroundColor: '#17c1d6', color: '#000' }, - E: { foregroundColor: '#d4de17', color: '#000' }, - F: { foregroundColor: '#b517b5', color: '#ff' }, - G: { foregroundColor: '#48e5db', color: '#000' }, - H: { foregroundColor: '#d63a17', color: '#fff' } -} - -export const FIXED_CARD_WIDTH_PX_LITERAL = '240px' - -export const ONGOING_GAME_COMP_K = Symbol('AKARI_OGC_IJK') as InjectionKey +import { useLeagueClientStore } from '@renderer-shared/shards/league-client/store' +import { computed } from 'vue' + +import BronzeMedal from '@main-window/assets/ranked-icons/bronze.png' +import ChallengerMedal from '@main-window/assets/ranked-icons/challenger.png' +import DiamondMedal from '@main-window/assets/ranked-icons/diamond.png' +import EmeraldMedal from '@main-window/assets/ranked-icons/emerald.png' +import GoldMedal from '@main-window/assets/ranked-icons/gold.png' +import GrandmasterMedal from '@main-window/assets/ranked-icons/grandmaster.png' +import IronMedal from '@main-window/assets/ranked-icons/iron.png' +import MasterMedal from '@main-window/assets/ranked-icons/master.png' +import PlatinumMedal from '@main-window/assets/ranked-icons/platinum.png' +import SilverMedal from '@main-window/assets/ranked-icons/silver.png' + +export const RANKED_MEDAL_MAP: Record = { + IRON: IronMedal, + BRONZE: BronzeMedal, + SILVER: SilverMedal, + GOLD: GoldMedal, + PLATINUM: PlatinumMedal, + EMERALD: EmeraldMedal, + DIAMOND: DiamondMedal, + MASTER: MasterMedal, + GRANDMASTER: GrandmasterMedal, + CHALLENGER: ChallengerMedal +} + +export const POSITION_ASSIGNMENT_REASON = { + FILL_SECONDARY: { + name: '副选补位', + color: '#82613b', + foregroundColor: '#ffffff' + }, + FILL_PRIMARY: { + name: '主选补位', + color: '#5b4694', + foregroundColor: '#ffffff' + }, + PRIMARY: { + name: '主选', + color: '#5b4694', + foregroundColor: '#ffffff' + }, + SECONDARY: { + name: '副选', + color: '#5b4694', + foregroundColor: '#ffffff' + }, + AUTOFILL: { + name: '系统补位', + color: '#944646', + foregroundColor: '#ffffff' + } +} + +export function useSgpTagOptions() { + const lc = useLeagueClientStore() + + return computed(() => { + return [ + { + label: '全部队列', + value: 'all' + }, + { + label: lc.gameData.queues[420]?.name || 'Ranked Solo/Duo', + value: `q_420` + }, + { + label: lc.gameData.queues[430]?.name || 'Normal', + value: `q_430` + }, + { + label: lc.gameData.queues[440]?.name || 'Ranked Flex', + value: `q_440` + }, + { + label: lc.gameData.queues[450]?.name || 'ARAM', + value: `q_450` + }, + + { + label: lc.gameData.queues[1700]?.name || 'ARENA', + value: 'q_1700' + }, + { + label: lc.gameData.queues[490]?.name || 'Quickplay', + value: `q_490` + }, + { + label: lc.gameData.queues[1900]?.name || 'URF', + value: `q_1900` + }, + { + label: lc.gameData.queues[900]?.name || 'ARURF', + value: `q_900` + } + ] + }) +} + +export function useOrderOptions() { + return [ + { + label: '楼层顺序', + value: 'default' + }, + { + label: '胜率降序', + value: 'win-rate' + }, + { + label: 'KDA 降序', + value: 'kda' + }, + { + label: '评分降序', + value: 'akari-score' + } + ] +} + +export function useIdleState() { + const lc = useLeagueClientStore() + + return computed(() => { + return ( + lc.gameflow.phase === 'Lobby' || + lc.gameflow.phase === 'None' || + lc.gameflow.phase === 'Matchmaking' || + lc.gameflow.phase === 'ReadyCheck' || + lc.gameflow.phase === 'WatchInProgress' || + (lc.gameflow.phase !== 'InProgress' && + lc.champSelect.session && + lc.champSelect.session.isSpectating) || + lc.connectionState !== 'connected' + ) + }) +} + +export interface TeamMeta { + name: string + side: number // 100 和 200 代表红色方和蓝色方, -1 代表未知 +} + +export const TEAM_NAMES: Record = { + '100': { + name: '蓝队', + side: 100 + }, + '200': { + name: '红队', + side: 200 + }, + our: { + name: '我方', + side: -1 + }, + their: { + name: '敌方', + side: -1 + }, + 'our-1': { + name: '我方 (蓝队)', + side: 100 + }, + 'our-2': { + name: '我方 (红队)', + side: 200 + }, + 'their-1': { + name: '敌方 (蓝队)', + side: 100 + }, + 'their-2': { + name: '敌方 (红队)', + side: 200 + } +} + +export const CHINESE_NUMBERS = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] +export const ENGLISH_NUMBERS = [ + '1st', + '2nd', + '3rd', + '4th', + '5th', + '6th', + '7th', + '8th', + '9th', + '10th' +] + +export const POSITION_NAMES = { + AUTOFILL: '无', + FILL_PRIMARY: '主选补位', + FILL_SECONDARY: '副选补位', + FILL: '补位', + UNSELECTED: '未选择', + BOTTOM: '下路', + JUNGLE: '打野', + MIDDLE: '中路', + UTILITY: '辅助' +} + +export const PRE_MADE_TEAMS = [ + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z' +] + +export const PREMADE_TEAM_COLORS = { + A: { foregroundColor: '#da2e80', color: '#fff' }, + B: { foregroundColor: '#17d628', color: '#000' }, + C: { foregroundColor: '#628aff', color: '#000' }, + D: { foregroundColor: '#17c1d6', color: '#000' }, + E: { foregroundColor: '#d4de17', color: '#000' }, + F: { foregroundColor: '#b517b5', color: '#ff' }, + G: { foregroundColor: '#48e5db', color: '#000' }, + H: { foregroundColor: '#d63a17', color: '#fff' } +} + +export const FIXED_CARD_WIDTH_PX_LITERAL = '240px' diff --git a/src/renderer/src-main-window/views/toolkit/in-process/ChampionBench.vue b/src/renderer/src-main-window/views/toolkit/in-process/ChampionBench.vue index 9e2dd425..530925a7 100644 --- a/src/renderer/src-main-window/views/toolkit/in-process/ChampionBench.vue +++ b/src/renderer/src-main-window/views/toolkit/in-process/ChampionBench.vue @@ -30,7 +30,7 @@ :key="c.championId" class="champion-image" :class="{ - 'champion-image-invalid': !cs.currentPickableChampionIds.has(c.championId) + 'champion-image-invalid': !lcs.champSelect.currentPickableChampionIds.has(c.championId) }" :src="championIconUrl(c.championId)" @click="() => handleBenchSwap(c.championId)" @@ -42,7 +42,7 @@
- {{ gameflow.phase === 'ChampSelect' ? '当前模式不可用' : '未处于英雄选择过程中' }} + {{ lcs.gameflow.phase === 'ChampSelect' ? '当前模式不可用' : '未处于英雄选择过程中' }}
@@ -50,40 +50,40 @@ - - diff --git a/src/renderer/src-main-window/views/toolkit/misc/ChatAvailability.vue b/src/renderer/src-main-window/views/toolkit/misc/ChatAvailability.vue index 37ff9d9c..69a3ba93 100644 --- a/src/renderer/src-main-window/views/toolkit/misc/ChatAvailability.vue +++ b/src/renderer/src-main-window/views/toolkit/misc/ChatAvailability.vue @@ -9,9 +9,9 @@ > @@ -30,16 +30,19 @@ - - + + + + + diff --git a/src/renderer/src-main-window/views/toolkit/misc/Spectate.vue b/src/renderer/src-main-window/views/toolkit/misc/Spectate.vue index 750ea1d1..62b7a4cd 100644 --- a/src/renderer/src-main-window/views/toolkit/misc/Spectate.vue +++ b/src/renderer/src-main-window/views/toolkit/misc/Spectate.vue @@ -2,9 +2,11 @@ @@ -18,7 +20,7 @@ 调起观战 import ControlItem from '@renderer-shared/components/ControlItem.vue' -import { getFriends } from '@renderer-shared/http-api/chat' -import { deleteLobby } from '@renderer-shared/http-api/lobby' -import { launchSpectator } from '@renderer-shared/http-api/spectator' -import { getSummonerAlias, getSummonerByName } from '@renderer-shared/http-api/summoner' -import { useGameflowStore } from '@renderer-shared/modules/lcu-state-sync/gameflow' -import { useSummonerStore } from '@renderer-shared/modules/lcu-state-sync/summoner' import { laNotification } from '@renderer-shared/notification' +import { useShardInstance } from '@renderer-shared/shards' +import { LeagueClientRenderer } from '@renderer-shared/shards/league-client' +import { useLeagueClientStore } from '@renderer-shared/shards/league-client/store' import { Friend } from '@shared/types/lcu/chat' import { resolveSummonerName } from '@shared/utils/identity' import { summonerName } from '@shared/utils/name' @@ -60,8 +59,8 @@ import { AxiosError } from 'axios' import { NButton, NCard, NDropdown, NInput } from 'naive-ui' import { computed, reactive, ref } from 'vue' -const gameflow = useGameflowStore() -const summoner = useSummonerStore() +const lcs = useLeagueClientStore() +const lc = useShardInstance('league-client-renderer') const spectator = reactive({ summonerIdentity: '', @@ -69,7 +68,7 @@ const spectator = reactive({ }) const handleSpectate = async () => { - if (spectator.isProcessing || gameflow.phase !== 'None') { + if (spectator.isProcessing || lcs.gameflow.phase !== 'None') { return } @@ -81,8 +80,10 @@ const handleSpectate = async () => { targetPuuid = spectator.summonerIdentity } else { try { - if (summoner.newIdSystemEnabled) { - const s = await getSummonerAlias(...resolveSummonerName(spectator.summonerIdentity)) + if (lcs.summoner.me?.tagLine) { + const s = await lc.api.summoner.getSummonerAlias( + ...resolveSummonerName(spectator.summonerIdentity) + ) if (s) { targetPuuid = s.puuid } else { @@ -91,7 +92,7 @@ const handleSpectate = async () => { } else { const { data: { puuid } - } = await getSummonerByName(spectator.summonerIdentity) + } = await lc.api.summoner.getSummonerByName(spectator.summonerIdentity) targetPuuid = puuid } } catch (error) { @@ -103,7 +104,7 @@ const handleSpectate = async () => { } try { - await launchSpectator(targetPuuid) + await lc.api.spectator.launchSpectator(targetPuuid) laNotification.success('观战', '已拉起观战') } catch (error) { @@ -119,14 +120,14 @@ const handleSpectate = async () => { // 一个 PUUID 的版本 const handleSpectatePuuid = async (puuid: string) => { - if (spectator.isProcessing || gameflow.phase !== 'None') { + if (spectator.isProcessing || lcs.gameflow.phase !== 'None') { return } spectator.isProcessing = true try { - await launchSpectator(puuid) + await lc.api.spectator.launchSpectator(puuid) laNotification.success('观战', '已拉起观战') } catch (error) { @@ -148,7 +149,7 @@ const watchableFriendOptions = computed(() => { const handleLoadFriends = async () => { try { - friends.value = (await getFriends()).data + friends.value = (await lc.api.chat.getFriends()).data } catch (error) { console.error('好友列表加载失败', error) } diff --git a/src/renderer/src-main-window/views/toolkit/misc/SummonerProfile.vue b/src/renderer/src-main-window/views/toolkit/misc/SummonerProfile.vue index ef0196a1..4ed11b04 100644 --- a/src/renderer/src-main-window/views/toolkit/misc/SummonerProfile.vue +++ b/src/renderer/src-main-window/views/toolkit/misc/SummonerProfile.vue @@ -53,7 +53,7 @@ size="small" type="primary" @click="isModalShow = true" - :disabled="lc.state !== 'connected'" + :disabled="lcs.connectionState !== 'connected'" >选择 @@ -64,7 +64,7 @@ :label-width="200" > ('league-client-renderer') const currentChampionId = ref() const currentSkinId = ref() const currentAugmentId = ref() const championOptions = computed(() => { - const list = Object.values(gameData.champions).reduce((arr, current) => { + const list = Object.values(lcs.gameData.champions).reduce((arr, current) => { if (current.id === -1) { return arr } @@ -266,7 +260,7 @@ watch( return } - const details = (await getChampDetails(id)).data + const details = (await lc.api.gameData.getChampDetails(id)).data if (details.id !== currentChampionId.value) { return @@ -291,9 +285,9 @@ const handleApplyToProfile = async () => { isProceeding.value = true try { - await setSummonerBackgroundSkin(currentSkinId.value) + await lc.api.summoner.setSummonerBackgroundSkin(currentSkinId.value) if (currentAugmentId.value !== undefined) { - await setSummonerBackgroundAugments(currentAugmentId.value) + await lc.api.summoner.setSummonerBackgroundAugments(currentAugmentId.value) } message.success('成功', { duration: 1000 }) } catch (error) { @@ -335,8 +329,8 @@ const handleRemovePrestigeCrest = async () => { try { isRemovingPrestigeCrest.value = true - const current = await getRegalia() - await updateRegalia({ + const current = await lc.api.regalia.getRegalia() + await lc.api.regalia.updateRegalia({ preferredCrestType: 'prestige', preferredBannerType: current.data.bannerType, selectedPrestigeCrest: FIXED_PRESTIGE_CREST @@ -350,8 +344,6 @@ const handleRemovePrestigeCrest = async () => { } } -const summoner = useSummonerStore() - const isRemovingTokens = ref(false) // Copied from Seraphine: https://github.com/Zzaphkiel/Seraphine const handleRemoveTokens = async () => { @@ -363,7 +355,7 @@ const handleRemoveTokens = async () => { isRemovingTokens.value = true await updatePlayerPreferences({ challengeIds: [], - bannerAccent: (await getMe()).data.lol?.bannerIdSelected + bannerAccent: (await lc.api.chat.getMe()).data.lol?.bannerIdSelected }) message.success('请求成功') } catch (error) { diff --git a/src/shared/akari-shard/manager.ts b/src/shared/akari-shard/manager.ts index 2e97b4df..0a3324cb 100644 --- a/src/shared/akari-shard/manager.ts +++ b/src/shared/akari-shard/manager.ts @@ -116,12 +116,8 @@ export class AkariManager { * @param id 模块 ID * @returns 模块 ID 实例 */ - getInstance(id: string) { - if (!this._instances.has(id)) { - throw new Error(`Shard with id "${id}" does not exist`) - } - - return this._instances.get(id)! + getInstance(id: string) { + return this._instances.get(id) as T | undefined } private _resolve(id: string, visited: Set, stack: string[]) { diff --git a/src/shared/http-api-axios-helper/league-client/chat.ts b/src/shared/http-api-axios-helper/league-client/chat.ts index 8534a0ad..04dbc91a 100644 --- a/src/shared/http-api-axios-helper/league-client/chat.ts +++ b/src/shared/http-api-axios-helper/league-client/chat.ts @@ -1,76 +1,82 @@ -import { ChatMessage, ChatPerson, Conversation, Friend } from '@shared/types/lcu/chat' -import { AxiosInstance } from 'axios' - -export type AvailabilityType = 'chat' | 'mobile' | 'dnd' | 'away' | 'offline' - -export class ChatHttpApi { - constructor(private _http: AxiosInstance) {} - - getFriends() { - return this._http.get('/lol-chat/v1/friends') - } - - getMe() { - return this._http.get('/lol-chat/v1/me') - } - - getConversations() { - return this._http.get('/lol-chat/v1/conversations') - } - - getParticipants(id: string) { - return this._http.get(`/lol-chat/v1/conversations/${id}/participants`) - } - - changeAvailability(availability: AvailabilityType) { - return this._http.put('/lol-chat/v1/me', { - availability, - ...((availability === 'offline' || availability === 'away') && { - lol: { gameStatus: 'outOfGame' } - }), - ...(availability === 'dnd' && { lol: { gameStatus: 'inGame' } }) - }) - } - - // 暂时不了解summonerId有什么用处,经过测试是加不加都行,尽量保持原样 - chatSend( - targetId: number | string, - message: string, - type: string = 'chat', - isHistorical: boolean = false, - summonerId?: number - ) { - return this._http.post(`/lol-chat/v1/conversations/${targetId}/messages`, { - body: message, - fromId: summonerId, - fromPid: '', - fromSummonerId: summonerId ?? 0, - id: targetId, - isHistorical, - timestamp: '', - type - }) - } - - getChatParticipants(chatRoomId: string) { - return this._http.get(`/lol-chat/v1/conversations/${chatRoomId}/participants`) - } - - changeRanked(rankedLeagueQueue: string, rankedLeagueTier: string, rankedLeagueDivision?: string) { - return this._http.put('/lol-chat/v1/me', { - lol: { - rankedLeagueQueue, - rankedLeagueTier, - rankedLeagueDivision - } - }) - } - - friendRequests(gameName: string, tagLine: string) { - return this._http.post('/lol-chat/v2/friend-requests', { - gameName, - tagLine, - gameTag: tagLine - }) - } -} +import { ChatMessage, ChatPerson, Conversation, Friend } from '@shared/types/lcu/chat' +import { AxiosInstance } from 'axios' + +export type AvailabilityType = 'chat' | 'mobile' | 'dnd' | 'away' | 'offline' + +export class ChatHttpApi { + constructor(private _http: AxiosInstance) {} + + getFriends() { + return this._http.get('/lol-chat/v1/friends') + } + + getMe() { + return this._http.get('/lol-chat/v1/me') + } + + getConversations() { + return this._http.get('/lol-chat/v1/conversations') + } + + getParticipants(id: string) { + return this._http.get(`/lol-chat/v1/conversations/${id}/participants`) + } + + changeAvailability(availability: AvailabilityType) { + return this._http.put('/lol-chat/v1/me', { + availability, + ...((availability === 'offline' || availability === 'away') && { + lol: { gameStatus: 'outOfGame' } + }), + ...(availability === 'dnd' && { lol: { gameStatus: 'inGame' } }) + }) + } + + // 暂时不了解summonerId有什么用处,经过测试是加不加都行,尽量保持原样 + chatSend( + targetId: number | string, + message: string, + type: string = 'chat', + isHistorical: boolean = false, + summonerId?: number + ) { + return this._http.post(`/lol-chat/v1/conversations/${targetId}/messages`, { + body: message, + fromId: summonerId, + fromPid: '', + fromSummonerId: summonerId ?? 0, + id: targetId, + isHistorical, + timestamp: '', + type + }) + } + + getChatParticipants(chatRoomId: string) { + return this._http.get(`/lol-chat/v1/conversations/${chatRoomId}/participants`) + } + + changeRanked(rankedLeagueQueue: string, rankedLeagueTier: string, rankedLeagueDivision?: string) { + return this._http.put('/lol-chat/v1/me', { + lol: { + rankedLeagueQueue, + rankedLeagueTier, + rankedLeagueDivision + } + }) + } + + friendRequests(gameName: string, tagLine: string) { + return this._http.post('/lol-chat/v2/friend-requests', { + gameName, + tagLine, + gameTag: tagLine + }) + } + + setChatStatusMessage(message: string) { + return this._http.put('/lol-chat/v1/me', { + statusMessage: message + }) + } +} diff --git a/src/shared/http-api-axios-helper/league-client/game-data.ts b/src/shared/http-api-axios-helper/league-client/game-data.ts index b0de7b50..6d4cc552 100644 --- a/src/shared/http-api-axios-helper/league-client/game-data.ts +++ b/src/shared/http-api-axios-helper/league-client/game-data.ts @@ -1,57 +1,62 @@ -import { - Augment, - ChampDetails, - ChampionSimple, - GameMap, - GameMapAsset, - Item, - Perk, - Perkstyles, - Queue, - SummonerSpell -} from '@shared/types/lcu/game-data' -import { AxiosInstance } from 'axios' - -export class GameDataHttpApi { - constructor(private _http: AxiosInstance) {} - - getSummonerSpells() { - return this._http.get('/lol-game-data/assets/v1/summoner-spells.json') - } - - getPerkstyles() { - return this._http.get('/lol-game-data/assets/v1/perkstyles.json') - } - - getItems() { - return this._http.get('/lol-game-data/assets/v1/items.json') - } - - getChampionSummary() { - return this._http.get('/lol-game-data/assets/v1/champion-summary.json') - } - - getMaps() { - return this._http.get('/lol-game-data/assets/v1/maps.json') - } - - getPerks() { - return this._http.get('/lol-game-data/assets/v1/perks.json') - } - - getQueues() { - return this._http.get('/lol-game-data/assets/v1/queues.json') - } - - getMapAssets() { - return this._http.get('/lol-game-data/assets/v1/map-assets/map-assets.json') - } - - getChampDetails(champId: number) { - return this._http.get(`/lol-game-data/assets/v1/champions/${champId}.json`) - } - - getAugments() { - return this._http.get('/lol-game-data/assets/v1/cherry-augments.json') - } -} +import { + Augment, + ChampDetails, + ChampionSimple, + GameMap, + GameMapAsset, + Item, + Perk, + Perkstyles, + Queue, + StrawberryHub, + SummonerSpell +} from '@shared/types/lcu/game-data' +import { AxiosInstance } from 'axios' + +export class GameDataHttpApi { + constructor(private _http: AxiosInstance) {} + + getSummonerSpells() { + return this._http.get('/lol-game-data/assets/v1/summoner-spells.json') + } + + getPerkstyles() { + return this._http.get('/lol-game-data/assets/v1/perkstyles.json') + } + + getItems() { + return this._http.get('/lol-game-data/assets/v1/items.json') + } + + getChampionSummary() { + return this._http.get('/lol-game-data/assets/v1/champion-summary.json') + } + + getMaps() { + return this._http.get('/lol-game-data/assets/v1/maps.json') + } + + getPerks() { + return this._http.get('/lol-game-data/assets/v1/perks.json') + } + + getQueues() { + return this._http.get('/lol-game-data/assets/v1/queues.json') + } + + getMapAssets() { + return this._http.get('/lol-game-data/assets/v1/map-assets/map-assets.json') + } + + getChampDetails(champId: number) { + return this._http.get(`/lol-game-data/assets/v1/champions/${champId}.json`) + } + + getAugments() { + return this._http.get('/lol-game-data/assets/v1/cherry-augments.json') + } + + getStrawberryHub() { + return this._http.get('/lol-game-data/assets/v1/strawberry-hub.json') + } +} diff --git a/src/shared/http-api-axios-helper/league-client/index.ts b/src/shared/http-api-axios-helper/league-client/index.ts index dd0099db..5074b4de 100644 --- a/src/shared/http-api-axios-helper/league-client/index.ts +++ b/src/shared/http-api-axios-helper/league-client/index.ts @@ -1,68 +1,74 @@ -import { AxiosInstance } from 'axios' - -import { ChampSelectHttpApi } from './champ-select' -import { ChampionMasteryHttpApi } from './champion-mastery' -import { ChatHttpApi } from './chat' -import { EntitlementsHttpApi } from './entitlements' -import { GameDataHttpApi } from './game-data' -import { GameflowHttpApi } from './gameflow' -import { HonorHttpApi } from './honor' -import { LobbyHttpApi } from './lobby' -import { LoginHttpApi } from './login' -import { LolLeagueSessionHttpApi } from './lol-league-session' -import { LootHttpApi } from './loot' -import { MatchHistoryHttpApi } from './match-history' -import { MatchmakingHttpApi } from './matchmaking' -import { PlayerNotificationsHttpApi } from './player-notifications' -import { ProcessControlHttpApi } from './process-control' -import { RankedHttpApi } from './ranked' -import { RiotClientHttpApi } from './riotclient' -import { SpectatorHttpApi } from './spectator' -import { SummonerHttpApi } from './summoner' - -/** - * 基于 Axios 封装的调用 - */ -export class LeagueClientHttpApiAxiosHelper { - public readonly champSelect: ChampSelectHttpApi - public readonly championMastery: ChampionMasteryHttpApi - public readonly chat: ChatHttpApi - public readonly entitlements: EntitlementsHttpApi - public readonly gameData: GameDataHttpApi - public readonly gameflow: GameflowHttpApi - public readonly honor: HonorHttpApi - public readonly lobby: LobbyHttpApi - public readonly login: LoginHttpApi - public readonly lolLeagueSession: LolLeagueSessionHttpApi - public readonly loot: LootHttpApi - public readonly matchHistory: MatchHistoryHttpApi - public readonly matchmaking: MatchmakingHttpApi - public readonly playerNotifications: PlayerNotificationsHttpApi - public readonly processControl: ProcessControlHttpApi - public readonly ranked: RankedHttpApi - public readonly riotclient: RiotClientHttpApi - public readonly spectator: SpectatorHttpApi - public readonly summoner: SummonerHttpApi - - constructor(private _http: AxiosInstance) { - this.champSelect = new ChampSelectHttpApi(this._http) - this.championMastery = new ChampionMasteryHttpApi(this._http) - this.chat = new ChatHttpApi(this._http) - this.entitlements = new EntitlementsHttpApi(this._http) - this.gameData = new GameDataHttpApi(this._http) - this.gameflow = new GameflowHttpApi(this._http) - this.honor = new HonorHttpApi(this._http) - this.lobby = new LobbyHttpApi(this._http) - this.login = new LoginHttpApi(this._http) - this.lolLeagueSession = new LolLeagueSessionHttpApi(this._http) - this.loot = new LootHttpApi(this._http) - this.matchHistory = new MatchHistoryHttpApi(this._http) - this.matchmaking = new MatchmakingHttpApi(this._http) - this.playerNotifications = new PlayerNotificationsHttpApi(this._http) - this.processControl = new ProcessControlHttpApi(this._http) - this.ranked = new RankedHttpApi(this._http) - this.riotclient = new RiotClientHttpApi(this._http) - this.spectator = new SpectatorHttpApi(this._http) - this.summoner = new SummonerHttpApi(this._http) - } -} +import { AxiosInstance } from 'axios' + +import { ChampSelectHttpApi } from './champ-select' +import { ChampionMasteryHttpApi } from './champion-mastery' +import { ChatHttpApi } from './chat' +import { EntitlementsHttpApi } from './entitlements' +import { GameDataHttpApi } from './game-data' +import { GameflowHttpApi } from './gameflow' +import { HonorHttpApi } from './honor' +import { LobbyHttpApi } from './lobby' +import { LoginHttpApi } from './login' +import { LolLeagueSessionHttpApi } from './lol-league-session' +import { LootHttpApi } from './loot' +import { MatchHistoryHttpApi } from './match-history' +import { MatchmakingHttpApi } from './matchmaking' +import { PlayerNotificationsHttpApi } from './player-notifications' +import { ProcessControlHttpApi } from './process-control' +import { RankedHttpApi } from './ranked' +import { RegaliaHttpApi } from './regalia' +import { RiotClientHttpApi } from './riotclient' +import { SpectatorHttpApi } from './spectator' +import { SummonerHttpApi } from './summoner' +import { LoadoutsHttpApi } from './loadouts' + +/** + * 基于 Axios 封装的调用 + */ +export class LeagueClientHttpApiAxiosHelper { + public readonly champSelect: ChampSelectHttpApi + public readonly championMastery: ChampionMasteryHttpApi + public readonly chat: ChatHttpApi + public readonly entitlements: EntitlementsHttpApi + public readonly gameData: GameDataHttpApi + public readonly gameflow: GameflowHttpApi + public readonly honor: HonorHttpApi + public readonly lobby: LobbyHttpApi + public readonly login: LoginHttpApi + public readonly lolLeagueSession: LolLeagueSessionHttpApi + public readonly loot: LootHttpApi + public readonly matchHistory: MatchHistoryHttpApi + public readonly matchmaking: MatchmakingHttpApi + public readonly playerNotifications: PlayerNotificationsHttpApi + public readonly processControl: ProcessControlHttpApi + public readonly ranked: RankedHttpApi + public readonly riotclient: RiotClientHttpApi + public readonly spectator: SpectatorHttpApi + public readonly summoner: SummonerHttpApi + public readonly regalia: RegaliaHttpApi + public readonly loadouts: LoadoutsHttpApi + + constructor(private _http: AxiosInstance) { + this.champSelect = new ChampSelectHttpApi(this._http) + this.championMastery = new ChampionMasteryHttpApi(this._http) + this.chat = new ChatHttpApi(this._http) + this.entitlements = new EntitlementsHttpApi(this._http) + this.gameData = new GameDataHttpApi(this._http) + this.gameflow = new GameflowHttpApi(this._http) + this.honor = new HonorHttpApi(this._http) + this.lobby = new LobbyHttpApi(this._http) + this.login = new LoginHttpApi(this._http) + this.lolLeagueSession = new LolLeagueSessionHttpApi(this._http) + this.loot = new LootHttpApi(this._http) + this.matchHistory = new MatchHistoryHttpApi(this._http) + this.matchmaking = new MatchmakingHttpApi(this._http) + this.playerNotifications = new PlayerNotificationsHttpApi(this._http) + this.processControl = new ProcessControlHttpApi(this._http) + this.ranked = new RankedHttpApi(this._http) + this.riotclient = new RiotClientHttpApi(this._http) + this.spectator = new SpectatorHttpApi(this._http) + this.summoner = new SummonerHttpApi(this._http) + this.regalia = new RegaliaHttpApi(this._http) + this.loadouts = new LoadoutsHttpApi(this._http) + } +} diff --git a/src/shared/http-api-axios-helper/league-client/loadouts.ts b/src/shared/http-api-axios-helper/league-client/loadouts.ts new file mode 100644 index 00000000..46e1ffea --- /dev/null +++ b/src/shared/http-api-axios-helper/league-client/loadouts.ts @@ -0,0 +1,21 @@ +import { AccountScopeLoadouts } from '@shared/types/lcu/game-data' +import { AxiosInstance } from 'axios' + +/** + * 下一次的模式开放, 涉及到 STRAWBERRY 估计 API 会有很大变动 + */ +export class LoadoutsHttpApi { + constructor(private _http: AxiosInstance) {} + + setStrawberryDifficulty(contentId: string, difficulty: number) { + return this._http.patch(`/lol-loadouts/v4/loadouts/${contentId}`, { + loadout: { + STRAWBERRY_DIFFICULTY: { inventoryType: 'STRAWBERRY_LOADOUT_ITEM', itemId: difficulty } + } + }) + } + + getAccountScopeLoadouts() { + return this._http.get('/lol-loadouts/v4/loadouts/scope/account') + } +} diff --git a/src/shared/http-api-axios-helper/league-client/lobby.ts b/src/shared/http-api-axios-helper/league-client/lobby.ts index d36fb763..f689f9fb 100644 --- a/src/shared/http-api-axios-helper/league-client/lobby.ts +++ b/src/shared/http-api-axios-helper/league-client/lobby.ts @@ -1,117 +1,140 @@ -import { - AvailableBot, - EogStatus, - Lobby, - LobbyMember, - ReceivedInvitation -} from '@shared/types/lcu/lobby' -import { AxiosInstance } from 'axios' - -export class LobbyHttpApi { - constructor(private _http: AxiosInstance) {} - - createCustomLobby( - mode: string, - mapId: number, - spectatorPolicy: string, - lobbyName: string, - lobbyPassword: string | null, - isCustom: boolean - ) { - return this._http.post('/lol-lobby/v2/lobby', { - customGameLobby: { - configuration: { - gameMode: mode, - gameMutator: '', - gameServerRegion: '', - mapId, - mutators: { id: 1 }, // 1 自选 2 征召 3 禁用 4 全随机 - spectatorPolicy, - teamSize: 5 - }, - lobbyName, - lobbyPassword - }, - isCustom - }) - } - - createQueueLobby(queueId: number) { - return this._http.post('/lol-lobby/v2/lobby', { queueId }) - } - - createPractice5x5(name = 'League Stalker Room', password = '') { - return this.createCustomLobby('PRACTICETOOL', 11, 'AllAllowed', name, password, true) - } - - /** - * 提升为房主 - * @param summonerId 目标召唤师 ID - */ - - promote(summonerId: string | number) { - return this._http.post(`/lol-lobby/v2/lobby/members/${summonerId}/promote`) - } - - kick(summonerId: string | number) { - return this._http.post(`/lol-lobby/v2/lobby/members/${summonerId}/kick`) - } - - getMembers() { - return this._http.get('/lol-lobby/v2/lobby/members') - } - - getLobby() { - return this._http.get('/lol-lobby/v2/lobby') - } - - /** - * 可以选择的人机种类 - */ - getAvailableBots() { - return this._http.get('/lol-lobby/v2/lobby/custom/available-bots') - } - - /** - * 是否可以添加人机 - */ - isBotEnabled() { - return this._http.get('/lol-lobby/v2/lobby/custom/bots-enabled') - } - - addBot(botDifficulty: string, champId: number, teamId: '100' | '200') { - return this._http.post('/lol-lobby/v1/lobby/custom/bots', { - botDifficulty, - championId: champId, - teamId - }) - } - - searchMatch() { - return this._http.post('/lol-lobby/v2/lobby/matchmaking/search') - } - - deleteSearchMatch() { - return this._http.delete('/lol-lobby/v2/lobby/matchmaking/search') - } - - playAgain() { - return this._http.post('/lol-lobby/v2/play-again') - } - - getEogStatus() { - return this._http.get('/lol-lobby/v2/party/eog-status') - } - - acceptReceivedInvitation(invitationId: string) { - return this._http.post(`/lol-lobby/v2/received-invitations/${invitationId}/accept`) - } - - declineReceivedInvitation(invitationId: string) { - return this._http.post(`/lol-lobby/v2/received-invitations/${invitationId}/decline`) - } - - getReceivedInvitations() { - return this._http.get('/lol-lobby/v2/received-invitations') - } -} +import { + AvailableBot, + EogStatus, + Lobby, + LobbyMember, + QueueEligibility, + ReceivedInvitation +} from '@shared/types/lcu/lobby' +import { AxiosInstance } from 'axios' + +export class LobbyHttpApi { + constructor(private _http: AxiosInstance) {} + + createCustomLobby( + mode: string, + mapId: number, + spectatorPolicy: string, + lobbyName: string, + lobbyPassword: string | null, + isCustom: boolean + ) { + return this._http.post('/lol-lobby/v2/lobby', { + customGameLobby: { + configuration: { + gameMode: mode, + gameMutator: '', + gameServerRegion: '', + mapId, + mutators: { id: 1 }, // 1 自选 2 征召 3 禁用 4 全随机 + spectatorPolicy, + teamSize: 5 + }, + lobbyName, + lobbyPassword + }, + isCustom + }) + } + + createQueueLobby(queueId: number) { + return this._http.post('/lol-lobby/v2/lobby', { queueId }) + } + + createPractice5x5(name = 'League Stalker Room', password = '') { + return this.createCustomLobby('PRACTICETOOL', 11, 'AllAllowed', name, password, true) + } + + /** + * 提升为房主 + * @param summonerId 目标召唤师 ID + */ + + promote(summonerId: string | number) { + return this._http.post(`/lol-lobby/v2/lobby/members/${summonerId}/promote`) + } + + kick(summonerId: string | number) { + return this._http.post(`/lol-lobby/v2/lobby/members/${summonerId}/kick`) + } + + getMembers() { + return this._http.get('/lol-lobby/v2/lobby/members') + } + + getLobby() { + return this._http.get('/lol-lobby/v2/lobby') + } + + deleteLobby() { + return this._http.delete('/lol-lobby/v2/lobby') + } + + /** + * 可以选择的人机种类 + */ + getAvailableBots() { + return this._http.get('/lol-lobby/v2/lobby/custom/available-bots') + } + + /** + * 是否可以添加人机 + */ + isBotEnabled() { + return this._http.get('/lol-lobby/v2/lobby/custom/bots-enabled') + } + + addBot(botDifficulty: string, champId: number, teamId: '100' | '200') { + return this._http.post('/lol-lobby/v1/lobby/custom/bots', { + botDifficulty, + championId: champId, + teamId + }) + } + + searchMatch() { + return this._http.post('/lol-lobby/v2/lobby/matchmaking/search') + } + + deleteSearchMatch() { + return this._http.delete('/lol-lobby/v2/lobby/matchmaking/search') + } + + playAgain() { + return this._http.post('/lol-lobby/v2/play-again') + } + + getEogStatus() { + return this._http.get('/lol-lobby/v2/party/eog-status') + } + + acceptReceivedInvitation(invitationId: string) { + return this._http.post(`/lol-lobby/v2/received-invitations/${invitationId}/accept`) + } + + declineReceivedInvitation(invitationId: string) { + return this._http.post(`/lol-lobby/v2/received-invitations/${invitationId}/decline`) + } + + getReceivedInvitations() { + return this._http.get('/lol-lobby/v2/received-invitations') + } + + getEligiblePartyQueues() { + return this._http.post('/lol-lobby/v2/eligibility/party') + } + + getEligibleSelfQueues() { + return this._http.post('/lol-lobby/v2/eligibility/self') + } + + setPlayerSlotsStrawberry1(championId: number, mapId = 1, difficultyId = 1) { + return this._http.put('/lol-lobby/v1/lobby/members/localMember/player-slots', [ + { championId, positionPreference: 'UNSELECTED', spell1: mapId, spell2: difficultyId } + ]) + } + + setStrawberryMapId(data: { contentId: string; itemId: number }) { + return this._http.put('/lol-lobby/v2/lobby/strawberryMapId', data) + } +} diff --git a/src/shared/http-api-axios-helper/league-client/regalia.ts b/src/shared/http-api-axios-helper/league-client/regalia.ts new file mode 100644 index 00000000..bb070f44 --- /dev/null +++ b/src/shared/http-api-axios-helper/league-client/regalia.ts @@ -0,0 +1,13 @@ +import { AxiosInstance } from 'axios' + +export class RegaliaHttpApi { + constructor(private _http: AxiosInstance) {} + + updateRegalia(dto: object) { + return this._http.put('/lol-regalia/v2/current-summoner/regalia', dto) + } + + getRegalia() { + return this._http.get('/lol-regalia/v2/current-summoner/regalia') + } +} diff --git a/src/shared/http-api-axios-helper/league-client/summoner.ts b/src/shared/http-api-axios-helper/league-client/summoner.ts index 22d5a86c..0f335cbc 100644 --- a/src/shared/http-api-axios-helper/league-client/summoner.ts +++ b/src/shared/http-api-axios-helper/league-client/summoner.ts @@ -1,55 +1,62 @@ -import { SummonerInfo } from '@shared/types/lcu/summoner' -import { AxiosInstance } from 'axios' - -export class SummonerHttpApi { - constructor(private _http: AxiosInstance) {} - - getCurrentSummoner() { - return this._http.get('/lol-summoner/v1/current-summoner') - } - - getSummoner(id: number) { - return this._http.get(`/lol-summoner/v1/summoners/${id}`) - } - - getSummonerByPuuid(puuid: string) { - return this._http.get(`/lol-summoner/v2/summoners/puuid/${puuid}`) - } - - getSummonerByName(name: string) { - return this._http.get(`/lol-summoner/v1/summoners?name=${name}`) - } - - checkAvailability(name: string) { - return this._http.get(`/lol-summoner/v1/check-name-availability-new-summoners/${name}`) - } - - updateSummonerProfile(data: { inventory?: string; key: string; value: any }) { - return this._http.post('/lol-summoner/v1/current-summoner/summoner-profile', data) - } - - updateSummonerName(name: string) { - return this._http.post('/lol-summoner/v1/current-summoner/name', name) - } - - newSummonerName(name: string) { - return this._http.post('/lol-summoner/v1/summoners', { name }) - } - - setSummonerBackgroundSkin(skinId: number) { - return this.updateSummonerProfile({ - key: 'backgroundSkinId', - value: skinId - }) - } - - getSummonerAliases(nameTagList: { gameName: string; tagLine: string }[]) { - return this._http.post('/lol-summoner/v1/summoners/aliases', nameTagList) - } - - async getSummonerAlias(name: string, tag: string) { - const response = await this.getSummonerAliases([{ gameName: name, tagLine: tag }]) - const result = response.data[0] - return result || null - } -} +import { SummonerInfo } from '@shared/types/lcu/summoner' +import { AxiosInstance } from 'axios' + +export class SummonerHttpApi { + constructor(private _http: AxiosInstance) {} + + getCurrentSummoner() { + return this._http.get('/lol-summoner/v1/current-summoner') + } + + getSummoner(id: number) { + return this._http.get(`/lol-summoner/v1/summoners/${id}`) + } + + getSummonerByPuuid(puuid: string) { + return this._http.get(`/lol-summoner/v2/summoners/puuid/${puuid}`) + } + + getSummonerByName(name: string) { + return this._http.get(`/lol-summoner/v1/summoners?name=${name}`) + } + + checkAvailability(name: string) { + return this._http.get(`/lol-summoner/v1/check-name-availability-new-summoners/${name}`) + } + + updateSummonerProfile(data: { inventory?: string; key: string; value: any }) { + return this._http.post('/lol-summoner/v1/current-summoner/summoner-profile', data) + } + + updateSummonerName(name: string) { + return this._http.post('/lol-summoner/v1/current-summoner/name', name) + } + + newSummonerName(name: string) { + return this._http.post('/lol-summoner/v1/summoners', { name }) + } + + setSummonerBackgroundSkin(skinId: number) { + return this.updateSummonerProfile({ + key: 'backgroundSkinId', + value: skinId + }) + } + + setSummonerBackgroundAugments(augmentId: string) { + return this.updateSummonerProfile({ + key: 'backgroundSkinAugments', + value: augmentId + }) + } + + getSummonerAliases(nameTagList: { gameName: string; tagLine: string }[]) { + return this._http.post('/lol-summoner/v1/summoners/aliases', nameTagList) + } + + async getSummonerAlias(name: string, tag: string) { + const response = await this.getSummonerAliases([{ gameName: name, tagLine: tag }]) + const result = response.data[0] + return result || null + } +} diff --git a/src/shared/i18n/en-US.json b/src/shared/i18n/en-US.json deleted file mode 100644 index 90da972f..00000000 --- a/src/shared/i18n/en-US.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "auto-select-renderer": { - "settings": { - "enabled": { - "title": "Enabled", - "description": "Enabled in normal modes. Such as match mode, rank mode, etc. Any mode that is not a random hero mode" - }, - "showIntent": { - "title": "Show Intent", - "description": "Pre-select the champion that will be automatically selected" - }, - "selectTeammateIntendedChampion": { - "title": "Ignore Teammate's Intent", - "description": "When enabled, it will not consider the teammate's pre-selected champion, otherwise it will avoid conflicts with the teammate's selection" - }, - "completed": { - "title": "Selection Strategy", - "description": "LOCK immediately or JUST SHOW", - "options": { - "true": "Lock", - "false": "Show" - } - }, - "expectedChampions": { - "title": "Expected Champions", - "description": "
Select champions according to the preset list
\n
If the current mode does not have lane information or the current lane has not set a champion, it will select according to the default list
\n
The priority of selection is the order defined in the list, and the champion closer to the front will be selected first
" - } - } - }, - "match-history-tabs-renderer": { - "lose": "Lose", - "win": "Win", - "remake": "Remake", - "team100": "Blue Team", - "team200": "Red Team" - }, - "common": { - "lanes": { - "top": "TOP", - "jungle": "JUNGLE", - "mid": "MIDDLE", - "middle": "MIDDLE", - "bot": "BOTTOM", - "support": "SUPPORT", - "utility": "SUPPORT", - "TOP": "TOP", - "JUNGLE": "JUNGLE", - "MID": "MIDDLE", - "MIDDLE": "MIDDLE", - "BOT": "BOTTOM", - "SUPPORT": "SUPPORT", - "UTILITY": "SUPPORT" - } - }, - "sgpServer": { - "TENCENT_1": "Ionia", - "TENCENT_10": "Demacia" - } -} \ No newline at end of file diff --git a/src/shared/i18n/en-US.yaml b/src/shared/i18n/en-US.yaml new file mode 100644 index 00000000..6ce5d752 --- /dev/null +++ b/src/shared/i18n/en-US.yaml @@ -0,0 +1,45 @@ +auto-select-renderer: + settings: + enabled: + label: Enabled + description: Enable in normal modes. Such as match mode, rank mode, etc. + showIntent: + label: Show Intent + description: Show the champion that will be automatically selected + selectTeammateIntendedChampion: + label: Ignore Teammate Intent + description: When enabled, it will not consider the teammate's intended champion, otherwise it will avoid conflicts with the teammate's selection + completed: + label: Selection Strategy + description: Lock immediately or just show + options: + true: Lock immediately + false: Just show + expectedChampions: + label: Intended Champions + description: | +
Select champions based on the preset list
+
If the current mode does not have lane information or the current lane has not set a champion, it will select according to the default list
+
The selection priority is defined in the order of the list, and the champion closer to the front will be selected first
+ +match-history-tabs-renderer: + lose: Lose + win: Win + remake: Remake + team100: Blue Team + team200: Red Team + +common: + lanes: + top: Top + jungle: Jungle + mid: Mid + bot: Bot + support: Support + utility: Support + TOP: Top + JUNGLE: Jungle + MID: Mid + BOT: Bot + SUPPORT: Support + UTILITY: Support diff --git a/src/shared/i18n/zh-CN.json b/src/shared/i18n/zh-CN.json deleted file mode 100644 index dcac2ad1..00000000 --- a/src/shared/i18n/zh-CN.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "auto-select-renderer": { - "settings": { - "enabled": { - "title": "启用", - "description": "在常规的模式中启用。如匹配模式,排位模式等任何非随机英雄的模式" - }, - "showIntent": { - "title": "提前预选", - "description": "预选即将自动选用的英雄" - }, - "selectTeammateIntendedChampion": { - "title": "无视队友预选", - "description": "开启后将不会考虑队友的预选英雄,反之会避免与队友的选择冲突" - }, - "completed": { - "title": "选择策略", - "description": "立即锁定或只是亮出", - "options": { - "true": "立即锁定", - "false": "只是亮出" - } - }, - "expectedChampions": { - "title": "意向英雄", - "description": "
将根据预设列表选择英雄
\n
若当前模式不存在分路信息当前分路未设置英雄,则按照默认列表进行选择
\n
选择优先级为列表定义顺序,优先选择位置靠前的英雄
" - } - } - }, - "match-history-tabs-renderer": { - "lose": "失败", - "win": "胜利", - "remake": "重开", - "team100": "蓝队", - "team200": "红队" - }, - "common": { - "lanes": { - "top": "上单", - "jungle": "打野", - "mid": "中单", - "bot": "下路", - "support": "辅助", - "utility": "辅助", - "TOP": "上单", - "JUNGLE": "打野", - "MID": "中单", - "BOT": "下路", - "SUPPORT": "辅助", - "UTILITY": "辅助" - } - } -} \ No newline at end of file diff --git a/src/shared/i18n/zh-CN.yaml b/src/shared/i18n/zh-CN.yaml new file mode 100644 index 00000000..6265b161 --- /dev/null +++ b/src/shared/i18n/zh-CN.yaml @@ -0,0 +1,82 @@ +auto-select-renderer: + settings: + enabled: + label: 启用 + description: 在常规的模式中启用。如匹配模式,排位模式等任何非随机英雄的模式 + showIntent: + label: 提前预选 + description: 预选即将自动选用的英雄 + selectTeammateIntendedChampion: + label: 无视队友预选 + description: 开启后将不会考虑队友的预选英雄,反之会避免与队友的选择冲突 + completed: + label: 选择策略 + description: 立即锁定或只是亮出 + options: + true: 立即锁定 + false: 只是亮出 + expectedChampions: + label: 意向英雄 + description: | +
将根据预设列表选择英雄
+
若当前模式不存在分路信息当前分路未设置英雄,则按照默认列表进行选择
+
选择优先级为列表定义顺序,优先选择位置靠前的英雄
+ +match-history-tabs-renderer: + lose: 失败 + win: 胜利 + remake: 重开 + team100: 蓝队 + team200: 红队 + +settings-about-panel-component: + line1: 是开源软件,专注于提供一些额外的功能,以辅助英雄联盟的游戏体验,其几乎所有实现都依赖 + line2: 项目参考 + line3: Github: + line4: © 2024 Hanxven. 本软件是开源软件,遵循 MIT 许可证。 + downloadSource: + label: 检查更新 + description: 从下载源 ({source}) 中检查更新 + buttonCheck: 检查更新 + buttonShowNewUpdate: 新版本内容 + buttonRecentlyCheck: 最近检查 + updateProgressInfo: + label: 更新流程 + description: 正在进行的更新流程 + downloadingProgress: + label: 下载更新包 + progress: 已完成 {percent} % + remainingTime: 剩余:{time} + downloadFailed: 下载失败 + unpackingProgress: + label: 解压更新包 + progress: 已完成 {percent} % + unpackFailed: 解压出错 + restart: + label: 等待重新启动 + description: 关闭应用后将进行自动更新流程 + updatesDir: + label: 更新目录 + description: 当前更新已下载的位置,若无法执行完整的自动更新流程,则需要手动更新 + +announcement-modal-component: + title: 公告 + updatedAt: 更新 + close: 关闭 + read: 已读 + currentNoAnnouncement: 暂无公告 + +common: + lanes: + top: 上单 + jungle: 打野 + mid: 中单 + bot: 下路 + support: 辅助 + utility: 辅助 + TOP: 上单 + JUNGLE: 打野 + MID: 中单 + BOT: 下路 + SUPPORT: 辅助 + UTILITY: 辅助 diff --git a/tsconfig.node.json b/tsconfig.node.json index fa194c1e..0d5107eb 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -1,6 +1,6 @@ { "extends": "@electron-toolkit/tsconfig/tsconfig.node.json", - "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/*", "src/shared/**/*"], + "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/*", "src/shared/**/*", "src/main/shards/game-client"], "compilerOptions": { "target": "ESNext", "lib": ["ESNext"], diff --git a/yarn.lock b/yarn.lock index 50be3b00..5628be6d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -310,7 +310,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.20.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0": +"@babel/parser@npm:^7.20.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0": version: 7.24.4 resolution: "@babel/parser@npm:7.24.4" bin: @@ -801,6 +801,33 @@ __metadata: languageName: node linkType: hard +"@fast-csv/format@npm:5.0.2": + version: 5.0.2 + resolution: "@fast-csv/format@npm:5.0.2" + dependencies: + lodash.escaperegexp: "npm:^4.1.2" + lodash.isboolean: "npm:^3.0.3" + lodash.isequal: "npm:^4.5.0" + lodash.isfunction: "npm:^3.0.9" + lodash.isnil: "npm:^4.0.0" + checksum: 10c0/dd31e0d6809a4e8e77e24927da35357aa49018965cbee9040a49af66d3dd0adbcdb4b516f1b2092523ea8d410e17ae55ed3cedeb51743d6869d0476def73f5b9 + languageName: node + linkType: hard + +"@fast-csv/parse@npm:5.0.2": + version: 5.0.2 + resolution: "@fast-csv/parse@npm:5.0.2" + dependencies: + lodash.escaperegexp: "npm:^4.1.2" + lodash.groupby: "npm:^4.6.0" + lodash.isfunction: "npm:^3.0.9" + lodash.isnil: "npm:^4.0.0" + lodash.isundefined: "npm:^3.0.1" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/191d5e8f60468700d1b14a799c08c6aeae56da0a4e215c979e08079f767b1487028bc95a02e1deb01d9812ecbba0b628ebc4697c20142e73b7951924c568c06e + languageName: node + linkType: hard + "@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -1154,90 +1181,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-darwin-arm64@npm:1.7.36" +"@swc/core-darwin-arm64@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-darwin-arm64@npm:1.7.40" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-darwin-x64@npm:1.7.36" +"@swc/core-darwin-x64@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-darwin-x64@npm:1.7.40" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.36" +"@swc/core-linux-arm-gnueabihf@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.40" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.36" +"@swc/core-linux-arm64-gnu@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.40" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.36" +"@swc/core-linux-arm64-musl@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.40" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.36" +"@swc/core-linux-x64-gnu@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.40" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-linux-x64-musl@npm:1.7.36" +"@swc/core-linux-x64-musl@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-linux-x64-musl@npm:1.7.40" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.36" +"@swc/core-win32-arm64-msvc@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.40" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.36" +"@swc/core-win32-ia32-msvc@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.40" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.36": - version: 1.7.36 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.36" +"@swc/core-win32-x64-msvc@npm:1.7.40": + version: 1.7.40 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.40" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.7.36": - version: 1.7.36 - resolution: "@swc/core@npm:1.7.36" +"@swc/core@npm:^1.7.40": + version: 1.7.40 + resolution: "@swc/core@npm:1.7.40" dependencies: - "@swc/core-darwin-arm64": "npm:1.7.36" - "@swc/core-darwin-x64": "npm:1.7.36" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.36" - "@swc/core-linux-arm64-gnu": "npm:1.7.36" - "@swc/core-linux-arm64-musl": "npm:1.7.36" - "@swc/core-linux-x64-gnu": "npm:1.7.36" - "@swc/core-linux-x64-musl": "npm:1.7.36" - "@swc/core-win32-arm64-msvc": "npm:1.7.36" - "@swc/core-win32-ia32-msvc": "npm:1.7.36" - "@swc/core-win32-x64-msvc": "npm:1.7.36" + "@swc/core-darwin-arm64": "npm:1.7.40" + "@swc/core-darwin-x64": "npm:1.7.40" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.40" + "@swc/core-linux-arm64-gnu": "npm:1.7.40" + "@swc/core-linux-arm64-musl": "npm:1.7.40" + "@swc/core-linux-x64-gnu": "npm:1.7.40" + "@swc/core-linux-x64-musl": "npm:1.7.40" + "@swc/core-win32-arm64-msvc": "npm:1.7.40" + "@swc/core-win32-ia32-msvc": "npm:1.7.40" + "@swc/core-win32-x64-msvc": "npm:1.7.40" "@swc/counter": "npm:^0.1.3" "@swc/types": "npm:^0.1.13" peerDependencies: @@ -1266,7 +1293,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/8ab5382900a20dd2c37236fb09961a9407aa761a8fd5b4cd1c06bca564145d49f1375d819ead96b6cc0c6787bc8f8050eeb32e620ffbfed8734a2bc950368009 + checksum: 10c0/d763413eb649e365282de70994ff6582ecc32b282721d04bd72b8c4403bc3a43327cd4d05fdac2bdb21eb2a6c6de77d9268ace1d358848ee9ffa7d81463b7ee8 languageName: node linkType: hard @@ -1613,43 +1640,30 @@ __metadata: languageName: node linkType: hard -"@volar/language-core@npm:2.4.1, @volar/language-core@npm:~2.4.1": - version: 2.4.1 - resolution: "@volar/language-core@npm:2.4.1" +"@volar/language-core@npm:2.4.8, @volar/language-core@npm:~2.4.8": + version: 2.4.8 + resolution: "@volar/language-core@npm:2.4.8" dependencies: - "@volar/source-map": "npm:2.4.1" - checksum: 10c0/3784422c6a6ac37043203574b79df4345b4edbf1404c2ee8d36da05d55bd356453582f30f612b11ea70846fcd45daf80daf84d1cef81ba156668a53f182983fb + "@volar/source-map": "npm:2.4.8" + checksum: 10c0/f2d2e29f09dfd5f44db4a94c2a64755ed9f7a7855e0f7e118ab59bff21a7e036079e83968a7c49495a11e0be0dcfed02a5547691849ee9414445c121d97aa221 languageName: node linkType: hard -"@volar/source-map@npm:2.4.1": - version: 2.4.1 - resolution: "@volar/source-map@npm:2.4.1" - checksum: 10c0/d40a9c2f209a329b9bd7ae51b39ca70ad73d62df69a250b04ff3e0e93626abdb6e436966028557c27fddd32fab19eba765062b2d91b44f128778f5292fd89406 +"@volar/source-map@npm:2.4.8": + version: 2.4.8 + resolution: "@volar/source-map@npm:2.4.8" + checksum: 10c0/aadab874105e53628d4480a5b6e8e01d3febca326fd822130186a42ebec8397ae6d396c7c3a6993aefe14b45598fe5db55f81b4bd2ebaaa75aad9b9435db68a6 languageName: node linkType: hard -"@volar/typescript@npm:~2.4.1": - version: 2.4.1 - resolution: "@volar/typescript@npm:2.4.1" +"@volar/typescript@npm:~2.4.8": + version: 2.4.8 + resolution: "@volar/typescript@npm:2.4.8" dependencies: - "@volar/language-core": "npm:2.4.1" + "@volar/language-core": "npm:2.4.8" path-browserify: "npm:^1.0.1" vscode-uri: "npm:^3.0.8" - checksum: 10c0/33d423b2081948ed7c2ddd1d9e9fb6d195f9c4f4ab7e96989e8e777234241bd0ba0ec316c256a43392ea781bcd5d5de024f20bbf2bdecef24b0599990247750a - languageName: node - linkType: hard - -"@vue/compiler-core@npm:3.4.21": - version: 3.4.21 - resolution: "@vue/compiler-core@npm:3.4.21" - dependencies: - "@babel/parser": "npm:^7.23.9" - "@vue/shared": "npm:3.4.21" - entities: "npm:^4.5.0" - estree-walker: "npm:^2.0.2" - source-map-js: "npm:^1.0.2" - checksum: 10c0/3ee871b95e17948d10375093c8dd3265923f844528a24ac67512c201ddb9b628021c010565f3e50f2e551b217c502e80a7901384f616a977a04f81e68c64a37c + checksum: 10c0/c1a21b21c53f3cdc7d59dfbe9f84bfbb479af01f0ea117b5b35466a41b1633c2058ce4c73645f7e98d7bb6c649dc6ba1d13e12be1c518e01b22352750892560a languageName: node linkType: hard @@ -1666,7 +1680,7 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:3.5.12": +"@vue/compiler-dom@npm:3.5.12, @vue/compiler-dom@npm:^3.5.0": version: 3.5.12 resolution: "@vue/compiler-dom@npm:3.5.12" dependencies: @@ -1676,16 +1690,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:^3.4.0": - version: 3.4.21 - resolution: "@vue/compiler-dom@npm:3.4.21" - dependencies: - "@vue/compiler-core": "npm:3.4.21" - "@vue/shared": "npm:3.4.21" - checksum: 10c0/b4a1099eddacded2663d12388b48088ca0be0d8969a070476f49e4e65da9b22851fc897cc693662b178e7e7fdee98fcf9ea3617a1f626c3a1b2089815cb1264e - languageName: node - linkType: hard - "@vue/compiler-sfc@npm:3.5.12": version: 3.5.12 resolution: "@vue/compiler-sfc@npm:3.5.12" @@ -1737,15 +1741,15 @@ __metadata: languageName: node linkType: hard -"@vue/language-core@npm:2.1.6": - version: 2.1.6 - resolution: "@vue/language-core@npm:2.1.6" +"@vue/language-core@npm:2.1.8": + version: 2.1.8 + resolution: "@vue/language-core@npm:2.1.8" dependencies: - "@volar/language-core": "npm:~2.4.1" - "@vue/compiler-dom": "npm:^3.4.0" + "@volar/language-core": "npm:~2.4.8" + "@vue/compiler-dom": "npm:^3.5.0" "@vue/compiler-vue2": "npm:^2.7.16" - "@vue/shared": "npm:^3.4.0" - computeds: "npm:^0.0.1" + "@vue/shared": "npm:^3.5.0" + alien-signals: "npm:^0.2.0" minimatch: "npm:^9.0.3" muggle-string: "npm:^0.4.1" path-browserify: "npm:^1.0.1" @@ -1754,7 +1758,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/bad09d54929f09d0d809f13ac1a3ccf0ab0d848c11c420e83a951f7fecfe15537caf95fc55756770a4d79f1fa6b4488bf2846afaba6854746fbb349cbb294bed + checksum: 10c0/5106e5961438c33db7e11c2f2369320989d31550a616d636b680ae05c1a91f9fe332fee4aa78c6f9b7f416e8fda893ffa0f3ebab282fe8837159b7ff7eb182de languageName: node linkType: hard @@ -1801,14 +1805,7 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.4.21, @vue/shared@npm:^3.4.0": - version: 3.4.21 - resolution: "@vue/shared@npm:3.4.21" - checksum: 10c0/79cba4228c3c1769ba8024302d7dbebf6ed1b77fb2e7a69e635cdebaa1c18b409e9c27ce27ccbe3a98e702a7e2dae1b87754d87f0b29adfe2a8f9e1e7c7899d5 - languageName: node - linkType: hard - -"@vue/shared@npm:3.5.12": +"@vue/shared@npm:3.5.12, @vue/shared@npm:^3.5.0": version: 3.5.12 resolution: "@vue/shared@npm:3.5.12" checksum: 10c0/48f94406c42921901b21a57a7ebb401bbceb497152baf0554e5d5a11cbaa79958f966042e9d95614c0b02e8681b7e1b6c010fcb8b28c6bda1b090f2ddd7540d8 @@ -1961,6 +1958,13 @@ __metadata: languageName: node linkType: hard +"alien-signals@npm:^0.2.0": + version: 0.2.0 + resolution: "alien-signals@npm:0.2.0" + checksum: 10c0/5548ae59c929a44048800661cc45d5fb000f9cb40d1d29a11a8e4210c17fa042ac321f8a9d87d849fdd7be4311e2593b59faeab9416067aea44091729af009f1 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -2658,13 +2662,6 @@ __metadata: languageName: node linkType: hard -"computeds@npm:^0.0.1": - version: 0.0.1 - resolution: "computeds@npm:0.0.1" - checksum: 10c0/8a8736f1f43e4a99286519785d71a10ece8f444a2fa1fc2fe1f03dedf63f3477b45094002c85a2826f7631759c9f5a00b4ace47456997f253073fc525e8983de - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3314,6 +3311,16 @@ __metadata: languageName: node linkType: hard +"fast-csv@npm:^5.0.2": + version: 5.0.2 + resolution: "fast-csv@npm:5.0.2" + dependencies: + "@fast-csv/format": "npm:5.0.2" + "@fast-csv/parse": "npm:5.0.2" + checksum: 10c0/73a1c4f82df10179ca08030f4a03de0283df43c1f6ac6d5ca5508b087eeda0d87d5a47a9599df4c9627a6d611ca608b61cfb37fba93ba75cb6debf14398e34be + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -4213,7 +4220,7 @@ __metadata: "@electron-toolkit/utils": "npm:^3.0.0" "@electron/notarize": "npm:^2.5.0" "@rushstack/eslint-patch": "npm:^1.10.4" - "@swc/core": "npm:^1.7.36" + "@swc/core": "npm:^1.7.40" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/deep-eql": "npm:^4.0.2" "@types/lodash": "npm:^4.17.12" @@ -4239,6 +4246,7 @@ __metadata: electron: "npm:^32.1.2" electron-builder: "npm:25.1.8" electron-vite: "npm:^2.3.0" + fast-csv: "npm:^5.0.2" less: "npm:^4.2.0" lodash: "npm:^4.17.21" luaparse: "npm:^0.3.1" @@ -4257,13 +4265,13 @@ __metadata: typeorm: "npm:^0.3.20" typescript: "npm:^5.6.3" vfonts: "npm:^0.0.3" - vite: "npm:^5.4.9" + vite: "npm:^5.4.10" vm2: "npm:^3.9.19" vue: "npm:^3.5.12" vue-chartjs: "npm:^5.3.1" vue-i18n: "npm:10.0.4" vue-router: "npm:^4.4.5" - vue-tsc: "npm:^2.1.6" + vue-tsc: "npm:^2.1.8" winston: "npm:^3.15.0" ws: "npm:^8.18.0" languageName: unknown @@ -4334,6 +4342,13 @@ __metadata: languageName: node linkType: hard +"lodash.escaperegexp@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.escaperegexp@npm:4.1.2" + checksum: 10c0/484ad4067fa9119bb0f7c19a36ab143d0173a081314993fe977bd00cf2a3c6a487ce417a10f6bac598d968364f992153315f0dbe25c9e38e3eb7581dd333e087 + languageName: node + linkType: hard + "lodash.flattendeep@npm:^4.4.0": version: 4.4.0 resolution: "lodash.flattendeep@npm:4.4.0" @@ -4341,6 +4356,20 @@ __metadata: languageName: node linkType: hard +"lodash.groupby@npm:^4.6.0": + version: 4.6.0 + resolution: "lodash.groupby@npm:4.6.0" + checksum: 10c0/3d136cad438ad6c3a078984ef60e057a3498b1312aa3621b00246ecb99e8f2c4d447e2815460db7a0b661a4fe4e2eeee96c84cb661a824bad04b6cf1f7bc6e9b + languageName: node + linkType: hard + +"lodash.isboolean@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isboolean@npm:3.0.3" + checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 + languageName: node + linkType: hard + "lodash.isempty@npm:^4.4.0": version: 4.4.0 resolution: "lodash.isempty@npm:4.4.0" @@ -4348,6 +4377,34 @@ __metadata: languageName: node linkType: hard +"lodash.isequal@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.isequal@npm:4.5.0" + checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f + languageName: node + linkType: hard + +"lodash.isfunction@npm:^3.0.9": + version: 3.0.9 + resolution: "lodash.isfunction@npm:3.0.9" + checksum: 10c0/e88620922f5f104819496884779ca85bfc542efb2946df661ab3e2cd38da5c8375434c6adbedfc76dd3c2b04075d2ba8ec215cfdedf08ddd2e3c3467e8a26ccd + languageName: node + linkType: hard + +"lodash.isnil@npm:^4.0.0": + version: 4.0.0 + resolution: "lodash.isnil@npm:4.0.0" + checksum: 10c0/1a410a62eb2e797f077d038c11cbf1ea18ab36f713982849f086f86e050234d69988c76fa18d00278c0947daec67e9ecbc666326b8a06b43e36d3ece813a8120 + languageName: node + linkType: hard + +"lodash.isundefined@npm:^3.0.1": + version: 3.0.1 + resolution: "lodash.isundefined@npm:3.0.1" + checksum: 10c0/00ca2ae6fc83e10f806769130ee62b5bf419a4aaa52d1a084164b4cf2b2ab1dbf7246e05c72cf0df2ebf4ea38ab565a688c1a7362b54331bb336ea8b492f327f + languageName: node + linkType: hard + "lodash.negate@npm:^3.0.2": version: 3.0.2 resolution: "lodash.negate@npm:3.0.2" @@ -4355,6 +4412,13 @@ __metadata: languageName: node linkType: hard +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + "lodash@npm:^4.17.15, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -6498,9 +6562,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.4.9": - version: 5.4.9 - resolution: "vite@npm:5.4.9" +"vite@npm:^5.4.10": + version: 5.4.10 + resolution: "vite@npm:5.4.10" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -6537,7 +6601,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/e9c59f2c639047e37c79bbbb151c7a55a3dc27932957cf4cf0447ee0bdcc1ddfd9b1fb3ba0465371c01ba3616d62561327855794c2d652213c3a10a32e6d369d + checksum: 10c0/4ef4807d2fd166a920de244dbcec791ba8a903b017a7d8e9f9b4ac40d23f8152c1100610583d08f542b47ca617a0505cfc5f8407377d610599d58296996691ed languageName: node linkType: hard @@ -6621,18 +6685,18 @@ __metadata: languageName: node linkType: hard -"vue-tsc@npm:^2.1.6": - version: 2.1.6 - resolution: "vue-tsc@npm:2.1.6" +"vue-tsc@npm:^2.1.8": + version: 2.1.8 + resolution: "vue-tsc@npm:2.1.8" dependencies: - "@volar/typescript": "npm:~2.4.1" - "@vue/language-core": "npm:2.1.6" + "@volar/typescript": "npm:~2.4.8" + "@vue/language-core": "npm:2.1.8" semver: "npm:^7.5.4" peerDependencies: typescript: ">=5.0.0" bin: vue-tsc: ./bin/vue-tsc.js - checksum: 10c0/6a0676f5ef53cabd142a43ee593d34332ad6f807159861c096c94851a2bd07901294f9e6a0422de8d215d558b54d5a219d0d6626fea626b03f951e72a74026bd + checksum: 10c0/71a6c5fa647c688e838db95570d4b56e4ad8651783b2ad8ff2a9d9c10a7730e5052db73576173ef1e57039ac0b03769c37628b667dff0cb01bb9f3e939725b20 languageName: node linkType: hard

*3T!|f*1{(zLbGMJ8z;Aq7pS*nL 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 DBiHuZ delta 577378 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