diff --git a/test/home.html b/test/home.html
index 9523f3b..db5bac3 100644
--- a/test/home.html
+++ b/test/home.html
@@ -346,19 +346,10 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
.then(data => {
// store token in global variable and vscode global state
USERTOKEN = data.sha1;
- communicateVSCodeByWebview('setUserToken', { userToken: USERTOKEN })
- .then(result => {
- if (result.ok) {
- console.log('User token has been set to vscode global state')
- loadPageModules()
- } else {
- throw new Error('Error in setting user token to vscode global state')
- }
- })
- .catch(error => {
- console.error('Error in setting user token to vscode global state:', error)
- })
- setUsernameToVSCode(username)
+ USERNAME = username;
+ setUserTokenToVSCode(USERTOKEN);
+ setUsernameToVSCode(username);
+ loadPageModules()
closeLoginModal()
})
@@ -380,24 +371,34 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
}
async function logout() {
- // remove token from global variable and vscode global state
+ // remove token and username from global variable and vscode global state
USERTOKEN = null
- communicateVSCodeByWebview('setUserToken', { userToken: ''})
- .then(result => {
- if (result.ok) {
- console.log('User token has been removed from vscode global state')
- } else {
- throw new Error('Error in removing user token from vscode global state')
- }
- })
- .catch(error => {
- console.error('Error in removing user token from vscode global state:', error)
- })
+ USERNAME = null
+ await setUserTokenToVSCode('')
await setUsernameToVSCode('')
location.reload()
}
+ async function setUserTokenToVSCode(userToken) {
+ var removeUserToken = false;
+ if (userToken == '') {
+ removeUserToken = true
+ }
+
+ communicateVSCodeByWebview('setUserToken', { userToken: userToken })
+ .then(result => {
+ if (result.ok) {
+ console.log(removeUserToken ? 'User token has been removed from vscode' :'User token has been stored in vscode')
+ } else {
+ console.error(removeUserToken ? 'Failed to remove user token from vscode': 'Failed to store user token into vscode')
+ }
+ })
+ .catch(error => {
+ console.error('Failed to set user token into vscode:', error)
+ })
+ }
+
async function setUsernameToVSCode(username) {
var removeUsername = false;
if (username == '') {
@@ -465,7 +466,7 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
// 打开弹窗
function openModal() {
// make sure login first
- if (!USERTOKEN) {
+ if (!USERTOKEN || !USERNAME) {
showAlert('请先登录!', 3000)
return
}