[메뉴 권한 1차 작업]
This commit is contained in:
@@ -9,13 +9,14 @@ export const useUserStore = defineStore(
|
||||
} | null>(null);
|
||||
const token = ref<string | null>(null);
|
||||
|
||||
// 추후 제거 필요
|
||||
const isAdmin = true;
|
||||
// 권한 스토어 참조
|
||||
const permissionsStore = usePermissionsStore();
|
||||
|
||||
interface LoginData {
|
||||
userId: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
const login = async (userId: string, password: string) => {
|
||||
const { success, data, description } = await useApi<
|
||||
ApiResponse<LoginData>
|
||||
@@ -27,6 +28,10 @@ export const useUserStore = defineStore(
|
||||
if (success) {
|
||||
user.value = data;
|
||||
isLoggedIn.value = true;
|
||||
|
||||
// 로그인 성공 시 권한 데이터 가져오기
|
||||
await permissionsStore.fetchPermissions();
|
||||
|
||||
return { success, data };
|
||||
} else {
|
||||
return {
|
||||
@@ -39,21 +44,13 @@ export const useUserStore = defineStore(
|
||||
const logout = () => {
|
||||
user.value = null;
|
||||
isLoggedIn.value = false;
|
||||
|
||||
// 권한 데이터도 초기화
|
||||
permissionsStore.clearPermissions();
|
||||
|
||||
useApi("/members/logout", { method: "post" });
|
||||
};
|
||||
|
||||
const checkAuth = () => {
|
||||
// 페이지 로드 시 로컬 스토리지에서 사용자 정보 복원
|
||||
const savedUser = localStorage.getItem("user");
|
||||
const savedToken = localStorage.getItem("token");
|
||||
|
||||
if (savedUser && savedToken) {
|
||||
user.value = JSON.parse(savedUser);
|
||||
token.value = savedToken;
|
||||
isLoggedIn.value = true;
|
||||
}
|
||||
};
|
||||
|
||||
const setToken = (accessToken: string) => {
|
||||
token.value = accessToken;
|
||||
};
|
||||
@@ -62,24 +59,15 @@ export const useUserStore = defineStore(
|
||||
return token;
|
||||
};
|
||||
|
||||
// 초기 인증 상태 확인
|
||||
if (import.meta.client) {
|
||||
checkAuth();
|
||||
}
|
||||
|
||||
return {
|
||||
// 상태
|
||||
isLoggedIn,
|
||||
user,
|
||||
token,
|
||||
|
||||
// 게터
|
||||
isAdmin,
|
||||
|
||||
// 액션
|
||||
login,
|
||||
logout,
|
||||
checkAuth,
|
||||
setToken,
|
||||
getToken,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user