From bc3ab7c3104a0cf78958f7e0e69a6f45a1c1aedd Mon Sep 17 00:00:00 2001 From: jiyeon Date: Wed, 5 Feb 2025 15:37:53 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20[refactor]=20:=20?= =?UTF-8?q?=EB=B6=88=ED=95=84=EC=9A=94=ED=95=9C=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/auth.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/api/auth.ts b/src/api/auth.ts index bafbad6c..25713987 100644 --- a/src/api/auth.ts +++ b/src/api/auth.ts @@ -14,15 +14,6 @@ export const postLogin = async (loginData: loginDataTypes, sessionId: string) => } export const patchPassword = async (password: string) => { - const accessToken = Cookies.get('accessToken') - - if (!accessToken) return - - const response = await axiosInstance.patch('/api/members/password', password, { - headers: { - Authorization: `Bearer ${accessToken}` - } - }) - + const response = await axiosInstance.patch('/api/members/password', password) return response.data } From e59e9737127fa52335f77eda34a625c00003b947 Mon Sep 17 00:00:00 2001 From: jiyeon Date: Wed, 5 Feb 2025 19:49:28 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20[refactor]=20:=20?= =?UTF-8?q?=EC=9D=B8=EC=A6=9D=20=EC=9D=B8=EA=B0=80=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/auth.ts | 17 ++++---- src/components/TopBar.vue | 55 ------------------------- src/components/top-bar/ProfileModal.vue | 3 +- src/components/top-bar/TopBar.vue | 27 ++++++++---- src/views/LoginView.vue | 10 ++--- 5 files changed, 32 insertions(+), 80 deletions(-) delete mode 100644 src/components/TopBar.vue diff --git a/src/api/auth.ts b/src/api/auth.ts index b2391bd8..adddce06 100644 --- a/src/api/auth.ts +++ b/src/api/auth.ts @@ -16,7 +16,6 @@ export const postLogin = async (loginData: loginDataTypes, sessionId: string) => path: '/', sameSite: 'strict' }) - await memberStore.updateMemberInfoWithToken() return response.data } @@ -28,16 +27,16 @@ export const patchPassword = async (password: string) => { export const deleteLogout = async () => { const memberStore = useMemberStore() - const refreshToken = Cookies.get('refreshToken') + // const refreshToken = Cookies.get('refreshToken') - const response = await axiosInstance.delete('/api/auths/logout', { - headers: { - Authorization: `Bearer ${import.meta.env.VITE_ACCESS_TOKEN}`, - refreshToken: refreshToken - } - }) + // // const response = await axiosInstance.delete('/api/auths/logout', { + // // headers: { + // // Authorization: `Bearer ${import.meta.env.VITE_ACCESS_TOKEN}`, + // // refreshToken: refreshToken + // // } + // // }) Cookies.remove('accessToken', { path: '/' }) Cookies.remove('refreshToken', { path: '/' }) await memberStore.updateMemberInfoWithToken() - return response + return } diff --git a/src/components/TopBar.vue b/src/components/TopBar.vue deleted file mode 100644 index 5f74dcba..00000000 --- a/src/components/TopBar.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/src/components/top-bar/ProfileModal.vue b/src/components/top-bar/ProfileModal.vue index f5e1088b..eda33884 100644 --- a/src/components/top-bar/ProfileModal.vue +++ b/src/components/top-bar/ProfileModal.vue @@ -63,7 +63,7 @@ import { computed } from 'vue' const isModalVisible = ref(false) const memberStore = useMemberStore() -const { info } = storeToRefs(memberStore) +const { isLogined, info } = storeToRefs(memberStore) const imgUrl = computed(() => info.value.imageUrl) const name = computed(() => info.value.memberName) @@ -88,6 +88,7 @@ const handleEdit = () => { } const openLogoutModal = () => { isModalVisible.value = true + isLogined.value = false } const closeLogoutModal = () => { isModalVisible.value = false diff --git a/src/components/top-bar/TopBar.vue b/src/components/top-bar/TopBar.vue index 9d1b47e6..f761b739 100644 --- a/src/components/top-bar/TopBar.vue +++ b/src/components/top-bar/TopBar.vue @@ -65,9 +65,10 @@ const { isLogined, info } = storeToRefs(memberStore) const route = useRoute() const router = useRouter() onMounted(async () => { - await fetchNotificationCount() - - await memberStore.updateMemberInfoWithToken() + if (isLogined.value) { + await fetchNotificationCount() + await memberStore.updateMemberInfoWithToken() + } const originUrl = route.path.split('/')[1] if (info.value.memberRole === 'ROLE_USER') { @@ -90,11 +91,13 @@ const isNotifiVisible = ref(false) const isProfileVisible = ref(false) const fetchNotificationCount = async () => { - try { - const data = await getNotifiCount() - countNotifi.value = data.count - } catch (error) { - console.error('알림 개수 불러오기 실패:', error) + if (isLogined.value) { + try { + const data = await getNotifiCount() + countNotifi.value = data.count + } catch (error) { + console.error('알림 개수 불러오기 실패:', error) + } } } @@ -109,10 +112,16 @@ const onCloseSide = () => { isSideOpen.value = false } +watch(isLogined, newValue => { + if (newValue) { + location.reload() // 페이지 새로고침 + } +}) + watch( () => info.value, async newInfo => { - if (newInfo.memberName) { + if (newInfo.memberName && isLogined) { await fetchNotificationCount() } }, diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index 1dd39baf..0654f0b8 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -1,11 +1,9 @@