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