30 lines
568 B
TypeScript
30 lines
568 B
TypeScript
import useGetAccount from "~/composables/api/account/useGetAccount";
|
|
|
|
export const useAuth = () => {
|
|
|
|
// state
|
|
|
|
const token = useCookie("token");
|
|
|
|
// method
|
|
|
|
const updateToken = (newToken: string) => {
|
|
token.value = newToken;
|
|
};
|
|
|
|
const logout = (reload ?: boolean) => {
|
|
token.value = undefined;
|
|
if (reload) window.location.reload();
|
|
};
|
|
|
|
// watch
|
|
|
|
watch(() => token.value, (newValue) => {
|
|
token.value = newValue;
|
|
}, {
|
|
immediate: true
|
|
});
|
|
|
|
return { token, updateToken, logout };
|
|
|
|
}; |