refactor: extract the methods about user into class User

This commit is contained in:
Levi Yan
2024-10-23 13:45:19 +08:00
parent 0a31591150
commit bac497fabf
2 changed files with 37 additions and 6 deletions

View File

@@ -1,15 +1,18 @@
import * as vscode from 'vscode';
import RemoteContainer from './remote-container';
import User from './user';
import * as utils from './utils'
export default class DSHome {
private context: vscode.ExtensionContext;
private remoteContainer: RemoteContainer;
private user:User;
static defaultUrl = 'http://localhost:8080/test/index.html';
constructor(context: vscode.ExtensionContext) {
this.context = context;
this.remoteContainer = new RemoteContainer()
this.remoteContainer = new RemoteContainer();
this.user = new User(context);
}
async toggle(url: string = DSHome.defaultUrl) {
@@ -47,7 +50,7 @@ export default class DSHome {
this.remoteContainer.openRemoteFolder(data.host, data.path);
break;
case 'getUserToken':
const userToken = this.context.globalState.get('devstarUserToken')
const userToken = this.user.getUserTokenFromLocal()
if (userToken === undefined) {
panel.webview.postMessage({ command: 'getUserToken', data: {userToken: ''}})
break;
@@ -56,10 +59,10 @@ export default class DSHome {
break;
}
case 'setUserToken':
this.context.globalState.update('devstarUserToken', data.userToken)
console.log(this.context.globalState.get('devstarUserToken'))
console.log(message.data.userToken)
if (message.data.userToken === this.context.globalState.get('devstarUserToken')) {
this.user.setUserTokenToLocal(data.userToken)
console.log(data.userToken)
console.log(this.user.getUserTokenFromLocal())
if (data.userToken === this.user.getUserTokenFromLocal()) {
panel.webview.postMessage({ command: 'setUserToken', data: {ok: true}})
break;
} else {

28
src/user.ts Normal file
View File

@@ -0,0 +1,28 @@
import * as vscode from 'vscode';
export default class User {
private context:vscode.ExtensionContext;
private usernameKey:string = 'devstarUsername'
private userTokenKey:string = 'devstarUserToken'
constructor(context: vscode.ExtensionContext) {
this.context = context;
}
public getUsernameFromLocal(): string|undefined {
return this.context.globalState.get(this.usernameKey);
}
public getUserTokenFromLocal(): string|undefined{
return this.context.globalState.get(this.userTokenKey);
}
public setUsernameToLocal(username:string) {
this.context.globalState.update(this.usernameKey, username)
}
public setUserTokenToLocal(userToken:string) {
this.context.globalState.update(this.userTokenKey, userToken)
}
}