Bladeren bron

fix:增加login路由

liuzhenlin 11 maanden geleden
bovenliggende
commit
8281b2a503
1 gewijzigde bestanden met toevoegingen van 39 en 33 verwijderingen
  1. 39 33
      src/router.js

+ 39 - 33
src/router.js

@@ -1,17 +1,18 @@
-import Vue from 'vue'
-import Router from 'vue-router'
+import Vue from "vue";
+import Router from "vue-router";
 import { getToken } from "@/utils/auth";
-import store from './store'
-import { getUserByUserName } from '@/api/login'
-import awaitTo from 'await-to-js'
+import store from "./store";
+import { getUserByUserName } from "@/api/login";
+import awaitTo from "await-to-js";
 
 Vue.use(Router);
 
 let router = new Router({
-  routes: [{
-      path: '/',
-      name: 'home',
-      component: () => import('./views/Home.vue')
+  routes: [
+    {
+      path: "/",
+      name: "home",
+      component: () => import("./views/Home.vue"),
     },
     {
       path: "/introduce",
@@ -19,12 +20,12 @@ let router = new Router({
       component: () => import("./views/Introduce.vue"),
     },
     {
-      path: '/news',
-      name: 'news',
+      path: "/news",
+      name: "news",
       meta: {
-        requireAuth: true
+        requireAuth: true,
       },
-      component: () => import('./views/News.vue'),
+      component: () => import("./views/News.vue"),
     },
     {
       path: "/newsdetails/:id",
@@ -75,29 +76,34 @@ let router = new Router({
       component: () => import("./views/Download.vue"),
     },
     {
-      path: '/register',
-      name: 'register',
-      component: () => import('./views/Register.vue')
+      path: "/register",
+      name: "register",
+      component: () => import("./views/Register.vue"),
+    },
+    {
+      path: '/login',
+      name: 'login',
+      component: () => import('./views/Login.vue')
     },
     {
-      path: '/personal-center',
-      name: 'personal',
+      path: "/personal-center",
+      name: "personal",
       meta: {
-        requireAuth: true
+        requireAuth: true,
       },
-      component: () => import('./views/PersonalCenter.vue')
+      component: () => import("./views/PersonalCenter.vue"),
     },
     {
-      path: '/contact-us',
-      name: 'contactUs',
+      path: "/contact-us",
+      name: "contactUs",
       meta: {
-        requireAuth: true
+        requireAuth: true,
       },
-      component: () => import('./views/ContactUs.vue')
+      component: () => import("./views/ContactUs.vue"),
     },
     {
-      path: '/admin',
-      name: 'admin',
+      path: "/admin",
+      name: "admin",
       meta: {
         requireAuth: true,
       },
@@ -155,18 +161,18 @@ let router = new Router({
 
 // 判断是否需要登录权限 以及是否登录
 router.beforeEach(async (to, from, next) => {
-  const token = getToken()
+  const token = getToken();
   // 拉取用户信息
-  if(token && !store.getters.userInfo.id) {
-    const [err, res] = await awaitTo(getUserByUserName())
-    if(err) return
-    store.dispatch('setUserInfo', res.data.userInfo)
+  if (token && !store.getters.userInfo.id) {
+    const [err, res] = await awaitTo(getUserByUserName());
+    if (err) return;
+    store.dispatch("setUserInfo", res.data.userInfo);
   }
   // 判断是否需要登录权限
   if (to.matched.some((res) => res.meta.requireAuth)) {
     // 判断是否登录
     if (token) {
-      next()
+      next();
     } else {
       // 没登录则跳转到登录界面
       next({
@@ -181,4 +187,4 @@ router.beforeEach(async (to, from, next) => {
   }
 });
 
-export default router
+export default router;