전체 글41 vue 대쉬보드에서 로그아웃하는 기능... 사용자 아이콘 누르고 Sign Out 누르기.. 대시보드 {{ loggingOut ? '로그아웃 중...' : '로그아웃' }} 환영합니다! {{ userInfo }}님이 로그인했습니다. {{ loading ? '로딩 중...' : '사용자 정보 가져오기' }} 사용자 데이터: {{ userData }} {{ logoutMessage }} 2025. 8. 14. logout import { ref, computed } from 'vue'import { useRouter } from 'vue-router'import axios from 'axios'// 전역 상태const user = ref(null)const token = ref(localStorage.getItem('jwt-token'))export function useAuth() { const router = useRouter() // 계산된 속성 const isAuthenticated = computed(() => !!token.value) // 로그인 함수 const login = async (credentials) => { try { const response = await axios.po.. 2025. 8. 14. VUE 초과근무 시간 관리 Overtime.vue 초과근무 현황 {{authStore.userName || authStore.mail}} 부장 이반 달 초과근무 시간: .. 2025. 8. 9. stores/auth.js (초기화 상태 추가) import { defineStore } from 'pinia'import { ref, computed } from 'vue'import axios from 'axios'export const useAuthStore = defineStore('auth', () => { // 상태 const user = ref(null) const token = ref(localStorage.getItem('jwt-token')) const loading = ref(false) const error = ref('') const initialized = ref(false) // 초기화 상태 추가 // 계산된 속성 const isAuthenticated = computed(() => !!token.value &.. 2025. 8. 6. vue import { createRouter, createWebHistory } from 'vue-router'import { useAuthStore } from '@/stores/auth'import LoginView from '@/views/LoginView.vue'import DashboardView from '@/views/DashboardView.vue'import ProfileView from '@/views/ProfileView.vue'const routes = [ { path: '/login', name: 'Login', component: LoginView, meta: { requiresAuth: false, hideNavbar: true } .. 2025. 8. 6. jwt3 import { defineStore } from 'pinia'import { ref, computed } from 'vue'import axios from 'axios'import { useRouter } from 'vue-router'export const useAuthStore = defineStore('auth', () => { // 상태 (State) const user = ref(null) const token = ref(localStorage.getItem('jwt-token')) const loading = ref(false) const error = ref('') // 계산된 속성 (Getters) const isAuthenticated = computed(() => !!to.. 2025. 8. 5. 이전 1 2 3 4 5 6 7 다음