1 line
7.7 KiB
JSON
1 line
7.7 KiB
JSON
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js??ref--1-0!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","mtime":1743947423844},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/babel.config.js","mtime":1742646402652},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gInZ1ZXgiOwppbXBvcnQgeyBmaWx0ZXJSb3V0ZXMgfSBmcm9tICJAL3JvdXRlciI7CmltcG9ydCB7IHJvdXRlcyB9IGZyb20gIkAvcm91dGVyIjsKaW1wb3J0IFByb0xheW91dCBmcm9tICJAYW50LWRlc2lnbi12dWUvcHJvLWxheW91dCI7CmltcG9ydCBUYWJMYXlvdXQgZnJvbSAiQC9sYXlvdXRzL1RhYkxheW91dCI7CmltcG9ydCBMb2dpblN0YXRlIGZyb20gIkAvY29tcG9uZW50cy9jb21tb24vTG9naW5TdGF0ZS52dWUiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIkdsb2JhbExheW91dCIsCiAgY29tcG9uZW50czogewogICAgUHJvTGF5b3V0LAogICAgTG9naW5TdGF0ZSwKICAgIFRhYkxheW91dAogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGNvbGxhcHNlZDogZmFsc2UsCiAgICAgIGF1dG9IaWRlSGVhZGVyOiBmYWxzZSwKICAgICAgcXVlcnk6IHt9LAogICAgICBsYXlvdXQ6ICJzaWRlbWVudSIsCiAgICAgIGNvbnRlbnRXaWR0aDogIkZsdWlkIiwKICAgICAgdGhlbWU6ICJkYXJrIiwKICAgICAgaXNNb2JpbGU6IGZhbHNlCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC4uLm1hcEdldHRlcnMoWyJwZXJtaXNzaW9ucyJdKSwKICAgIG1lbnVzKCkgewogICAgICBjb25zdCByb290ID0gcm91dGVzLmZpbmQodiA9PiB2LnBhdGggPT09ICIvIik7CiAgICAgIHJldHVybiBmaWx0ZXJSb3V0ZXMoKHJvb3QgPT09IG51bGwgfHwgcm9vdCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm9vdC5jaGlsZHJlbikgfHwgW10sIHRoaXMucGVybWlzc2lvbnMpOwogICAgfSwKICAgIHJpZ2h0Q29udGVudENsYXNzKCkgewogICAgICByZXR1cm4gWyJhbnQtcHJvLWdsb2JhbC1oZWFkZXItaW5kZXgtcmlnaHQiLCB0aGlzLmxheW91dCA9PT0gInRvcG1lbnUiICYmIGBhbnQtcHJvLWdsb2JhbC1oZWFkZXItaW5kZXgtJHt0aGlzLnRoZW1lfWBdOwogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlQ29sbGFwc2UoY29sbGFwc2VkKSB7CiAgICAgIHRoaXMuY29sbGFwc2VkID0gY29sbGFwc2VkOwogICAgfSwKICAgIGhhbmRsZU1lZGlhUXVlcnkocXVlcnkpIHsKICAgICAgdGhpcy5xdWVyeSA9IHF1ZXJ5OwogICAgICBpZiAodGhpcy5pc01vYmlsZSAmJiAhcXVlcnlbInNjcmVlbi14cyJdKSB7CiAgICAgICAgdGhpcy5pc01vYmlsZSA9IGZhbHNlOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgcXVlcnlbInNjcmVlbi14cyJdKSB7CiAgICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7CiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSBmYWxzZTsKICAgICAgfQogICAgfQogIH0KfTs="},{"version":3,"names":["mapGetters","filterRoutes","routes","ProLayout","TabLayout","LoginState","name","components","data","collapsed","autoHideHeader","query","layout","contentWidth","theme","isMobile","computed","menus","root","find","v","path","children","permissions","rightContentClass","methods","handleCollapse","handleMediaQuery"],"sources":["src/layouts/GlobalLayout.vue"],"sourcesContent":["<template>\n <pro-layout\n :menus=\"menus\"\n :collapsed=\"collapsed\"\n :mediaQuery=\"query\"\n :isMobile=\"isMobile\"\n :handleMediaQuery=\"handleMediaQuery\"\n :handleCollapse=\"handleCollapse\"\n fixedHeader\n fixSiderbar\n >\n <template #menuHeaderRender>\n <a-avatar src=\"/logo.png\" :size=\"40\" />\n <h1>竞赛管理系统</h1>\n </template>\n <template #rightContentRender>\n <div :class=\"rightContentClass\">\n <LoginState />\n </div>\n </template>\n <template #footerRender>\n <div class=\"footer-container\">\n 校园信息化-竞赛管理系统 ©2024 Created by 陕西科技大学镐京学院\n </div>\n </template>\n <template #headerContentRender>\n <a-breadcrumb\n style=\"height: 64px; line-height: 64px\"\n class=\"breadcrumb\"\n :routes=\"$route.matched\"\n >\n <template #itemRender=\"{ route }\">\n {{ route.meta.title }}\n </template>\n </a-breadcrumb>\n </template>\n <TabLayout />\n </pro-layout>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport { filterRoutes } from \"@/router\";\nimport { routes } from \"@/router\";\nimport ProLayout from \"@ant-design-vue/pro-layout\";\nimport TabLayout from \"@/layouts/TabLayout\";\nimport LoginState from \"@/components/common/LoginState.vue\";\n\nexport default {\n name: \"GlobalLayout\",\n components: {\n ProLayout,\n LoginState,\n TabLayout,\n },\n data() {\n return {\n collapsed: false,\n autoHideHeader: false,\n query: {},\n layout: \"sidemenu\",\n contentWidth: \"Fluid\",\n theme: \"dark\",\n isMobile: false,\n };\n },\n computed: {\n ...mapGetters([\"permissions\"]),\n menus() {\n const root = routes.find((v) => v.path === \"/\");\n return filterRoutes(root?.children || [], this.permissions);\n },\n rightContentClass() {\n return [\n \"ant-pro-global-header-index-right\",\n this.layout === \"topmenu\" &&\n `ant-pro-global-header-index-${this.theme}`,\n ];\n },\n },\n methods: {\n handleCollapse(collapsed) {\n this.collapsed = collapsed;\n },\n handleMediaQuery(query) {\n this.query = query;\n if (this.isMobile && !query[\"screen-xs\"]) {\n this.isMobile = false;\n return;\n }\n if (!this.isMobile && query[\"screen-xs\"]) {\n this.isMobile = true;\n this.collapsed = false;\n }\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n@import \"~ant-design-vue/es/style/themes/default.less\";\n\n.footer-container {\n text-align: center;\n}\n\n.ant-layout-footer {\n padding: 16px 24px;\n}\n\n.ant-pro-sider-menu-logo {\n background-color: #002140;\n}\n\n.ant-pro-basicLayout-content {\n margin: 10px 10px 0 10px;\n padding: 10px;\n background-color: white;\n height: 100vh;\n}\n\n.ant-pro-global-header-index-right {\n margin-right: 8px;\n\n &.ant-pro-global-header-index-dark {\n .ant-pro-global-header-index-action {\n color: hsla(0, 0%, 100%, 0.85);\n\n &:hover {\n background: #1890ff;\n }\n }\n }\n\n .ant-pro-account-avatar {\n .antd-pro-global-header-index-avatar {\n margin: ~\"calc((@{layout-header-height} - 24px) / 2)\" 0;\n margin-right: 8px;\n color: @primary-color;\n vertical-align: top;\n background: rgba(255, 255, 255, 0.85);\n }\n }\n\n .menu {\n .anticon {\n margin-right: 8px;\n }\n\n .ant-dropdown-menu-item {\n min-width: 100px;\n }\n }\n}\n</style>\n"],"mappings":"AAyCA,SAAAA,UAAA;AACA,SAAAC,YAAA;AACA,SAAAC,MAAA;AACA,OAAAC,SAAA;AACA,OAAAC,SAAA;AACA,OAAAC,UAAA;AAEA;EACAC,IAAA;EACAC,UAAA;IACAJ,SAAA;IACAE,UAAA;IACAD;EACA;EACAI,KAAA;IACA;MACAC,SAAA;MACAC,cAAA;MACAC,KAAA;MACAC,MAAA;MACAC,YAAA;MACAC,KAAA;MACAC,QAAA;IACA;EACA;EACAC,QAAA;IACA,GAAAhB,UAAA;IACAiB,MAAA;MACA,MAAAC,IAAA,GAAAhB,MAAA,CAAAiB,IAAA,CAAAC,CAAA,IAAAA,CAAA,CAAAC,IAAA;MACA,OAAApB,YAAA,EAAAiB,IAAA,aAAAA,IAAA,uBAAAA,IAAA,CAAAI,QAAA,cAAAC,WAAA;IACA;IACAC,kBAAA;MACA,QACA,qCACA,KAAAZ,MAAA,kBACA,oCAAAE,KAAA,GACA;IACA;EACA;EACAW,OAAA;IACAC,eAAAjB,SAAA;MACA,KAAAA,SAAA,GAAAA,SAAA;IACA;IACAkB,iBAAAhB,KAAA;MACA,KAAAA,KAAA,GAAAA,KAAA;MACA,SAAAI,QAAA,KAAAJ,KAAA;QACA,KAAAI,QAAA;QACA;MACA;MACA,UAAAA,QAAA,IAAAJ,KAAA;QACA,KAAAI,QAAA;QACA,KAAAN,SAAA;MACA;IACA;EACA;AACA","ignoreList":[]}]} |