diff --git a/mayfly_go_web/src/common/utils/format.ts b/mayfly_go_web/src/common/utils/format.ts index 5b1aaa94..25e3bc2b 100644 --- a/mayfly_go_web/src/common/utils/format.ts +++ b/mayfly_go_web/src/common/utils/format.ts @@ -5,17 +5,71 @@ */ export function formatByteSize(size: any) { const value = Number(size); - if (size && !isNaN(value)) { - const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB']; - let index = 0; - let k = value; - if (value >= 1024) { - while (k > 1024) { - k = k / 1024; - index++; - } + if (size && !isNaN(value)) { + const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB']; + let index = 0; + let k = value; + if (value >= 1024) { + while (k > 1024) { + k = k / 1024; + index++; } - return `${k.toFixed(2)}${units[index]}`; } - return '-'; + return `${k.toFixed(2)}${units[index]}`; + } + return '-'; +} + +/** + * 格式化json字符串 + * @param txt json字符串 + * @param compress 是否压缩 + * @returns 格式化后的字符串 + */ +export function formatJsonString(txt: string, compress: boolean) { + var indentChar = ' '; + if (/^\s*$/.test(txt)) { + console.log('数据为空,无法格式化! '); + return txt; + } + try { + var data = JSON.parse(txt); + } catch (e: any) { + console.log('数据源语法错误,格式化失败! 错误信息: ' + e.description, 'err'); + return txt; + } + var draw: any = [], + line = compress ? '' : '\n', + // eslint-disable-next-line no-unused-vars + nodeCount: number = 0, + // eslint-disable-next-line no-unused-vars + maxDepth: number = 0; + + var notify = function (name: any, value: any, isLast: any, indent: any, formObj: any) { + nodeCount++; /*节点计数*/ + for (var i = 0, tab = ''; i < indent; i++) tab += indentChar; /* 缩进HTML */ + tab = compress ? '' : tab; /*压缩模式忽略缩进*/ + maxDepth = ++indent; /*缩进递增并记录*/ + if (value && value.constructor == Array) { + /*处理数组*/ + draw.push(tab + (formObj ? '"' + name + '": ' : '') + '[' + line); /*缩进'[' 然后换行*/ + for (var i = 0; i < value.length; i++) notify(i, value[i], i == value.length - 1, indent, false); + draw.push(tab + ']' + (isLast ? line : ',' + line)); /*缩进']'换行,若非尾元素则添加逗号*/ + } else if (value && typeof value == 'object') { + /*处理对象*/ + draw.push(tab + (formObj ? '"' + name + '": ' : '') + '{' + line); /*缩进'{' 然后换行*/ + var len = 0, + i = 0; + for (var key in value) len++; + for (var key in value) notify(key, value[key], ++i == len, indent, true); + draw.push(tab + '}' + (isLast ? line : ',' + line)); /*缩进'}'换行,若非尾元素则添加逗号*/ + } else { + if (typeof value == 'string') value = '"' + value + '"'; + draw.push(tab + (formObj ? '"' + name + '": ' : '') + value + (isLast ? '' : ',') + line); + } + }; + var isLast = true, + indent = 0; + notify('', data, isLast, indent, false); + return draw.join(''); } \ No newline at end of file diff --git a/mayfly_go_web/src/components/codemirror/codemirror.vue b/mayfly_go_web/src/components/codemirror/codemirror.vue index 4679c967..201cac41 100644 --- a/mayfly_go_web/src/components/codemirror/codemirror.vue +++ b/mayfly_go_web/src/components/codemirror/codemirror.vue @@ -46,7 +46,7 @@ import { ElOption, ElSelect } from 'element-plus'; const CodeMirror = (window as any).CodeMirror || _CodeMirror; export default defineComponent({ - name: 'codemirror', + name: 'CodeMirror', components: { ElOption, ElSelect, @@ -173,7 +173,7 @@ export default defineComponent({ watch( () => props.modelValue, - (newValue, oldValue) => { + (newValue) => { handerCodeChange(newValue); } ); diff --git a/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue b/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue index eee56f0f..ae5082d5 100644 --- a/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue +++ b/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue @@ -22,9 +22,7 @@ \ No newline at end of file + + \ No newline at end of file diff --git a/mayfly_go_web/src/views/ops/redis/DataOperation.vue b/mayfly_go_web/src/views/ops/redis/DataOperation.vue index a2cf16c6..c32e9a44 100644 --- a/mayfly_go_web/src/views/ops/redis/DataOperation.vue +++ b/mayfly_go_web/src/views/ops/redis/DataOperation.vue @@ -24,7 +24,7 @@