refactor(home): extract all processes that set user token to vscode into a function - setUserTokenInVSCode

This commit is contained in:
Levi Yan
2024-10-23 16:35:10 +08:00
parent 1cf46c0597
commit 1816152fa6

View File

@@ -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
}