7c6f09bc30d901bb08205f157a6f337c.json 17 KB

1
  1. {"remainingRequest":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js!D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\test\\ssi-satoken\\ui\\src\\components\\TopNav\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\test\\ssi-satoken\\ui\\src\\components\\TopNav\\index.vue","mtime":1697782893752},{"path":"D:\\test\\ssi-satoken\\ui\\babel.config.js","mtime":1696909835000},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1669864538178},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1669864538095},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1669864538178},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1697679531049}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLmxpbmsuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiKTsKdmFyIF9yb3V0ZXIgPSByZXF1aXJlKCJAL3JvdXRlciIpOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKLy8g6ZqQ6JeP5L6n6L655qCP6Lev55SxCnZhciBoaWRlTGlzdCA9IFsnL2luZGV4JywgJy91c2VyL3Byb2ZpbGUnXTsKdmFyIF9kZWZhdWx0ID0gewogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyDpobbpg6jmoI/liJ3lp4vmlbAKICAgICAgdmlzaWJsZU51bWJlcjogNSwKICAgICAgLy8g5b2T5YmN5r+A5rS76I+c5Y2V55qEIGluZGV4CiAgICAgIGN1cnJlbnRJbmRleDogdW5kZWZpbmVkCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHRoZW1lOiBmdW5jdGlvbiB0aGVtZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLnRoZW1lOwogICAgfSwKICAgIC8vIOmhtumDqOaYvuekuuiPnOWNlQogICAgdG9wTWVudXM6IGZ1bmN0aW9uIHRvcE1lbnVzKCkgewogICAgICB2YXIgdG9wTWVudXMgPSBbXTsKICAgICAgdGhpcy5yb3V0ZXJzLm1hcChmdW5jdGlvbiAobWVudSkgewogICAgICAgIGlmIChtZW51LmhpZGRlbiAhPT0gdHJ1ZSkgewogICAgICAgICAgLy8g5YW85a656aG26YOo5qCP5LiA57qn6I+c5Y2V5YaF6YOo6Lez6L2sCiAgICAgICAgICBpZiAobWVudS5wYXRoID09PSAiLyIpIHsKICAgICAgICAgICAgdG9wTWVudXMucHVzaChtZW51LmNoaWxkcmVuWzBdKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRvcE1lbnVzLnB1c2gobWVudSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgICAgcmV0dXJuIHRvcE1lbnVzOwogICAgfSwKICAgIC8vIOaJgOacieeahOi3r+eUseS/oeaBrwogICAgcm91dGVyczogZnVuY3Rpb24gcm91dGVycygpIHsKICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnBlcm1pc3Npb24udG9wYmFyUm91dGVyczsKICAgIH0sCiAgICAvLyDorr7nva7lrZDot6/nlLEKICAgIGNoaWxkcmVuTWVudXM6IGZ1bmN0aW9uIGNoaWxkcmVuTWVudXMoKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHZhciBjaGlsZHJlbk1lbnVzID0gW107CiAgICAgIHRoaXMucm91dGVycy5tYXAoZnVuY3Rpb24gKHJvdXRlcikgewogICAgICAgIGZvciAodmFyIGl0ZW0gaW4gcm91dGVyLmNoaWxkcmVuKSB7CiAgICAgICAgICBpZiAocm91dGVyLmNoaWxkcmVuW2l0ZW1dLnBhcmVudFBhdGggPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBpZiAocm91dGVyLnBhdGggPT09ICIvIikgewogICAgICAgICAgICAgIHJvdXRlci5jaGlsZHJlbltpdGVtXS5wYXRoID0gIi8iICsgcm91dGVyLmNoaWxkcmVuW2l0ZW1dLnBhdGg7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaWYgKCFfdGhpcy5pc2h0dHAocm91dGVyLmNoaWxkcmVuW2l0ZW1dLnBhdGgpKSB7CiAgICAgICAgICAgICAgICByb3V0ZXIuY2hpbGRyZW5baXRlbV0ucGF0aCA9IHJvdXRlci5wYXRoICsgIi8iICsgcm91dGVyLmNoaWxkcmVuW2l0ZW1dLnBhdGg7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJvdXRlci5jaGlsZHJlbltpdGVtXS5wYXJlbnRQYXRoID0gcm91dGVyLnBhdGg7CiAgICAgICAgICB9CiAgICAgICAgICBjaGlsZHJlbk1lbnVzLnB1c2gocm91dGVyLmNoaWxkcmVuW2l0ZW1dKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICByZXR1cm4gX3JvdXRlci5jb25zdGFudFJvdXRlcy5jb25jYXQoY2hpbGRyZW5NZW51cyk7CiAgICB9LAogICAgLy8g6buY6K6k5r+A5rS755qE6I+c5Y2VCiAgICBhY3RpdmVNZW51OiBmdW5jdGlvbiBhY3RpdmVNZW51KCkgewogICAgICB2YXIgcGF0aCA9IHRoaXMuJHJvdXRlLnBhdGg7CiAgICAgIHZhciBhY3RpdmVQYXRoID0gcGF0aDsKICAgICAgaWYgKHBhdGggIT09IHVuZGVmaW5lZCAmJiBwYXRoLmxhc3RJbmRleE9mKCIvIikgPiAwICYmIGhpZGVMaXN0LmluZGV4T2YocGF0aCkgPT09IC0xKSB7CiAgICAgICAgdmFyIHRtcFBhdGggPSBwYXRoLnN1YnN0cmluZygxLCBwYXRoLmxlbmd0aCk7CiAgICAgICAgYWN0aXZlUGF0aCA9ICIvIiArIHRtcFBhdGguc3Vic3RyaW5nKDAsIHRtcFBhdGguaW5kZXhPZigiLyIpKTsKICAgICAgICBpZiAoIXRoaXMuJHJvdXRlLm1ldGEubGluaykgewogICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2FwcC90b2dnbGVTaWRlQmFySGlkZScsIGZhbHNlKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuJHJvdXRlLmNoaWxkcmVuKSB7CiAgICAgICAgYWN0aXZlUGF0aCA9IHBhdGg7CiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2FwcC90b2dnbGVTaWRlQmFySGlkZScsIHRydWUpOwogICAgICB9CiAgICAgIHRoaXMuYWN0aXZlUm91dGVzKGFjdGl2ZVBhdGgpOwogICAgICByZXR1cm4gYWN0aXZlUGF0aDsKICAgIH0KICB9LAogIGJlZm9yZU1vdW50OiBmdW5jdGlvbiBiZWZvcmVNb3VudCgpIHsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnNldFZpc2libGVOdW1iZXIpOwogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnNldFZpc2libGVOdW1iZXIpOwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMuc2V0VmlzaWJsZU51bWJlcigpOwogIH0sCiAgbWV0aG9kczogewogICAgLy8g5qC55o2u5a695bqm6K6h566X6K6+572u5pi+56S65qCP5pWwCiAgICBzZXRWaXNpYmxlTnVtYmVyOiBmdW5jdGlvbiBzZXRWaXNpYmxlTnVtYmVyKCkgewogICAgICB2YXIgd2lkdGggPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gMzsKICAgICAgdGhpcy52aXNpYmxlTnVtYmVyID0gcGFyc2VJbnQod2lkdGggLyA4NSk7CiAgICB9LAogICAgLy8g6I+c5Y2V6YCJ5oup5LqL5Lu2CiAgICBoYW5kbGVTZWxlY3Q6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdChrZXksIGtleVBhdGgpIHsKICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBrZXk7CiAgICAgIHZhciByb3V0ZSA9IHRoaXMucm91dGVycy5maW5kKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0ucGF0aCA9PT0ga2V5OwogICAgICB9KTsKICAgICAgaWYgKHRoaXMuaXNodHRwKGtleSkpIHsKICAgICAgICAvLyBodHRwKHMpOi8vIOi3r+W+hOaWsOeql+WPo+aJk+W8gAogICAgICAgIHdpbmRvdy5vcGVuKGtleSwgIl9ibGFuayIpOwogICAgICB9IGVsc2UgaWYgKCFyb3V0ZSB8fCAhcm91dGUuY2hpbGRyZW4pIHsKICAgICAgICAvLyDmsqHmnInlrZDot6/nlLHot6/lvoTlhoXpg6jmiZPlvIAKICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgICBwYXRoOiBrZXkKICAgICAgICB9KTsKICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnYXBwL3RvZ2dsZVNpZGVCYXJIaWRlJywgdHJ1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5pi+56S65bem5L6n6IGU5Yqo6I+c5Y2VCiAgICAgICAgdGhpcy5hY3RpdmVSb3V0ZXMoa2V5KTsKICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnYXBwL3RvZ2dsZVNpZGVCYXJIaWRlJywgZmFsc2UpOwogICAgICB9CiAgICB9LAogICAgLy8g5b2T5YmN5r+A5rS755qE6Lev55SxCiAgICBhY3RpdmVSb3V0ZXM6IGZ1bmN0aW9uIGFjdGl2ZVJvdXRlcyhrZXkpIHsKICAgICAgdmFyIHJvdXRlcyA9IFtdOwogICAgICBpZiAodGhpcy5jaGlsZHJlbk1lbnVzICYmIHRoaXMuY2hpbGRyZW5NZW51cy5sZW5ndGggPiAwKSB7CiAgICAgICAgdGhpcy5jaGlsZHJlbk1lbnVzLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgaWYgKGtleSA9PSBpdGVtLnBhcmVudFBhdGggfHwga2V5ID09ICJpbmRleCIgJiYgIiIgPT0gaXRlbS5wYXRoKSB7CiAgICAgICAgICAgIHJvdXRlcy5wdXNoKGl0ZW0pOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAgIGlmIChyb3V0ZXMubGVuZ3RoID4gMCkgewogICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgiU0VUX1NJREVCQVJfUk9VVEVSUyIsIHJvdXRlcyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2FwcC90b2dnbGVTaWRlQmFySGlkZScsIHRydWUpOwogICAgICB9CiAgICB9LAogICAgaXNodHRwOiBmdW5jdGlvbiBpc2h0dHAodXJsKSB7CiAgICAgIHJldHVybiB1cmwuaW5kZXhPZignaHR0cDovLycpICE9PSAtMSB8fCB1cmwuaW5kZXhPZignaHR0cHM6Ly8nKSAhPT0gLTE7CiAgICB9CiAgfQp9OwpleHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDs="},{"version":3,"names":["_router","require","hideList","_default","data","visibleNumber","currentIndex","undefined","computed","theme","$store","state","settings","topMenus","routers","map","menu","hidden","path","push","children","permission","topbarRouters","childrenMenus","_this","router","item","parentPath","ishttp","constantRoutes","concat","activeMenu","$route","activePath","lastIndexOf","indexOf","tmpPath","substring","length","meta","link","dispatch","activeRoutes","beforeMount","window","addEventListener","setVisibleNumber","beforeDestroy","removeEventListener","mounted","methods","width","document","body","getBoundingClientRect","parseInt","handleSelect","key","keyPath","route","find","open","$router","routes","commit","url","exports","default"],"sources":["src/components/TopNav/index.vue"],"sourcesContent":["<template>\r\n <el-menu\r\n :default-active=\"activeMenu\"\r\n mode=\"horizontal\"\r\n @select=\"handleSelect\"\r\n >\r\n <template v-for=\"(item, index) in topMenus\">\r\n <el-menu-item :style=\"{'--theme': theme}\" :index=\"item.path\" :key=\"index\" v-if=\"index < visibleNumber\"\r\n ><svg-icon :icon-class=\"item.meta.icon\" />\r\n {{ item.meta.title }}</el-menu-item\r\n >\r\n </template>\r\n\r\n <!-- 顶部菜单超出数量折叠 -->\r\n <el-submenu :style=\"{'--theme': theme}\" index=\"more\" v-if=\"topMenus.length > visibleNumber\">\r\n <template slot=\"title\">更多菜单</template>\r\n <template v-for=\"(item, index) in topMenus\">\r\n <el-menu-item\r\n :index=\"item.path\"\r\n :key=\"index\"\r\n v-if=\"index >= visibleNumber\"\r\n ><svg-icon :icon-class=\"item.meta.icon\" />\r\n {{ item.meta.title }}</el-menu-item\r\n >\r\n </template>\r\n </el-submenu>\r\n </el-menu>\r\n</template>\r\n\r\n<script>\r\nimport { constantRoutes } from \"@/router\";\r\n\r\n// 隐藏侧边栏路由\r\nconst hideList = ['/index', '/user/profile'];\r\n\r\nexport default {\r\n data() {\r\n return {\r\n // 顶部栏初始数\r\n visibleNumber: 5,\r\n // 当前激活菜单的 index\r\n currentIndex: undefined\r\n };\r\n },\r\n computed: {\r\n theme() {\r\n return this.$store.state.settings.theme;\r\n },\r\n // 顶部显示菜单\r\n topMenus() {\r\n let topMenus = [];\r\n this.routers.map((menu) => {\r\n if (menu.hidden !== true) {\r\n // 兼容顶部栏一级菜单内部跳转\r\n if (menu.path === \"/\") {\r\n topMenus.push(menu.children[0]);\r\n } else {\r\n topMenus.push(menu);\r\n }\r\n }\r\n });\r\n return topMenus;\r\n },\r\n // 所有的路由信息\r\n routers() {\r\n return this.$store.state.permission.topbarRouters;\r\n },\r\n // 设置子路由\r\n childrenMenus() {\r\n var childrenMenus = [];\r\n this.routers.map((router) => {\r\n for (var item in router.children) {\r\n if (router.children[item].parentPath === undefined) {\r\n if(router.path === \"/\") {\r\n router.children[item].path = \"/\" + router.children[item].path;\r\n } else {\r\n if(!this.ishttp(router.children[item].path)) {\r\n router.children[item].path = router.path + \"/\" + router.children[item].path;\r\n }\r\n }\r\n router.children[item].parentPath = router.path;\r\n }\r\n childrenMenus.push(router.children[item]);\r\n }\r\n });\r\n return constantRoutes.concat(childrenMenus);\r\n },\r\n // 默认激活的菜单\r\n activeMenu() {\r\n const path = this.$route.path;\r\n let activePath = path;\r\n if (path !== undefined && path.lastIndexOf(\"/\") > 0 && hideList.indexOf(path) === -1) {\r\n const tmpPath = path.substring(1, path.length);\r\n activePath = \"/\" + tmpPath.substring(0, tmpPath.indexOf(\"/\"));\r\n if (!this.$route.meta.link) {\r\n this.$store.dispatch('app/toggleSideBarHide', false);\r\n }\r\n } else if(!this.$route.children) {\r\n activePath = path;\r\n this.$store.dispatch('app/toggleSideBarHide', true);\r\n }\r\n this.activeRoutes(activePath);\r\n return activePath;\r\n },\r\n },\r\n beforeMount() {\r\n window.addEventListener('resize', this.setVisibleNumber)\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.setVisibleNumber)\r\n },\r\n mounted() {\r\n this.setVisibleNumber();\r\n },\r\n methods: {\r\n // 根据宽度计算设置显示栏数\r\n setVisibleNumber() {\r\n const width = document.body.getBoundingClientRect().width / 3;\r\n this.visibleNumber = parseInt(width / 85);\r\n },\r\n // 菜单选择事件\r\n handleSelect(key, keyPath) {\r\n this.currentIndex = key;\r\n const route = this.routers.find(item => item.path === key);\r\n if (this.ishttp(key)) {\r\n // http(s):// 路径新窗口打开\r\n window.open(key, \"_blank\");\r\n } else if (!route || !route.children) {\r\n // 没有子路由路径内部打开\r\n this.$router.push({ path: key });\r\n this.$store.dispatch('app/toggleSideBarHide', true);\r\n } else {\r\n // 显示左侧联动菜单\r\n this.activeRoutes(key);\r\n this.$store.dispatch('app/toggleSideBarHide', false);\r\n }\r\n },\r\n // 当前激活的路由\r\n activeRoutes(key) {\r\n var routes = [];\r\n if (this.childrenMenus && this.childrenMenus.length > 0) {\r\n this.childrenMenus.map((item) => {\r\n if (key == item.parentPath || (key == \"index\" && \"\" == item.path)) {\r\n routes.push(item);\r\n }\r\n });\r\n }\r\n if(routes.length > 0) {\r\n this.$store.commit(\"SET_SIDEBAR_ROUTERS\", routes);\r\n } else {\r\n this.$store.dispatch('app/toggleSideBarHide', true);\r\n }\r\n },\r\n ishttp(url) {\r\n return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1\r\n }\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.topmenu-container.el-menu--horizontal > .el-menu-item {\r\n float: left;\r\n height: 50px !important;\r\n line-height: 50px !important;\r\n color: #999093 !important;\r\n padding: 0 5px !important;\r\n margin: 0 10px !important;\r\n}\r\n\r\n.topmenu-container.el-menu--horizontal > .el-menu-item.is-active, .el-menu--horizontal > .el-submenu.is-active .el-submenu__title {\r\n border-bottom: 2px solid #{'var(--theme)'} !important;\r\n color: #303133;\r\n}\r\n\r\n/* submenu item */\r\n.topmenu-container.el-menu--horizontal > .el-submenu .el-submenu__title {\r\n float: left;\r\n height: 50px !important;\r\n line-height: 50px !important;\r\n color: #999093 !important;\r\n padding: 0 5px !important;\r\n margin: 0 10px !important;\r\n}\r\n</style>\r\n"],"mappings":"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"}]}