b84bc77de7ab1d3ac6455e25211533a8.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\\layout\\components\\Settings\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\test\\ssi-satoken\\ui\\src\\layout\\components\\Settings\\index.vue","mtime":1696909835000},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi90ZXN0L3NzaS1zYXRva2VuL3VpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyIpLmRlZmF1bHQ7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICB2YWx1ZTogdHJ1ZQp9KTsKZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CnZhciBfVGhlbWVQaWNrZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9UaGVtZVBpY2tlciIpKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0ID0gewogIGNvbXBvbmVudHM6IHsKICAgIFRoZW1lUGlja2VyOiBfVGhlbWVQaWNrZXIuZGVmYXVsdAogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHRoZW1lOiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50aGVtZSwKICAgICAgc2lkZVRoZW1lOiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy5zaWRlVGhlbWUKICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgdmlzaWJsZTogewogICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuc2V0dGluZ3Muc2hvd1NldHRpbmdzOwogICAgICB9CiAgICB9LAogICAgZml4ZWRIZWFkZXI6IHsKICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLnNldHRpbmdzLmZpeGVkSGVhZGVyOwogICAgICB9LAogICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWwpIHsKICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsKICAgICAgICAgIGtleTogJ2ZpeGVkSGVhZGVyJywKICAgICAgICAgIHZhbHVlOiB2YWwKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIHRvcE5hdjogewogICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuc2V0dGluZ3MudG9wTmF2OwogICAgICB9LAogICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWwpIHsKICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsKICAgICAgICAgIGtleTogJ3RvcE5hdicsCiAgICAgICAgICB2YWx1ZTogdmFsCiAgICAgICAgfSk7CiAgICAgICAgaWYgKCF2YWwpIHsKICAgICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdhcHAvdG9nZ2xlU2lkZUJhckhpZGUnLCBmYWxzZSk7CiAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoIlNFVF9TSURFQkFSX1JPVVRFUlMiLCB0aGlzLiRzdG9yZS5zdGF0ZS5wZXJtaXNzaW9uLmRlZmF1bHRSb3V0ZXMpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIHRhZ3NWaWV3OiB7CiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkgewogICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50YWdzVmlldzsKICAgICAgfSwKICAgICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7CiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3NldHRpbmdzL2NoYW5nZVNldHRpbmcnLCB7CiAgICAgICAgICBrZXk6ICd0YWdzVmlldycsCiAgICAgICAgICB2YWx1ZTogdmFsCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICBzaWRlYmFyTG9nbzogewogICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUuc2V0dGluZ3Muc2lkZWJhckxvZ287CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbCkgewogICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgewogICAgICAgICAga2V5OiAnc2lkZWJhckxvZ28nLAogICAgICAgICAgdmFsdWU6IHZhbAogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgZHluYW1pY1RpdGxlOiB7CiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkgewogICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy5keW5hbWljVGl0bGU7CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbCkgewogICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgewogICAgICAgICAga2V5OiAnZHluYW1pY1RpdGxlJywKICAgICAgICAgIHZhbHVlOiB2YWwKICAgICAgICB9KTsKICAgICAgfQogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgdGhlbWVDaGFuZ2U6IGZ1bmN0aW9uIHRoZW1lQ2hhbmdlKHZhbCkgewogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc2V0dGluZ3MvY2hhbmdlU2V0dGluZycsIHsKICAgICAgICBrZXk6ICd0aGVtZScsCiAgICAgICAgdmFsdWU6IHZhbAogICAgICB9KTsKICAgICAgdGhpcy50aGVtZSA9IHZhbDsKICAgIH0sCiAgICBoYW5kbGVUaGVtZTogZnVuY3Rpb24gaGFuZGxlVGhlbWUodmFsKSB7CiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzZXR0aW5ncy9jaGFuZ2VTZXR0aW5nJywgewogICAgICAgIGtleTogJ3NpZGVUaGVtZScsCiAgICAgICAgdmFsdWU6IHZhbAogICAgICB9KTsKICAgICAgdGhpcy5zaWRlVGhlbWUgPSB2YWw7CiAgICB9LAogICAgc2F2ZVNldHRpbmc6IGZ1bmN0aW9uIHNhdmVTZXR0aW5nKCkgewogICAgICB0aGlzLiRtb2RhbC5sb2FkaW5nKCLmraPlnKjkv53lrZjliLDmnKzlnLDvvIzor7fnqI3lgJkuLi4iKTsKICAgICAgdGhpcy4kY2FjaGUubG9jYWwuc2V0KCJsYXlvdXQtc2V0dGluZyIsICJ7XG4gICAgICAgICAgICBcInRvcE5hdlwiOiIuY29uY2F0KHRoaXMudG9wTmF2LCAiLFxuICAgICAgICAgICAgXCJ0YWdzVmlld1wiOiIpLmNvbmNhdCh0aGlzLnRhZ3NWaWV3LCAiLFxuICAgICAgICAgICAgXCJmaXhlZEhlYWRlclwiOiIpLmNvbmNhdCh0aGlzLmZpeGVkSGVhZGVyLCAiLFxuICAgICAgICAgICAgXCJzaWRlYmFyTG9nb1wiOiIpLmNvbmNhdCh0aGlzLnNpZGViYXJMb2dvLCAiLFxuICAgICAgICAgICAgXCJkeW5hbWljVGl0bGVcIjoiKS5jb25jYXQodGhpcy5keW5hbWljVGl0bGUsICIsXG4gICAgICAgICAgICBcInNpZGVUaGVtZVwiOlwiIikuY29uY2F0KHRoaXMuc2lkZVRoZW1lLCAiXCIsXG4gICAgICAgICAgICBcInRoZW1lXCI6XCIiKS5jb25jYXQodGhpcy50aGVtZSwgIlwiXG4gICAgICAgICAgfSIpKTsKICAgICAgc2V0VGltZW91dCh0aGlzLiRtb2RhbC5jbG9zZUxvYWRpbmcoKSwgMTAwMCk7CiAgICB9LAogICAgcmVzZXRTZXR0aW5nOiBmdW5jdGlvbiByZXNldFNldHRpbmcoKSB7CiAgICAgIHRoaXMuJG1vZGFsLmxvYWRpbmcoIuato+WcqOa4hemZpOiuvue9rue8k+WtmOW5tuWIt+aWsO+8jOivt+eojeWAmS4uLiIpOwogICAgICB0aGlzLiRjYWNoZS5sb2NhbC5yZW1vdmUoImxheW91dC1zZXR0aW5nIik7CiAgICAgIHNldFRpbWVvdXQoIndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSIsIDEwMDApOwogICAgfQogIH0KfTsKZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7"},{"version":3,"names":["_ThemePicker","_interopRequireDefault","require","components","ThemePicker","data","theme","$store","state","settings","sideTheme","computed","visible","get","showSettings","fixedHeader","set","val","dispatch","key","value","topNav","commit","permission","defaultRoutes","tagsView","sidebarLogo","dynamicTitle","methods","themeChange","handleTheme","saveSetting","$modal","loading","$cache","local","concat","setTimeout","closeLoading","resetSetting","remove","exports","default","_default"],"sources":["src/layout/components/Settings/index.vue"],"sourcesContent":["<template>\r\n <el-drawer size=\"280px\" :visible=\"visible\" :with-header=\"false\" :append-to-body=\"true\" :show-close=\"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=\"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>开启 TopNav</span>\r\n <el-switch v-model=\"topNav\" class=\"drawer-switch\" />\r\n </div>\r\n\r\n <div class=\"drawer-item\">\r\n <span>开启 Tags-Views</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>固定 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 <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 data() {\r\n return {\r\n theme: this.$store.state.settings.theme,\r\n sideTheme: this.$store.state.settings.sideTheme\r\n };\r\n },\r\n computed: {\r\n visible: {\r\n get() {\r\n return this.$store.state.settings.showSettings\r\n }\r\n },\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 topNav: {\r\n get() {\r\n return this.$store.state.settings.topNav\r\n },\r\n set(val) {\r\n this.$store.dispatch('settings/changeSetting', {\r\n key: 'topNav',\r\n value: val\r\n })\r\n if (!val) {\r\n this.$store.dispatch('app/toggleSideBarHide', false);\r\n this.$store.commit(\"SET_SIDEBAR_ROUTERS\", this.$store.state.permission.defaultRoutes);\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 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 }\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 saveSetting() {\r\n this.$modal.loading(\"正在保存到本地,请稍候...\");\r\n this.$cache.local.set(\r\n \"layout-setting\",\r\n `{\r\n \"topNav\":${this.topNav},\r\n \"tagsView\":${this.tagsView},\r\n \"fixedHeader\":${this.fixedHeader},\r\n \"sidebarLogo\":${this.sidebarLogo},\r\n \"dynamicTitle\":${this.dynamicTitle},\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(\"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: #1890ff;\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</style>\r\n"],"mappings":"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"}]}