Commit b7247fc48d0a64c93e9a4088677dfb8b71dca89b

Authored by xp.Huang
2 parents 71cb984f fe8eca66

Merge branch 'ft' into 'main_dev'

fix: 修复公共接口切换产品切换属性websocket又新建连接,造成上一个ws和这一个ws交替接受信息问题

See merge request yunteng/thingskit-front!720
... ... @@ -68,7 +68,7 @@
68 68 </div>
69 69 </template>
70 70 <script lang="ts" setup name="testRequest">
71   - import { nextTick, ref, reactive, onUnmounted } from 'vue';
  71 + import { nextTick, ref, reactive, onUnmounted, unref } from 'vue';
72 72 import { Button } from 'ant-design-vue';
73 73 import { otherHttp } from '/@/utils/http/axios';
74 74 import { useWebSocket } from '@vueuse/core';
... ... @@ -153,6 +153,9 @@
153 153
154 154 const postBodyType = ref('');
155 155
  156 + //定义一个全局的关闭websocket变量 fix: 修复切换产品切换属性websocket又新建连接,造成上一个ws和这一个ws交替接受信息问题
  157 + const closeSocket = ref<Nullable<Fn>>(null);
  158 +
156 159 //执行测试接口
157 160 const handleExcute = () => {
158 161 emits('emitExcute');
... ... @@ -188,6 +191,8 @@
188 191 const list = Object.values(params);
189 192 const isEmpty = list.some((it) => it === '' || null || undefined);
190 193 if (!isEmpty) {
  194 + //执行ws close方法 关闭上一个
  195 + unref(closeSocket)?.();
191 196 websocketRequest(params);
192 197 } else {
193 198 resetValue(false);
... ... @@ -245,6 +250,7 @@
245 250 },
246 251 onError() {},
247 252 });
  253 + closeSocket.value = close;
248 254 if (destroy) close();
249 255 } finally {
250 256 }
... ...