Prechádzať zdrojové kódy

Merge branch 'master' of http://git.izouma.com/xiongzhu/awesome-admin-v2

drew 5 rokov pred
rodič
commit
5ff69287a4

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 4 - 0
src/main/vue/public/fontawesome-v5.13.0.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 4
src/main/vue/public/fontawesome-v5.2.0.js


+ 1 - 1
src/main/vue/public/index.html

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <script src="<%= BASE_URL %>fontawesome-v5.2.0.js"></script>
+    <script src="<%= BASE_URL %>fontawesome-v5.13.0.js"></script>
     <title>管理后台</title>
   </head>
   <body>

+ 86 - 55
src/main/vue/src/router.js

@@ -1,80 +1,111 @@
-import Vue from 'vue';
-import Router from 'vue-router';
-import Admin from '@/views/Admin';
-import store from './store';
-import http from './plugins/http';
+import Vue from "vue";
+import Router from "vue-router";
+import Admin from "@/views/Admin";
+import store from "./store";
+import http from "./plugins/http";
 
 Vue.use(Router);
 
 const router = new Router({
-    mode: 'history',
+    mode: "history",
     base: process.env.BASE_URL,
     routes: [
         {
-            path: '/',
+            path: "/",
             component: Admin,
             children: [
                 {
-                    path: '/',
-                    redirect: 'dashboard',
+                    path: "/",
+                    redirect: "dashboard",
                 },
                 {
-                    path: '/404',
-                    name: '404',
-                    component: () => import(/* webpackChunkName: "404" */ '@/views/404.vue'),
+                    path: "/404",
+                    name: "404",
+                    component: () =>
+                        import(/* webpackChunkName: "404" */ "@/views/404.vue"),
                 },
                 {
-                    path: '/dashboard',
-                    name: 'dashboard',
-                    component: () => import(/* webpackChunkName: "404" */ '@/views/Dashboard.vue'),
+                    path: "/dashboard",
+                    name: "dashboard",
+                    component: () =>
+                        import(/* webpackChunkName: "404" */ "@/views/Dashboard.vue"),
+                    meta: {
+                        title: "首页",
+                    },
                 },
                 {
-                    path: '/api',
-                    name: 'api',
-                    component: () => import(/* webpackChunkName: "api" */ '@/views/Api.vue'),
+                    path: "/api",
+                    name: "api",
+                    component: () =>
+                        import(/* webpackChunkName: "api" */ "@/views/Api.vue"),
+                    meta: {
+                        title: "接口调试",
+                    },
                 },
                 {
-                    path: '/genCodeEdit',
-                    name: 'genCodeEdit',
-                    component: () => import(/* webpackChunkName: "genCodeEdit" */ '@/views/GenCodeEdit.vue'),
+                    path: "/genCodeEdit",
+                    name: "genCodeEdit",
+                    component: () =>
+                        import(/* webpackChunkName: "genCodeEdit" */ "@/views/GenCodeEdit.vue"),
+                    meta: {
+                        title: "代码生成编辑",
+                    },
                 },
                 {
-                    path: '/genCodeList',
-                    name: 'genCodeList',
-                    component: () => import(/* webpackChunkName: "genCodeList" */ '@/views/GenCodeList.vue'),
+                    path: "/genCodeList",
+                    name: "genCodeList",
+                    component: () =>
+                        import(/* webpackChunkName: "genCodeList" */ "@/views/GenCodeList.vue"),
+                    meta: {
+                        title: "代码生成",
+                    },
                 },
                 {
-                    path: '/menus',
-                    name: 'menus',
-                    component: () => import(/* webpackChunkName: "menus" */ '@/views/Menus.vue'),
+                    path: "/menus",
+                    name: "menus",
+                    component: () =>
+                        import(/* webpackChunkName: "menus" */ "@/views/Menus.vue"),
+                    meta: {
+                        title: "菜单配置",
+                    },
                 },
                 {
-                    path: '/userEdit',
-                    name: 'userEdit',
-                    component: () => import(/* webpackChunkName: "userEdit" */ '@/views/UserEdit.vue'),
+                    path: "/userEdit",
+                    name: "userEdit",
+                    component: () =>
+                        import(/* webpackChunkName: "userEdit" */ "@/views/UserEdit.vue"),
+                    meta: {
+                        title: "用户编辑",
+                    },
                 },
                 {
-                    path: '/userList',
-                    name: 'userList',
-                    component: () => import(/* webpackChunkName: "userList" */ '@/views/UserList.vue'),
+                    path: "/userList",
+                    name: "userList",
+                    component: () =>
+                        import(/* webpackChunkName: "userList" */ "@/views/UserList.vue"),
+                    meta: {
+                        title: "用户管理",
+                    },
                 },
                 {
-                    path: '/sysConfigList',
-                    name: 'sysConfigList',
-                    component: () => import(/* webpackChunkName: "sysConfigList" */ '@/views/SysConfigList.vue'),
+                    path: "/sysConfigList",
+                    name: "sysConfigList",
+                    component: () =>
+                        import(/* webpackChunkName: "sysConfigList" */ "@/views/SysConfigList.vue"),
+                    meta: {
+                        title: "参数配置",
+                    },
                 },
-                {
-                    path: '/roleMenus',
-                    name: 'roleMenus',
-                    component: () => import(/* webpackChunkName: "roleMenus" */ '@/views/RoleMenus.vue'),
-                }
-                /**INSERT_LOCATION**/,
+                /**INSERT_LOCATION**/
             ],
         },
         {
-            path: '/login',
-            name: 'login',
-            component: () => import('@/views/Login'),
+            path: "/login",
+            name: "login",
+            component: () => import("@/views/Login"),
+            meta: {
+                title: "登录",
+            },
         },
     ],
 });
