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