‘liusuyi’
2023-05-06 848ae5f7e5c178be9f1ee9ac33b54e19ae038873
1
{"remainingRequest":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\monitor\\cache\\list.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\monitor\\cache\\list.vue","mtime":1675221397131},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1678842088721},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1678842089772}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBsaXN0Q2FjaGVOYW1lLCBsaXN0Q2FjaGVLZXksIGdldENhY2hlVmFsdWUsIGNsZWFyQ2FjaGVOYW1lLCBjbGVhckNhY2hlS2V5LCBjbGVhckNhY2hlQWxsIH0gZnJvbSAiQC9hcGkvbW9uaXRvci9jYWNoZSI7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogIkNhY2hlTGlzdCIsDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIGNhY2hlTmFtZXM6IFtdLA0KICAgICAgY2FjaGVLZXlzOiBbXSwNCiAgICAgIGNhY2hlRm9ybToge30sDQogICAgICBsb2FkaW5nOiB0cnVlLA0KICAgICAgc3ViTG9hZGluZzogZmFsc2UsDQogICAgICBub3dDYWNoZU5hbWU6ICIiLA0KICAgICAgdGFibGVIZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCAtIDIwMA0KICAgIH07DQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgdGhpcy5nZXRDYWNoZU5hbWVzKCk7DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvKiog5p+l6K+i57yT5a2Y5ZCN56ew5YiX6KGoICovDQogICAgZ2V0Q2FjaGVOYW1lcygpIHsNCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7DQogICAgICBsaXN0Q2FjaGVOYW1lKCkudGhlbihyZXNwb25zZSA9PiB7DQogICAgICAgIHRoaXMuY2FjaGVOYW1lcyA9IHJlc3BvbnNlLmRhdGE7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiog5Yi35paw57yT5a2Y5ZCN56ew5YiX6KGoICovDQogICAgcmVmcmVzaENhY2hlTmFtZXMoKSB7DQogICAgICB0aGlzLmdldENhY2hlTmFtZXMoKTsNCiAgICAgIHRoaXMuJG1vZGFsLm1zZ1N1Y2Nlc3MoIuWIt+aWsOe8k+WtmOWIl+ihqOaIkOWKnyIpOw0KICAgIH0sDQogICAgLyoqIOa4heeQhuaMh+WumuWQjeensOe8k+WtmCAqLw0KICAgIGhhbmRsZUNsZWFyQ2FjaGVOYW1lKHJvdykgew0KICAgICAgY2xlYXJDYWNoZU5hbWUocm93LmNhY2hlTmFtZSkudGhlbihyZXNwb25zZSA9PiB7DQogICAgICAgIHRoaXMuJG1vZGFsLm1zZ1N1Y2Nlc3MoIua4heeQhue8k+WtmOWQjeensFsiICsgdGhpcy5ub3dDYWNoZU5hbWUgKyAiXeaIkOWKnyIpOw0KICAgICAgICB0aGlzLmdldENhY2hlS2V5cygpOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiog5p+l6K+i57yT5a2Y6ZSu5ZCN5YiX6KGoICovDQogICAgZ2V0Q2FjaGVLZXlzKHJvdykgew0KICAgICAgY29uc3QgY2FjaGVOYW1lID0gcm93ICE9PSB1bmRlZmluZWQgPyByb3cuY2FjaGVOYW1lIDogdGhpcy5ub3dDYWNoZU5hbWU7DQogICAgICBpZiAoY2FjaGVOYW1lID09PSAiIikgew0KICAgICAgICByZXR1cm47DQogICAgICB9DQogICAgICB0aGlzLnN1YkxvYWRpbmcgPSB0cnVlOw0KICAgICAgbGlzdENhY2hlS2V5KGNhY2hlTmFtZSkudGhlbihyZXNwb25zZSA9PiB7DQogICAgICAgIHRoaXMuY2FjaGVLZXlzID0gcmVzcG9uc2UuZGF0YTsNCiAgICAgICAgdGhpcy5zdWJMb2FkaW5nID0gZmFsc2U7DQogICAgICAgIHRoaXMubm93Q2FjaGVOYW1lID0gY2FjaGVOYW1lOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiog5Yi35paw57yT5a2Y6ZSu5ZCN5YiX6KGoICovDQogICAgcmVmcmVzaENhY2hlS2V5cygpIHsNCiAgICAgIHRoaXMuZ2V0Q2FjaGVLZXlzKCk7DQogICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLliLfmlrDplK7lkI3liJfooajmiJDlip8iKTsNCiAgICB9LA0KICAgIC8qKiDmuIXnkIbmjIflrprplK7lkI3nvJPlrZggKi8NCiAgICBoYW5kbGVDbGVhckNhY2hlS2V5KGNhY2hlS2V5KSB7DQogICAgICBjbGVhckNhY2hlS2V5KGNhY2hlS2V5KS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgdGhpcy4kbW9kYWwubXNnU3VjY2Vzcygi5riF55CG57yT5a2Y6ZSu5ZCNWyIgKyBjYWNoZUtleSArICJd5oiQ5YqfIik7DQogICAgICAgIHRoaXMuZ2V0Q2FjaGVLZXlzKCk7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8qKiDliJfooajliY3nvIDljrvpmaQgKi8NCiAgICBuYW1lRm9ybWF0dGVyKHJvdykgew0KICAgICAgcmV0dXJuIHJvdy5jYWNoZU5hbWUucmVwbGFjZSgiOiIsICIiKTsNCiAgICB9LA0KICAgIC8qKiDplK7lkI3liY3nvIDljrvpmaQgKi8NCiAgICBrZXlGb3JtYXR0ZXIoY2FjaGVLZXkpIHsNCiAgICAgIHJldHVybiBjYWNoZUtleS5yZXBsYWNlKHRoaXMubm93Q2FjaGVOYW1lLCAiIik7DQogICAgfSwNCiAgICAvKiog5p+l6K+i57yT5a2Y5YaF5a656K+m57uGICovDQogICAgaGFuZGxlQ2FjaGVWYWx1ZShjYWNoZUtleSkgew0KICAgICAgZ2V0Q2FjaGVWYWx1ZSh0aGlzLm5vd0NhY2hlTmFtZSwgY2FjaGVLZXkpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICB0aGlzLmNhY2hlRm9ybSA9IHJlc3BvbnNlLmRhdGE7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8qKiDmuIXnkIblhajpg6jnvJPlrZggKi8NCiAgICBoYW5kbGVDbGVhckNhY2hlQWxsKCkgew0KICAgICAgY2xlYXJDYWNoZUFsbCgpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLmuIXnkIblhajpg6jnvJPlrZjmiJDlip8iKTsNCiAgICAgIH0pOw0KICAgIH0NCiAgfSwNCn07DQo="},{"version":3,"sources":["list.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA;;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","file":"list.vue","sourceRoot":"src/views/monitor/cache","sourcesContent":["<template>\r\n  <div class=\"app-container\">\r\n    <el-row :gutter=\"10\">\r\n      <el-col :span=\"8\">\r\n        <el-card style=\"height: calc(100vh - 125px)\">\r\n          <div slot=\"header\">\r\n            <span>缓存列表</span>\r\n            <el-button\r\n              style=\"float: right; padding: 3px 0\"\r\n              type=\"text\"\r\n              icon=\"el-icon-refresh-right\"\r\n              @click=\"refreshCacheNames()\"\r\n            ></el-button>\r\n          </div>\r\n          <el-table\r\n            v-loading=\"loading\"\r\n            :data=\"cacheNames\"\r\n            :height=\"tableHeight\"\r\n            highlight-current-row\r\n            @row-click=\"getCacheKeys\"\r\n            style=\"width: 100%\"\r\n          >\r\n            <el-table-column\r\n              label=\"序号\"\r\n              width=\"60\"\r\n              type=\"index\"\r\n            ></el-table-column>\r\n\r\n            <el-table-column\r\n              label=\"缓存名称\"\r\n              align=\"center\"\r\n              prop=\"cacheName\"\r\n              :show-overflow-tooltip=\"true\"\r\n              :formatter=\"nameFormatter\"\r\n            ></el-table-column>\r\n\r\n            <el-table-column\r\n              label=\"备注\"\r\n              align=\"center\"\r\n              prop=\"remark\"\r\n              :show-overflow-tooltip=\"true\"\r\n            />\r\n            <el-table-column\r\n              label=\"操作\"\r\n              width=\"60\"\r\n              align=\"center\"\r\n              class-name=\"small-padding fixed-width\"\r\n            >\r\n              <template slot-scope=\"scope\">\r\n                <el-button\r\n                  size=\"mini\"\r\n                  type=\"text\"\r\n                  icon=\"el-icon-delete\"\r\n                  @click=\"handleClearCacheName(scope.row)\"\r\n                ></el-button>\r\n              </template>\r\n            </el-table-column>\r\n          </el-table>\r\n        </el-card>\r\n      </el-col>\r\n\r\n      <el-col :span=\"8\">\r\n        <el-card style=\"height: calc(100vh - 125px)\">\r\n          <div slot=\"header\">\r\n            <span>键名列表</span>\r\n            <el-button\r\n              style=\"float: right; padding: 3px 0\"\r\n              type=\"text\"\r\n              icon=\"el-icon-refresh-right\"\r\n              @click=\"refreshCacheKeys()\"\r\n            ></el-button>\r\n          </div>\r\n          <el-table\r\n            v-loading=\"subLoading\"\r\n            :data=\"cacheKeys\"\r\n            :height=\"tableHeight\"\r\n            highlight-current-row\r\n            @row-click=\"handleCacheValue\"\r\n            style=\"width: 100%\"\r\n          >\r\n            <el-table-column\r\n              label=\"序号\"\r\n              width=\"60\"\r\n              type=\"index\"\r\n            ></el-table-column>\r\n            <el-table-column\r\n              label=\"缓存键名\"\r\n              align=\"center\"\r\n              :show-overflow-tooltip=\"true\"\r\n              :formatter=\"keyFormatter\"\r\n            >\r\n            </el-table-column>\r\n            <el-table-column\r\n              label=\"操作\"\r\n              width=\"60\"\r\n              align=\"center\"\r\n              class-name=\"small-padding fixed-width\"\r\n            >\r\n              <template slot-scope=\"scope\">\r\n                <el-button\r\n                  size=\"mini\"\r\n                  type=\"text\"\r\n                  icon=\"el-icon-delete\"\r\n                  @click=\"handleClearCacheKey(scope.row)\"\r\n                ></el-button>\r\n              </template>\r\n            </el-table-column>\r\n          </el-table>\r\n        </el-card>\r\n      </el-col>\r\n\r\n      <el-col :span=\"8\">\r\n        <el-card :bordered=\"false\" style=\"height: calc(100vh - 125px)\">\r\n          <div slot=\"header\">\r\n            <span>缓存内容</span>\r\n            <el-button\r\n              style=\"float: right; padding: 3px 0\"\r\n              type=\"text\"\r\n              icon=\"el-icon-refresh-right\"\r\n              @click=\"handleClearCacheAll()\"\r\n              >清理全部</el-button\r\n            >\r\n          </div>\r\n          <el-form :model=\"cacheForm\">\r\n            <el-row :gutter=\"32\">\r\n              <el-col :offset=\"1\" :span=\"22\">\r\n                <el-form-item label=\"缓存名称:\" prop=\"cacheName\">\r\n                  <el-input v-model=\"cacheForm.cacheName\" :readOnly=\"true\" />\r\n                </el-form-item>\r\n              </el-col>\r\n              <el-col :offset=\"1\" :span=\"22\">\r\n                <el-form-item label=\"缓存键名:\" prop=\"cacheKey\">\r\n                  <el-input v-model=\"cacheForm.cacheKey\" :readOnly=\"true\" />\r\n                </el-form-item>\r\n              </el-col>\r\n              <el-col :offset=\"1\" :span=\"22\">\r\n                <el-form-item label=\"缓存内容:\" prop=\"cacheValue\">\r\n                  <el-input\r\n                    v-model=\"cacheForm.cacheValue\"\r\n                    type=\"textarea\"\r\n                    :rows=\"8\"\r\n                    :readOnly=\"true\"\r\n                  />\r\n                </el-form-item>\r\n              </el-col>\r\n            </el-row>\r\n          </el-form>\r\n        </el-card>\r\n      </el-col>\r\n    </el-row>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { listCacheName, listCacheKey, getCacheValue, clearCacheName, clearCacheKey, clearCacheAll } from \"@/api/monitor/cache\";\r\n\r\nexport default {\r\n  name: \"CacheList\",\r\n  data() {\r\n    return {\r\n      cacheNames: [],\r\n      cacheKeys: [],\r\n      cacheForm: {},\r\n      loading: true,\r\n      subLoading: false,\r\n      nowCacheName: \"\",\r\n      tableHeight: window.innerHeight - 200\r\n    };\r\n  },\r\n  created() {\r\n    this.getCacheNames();\r\n  },\r\n  methods: {\r\n    /** 查询缓存名称列表 */\r\n    getCacheNames() {\r\n      this.loading = true;\r\n      listCacheName().then(response => {\r\n        this.cacheNames = response.data;\r\n        this.loading = false;\r\n      });\r\n    },\r\n    /** 刷新缓存名称列表 */\r\n    refreshCacheNames() {\r\n      this.getCacheNames();\r\n      this.$modal.msgSuccess(\"刷新缓存列表成功\");\r\n    },\r\n    /** 清理指定名称缓存 */\r\n    handleClearCacheName(row) {\r\n      clearCacheName(row.cacheName).then(response => {\r\n        this.$modal.msgSuccess(\"清理缓存名称[\" + this.nowCacheName + \"]成功\");\r\n        this.getCacheKeys();\r\n      });\r\n    },\r\n    /** 查询缓存键名列表 */\r\n    getCacheKeys(row) {\r\n      const cacheName = row !== undefined ? row.cacheName : this.nowCacheName;\r\n      if (cacheName === \"\") {\r\n        return;\r\n      }\r\n      this.subLoading = true;\r\n      listCacheKey(cacheName).then(response => {\r\n        this.cacheKeys = response.data;\r\n        this.subLoading = false;\r\n        this.nowCacheName = cacheName;\r\n      });\r\n    },\r\n    /** 刷新缓存键名列表 */\r\n    refreshCacheKeys() {\r\n      this.getCacheKeys();\r\n      this.$modal.msgSuccess(\"刷新键名列表成功\");\r\n    },\r\n    /** 清理指定键名缓存 */\r\n    handleClearCacheKey(cacheKey) {\r\n      clearCacheKey(cacheKey).then(response => {\r\n        this.$modal.msgSuccess(\"清理缓存键名[\" + cacheKey + \"]成功\");\r\n        this.getCacheKeys();\r\n      });\r\n    },\r\n    /** 列表前缀去除 */\r\n    nameFormatter(row) {\r\n      return row.cacheName.replace(\":\", \"\");\r\n    },\r\n    /** 键名前缀去除 */\r\n    keyFormatter(cacheKey) {\r\n      return cacheKey.replace(this.nowCacheName, \"\");\r\n    },\r\n    /** 查询缓存内容详细 */\r\n    handleCacheValue(cacheKey) {\r\n      getCacheValue(this.nowCacheName, cacheKey).then(response => {\r\n        this.cacheForm = response.data;\r\n      });\r\n    },\r\n    /** 清理全部缓存 */\r\n    handleClearCacheAll() {\r\n      clearCacheAll().then(response => {\r\n        this.$modal.msgSuccess(\"清理全部缓存成功\");\r\n      });\r\n    }\r\n  },\r\n};\r\n</script>\r\n"]}]}