‘liusuyi’
2023-05-06 848ae5f7e5c178be9f1ee9ac33b54e19ae038873
1
{"remainingRequest":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!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\\babel.config.js","mtime":1675221397043},{"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:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiKTsKdmFyIF9jYWNoZSA9IHJlcXVpcmUoIkAvYXBpL21vbml0b3IvY2FjaGUiKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0ID0gewogIG5hbWU6ICJDYWNoZUxpc3QiLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBjYWNoZU5hbWVzOiBbXSwKICAgICAgY2FjaGVLZXlzOiBbXSwKICAgICAgY2FjaGVGb3JtOiB7fSwKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgc3ViTG9hZGluZzogZmFsc2UsCiAgICAgIG5vd0NhY2hlTmFtZTogIiIsCiAgICAgIHRhYmxlSGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQgLSAyMDAKICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nZXRDYWNoZU5hbWVzKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvKiog5p+l6K+i57yT5a2Y5ZCN56ew5YiX6KGoICovZ2V0Q2FjaGVOYW1lczogZnVuY3Rpb24gZ2V0Q2FjaGVOYW1lcygpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgKDAsIF9jYWNoZS5saXN0Q2FjaGVOYW1lKSgpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMuY2FjaGVOYW1lcyA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgX3RoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICAvKiog5Yi35paw57yT5a2Y5ZCN56ew5YiX6KGoICovcmVmcmVzaENhY2hlTmFtZXM6IGZ1bmN0aW9uIHJlZnJlc2hDYWNoZU5hbWVzKCkgewogICAgICB0aGlzLmdldENhY2hlTmFtZXMoKTsKICAgICAgdGhpcy4kbW9kYWwubXNnU3VjY2Vzcygi5Yi35paw57yT5a2Y5YiX6KGo5oiQ5YqfIik7CiAgICB9LAogICAgLyoqIOa4heeQhuaMh+WumuWQjeensOe8k+WtmCAqL2hhbmRsZUNsZWFyQ2FjaGVOYW1lOiBmdW5jdGlvbiBoYW5kbGVDbGVhckNhY2hlTmFtZShyb3cpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgICgwLCBfY2FjaGUuY2xlYXJDYWNoZU5hbWUpKHJvdy5jYWNoZU5hbWUpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMyLiRtb2RhbC5tc2dTdWNjZXNzKCLmuIXnkIbnvJPlrZjlkI3np7BbIiArIF90aGlzMi5ub3dDYWNoZU5hbWUgKyAiXeaIkOWKnyIpOwogICAgICAgIF90aGlzMi5nZXRDYWNoZUtleXMoKTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOafpeivoue8k+WtmOmUruWQjeWIl+ihqCAqL2dldENhY2hlS2V5czogZnVuY3Rpb24gZ2V0Q2FjaGVLZXlzKHJvdykgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIGNhY2hlTmFtZSA9IHJvdyAhPT0gdW5kZWZpbmVkID8gcm93LmNhY2hlTmFtZSA6IHRoaXMubm93Q2FjaGVOYW1lOwogICAgICBpZiAoY2FjaGVOYW1lID09PSAiIikgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnN1YkxvYWRpbmcgPSB0cnVlOwogICAgICAoMCwgX2NhY2hlLmxpc3RDYWNoZUtleSkoY2FjaGVOYW1lKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzMy5jYWNoZUtleXMgPSByZXNwb25zZS5kYXRhOwogICAgICAgIF90aGlzMy5zdWJMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgX3RoaXMzLm5vd0NhY2hlTmFtZSA9IGNhY2hlTmFtZTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOWIt+aWsOe8k+WtmOmUruWQjeWIl+ihqCAqL3JlZnJlc2hDYWNoZUtleXM6IGZ1bmN0aW9uIHJlZnJlc2hDYWNoZUtleXMoKSB7CiAgICAgIHRoaXMuZ2V0Q2FjaGVLZXlzKCk7CiAgICAgIHRoaXMuJG1vZGFsLm1zZ1N1Y2Nlc3MoIuWIt+aWsOmUruWQjeWIl+ihqOaIkOWKnyIpOwogICAgfSwKICAgIC8qKiDmuIXnkIbmjIflrprplK7lkI3nvJPlrZggKi9oYW5kbGVDbGVhckNhY2hlS2V5OiBmdW5jdGlvbiBoYW5kbGVDbGVhckNhY2hlS2V5KGNhY2hlS2V5KSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICAoMCwgX2NhY2hlLmNsZWFyQ2FjaGVLZXkpKGNhY2hlS2V5KS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNC4kbW9kYWwubXNnU3VjY2Vzcygi5riF55CG57yT5a2Y6ZSu5ZCNWyIgKyBjYWNoZUtleSArICJd5oiQ5YqfIik7CiAgICAgICAgX3RoaXM0LmdldENhY2hlS2V5cygpOwogICAgICB9KTsKICAgIH0sCiAgICAvKiog5YiX6KGo5YmN57yA5Y676ZmkICovbmFtZUZvcm1hdHRlcjogZnVuY3Rpb24gbmFtZUZvcm1hdHRlcihyb3cpIHsKICAgICAgcmV0dXJuIHJvdy5jYWNoZU5hbWUucmVwbGFjZSgiOiIsICIiKTsKICAgIH0sCiAgICAvKiog6ZSu5ZCN5YmN57yA5Y676ZmkICova2V5Rm9ybWF0dGVyOiBmdW5jdGlvbiBrZXlGb3JtYXR0ZXIoY2FjaGVLZXkpIHsKICAgICAgcmV0dXJuIGNhY2hlS2V5LnJlcGxhY2UodGhpcy5ub3dDYWNoZU5hbWUsICIiKTsKICAgIH0sCiAgICAvKiog5p+l6K+i57yT5a2Y5YaF5a656K+m57uGICovaGFuZGxlQ2FjaGVWYWx1ZTogZnVuY3Rpb24gaGFuZGxlQ2FjaGVWYWx1ZShjYWNoZUtleSkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgKDAsIF9jYWNoZS5nZXRDYWNoZVZhbHVlKSh0aGlzLm5vd0NhY2hlTmFtZSwgY2FjaGVLZXkpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM1LmNhY2hlRm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIC8qKiDmuIXnkIblhajpg6jnvJPlrZggKi9oYW5kbGVDbGVhckNhY2hlQWxsOiBmdW5jdGlvbiBoYW5kbGVDbGVhckNhY2hlQWxsKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgKDAsIF9jYWNoZS5jbGVhckNhY2hlQWxsKSgpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM2LiRtb2RhbC5tc2dTdWNjZXNzKCLmuIXnkIblhajpg6jnvJPlrZjmiJDlip8iKTsKICAgICAgfSk7CiAgICB9CiAgfQp9OwpleHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDs="},{"version":3,"mappings":";;;;;;;;AA0JA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAEA;EACAA;EACAC;IACA;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACA;EACA;EACAC;IACA,eACAC;MAAA;MACA;MACA;QACA;QACA;MACA;IACA;IACA,eACAC;MACA;MACA;IACA;IACA,eACAC;MAAA;MACA;QACA;QACA;MACA;IACA;IACA,eACAC;MAAA;MACA;MACA;QACA;MACA;MACA;MACA;QACA;QACA;QACA;MACA;IACA;IACA,eACAC;MACA;MACA;IACA;IACA,eACAC;MAAA;MACA;QACA;QACA;MACA;IACA;IACA,aACAC;MACA;IACA;IACA,aACAC;MACA;IACA;IACA,eACAC;MAAA;MACA;QACA;MACA;IACA;IACA,aACAC;MAAA;MACA;QACA;MACA;IACA;EACA;AACA;AAAA","names":["name","data","cacheNames","cacheKeys","cacheForm","loading","subLoading","nowCacheName","tableHeight","created","methods","getCacheNames","refreshCacheNames","handleClearCacheName","getCacheKeys","refreshCacheKeys","handleClearCacheKey","nameFormatter","keyFormatter","handleCacheValue","handleClearCacheAll"],"sourceRoot":"src/views/monitor/cache","sources":["list.vue"],"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"]}]}