1 line
6.6 KiB
JSON
1 line
6.6 KiB
JSON
{"remainingRequest":"/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/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:CmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKaW1wb3J0IHsgZmlsdGVyUm91dGVzIH0gZnJvbSAiQC9yb3V0ZXIiOwppbXBvcnQgeyByb3V0ZXMgfSBmcm9tICJAL3JvdXRlciI7CmltcG9ydCBQcm9MYXlvdXQgZnJvbSAiQGFudC1kZXNpZ24tdnVlL3Byby1sYXlvdXQiOwppbXBvcnQgVGFiTGF5b3V0IGZyb20gIkAvbGF5b3V0cy9UYWJMYXlvdXQiOwppbXBvcnQgTG9naW5TdGF0ZSBmcm9tICJAL2NvbXBvbmVudHMvY29tbW9uL0xvZ2luU3RhdGUudnVlIjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiR2xvYmFsTGF5b3V0IiwKICBjb21wb25lbnRzOiB7CiAgICBQcm9MYXlvdXQsCiAgICBMb2dpblN0YXRlLAogICAgVGFiTGF5b3V0LAogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGNvbGxhcHNlZDogZmFsc2UsCiAgICAgIGF1dG9IaWRlSGVhZGVyOiBmYWxzZSwKICAgICAgcXVlcnk6IHt9LAogICAgICBsYXlvdXQ6ICJzaWRlbWVudSIsCiAgICAgIGNvbnRlbnRXaWR0aDogIkZsdWlkIiwKICAgICAgdGhlbWU6ICJkYXJrIiwKICAgICAgaXNNb2JpbGU6IGZhbHNlLAogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICAuLi5tYXBHZXR0ZXJzKFsicGVybWlzc2lvbnMiXSksCiAgICBtZW51cygpIHsKICAgICAgY29uc3Qgcm9vdCA9IHJvdXRlcy5maW5kKCh2KSA9PiB2LnBhdGggPT09ICIvIik7CiAgICAgIHJldHVybiBmaWx0ZXJSb3V0ZXMocm9vdD8uY2hpbGRyZW4gfHwgW10sIHRoaXMucGVybWlzc2lvbnMpOwogICAgfSwKICAgIHJpZ2h0Q29udGVudENsYXNzKCkgewogICAgICByZXR1cm4gWwogICAgICAgICJhbnQtcHJvLWdsb2JhbC1oZWFkZXItaW5kZXgtcmlnaHQiLAogICAgICAgIHRoaXMubGF5b3V0ID09PSAidG9wbWVudSIgJiYKICAgICAgICAgIGBhbnQtcHJvLWdsb2JhbC1oZWFkZXItaW5kZXgtJHt0aGlzLnRoZW1lfWAsCiAgICAgIF07CiAgICB9LAogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlQ29sbGFwc2UoY29sbGFwc2VkKSB7CiAgICAgIHRoaXMuY29sbGFwc2VkID0gY29sbGFwc2VkOwogICAgfSwKICAgIGhhbmRsZU1lZGlhUXVlcnkocXVlcnkpIHsKICAgICAgdGhpcy5xdWVyeSA9IHF1ZXJ5OwogICAgICBpZiAodGhpcy5pc01vYmlsZSAmJiAhcXVlcnlbInNjcmVlbi14cyJdKSB7CiAgICAgICAgdGhpcy5pc01vYmlsZSA9IGZhbHNlOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgcXVlcnlbInNjcmVlbi14cyJdKSB7CiAgICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7CiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSBmYWxzZTsKICAgICAgfQogICAgfSwKICB9LAp9Owo="},{"version":3,"sources":["GlobalLayout.vue"],"names":[],"mappings":";AAyCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"GlobalLayout.vue","sourceRoot":"src/layouts","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"]}]} |