30-04-2026
This commit is contained in:
parent
761b1156c1
commit
d054732bf5
35 changed files with 2796 additions and 505 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import { defineRouter } from '#q-app/wrappers'
|
||||
import { createRouter, createMemoryHistory, createWebHistory, createWebHashHistory } from 'vue-router'
|
||||
import routes from './routes'
|
||||
import { AUTH_STORAGE_KEY, DEMO_USERS } from 'stores/auth'
|
||||
|
||||
/*
|
||||
* If not building with SSR mode, you can
|
||||
|
|
@ -26,5 +27,28 @@ export default defineRouter(function (/* { store, ssrContext } */) {
|
|||
history: createHistory(process.env.VUE_ROUTER_BASE)
|
||||
})
|
||||
|
||||
Router.beforeEach((to) => {
|
||||
const stored = localStorage.getItem(AUTH_STORAGE_KEY)
|
||||
let userId = null
|
||||
|
||||
try {
|
||||
userId = stored ? JSON.parse(stored)?.userId ?? null : null
|
||||
} catch {
|
||||
userId = null
|
||||
}
|
||||
|
||||
const isAuthenticated = DEMO_USERS.some(user => user.id === userId)
|
||||
|
||||
if (to.meta.requiresAuth && !isAuthenticated) {
|
||||
return { path: '/login', query: { redirect: to.fullPath } }
|
||||
}
|
||||
|
||||
if (to.path === '/login' && isAuthenticated) {
|
||||
return { path: '/' }
|
||||
}
|
||||
|
||||
return true
|
||||
})
|
||||
|
||||
return Router
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue