优化了popup
This commit is contained in:
@@ -1,35 +1,42 @@
|
||||
import {computed, onMounted, ref} from "vue";
|
||||
import {getToken, logout, setToken} from "@/shared/auth";
|
||||
import { computed, onMounted, ref } from 'vue';
|
||||
import { getToken, logout, setToken } from '@/shared/auth';
|
||||
|
||||
/**
|
||||
* Popup 的登录状态与操作。
|
||||
*/
|
||||
export const useLogin = () => {
|
||||
const token = ref<string | null>(null);
|
||||
|
||||
/** 当前是否已登录。 */
|
||||
const isLoggedIn = computed(() => token.value !== null);
|
||||
|
||||
/**
|
||||
* 登录
|
||||
* 登录并保存 token。
|
||||
*/
|
||||
const handleLogin = async () => {
|
||||
let value = "xxx"
|
||||
await setToken(value)
|
||||
token.value = value
|
||||
}
|
||||
const value = 'xxx';
|
||||
await setToken(value);
|
||||
token.value = value;
|
||||
};
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
* 退出登录并清理本地状态。
|
||||
*/
|
||||
const handleLogout = async () => {
|
||||
await logout()
|
||||
token.value = null
|
||||
}
|
||||
await logout();
|
||||
token.value = null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 组件挂载时,从存储恢复 token。
|
||||
*/
|
||||
onMounted(async () => {
|
||||
token.value = await getToken()
|
||||
})
|
||||
token.value = await getToken();
|
||||
});
|
||||
|
||||
return {
|
||||
isLoggedIn,
|
||||
handleLogin,
|
||||
handleLogout,
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user