From c18fc240167c0db7f7057d92286687c668251b75 Mon Sep 17 00:00:00 2001 From: Levi Yan Date: Sun, 22 Jun 2025 16:22:33 +0800 Subject: [PATCH] refactor(main): if devstarDomain_sessionId exist and isn't null, use it first --- src/main.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main.ts b/src/main.ts index 7675193..8f02136 100644 --- a/src/main.ts +++ b/src/main.ts @@ -28,16 +28,24 @@ export class DevStarExtension { // 如果global state中devstarDomain的值不为空,则在global state中存储一个键值对为devstarDomain_和devstar domain,并把devstarDomain的值置空. // 这时如果remote窗口需要打开项目,且global state中的devstarDomain_键存在、值不为空, - // 则取出并清掉devstarDomain_键值对,并通过参数将devstar domain传递给/openProjectSkippingLoginCheck,由其将devstar domain继续存储在devstarDomain中 - const devstarDomain: string|undefined = context.globalState.get('devstarDomain') - if (devstarDomain != undefined && devstarDomain != "") { + // 则取出其值,并通过参数将devstar domain传递给/openProjectSkippingLoginCheck + // + // 如果global state中devstarDomain_存在,直接使用 + + const devstarDomain_sessionId: string | undefined = context.globalState.get('devstarDomain_' + vscode.env.sessionId) + const devstarDomain: string | undefined = context.globalState.get('devstarDomain') + if (devstarDomain_sessionId != undefined && devstarDomain_sessionId != "") { + this.user = new User(context, devstarDomain_sessionId) + this.remoteContainer = new RemoteContainer(this.user); + this.dsHome = new DSHome(context, this.user, devstarDomain_sessionId) + } else if (devstarDomain != undefined && devstarDomain != "") { console.log('domain in global state', devstarDomain) // global state中存在devstarDomain this.user = new User(context, devstarDomain) this.remoteContainer = new RemoteContainer(this.user); this.dsHome = new DSHome(context, this.user, devstarDomain) - context.globalState.update('devstarDomain_'+vscode.env.sessionId, devstarDomain) + context.globalState.update('devstarDomain_' + vscode.env.sessionId, devstarDomain) context.globalState.update('devstarDomain', "") } else { this.user = new User(context); @@ -72,7 +80,7 @@ export class DevStarExtension { // 修改user、remote-container、home中的devstar domain和hostname this.user.setDevstarDomain(devstarDomain) this.remoteContainer.setUser(this.user) - this.dsHome.setDevstarDomain(devstarDomain) + this.dsHome.setDevstarDomainAndHomePageURL(devstarDomain) this.dsHome.setUser(this.user) this.dsHome.setRemoteContainer(this.remoteContainer) vscode.commands.executeCommand('devstar.showHome');