@@ -82,7 +113,7 @@ router.beforeEach((to, from, next) => {
     //console.log(to);
     if (/^\/http/.test(to.path)) {
         console.log(Vue.$baseUrl);
-        let url = to.path.replace('/', '');
+        let url = to.path.replace("/", "");
         let params = [];
         if (to.query) {
             for (let key in to.query) {
@@ -92,28 +123,28 @@ router.beforeEach((to, from, next) => {
             }
         }
         if (params.length > 0) {
-            url += `?${params.join('&')}`;
+            url += `?${params.join("&")}`;
         }
         window.open(url);
         return;
     }
-    if (!store.state.userInfo && to.path !== '/login') {
+    if (!store.state.userInfo && to.path !== "/login") {
         http.axios
-            .get('/user/my')
-            .then(res => {
-                store.commit('updateUserInfo', res.data);
+            .get("/user/my")
+            .then((res) => {
+                store.commit("updateUserInfo", res.data);
                 next();
                 return;
             })
             .catch(() => {
-                localStorage.removeItem('token');
-                next('/login');
+                localStorage.removeItem("token");
+                next("/login");
             });
     } else if (!to.matched.length) {
-        next('/404');
+        next("/404");
     } else {
         next();
     }
 });
 
-export default router;
+export default router;

+ 15 - 4
src/main/vue/src/views/Admin.vue

@@ -27,9 +27,17 @@
                     </div>
                 </div>
                 <div style="flex-grow: 1; margin-left: 20px;">
-                    <router-link :to="{ name: 'dashboard' }"
-                        >管理后台
-                    </router-link>
+                    <el-breadcrumb separator-class="el-icon-arrow-right">
+                        <el-breadcrumb-item :to="{ path: '/dashboard' }">
+                            首页
+                        </el-breadcrumb-item>
+                        <el-breadcrumb-item
+                            v-if="$route.name !== 'dashboard'"
+                            >{{
+                                $route.meta.title || $route.name
+                            }}</el-breadcrumb-item
+                        >
+                    </el-breadcrumb>
                 </div>
 
                 <el-tooltip
@@ -91,7 +99,7 @@ export default {
             menus: [],
             activeMenu: "",
             menuPath: [],
-            collapse: false,
+            collapse: localStorage.getItem("menu-collapse") == "true",
             isFullscreen: false
         };
     },
@@ -173,6 +181,9 @@ export default {
             i.className = val ? "fas fa-compress" : "fas fa-expand";
             this.$refs.fullscreen.append(i);
             FontAwesome.dom.i2svg();
+        },
+        collapse(val) {
+            localStorage.setItem("menu-collapse", val);
         }
     },
     components: {

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov