/
vdele
/
app
Обзор
Документация
Войти
/
vdele
/
app
Код
Вики
Пакеты
0
Релизы
1
Аналитика
dev
src/plugins/router.ts
51 строка
1 KB
Vasilii Polshakov
last fixes for 0.0.1-alpha
02 апр 2025, 12:32
02 апр 2025, 12:32
ef3d4ef
Код
Авторство
О чём код?
import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router'; import { useAccountStore } from '@/stores/account'; import { Routes } from '@/libs/routes'; const routes = <RouteRecordRaw[]>[ { //todo: [Vue Router warn]: No match found for location with path "/" path: '/', redirect: Routes.getPath(Routes.Login), }, ...Routes.getRouteConfiguration(), /* { path: Routes.getPath(Routes.Login), component: () => import('@/pages/login.vue'), name: Routes.Login }, { path: Routes.getPath(Routes.Checkout), component: () => import('@/pages/checkout.vue'), name: Routes.Checkout }, { path: Routes.getPath(Routes.Settings), component: () => import('@/pages/settings.vue'), name: Routes.Settings },*/ ]; const router = createRouter({ history: createWebHistory(), routes, }); router.beforeEach((to, _from, next) => { // Если адрес URL запроса не заканчивается на слэш if (!to.path.endsWith('/')) { //todo: !? проверить на НЕ ФАЙЛ: && !url.includes('.') // редиректим на адрес со слэшем на конце return next({ path: to.path + '/', query: to.query }); } const account = useAccountStore(); if (account.self.uid === '' && to.fullPath !== '/login/') { return next({ name: 'Login' }); } next(); }); export default router;