From a28b85d077137652f290ea17b603bade8d84f668 Mon Sep 17 00:00:00 2001 From: XieYongHong <18010623010@163.com> Date: Fri, 28 Apr 2023 17:24:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=97=A0=E6=B3=95=E8=B0=83=E6=95=B4=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.ts | 6 ++- .../Product/Detail/DeviceAccess/index.vue | 17 ++++++- src/views/system/Menu/Setting/index.vue | 47 ++++++++++--------- src/views/system/Menu/Setting/utils.ts | 14 ++++++ vite.config.ts | 2 +- 5 files changed, 60 insertions(+), 26 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index f6b2d6ed..54687a0d 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -167,7 +167,11 @@ const errorHandler = (error: any) => { showNotification(error?.code, error?.response?.data?.message, '404') } } else if (error.response === undefined) { - showNotification(error.message, (error.stack + '').substr(0, 90), undefined) + if (error.message.includes('timeout')) { + showNotification(error.message, '接口响应超时', undefined) + } else { + showNotification(error.message, (error.stack + '').substr(0, 90), undefined) + } } return Promise.reject(error) } diff --git a/src/views/device/Product/Detail/DeviceAccess/index.vue b/src/views/device/Product/Detail/DeviceAccess/index.vue index fd0e1672..6f4ebf47 100644 --- a/src/views/device/Product/Detail/DeviceAccess/index.vue +++ b/src/views/device/Product/Detail/DeviceAccess/index.vue @@ -686,7 +686,7 @@ const getData = async (accessId?: string) => { productTypes.value = resp.result.map(item => { if (pluginRes?.result?.externalId === item.id) { productData.id = pluginRes?.result?.externalId - productData.metadata = JSON.stringify(item.metadata || {}) + productData.metadata = item.metadata } return { ...item, label: item.name, value: item.id } }) @@ -724,7 +724,20 @@ const submitDevice = async () => { const id = productStore.current?.id; // 该产品是否有物模型,有则弹窗进行处理 const _metadata = JSON.parse(productStore.current?.metadata || '{}') - if (_metadata.properties?.length || _metadata.events?.length || _metadata.functions?.length || _metadata.tags?.length) { + console.log(_metadata.properties, productData.metadata) + if ( + (_metadata.properties?.length || + _metadata.events?.length || + _metadata.functions?.length || + _metadata.tags?.length + ) && + ( + productData.metadata?.properties?.length || + productData.metadata?.events?.length || + productData.metadata?.functions?.length || + productData.metadata?.tags?.length + ) + ) { metadataModalCacheData.value = { id, values, diff --git a/src/views/system/Menu/Setting/index.vue b/src/views/system/Menu/Setting/index.vue index cad1e29d..c26096f3 100644 --- a/src/views/system/Menu/Setting/index.vue +++ b/src/views/system/Menu/Setting/index.vue @@ -10,30 +10,31 @@