refactor(main): if devstarDomain_sessionId exist and isn't null, use it first
This commit is contained in:
18
src/main.ts
18
src/main.ts
@@ -28,16 +28,24 @@ export class DevStarExtension {
|
||||
|
||||
// 如果global state中devstarDomain的值不为空,则在global state中存储一个键值对为devstarDomain_<sessionId>和devstar domain,并把devstarDomain的值置空.
|
||||
// 这时如果remote窗口需要打开项目,且global state中的devstarDomain_<sessionId>键存在、值不为空,
|
||||
// 则取出并清掉devstarDomain_<sessionId>键值对,并通过参数将devstar domain传递给/openProjectSkippingLoginCheck,由其将devstar domain继续存储在devstarDomain中
|
||||
const devstarDomain: string|undefined = context.globalState.get('devstarDomain')
|
||||
if (devstarDomain != undefined && devstarDomain != "") {
|
||||
// 则取出其值,并通过参数将devstar domain传递给/openProjectSkippingLoginCheck
|
||||
//
|
||||
// 如果global state中devstarDomain_<sessionId>存在,直接使用
|
||||
|
||||
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');
|
||||
|
||||
Reference in New Issue
Block a user