Fix invalid token redirection
This commit is contained in:
parent
ae0a1a817d
commit
a3c209da65
|
@ -5,24 +5,30 @@
|
||||||
</div>
|
</div>
|
||||||
<v-app>
|
<v-app>
|
||||||
<v-main>
|
<v-main>
|
||||||
|
<router-view v-slot="{ Component }">
|
||||||
<keep-alive>
|
<keep-alive>
|
||||||
<RouterView />
|
<component :is="Component" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
|
</router-view>
|
||||||
</v-main>
|
</v-main>
|
||||||
</v-app>
|
</v-app>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
import { useAppStore } from './store/appStore'
|
import { useAppStore } from './store/appStore'
|
||||||
import { onMounted, onBeforeMount } from 'vue'
|
import { onMounted } from 'vue'
|
||||||
|
|
||||||
|
const router = useRouter()
|
||||||
const appStore = useAppStore()
|
const appStore = useAppStore()
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await appStore.fetchMe()
|
await appStore.fetchMe()
|
||||||
})
|
|
||||||
|
|
||||||
onBeforeMount(() => {
|
if (!appStore.me) {
|
||||||
|
console.log('Not logged in')
|
||||||
|
router.replace({ name: 'Login' })
|
||||||
|
}
|
||||||
appStore.selectedCampus = appStore.me?.campus || ''
|
appStore.selectedCampus = appStore.me?.campus || ''
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -41,7 +41,7 @@ const routes = [
|
||||||
component: () => import('@/layouts/single/Default.vue'),
|
component: () => import('@/layouts/single/Default.vue'),
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: ':serialNumber',
|
path: '',
|
||||||
name: 'Printer',
|
name: 'Printer',
|
||||||
// route level code-splitting
|
// route level code-splitting
|
||||||
// this generates a separate chunk (about.[hash].js) for this route
|
// this generates a separate chunk (about.[hash].js) for this route
|
||||||
|
|
|
@ -62,20 +62,15 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { api } from '@/api'
|
import { api } from '@/api'
|
||||||
import { getJwtToken, saveJwtToken } from '@/auth'
|
import { saveJwtToken } from '@/auth'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useAppStore } from '@/store/appStore'
|
import { useAppStore } from '@/store/appStore'
|
||||||
|
|
||||||
|
const appStore = useAppStore()
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
const token = getJwtToken()
|
if (appStore.me) router.push({ name: 'Home' })
|
||||||
|
|
||||||
const { fetchMe } = useAppStore()
|
|
||||||
|
|
||||||
if (token) {
|
|
||||||
fetchMe()
|
|
||||||
router.replace({ name: 'Home' })
|
|
||||||
}
|
|
||||||
|
|
||||||
const username = ref<string>('')
|
const username = ref<string>('')
|
||||||
const password = ref<string>('')
|
const password = ref<string>('')
|
||||||
|
@ -102,7 +97,7 @@ async function login() {
|
||||||
|
|
||||||
saveJwtToken(token)
|
saveJwtToken(token)
|
||||||
|
|
||||||
await fetchMe()
|
await appStore.fetchMe()
|
||||||
|
|
||||||
router.push({ name: 'Home' })
|
router.push({ name: 'Home' })
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user