refactor(home): extract all processes that set user token to vscode into a function - setUserTokenInVSCode
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user