فهرست منبع

feat(lss): enhance device scanning logic and user feedback

- Improved the device scanning process by adding status handling for different scan states: COMPLETED, SCANNING, and FAILED.
- Updated user feedback messages to provide clearer information during the scanning operation.
- Removed redundant code related to fetching discovered devices before scanning, streamlining the flow of the function.
yb 22 ساعت پیش
والد
کامیت
a5037d0643
1فایلهای تغییر یافته به همراه15 افزوده شده و 29 حذف شده
  1. 15 29
      src/views/lss/composables/useScanDevices.ts

+ 15 - 29
src/views/lss/composables/useScanDevices.ts

@@ -17,44 +17,30 @@ export function useScanDevices() {
   async function handleScanDevices(row: LssNodeDTO) {
     scanLssId.value = row.lssId
     scanMatched.value = false
-
-    // 先尝试获取已有的发现设备
-    try {
-      const res = await getDiscoveredDevices(row.lssId)
-      if (res.success && res.data && res.data.length > 0) {
-        discoveredDevices.value = res.data
-        scanDrawerVisible.value = true
-        return
-      }
-    } catch (error) {
-      console.error('获取发现设备失败', error)
-    }
-
-    // 没有扫描结果,弹确认框
-    try {
-      await ElMessageBox.confirm(t('当前 LSS 节点尚未扫描设备,是否开启扫描?'), t('扫描设备'), {
-        confirmButtonText: t('开始扫描'),
-        cancelButtonText: t('取消'),
-        type: 'info'
-      })
-    } catch {
-      return
-    }
-
     // 用户确认,触发扫描
     scanDrawerVisible.value = true
     scanLoading.value = true
     try {
       const res = await scanDevices(row.lssId)
       if (res.success) {
-        ElMessage.success(t('扫描完成'))
+        // 扫描结束
+        switch (res?.data?.status || '') {
+          case 'COMPLETED':
+            await loadDiscoveredDevices()
+            break
+          case 'SCANNING':
+            ElMessage.info(t('扫描中...'))
+            break
+          case 'FAILED':
+            ElMessage.error(res.errMessage || t('扫描失败'))
+            break
+        }
       } else {
-        ElMessage.error(res.errMessage || t('扫描失败'))
+        ElMessage.error(res.errMessage || t('操作失败'))
       }
-      await loadDiscoveredDevices()
     } catch (error) {
-      console.error('扫描失败', error)
-      ElMessage.error(t('扫描失败'))
+      console.error('操作失败', error)
+      ElMessage.error(t('操作失败'))
     } finally {
       scanLoading.value = false
     }