Commit bd2768eaa0454d117e77fbb53b91e04867b2eb7d
Merge branch 'fix/socket-filter' into 'main_dev'
fix: 修复socket请求无法使用过滤器 See merge request yunteng/thingskit-view!214
Showing
3 changed files
with
18 additions
and
11 deletions
@@ -191,6 +191,7 @@ export interface CreateComponentType extends PublicConfigType, requestConfig { | @@ -191,6 +191,7 @@ export interface CreateComponentType extends PublicConfigType, requestConfig { | ||
191 | option: GlobalThemeJsonType | 191 | option: GlobalThemeJsonType |
192 | groupList?: Array<CreateComponentType> | 192 | groupList?: Array<CreateComponentType> |
193 | saveHistoryInput?: string // THINGS_KIT 新增一个接口字段 saveHistoryInput,用于记录当前组件id和输入框的内容,这里不能重写,有很多地方引用到的,这里升级版本有冲突 | 193 | saveHistoryInput?: string // THINGS_KIT 新增一个接口字段 saveHistoryInput,用于记录当前组件id和输入框的内容,这里不能重写,有很多地方引用到的,这里升级版本有冲突 |
194 | + wsOriginalMessage?: any | ||
194 | } | 195 | } |
195 | 196 | ||
196 | // 组件成组实例类 | 197 | // 组件成组实例类 |
@@ -273,6 +273,7 @@ export const useSocketStore = defineStore({ | @@ -273,6 +273,7 @@ export const useSocketStore = defineStore({ | ||
273 | const { filter } = targetItem | 273 | const { filter } = targetItem |
274 | const { value: filterValue, reason, flag } = useFilterFn(filter, _value) | 274 | const { value: filterValue, reason, flag } = useFilterFn(filter, _value) |
275 | targetItem.option.dataset = flag ? filterValue : reason | 275 | targetItem.option.dataset = flag ? filterValue : reason |
276 | + targetItem.wsOriginalMessage = _value | ||
276 | try { | 277 | try { |
277 | const dumpSaveHistoryInput = JSON.parse((!targetItem.saveHistoryInput ? null : targetItem.saveHistoryInput) as string) || JSON.parse(window.localStorage.getItem('CACHE_HISTORY_INPUT_VALUE') as string) | 278 | const dumpSaveHistoryInput = JSON.parse((!targetItem.saveHistoryInput ? null : targetItem.saveHistoryInput) as string) || JSON.parse(window.localStorage.getItem('CACHE_HISTORY_INPUT_VALUE') as string) |
278 | if (!dumpSaveHistoryInput) return | 279 | if (!dumpSaveHistoryInput) return |
@@ -299,6 +300,7 @@ export const useSocketStore = defineStore({ | @@ -299,6 +300,7 @@ export const useSocketStore = defineStore({ | ||
299 | const { filter } = groupItem | 300 | const { filter } = groupItem |
300 | const { value: filterValue, reason, flag } = useFilterFn(filter, _value) | 301 | const { value: filterValue, reason, flag } = useFilterFn(filter, _value) |
301 | groupItem.option.dataset = flag ? filterValue : reason | 302 | groupItem.option.dataset = flag ? filterValue : reason |
303 | + groupItem.wsOriginalMessage = _value | ||
302 | } | 304 | } |
303 | }) | 305 | }) |
304 | } else { | 306 | } else { |
@@ -308,6 +310,7 @@ export const useSocketStore = defineStore({ | @@ -308,6 +310,7 @@ export const useSocketStore = defineStore({ | ||
308 | const { filter } = targetItem | 310 | const { filter } = targetItem |
309 | const { value: filterValue, reason, flag } = useFilterFn(filter, _value) | 311 | const { value: filterValue, reason, flag } = useFilterFn(filter, _value) |
310 | targetItem.option.dataset = flag ? filterValue : reason | 312 | targetItem.option.dataset = flag ? filterValue : reason |
313 | + targetItem.wsOriginalMessage = _value | ||
311 | } | 314 | } |
312 | } | 315 | } |
313 | // | 316 | // |
@@ -60,7 +60,7 @@ | @@ -60,7 +60,7 @@ | ||
60 | <NSpace> | 60 | <NSpace> |
61 | <NText depth="3">接口返回数据(res):</NText> | 61 | <NText depth="3">接口返回数据(res):</NText> |
62 | <NScrollbar style="max-height: 300px;"> | 62 | <NScrollbar style="max-height: 300px;"> |
63 | - <NCode :code="toString(sourceData) || '暂无'" language="json" :word-wrap="true"></NCode> | 63 | + <NCode :code="toString(isSocketRequest ? targetData.wsOriginalMessage : sourceData) || '暂无'" language="json" :word-wrap="true"></NCode> |
64 | </NScrollbar> | 64 | </NScrollbar> |
65 | </NSpace> | 65 | </NSpace> |
66 | </div> | 66 | </div> |
@@ -123,21 +123,24 @@ const sourceData = ref<any>('') | @@ -123,21 +123,24 @@ const sourceData = ref<any>('') | ||
123 | const { fetchTargetData: fetchHandle } = useFetchTargetData() | 123 | const { fetchTargetData: fetchHandle } = useFetchTargetData() |
124 | // 动态获取数据 | 124 | // 动态获取数据 |
125 | const fetchTargetData = async () => { | 125 | const fetchTargetData = async () => { |
126 | - if ((unref(targetData).request.requestContentType as RequestContentTypeEnum) === RequestContentTypeEnum.WEB_SOCKET) { | ||
127 | - sourceData.value = { | ||
128 | - data: unref(targetData).option.dataset | ||
129 | - } | ||
130 | - } else { | ||
131 | - const res = await fetchHandle() | ||
132 | - if (res) { | ||
133 | - sourceData.value = res | ||
134 | - } | 126 | + const res = await fetchHandle() |
127 | + if (res) { | ||
128 | + sourceData.value = res | ||
135 | } | 129 | } |
136 | } | 130 | } |
137 | 131 | ||
132 | +const isSocketRequest = computed(() => { | ||
133 | + return (unref(targetData).request.requestContentType as RequestContentTypeEnum) === RequestContentTypeEnum.WEB_SOCKET | ||
134 | +}) | ||
135 | + | ||
138 | // 过滤结果 | 136 | // 过滤结果 |
139 | const filterRes = computed(() => { | 137 | const filterRes = computed(() => { |
140 | - const { value, flag, reason } = useFilterFn(filter.value, sourceData.value) | 138 | + let res = sourceData.value |
139 | + if (unref(isSocketRequest)) { | ||
140 | + res = unref(targetData).wsOriginalMessage | ||
141 | + } | ||
142 | + | ||
143 | + const { value, flag, reason } = useFilterFn(filter.value, res) | ||
141 | // eslint-disable-next-line vue/no-side-effects-in-computed-properties | 144 | // eslint-disable-next-line vue/no-side-effects-in-computed-properties |
142 | errorFlag.value = !flag | 145 | errorFlag.value = !flag |
143 | return toString(flag ? value : `过滤函数错误,日志:${reason}`) | 146 | return toString(flag ? value : `过滤函数错误,日志:${reason}`) |