diff --git a/package-lock.json b/package-lock.json index f807d4c7..1acf5a3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8970,9 +8970,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -9424,9 +9424,9 @@ } }, "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -22665,9 +22665,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonfile": { @@ -22989,9 +22989,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" diff --git a/src/assets/img/technologies/FASTAPI.png b/src/assets/img/technologies/FASTAPI.png new file mode 100644 index 00000000..57d9eec1 Binary files /dev/null and b/src/assets/img/technologies/FASTAPI.png differ diff --git a/src/assets/img/technologies/WEBSOCKETS.png b/src/assets/img/technologies/WEBSOCKETS.png new file mode 100644 index 00000000..45cbe30f Binary files /dev/null and b/src/assets/img/technologies/WEBSOCKETS.png differ diff --git a/src/views/dashboard/related/log/LogTable/LogDetail.vue b/src/views/dashboard/related/log/LogTable/LogDetail.vue index 91dcb965..6d4cc704 100644 --- a/src/views/dashboard/related/log/LogTable/LogDetail.vue +++ b/src/views/dashboard/related/log/LogTable/LogDetail.vue @@ -23,7 +23,7 @@ limitations under the License. --> class="content mb-10" :readonly="true" v-else-if="item.label === 'content'" - :value="currentLog[item.label]" + :value="contentFormat(item.label)" />
{{ d }}
@@ -38,6 +38,7 @@ limitations under the License. --> import { useI18n } from "vue-i18n"; import type { Option } from "@/types/app"; import { dateFormat } from "@/utils/dateFormat"; + import { formatJson } from "@/utils/formatJson"; /*global defineProps */ const props = defineProps({ @@ -53,6 +54,16 @@ limitations under the License. --> return `${d.key} = ${d.value}`; }); }); + + function contentFormat(label: string) { + try { + return props.currentLog.contentType === "JSON" + ? formatJson(JSON.parse(props.currentLog[label])) + : props.currentLog[label]; + } catch (e) { + return props.currentLog[label]; + } + }