tab, component, popup 변경

This commit is contained in:
2025-08-22 14:01:30 +09:00
parent fd6fe43498
commit f801e876d2
22 changed files with 625 additions and 145 deletions

View File

@@ -10,64 +10,50 @@ export const useUserStore = defineStore("user", () => {
} | null>(null);
const token = ref<string | null>(null);
interface LoginData {
userId: string
role: string
lastLoginAt: string
}
interface LoginResponse {
code: number
message: string
description: string
data: LoginData
}
// 게터
const isAdmin = computed(() => user.value?.role === "admin");
const userName = computed(() => user.value?.name || "사용자");
// 액션
const login = async (userId: string, password: string) => {
try {
// 실제 API 호출로 대체할 수 있습니다
/*
const { data, error: _error } = await useApi('/login', {
const {data, error: _error } = await useApi<LoginResponse>('/service/login', {
method: 'post',
body: { id: userId, pw: password, loginLogFlag : 0 }
})
*/
// 임시 로그인 로직 (실제로는 API 응답을 사용)
if (userId && password) {
// 테스트 계정 확인
let mockUser;
if (userId === "admin" && password === "stam1201!") {
mockUser = {
id: "1",
userId: "admin",
email: "admin@test.com",
name: "관리자",
role: "admin",
};
} else if (userId === "user" && password === "stam1201!") {
mockUser = {
id: "2",
userId: "user",
email: "user@test.com",
name: "일반사용자",
role: "user",
};
} else {
throw new Error("아이디 또는 비밀번호가 올바르지 않습니다.");
}
/*
if(data && data.value){
mockUser = data.value;
}else{
throw new Error("아이디 또는 비밀번호가 올바르지 않습니다.");
}
*/
user.value = mockUser;
token.value = "mock-token-" + Date.now();
isLoggedIn.value = true;
body: { userId, password }
})
let mockUser;
// 로컬 스토리지에 저장
localStorage.setItem("user", JSON.stringify(mockUser));
localStorage.setItem("token", token.value);
return { success: true, user: mockUser };
} else {
throw new Error("아이디와 비밀번호를 입력해주세요.");
if(data && data.value && data.value.code === 200){
mockUser = data.value.data;
}else{
throw new Error("아이디 또는 비밀번호가 올바르지 않습니다.");
}
user.value = mockUser;
token.value = "mock-token-" + Date.now();
isLoggedIn.value = true;
// 로컬 스토리지에 저장
localStorage.setItem("user", JSON.stringify(mockUser));
localStorage.setItem("token", token.value);
return { success: true, user: mockUser };
} catch (error) {
console.error("로그인 실패:", error);
return {