Files
education/frontend/node_modules/.cache/vue-loader/61cb9bd75d92704dbd20c7d8d56fef09.json
T

1 line
22 KiB
JSON

{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\layout\\components\\Settings\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\layout\\components\\Settings\\index.vue","mtime":1787309162969},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgVGhlbWVQaWNrZXIgZnJvbSAnQC9jb21wb25lbnRzL1RoZW1lUGlja2VyJw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIGNvbXBvbmVudHM6IHsgVGhlbWVQaWNrZXIgfSwNCiAgZXhwb3NlOiBbJ29wZW5TZXR0aW5nJ10sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIHRoZW1lOiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50aGVtZSwNCiAgICAgIHNpZGVUaGVtZTogdGhpcy4kc3RvcmUuc3RhdGUuc2V0dGluZ3Muc2lkZVRoZW1lLA0KICAgICAgbmF2VHlwZTogdGhpcy4kc3RvcmUuc3RhdGUuc2V0dGluZ3MubmF2VHlwZSwNCiAgICAgIHNob3dTZXR0aW5nczogZmFsc2UNCiAgICB9DQogIH0sDQogIGNvbXB1dGVkOiB7DQogICAgZml4ZWRIZWFkZXI6IHsNCiAgICAgIGdldCgpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLmZpeGVkSGVhZGVyDQogICAgICB9LA0KICAgICAgc2V0KHZhbCkgew0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsNCiAgICAgICAgICBrZXk6ICdmaXhlZEhlYWRlcicsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgdGFnc1ZpZXdQZXJzaXN0OiB7DQogICAgICBnZXQoKSB7DQogICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50YWdzVmlld1BlcnNpc3QNCiAgICAgIH0sDQogICAgICBzZXQodmFsKSB7DQogICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgew0KICAgICAgICAgIGtleTogJ3RhZ3NWaWV3UGVyc2lzdCcsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgdGFnc1ZpZXc6IHsNCiAgICAgIGdldCgpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLnRhZ3NWaWV3DQogICAgICB9LA0KICAgICAgc2V0KHZhbCkgew0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsNCiAgICAgICAgICBrZXk6ICd0YWdzVmlldycsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgdGFnc0ljb246IHsNCiAgICAgIGdldCgpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLnRhZ3NJY29uDQogICAgICB9LA0KICAgICAgc2V0KHZhbCkgew0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsNCiAgICAgICAgICBrZXk6ICd0YWdzSWNvbicsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgdGFnc1ZpZXdTdHlsZTogew0KICAgICAgZ2V0KCkgew0KICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuc2V0dGluZ3MudGFnc1ZpZXdTdHlsZQ0KICAgICAgfSwNCiAgICAgIHNldCh2YWwpIHsNCiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3NldHRpbmdzL2NoYW5nZVNldHRpbmcnLCB7DQogICAgICAgICAga2V5OiAndGFnc1ZpZXdTdHlsZScsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgc2lkZWJhckxvZ286IHsNCiAgICAgIGdldCgpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLnNpZGViYXJMb2dvDQogICAgICB9LA0KICAgICAgc2V0KHZhbCkgew0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsNCiAgICAgICAgICBrZXk6ICdzaWRlYmFyTG9nbycsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgZHluYW1pY1RpdGxlOiB7DQogICAgICBnZXQoKSB7DQogICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy5keW5hbWljVGl0bGUNCiAgICAgIH0sDQogICAgICBzZXQodmFsKSB7DQogICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgew0KICAgICAgICAgIGtleTogJ2R5bmFtaWNUaXRsZScsDQogICAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgICB9KQ0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3Mvc2V0VGl0bGUnLCB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50aXRsZSkNCiAgICAgIH0NCiAgICB9LA0KICAgIGZvb3RlclZpc2libGU6IHsNCiAgICAgIGdldCgpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLmZvb3RlclZpc2libGUNCiAgICAgIH0sDQogICAgICBzZXQodmFsKSB7DQogICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgew0KICAgICAgICAgIGtleTogJ2Zvb3RlclZpc2libGUnLA0KICAgICAgICAgIHZhbHVlOiB2YWwNCiAgICAgICAgfSkNCiAgICAgIH0NCiAgICB9DQogIH0sDQogIHdhdGNoOiB7DQogICAgbmF2VHlwZTogew0KICAgICAgaGFuZGxlcih2YWwpIHsNCiAgICAgICAgaWYgKHZhbCA9PSAxKSB7DQogICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goImFwcC90b2dnbGVTaWRlQmFySGlkZSIsIGZhbHNlKQ0KICAgICAgICB9DQogICAgICAgIGlmICh2YWwgPT0gMikgew0KICAgICAgICB9DQogICAgICAgIGlmICh2YWwgPT0gMykgew0KICAgICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCJhcHAvdG9nZ2xlU2lkZUJhckhpZGUiLCB0cnVlKQ0KICAgICAgICB9DQogICAgICAgIGlmIChbMSwgM10uaW5jbHVkZXModmFsKSkgew0KICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgiU0VUX1NJREVCQVJfUk9VVEVSUyIsdGhpcy4kc3RvcmUuc3RhdGUucGVybWlzc2lvbi5kZWZhdWx0Um91dGVzKQ0KICAgICAgICB9DQogICAgICB9LA0KICAgICAgaW1tZWRpYXRlOiB0cnVlLA0KICAgICAgZGVlcDogdHJ1ZQ0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczogew0KICAgIHRoZW1lQ2hhbmdlKHZhbCkgew0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3NldHRpbmdzL2NoYW5nZVNldHRpbmcnLCB7DQogICAgICAgIGtleTogJ3RoZW1lJywNCiAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgfSkNCiAgICAgIHRoaXMudGhlbWUgPSB2YWwNCiAgICB9LA0KICAgIGhhbmRsZVRoZW1lKHZhbCkgew0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3NldHRpbmdzL2NoYW5nZVNldHRpbmcnLCB7DQogICAgICAgIGtleTogJ3NpZGVUaGVtZScsDQogICAgICAgIHZhbHVlOiB2YWwNCiAgICAgIH0pDQogICAgICB0aGlzLnNpZGVUaGVtZSA9IHZhbA0KICAgIH0sDQogICAgaGFuZGxlTmF2VHlwZSh2YWwpIHsNCiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgew0KICAgICAgICBrZXk6ICduYXZUeXBlJywNCiAgICAgICAgdmFsdWU6IHZhbA0KICAgICAgfSkNCiAgICAgIHRoaXMubmF2VHlwZSA9IHZhbA0KICAgIH0sDQogICAgb3BlblNldHRpbmcoKSB7DQogICAgICB0aGlzLnNob3dTZXR0aW5ncyA9IHRydWUNCiAgICB9LA0KICAgIGNsb3NlU2V0dGluZygpew0KICAgICAgdGhpcy5zaG93U2V0dGluZ3MgPSBmYWxzZQ0KICAgIH0sDQogICAgc2F2ZVNldHRpbmcoKSB7DQogICAgICB0aGlzLiRtb2RhbC5sb2FkaW5nKCLmraPlnKjkv53lrZjliLDmnKzlnLDvvIzor7fnqI3lgJkuLi4iKQ0KICAgICAgaWYgKCF0aGlzLnRhZ3NWaWV3UGVyc2lzdCkgew0KICAgICAgICB0aGlzLiRjYWNoZS5sb2NhbC5yZW1vdmUoJ3RhZ3Mtdmlldy12aXNpdGVkJykNCiAgICAgIH0NCiAgICAgIHRoaXMuJGNhY2hlLmxvY2FsLnNldCgNCiAgICAgICAgImxheW91dC1zZXR0aW5nIiwNCiAgICAgICAgYHsNCiAgICAgICAgICAgICJuYXZUeXBlIjoke3RoaXMubmF2VHlwZX0sDQogICAgICAgICAgICAidGFnc1ZpZXciOiR7dGhpcy50YWdzVmlld30sDQogICAgICAgICAgICAidGFnc0ljb24iOiR7dGhpcy50YWdzSWNvbn0sDQogICAgICAgICAgICAidGFnc1ZpZXdTdHlsZSI6IiR7dGhpcy50YWdzVmlld1N0eWxlfSIsDQogICAgICAgICAgICAidGFnc1ZpZXdQZXJzaXN0Ijoke3RoaXMudGFnc1ZpZXdQZXJzaXN0fSwNCiAgICAgICAgICAgICJmaXhlZEhlYWRlciI6JHt0aGlzLmZpeGVkSGVhZGVyfSwNCiAgICAgICAgICAgICJzaWRlYmFyTG9nbyI6JHt0aGlzLnNpZGViYXJMb2dvfSwNCiAgICAgICAgICAgICJkeW5hbWljVGl0bGUiOiR7dGhpcy5keW5hbWljVGl0bGV9LA0KICAgICAgICAgICAgImZvb3RlclZpc2libGUiOiR7dGhpcy5mb290ZXJWaXNpYmxlfSwNCiAgICAgICAgICAgICJzaWRlVGhlbWUiOiIke3RoaXMuc2lkZVRoZW1lfSIsDQogICAgICAgICAgICAidGhlbWUiOiIke3RoaXMudGhlbWV9Ig0KICAgICAgICAgIH1gDQogICAgICApDQogICAgICBzZXRUaW1lb3V0KHRoaXMuJG1vZGFsLmNsb3NlTG9hZGluZygpLCAxMDAwKQ0KICAgIH0sDQogICAgcmVzZXRTZXR0aW5nKCkgew0KICAgICAgdGhpcy4kbW9kYWwubG9hZGluZygi5q2j5Zyo5riF6Zmk6K6+572u57yT5a2Y5bm25Yi35paw77yM6K+356iN5YCZLi4uIikNCiAgICAgIHRoaXMuJGNhY2hlLmxvY2FsLnJlbW92ZSgndGFncy12aWV3LXZpc2l0ZWQnKQ0KICAgICAgdGhpcy4kY2FjaGUubG9jYWwucmVtb3ZlKCJsYXlvdXQtc2V0dGluZyIpDQogICAgICBzZXRUaW1lb3V0KCJ3aW5kb3cubG9jYXRpb24ucmVsb2FkKCkiLCAxMDAwKQ0KICAgIH0NCiAgfQ0KfQ0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmHA;;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;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;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;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":"index.vue","sourceRoot":"src/layout/components/Settings","sourcesContent":["<template>\r\n <el-drawer size=\"280px\" :visible=\"showSettings\" :with-header=\"false\" :append-to-body=\"true\" :before-close=\"closeSetting\" :lock-scroll=\"false\">\r\n <div class=\"drawer-container\">\r\n <div>\r\n <div class=\"setting-drawer-content\">\r\n <div class=\"setting-drawer-title\">\r\n <h3 class=\"drawer-title\">菜单导航设置</h3>\r\n </div>\r\n <div class=\"nav-wrap\">\r\n <el-tooltip content=\"左侧菜单\" placement=\"bottom\">\r\n <div class=\"item left\" @click=\"handleNavType(1)\" :style=\"{'--theme': theme}\" :class=\"{ activeItem: navType == 1 }\">\r\n <b></b><b></b>\r\n </div>\r\n </el-tooltip>\r\n\r\n <el-tooltip content=\"混合菜单\" placement=\"bottom\">\r\n <div class=\"item mix\" @click=\"handleNavType(2)\" :style=\"{'--theme': theme}\" :class=\"{ activeItem: navType == 2 }\">\r\n <b></b><b></b>\r\n </div>\r\n </el-tooltip>\r\n <el-tooltip content=\"顶部菜单\" placement=\"bottom\">\r\n <div class=\"item top\" @click=\"handleNavType(3)\" :style=\"{'--theme': theme}\" :class=\"{ activeItem: navType == 3 }\">\r\n <b></b><b></b>\r\n </div>\r\n </el-tooltip>\r\n </div>\r\n <div class=\"setting-drawer-title\">\r\n <h3 class=\"drawer-title\">主题风格设置</h3>\r\n </div>\r\n <div class=\"setting-drawer-block-checbox\">\r\n <div class=\"setting-drawer-block-checbox-item\" @click=\"handleTheme('theme-dark')\">\r\n <img src=\"@/assets/images/dark.svg\" alt=\"dark\">\r\n <div v-if=\"sideTheme === 'theme-dark'\" class=\"setting-drawer-block-checbox-selectIcon\" style=\"display: block;\">\r\n <i aria-label=\"图标: check\" class=\"anticon anticon-check\">\r\n <svg viewBox=\"64 64 896 896\" data-icon=\"check\" width=\"1em\" height=\"1em\" :fill=\"theme\" aria-hidden=\"true\" focusable=\"false\" class=\"\">\r\n <path d=\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"/>\r\n </svg>\r\n </i>\r\n </div>\r\n </div>\r\n <div class=\"setting-drawer-block-checbox-item\" @click=\"handleTheme('theme-light')\">\r\n <img src=\"@/assets/images/light.svg\" alt=\"light\">\r\n <div v-if=\"sideTheme === 'theme-light'\" class=\"setting-drawer-block-checbox-selectIcon\" style=\"display: block;\">\r\n <i aria-label=\"图标: check\" class=\"anticon anticon-check\">\r\n <svg viewBox=\"64 64 896 896\" data-icon=\"check\" width=\"1em\" height=\"1em\" :fill=\"theme\" aria-hidden=\"true\" focusable=\"false\" class=\"\">\r\n <path d=\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"/>\r\n </svg>\r\n </i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>主题颜色</span>\r\n <theme-picker style=\"float: right;height: 26px;margin: -3px 8px 0 0;\" @change=\"themeChange\" />\r\n </div>\r\n </div>\r\n\r\n <el-divider/>\r\n\r\n <h3 class=\"drawer-title\">系统布局配置</h3>\r\n\r\n <div class=\"drawer-item\">\r\n <span>开启页签</span>\r\n <el-switch v-model=\"tagsView\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>持久化标签页</span>\r\n <el-switch v-model=\"tagsViewPersist\" :disabled=\"!tagsView\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>显示页签图标</span>\r\n <el-switch v-model=\"tagsIcon\" :disabled=\"!tagsView\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>标签页样式</span>\r\n <el-radio-group v-model=\"tagsViewStyle\" :disabled=\"!tagsView\" size=\"mini\" class=\"drawer-switch\">\r\n <el-radio-button label=\"card\">卡片</el-radio-button>\r\n <el-radio-button label=\"chrome\">谷歌</el-radio-button>\r\n </el-radio-group>\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>固定 Header</span>\r\n <el-switch v-model=\"fixedHeader\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>显示 Logo</span>\r\n <el-switch v-model=\"sidebarLogo\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>动态标题</span>\r\n <el-switch v-model=\"dynamicTitle\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>底部版权</span>\r\n <el-switch v-model=\"footerVisible\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <el-divider/>\r\n\r\n <el-button size=\"small\" type=\"primary\" plain icon=\"el-icon-document-add\" @click=\"saveSetting\">保存配置</el-button>\r\n <el-button size=\"small\" plain icon=\"el-icon-refresh\" @click=\"resetSetting\">重置配置</el-button>\r\n </div>\r\n </div>\r\n </el-drawer>\r\n</template>\r\n\r\n<script>\r\nimport ThemePicker from '@/components/ThemePicker'\r\n\r\nexport default {\r\n components: { ThemePicker },\r\n expose: ['openSetting'],\r\n data() {\r\n return {\r\n theme: this.$store.state.settings.theme,\r\n sideTheme: this.$store.state.settings.sideTheme,\r\n navType: this.$store.state.settings.navType,\r\n showSettings: false\r\n }\r\n },\r\n computed: {\r\n fixedHeader: {\r\n get() {\r\n return this.$store.state.settings.fixedHeader\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'fixedHeader',\r\n value: val\r\n })\r\n }\r\n },\r\n tagsViewPersist: {\r\n get() {\r\n return this.$store.state.settings.tagsViewPersist\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'tagsViewPersist',\r\n value: val\r\n })\r\n }\r\n },\r\n tagsView: {\r\n get() {\r\n return this.$store.state.settings.tagsView\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'tagsView',\r\n value: val\r\n })\r\n }\r\n },\r\n tagsIcon: {\r\n get() {\r\n return this.$store.state.settings.tagsIcon\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'tagsIcon',\r\n value: val\r\n })\r\n }\r\n },\r\n tagsViewStyle: {\r\n get() {\r\n return this.$store.state.settings.tagsViewStyle\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'tagsViewStyle',\r\n value: val\r\n })\r\n }\r\n },\r\n sidebarLogo: {\r\n get() {\r\n return this.$store.state.settings.sidebarLogo\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'sidebarLogo',\r\n value: val\r\n })\r\n }\r\n },\r\n dynamicTitle: {\r\n get() {\r\n return this.$store.state.settings.dynamicTitle\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'dynamicTitle',\r\n value: val\r\n })\r\n this.$store.dispatch('settings/setTitle', this.$store.state.settings.title)\r\n }\r\n },\r\n footerVisible: {\r\n get() {\r\n return this.$store.state.settings.footerVisible\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'footerVisible',\r\n value: val\r\n })\r\n }\r\n }\r\n },\r\n watch: {\r\n navType: {\r\n handler(val) {\r\n if (val == 1) {\r\n this.$store.dispatch(\"app/toggleSideBarHide\", false)\r\n }\r\n if (val == 2) {\r\n }\r\n if (val == 3) {\r\n this.$store.dispatch(\"app/toggleSideBarHide\", true)\r\n }\r\n if ([1, 3].includes(val)) {\r\n this.$store.commit(\"SET_SIDEBAR_ROUTERS\",this.$store.state.permission.defaultRoutes)\r\n }\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n themeChange(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'theme',\r\n value: val\r\n })\r\n this.theme = val\r\n },\r\n handleTheme(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'sideTheme',\r\n value: val\r\n })\r\n this.sideTheme = val\r\n },\r\n handleNavType(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'navType',\r\n value: val\r\n })\r\n this.navType = val\r\n },\r\n openSetting() {\r\n this.showSettings = true\r\n },\r\n closeSetting(){\r\n this.showSettings = false\r\n },\r\n saveSetting() {\r\n this.$modal.loading(\"正在保存到本地,请稍候...\")\r\n if (!this.tagsViewPersist) {\r\n this.$cache.local.remove('tags-view-visited')\r\n }\r\n this.$cache.local.set(\r\n \"layout-setting\",\r\n `{\r\n \"navType\":${this.navType},\r\n \"tagsView\":${this.tagsView},\r\n \"tagsIcon\":${this.tagsIcon},\r\n \"tagsViewStyle\":\"${this.tagsViewStyle}\",\r\n \"tagsViewPersist\":${this.tagsViewPersist},\r\n \"fixedHeader\":${this.fixedHeader},\r\n \"sidebarLogo\":${this.sidebarLogo},\r\n \"dynamicTitle\":${this.dynamicTitle},\r\n \"footerVisible\":${this.footerVisible},\r\n \"sideTheme\":\"${this.sideTheme}\",\r\n \"theme\":\"${this.theme}\"\r\n }`\r\n )\r\n setTimeout(this.$modal.closeLoading(), 1000)\r\n },\r\n resetSetting() {\r\n this.$modal.loading(\"正在清除设置缓存并刷新,请稍候...\")\r\n this.$cache.local.remove('tags-view-visited')\r\n this.$cache.local.remove(\"layout-setting\")\r\n setTimeout(\"window.location.reload()\", 1000)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.setting-drawer-content {\r\n .setting-drawer-title {\r\n margin-bottom: 12px;\r\n color: rgba(0, 0, 0, .85);\r\n font-size: 14px;\r\n line-height: 22px;\r\n font-weight: bold;\r\n }\r\n\r\n .setting-drawer-block-checbox {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n margin-top: 10px;\r\n margin-bottom: 20px;\r\n\r\n .setting-drawer-block-checbox-item {\r\n position: relative;\r\n margin-right: 16px;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n\r\n img {\r\n width: 48px;\r\n height: 48px;\r\n }\r\n\r\n .setting-drawer-block-checbox-selectIcon {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 100%;\r\n height: 100%;\r\n padding-top: 15px;\r\n padding-left: 24px;\r\n color: #00875A;\r\n font-weight: 700;\r\n font-size: 14px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.drawer-container {\r\n padding: 20px;\r\n font-size: 14px;\r\n line-height: 1.5;\r\n word-wrap: break-word;\r\n\r\n .drawer-title {\r\n margin-bottom: 12px;\r\n color: rgba(0, 0, 0, .85);\r\n font-size: 14px;\r\n line-height: 22px;\r\n }\r\n\r\n .drawer-item {\r\n color: rgba(0, 0, 0, .65);\r\n font-size: 14px;\r\n padding: 12px 0;\r\n }\r\n\r\n .drawer-switch {\r\n float: right\r\n }\r\n}\r\n\r\n// 导航模式\r\n.nav-wrap {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n margin-top: 10px;\r\n margin-bottom: 20px;\r\n\r\n .activeItem {\r\n border: 2px solid #{'var(--theme)'} !important;\r\n }\r\n\r\n .item {\r\n position: relative;\r\n margin-right: 16px;\r\n cursor: pointer;\r\n width: 56px;\r\n height: 48px;\r\n border-radius: 4px;\r\n background: #f0f2f5;\r\n border: 2px solid transparent;\r\n }\r\n\r\n .left {\r\n b:first-child {\r\n display: block;\r\n height: 30%;\r\n background: #fff;\r\n }\r\n b:last-child {\r\n width: 30%;\r\n background: #1b2a47;\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n border-radius: 4px 0 0 4px;\r\n }\r\n }\r\n .mix {\r\n b:first-child {\r\n border-radius: 4px 4px 0 0;\r\n display: block;\r\n height: 30%;\r\n background: #1b2a47;\r\n }\r\n b:last-child {\r\n width: 30%;\r\n background: #1b2a47;\r\n position: absolute;\r\n height: 70%;\r\n border-radius: 0 0 0 4px;\r\n }\r\n }\r\n .top {\r\n b:first-child {\r\n display: block;\r\n height: 30%;\r\n background: #1b2a47;\r\n border-radius: 4px 4px 0 0;\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}