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 => { .then(data => {
// store token in global variable and vscode global state // store token in global variable and vscode global state
USERTOKEN = data.sha1; USERTOKEN = data.sha1;
communicateVSCodeByWebview('setUserToken', { userToken: USERTOKEN }) USERNAME = username;
.then(result => { setUserTokenToVSCode(USERTOKEN);
if (result.ok) { setUsernameToVSCode(username);
console.log('User token has been set to vscode global state') loadPageModules()
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)
closeLoginModal() closeLoginModal()
}) })
@@ -380,24 +371,34 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
} }
async function logout() { 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 USERTOKEN = null
communicateVSCodeByWebview('setUserToken', { userToken: ''}) USERNAME = null
.then(result => { await setUserTokenToVSCode('')
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)
})
await setUsernameToVSCode('') await setUsernameToVSCode('')
location.reload() 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) { async function setUsernameToVSCode(username) {
var removeUsername = false; var removeUsername = false;
if (username == '') { if (username == '') {
@@ -465,7 +466,7 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
// 打开弹窗 // 打开弹窗
function openModal() { function openModal() {
// make sure login first // make sure login first
if (!USERTOKEN) { if (!USERTOKEN || !USERNAME) {
showAlert('请先登录!', 3000) showAlert('请先登录!', 3000)
return return
} }