🎨 use alova / add nprogress

This commit is contained in:
landaiqing
2024-08-08 23:45:51 +08:00
parent 562071cdc5
commit c13613ec07
18 changed files with 533 additions and 252 deletions

View File

@@ -1,10 +1,11 @@
export default [
{
path: '/',
name: 'login',
component: () => import('@/views/Login/LoginPage.vue'),
meta: {
title: '登录页'
}
}
{
path: '/',
name: 'login',
component: () => import('@/views/Login/LoginPage.vue'),
meta: {
requiresAuth: false,
title: '登录页'
}
}
];

View File

@@ -4,6 +4,7 @@ export default [
name: 'test',
component: () => import('@/views/TestTheme.vue'),
meta: {
requiresAuth: true,
title: '测试'
}
}

View File

@@ -1,7 +1,11 @@
import {createRouter, createWebHistory, RouteRecordRaw} from 'vue-router';
/* eslint-disable */
// @ts-nocheck
import {createRouter, createWebHistory, Router, RouteRecordRaw} from 'vue-router';
import login from './modules/login';
import test from "@/router/modules/test.ts";
import useStore from "@/store";
import {message} from "ant-design-vue";
import {close, start} from '@/utils/nprogress/nprogress.ts';
const routes: Array<RouteRecordRaw> = [
@@ -10,8 +14,33 @@ const routes: Array<RouteRecordRaw> = [
];
const router = createRouter({
const router: Router = createRouter({
history: createWebHistory(),
routes
});
router.beforeEach((to, from, next) => {
start();
if (to.meta.requiresAuth) {
const user = useStore().user;
const token: string | undefined = user.getUser()?.token;
const userId: string | undefined = user.getUser()?.userId;
if (token !== undefined && userId !== undefined) {
next();
} else {
message.warn('请先登录').then();
next({
path: '/',
query: {redirect: to.fullPath}
});
}
} else {
next();
}
});
router.afterEach(() => {
// 关闭进度条
close();
});
export default router;