feat: add userToken related operations

This commit is contained in:
Levi Yan
2024-09-18 20:46:25 +08:00
parent 021c1bc1ab
commit ea28ef08b7

View File

@@ -1,6 +1,6 @@
import * as vscode from 'vscode'; import * as vscode from 'vscode';
import RemoteContainer from './remote-container'; import RemoteContainer from './remote-container';
import fetch from './fetch' import {fetch} from './utils'
export default class DSHome { export default class DSHome {
private context: vscode.ExtensionContext; private context: vscode.ExtensionContext;
@@ -15,8 +15,8 @@ export default class DSHome {
async toggle(url: string = DSHome.defaultUrl) { async toggle(url: string = DSHome.defaultUrl) {
console.log(url); console.log(url);
const panel = vscode.window.createWebviewPanel( const panel = vscode.window.createWebviewPanel(
'myWebview', 'homeWebview',
'My Webview', 'Home',
vscode.ViewColumn.One, vscode.ViewColumn.One,
{ {
enableScripts: true, enableScripts: true,
@@ -38,10 +38,30 @@ export default class DSHome {
this.remoteContainer.openRemoteFolder(message.host, message.path); this.remoteContainer.openRemoteFolder(message.host, message.path);
} }
}) })
return; break;
case 'openRemoteFolder': case 'openRemoteFolder':
this.remoteContainer.openRemoteFolder(message.host, message.path); this.remoteContainer.openRemoteFolder(message.host, message.path);
return; break;
case 'getUserToken':
const userToken = this.context.globalState.get('devstarUserToken')
if (userToken === undefined) {
panel.webview.postMessage({ command: 'getUserToken', data: {userToken: 'none'}})
break;
} else {
panel.webview.postMessage({ command: 'getUserToken', data: {userToken: userToken}})
break;
}
case 'setUserToken':
this.context.globalState.update('devstarUserToken', message.data.userToken)
console.log(this.context.globalState.get('devstarUserToken'))
console.log(message.data.userToken)
if (message.data.userToken === this.context.globalState.get('devstarUserToken')) {
panel.webview.postMessage({ command: 'setUserToken', data: {ok: true}})
break;
} else {
panel.webview.postMessage({ command: 'setUserToken', data: {ok: false}})
break;
}
} }
}, },
undefined, undefined,