Browse Source

路由重构

喻文俊 3 years ago
parent
commit
c36568df7d
3 changed files with 136 additions and 0 deletions
  1. 55 0
      src/router-replace/index.js
  2. 66 0
      src/router-replace/module/supplier.js
  3. 15 0
      src/views/proxy/index.vue

+ 55 - 0
src/router-replace/index.js

@@ -0,0 +1,55 @@
+import Vue from 'vue'
+import Router from 'vue-router'
+
+Vue.use(Router)
+
+// 需要权限访问的路由列表
+export const asyncRoutes = [
+  // 404页面 放在最后面
+  { path: '*', redirect: '/404', hidden: true }
+]
+
+// 默认路由列表 全部用户都可以访问
+export const constantRoutes = [
+  {
+    path: '/',
+    redirect: '/login'
+  },
+  {
+    path: '/login',
+    component: () => import(/* webpackChunkName: "login" */ '@/views/login/index'),
+    hidden: true
+  },
+  {
+    path: '/404',
+    component: () => import(/* webpackChunkName: "error-page" */ '@/views/error-page/404'),
+    hidden: true
+  },
+  {
+    path: '/401',
+    component: () => import(/* webpackChunkName: "error-page" */ '@/views/error-page/401'),
+    hidden: true
+  },
+  {
+    path: '/proxy',
+    component: () => import(/* webpackChunkName: "proxy" */ '@/views/authentic/proxy/proxy'),
+    hidden: true
+  }
+]
+
+// 创建路由对象
+const createRouter = () =>
+  new Router({
+    scrollBehavior: () => ({ y: 0 }),
+    routes: constantRoutes
+  })
+
+const router = createRouter()
+
+// 重置路由
+export function resetRouter() {
+  const newRouter = createRouter()
+  router.matcher = newRouter.matcher // reset router
+}
+
+export default router

+ 66 - 0
src/router-replace/module/supplier.js

@@ -0,0 +1,66 @@
+/* Layout */
+import Layout from '@/layout'
+
+// 供应商管理页面
+const supplierRoutes = [
+  {
+    path: '/supplier',
+    component: Layout,
+    alwaysShow: true,
+    name: 'Supplier',
+    redirect: '/supplier/list',
+    meta: { title: '账号管理', icon: 'el-icon-s-custom', roles: ['admin'], noCache: true },
+    children: [
+      {
+        path: 'list',
+        component: () => import('@/views/admin/supplier'),
+        name: 'SupplierList',
+        meta: { title: '供应商账号', icon: 'el-icon-menu', affix: true, roles: ['admin'], noCache: true }
+      },
+      {
+        hidden: true,
+        path: 'supplier-add',
+        component: () => import('@/views/admin/supplier/edit'),
+        name: 'SupplierAdd',
+        meta: { title: '添加供应商', icon: 'el-icon-menu', roles: ['admin'], noCache: true }
+      },
+      {
+        hidden: true,
+        path: 'supplier-edit',
+        component: () => import('@/views/admin/supplier/edit'),
+        name: 'SupplierEdit',
+        meta: { title: '修改供应商', icon: 'el-icon-menu', roles: ['admin'], noCache: true }
+      },
+      {
+        hidden: true,
+        path: 'club-list',
+        component: () => import('@/views/admin/supplier/club'),
+        name: 'ClubList',
+        meta: { title: '查看认证机构', icon: 'el-icon-menu', roles: ['admin'], noCache: true }
+      },
+      {
+        hidden: true,
+        path: 'club-detail',
+        component: () => import('@/views/admin/supplier/club/detail'),
+        name: 'ClubDetail',
+        meta: { title: '认证机构详情', icon: 'el-icon-menu', roles: ['admin'], noCache: true }
+      },
+      {
+        hidden: true,
+        path: 'club-device-list',
+        component: () => import('@/views/admin/supplier/club/device'),
+        name: 'ClubDeviceList',
+        meta: { title: '查看设备认证', icon: 'el-icon-menu', roles: ['admin'], noCache: true }
+      },
+      {
+        hidden: true,
+        path: 'club-device-detail',
+        component: () => import('@/views/admin/supplier/club/device/detail'),
+        name: 'ClubDeviceDetail',
+        meta: { title: '设备认证详情', icon: 'el-icon-menu', roles: ['admin'], noCache: true }
+      }
+    ]
+  }
+]
+
+export default supplierRoutes

+ 15 - 0
src/views/proxy/index.vue

@@ -0,0 +1,15 @@
+<template>
+  <div />
+</template>
+<script>
+import { mapGetters } from 'vuex'
+export default {
+  computed: {
+    ...mapGetters(['proxyState'])
+  },
+  created() {
+    const path = this.proxyState ? '/auth' : '/supplier'
+    this.$router.push(path)
+  }
+}
+</script>