Преглед на файлове

Merge dev into prod (keep prod config files)

liujia преди 2 месеца
родител
ревизия
194568165f
променени са 2 файла, в които са добавени 31 реда и са изтрити 11 реда
  1. 1 1
      package.json
  2. 30 10
      src/views/device/list/components/uploadDevice/index.vue

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "vue-project",
-  "version": "0.1.6",
+  "version": "0.1.7",
   "private": true,
   "type": "module",
   "scripts": {

+ 30 - 10
src/views/device/list/components/uploadDevice/index.vue

@@ -105,6 +105,16 @@ const handleChange = (info: UploadChangeParam) => {
 
 function handleDrop(e: DragEvent) {
   console.log(e)
+  // 获取拖拽的文件
+  if (e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files.length) {
+    const file = e.dataTransfer.files[0]
+    // 调用beforeUpload进行验证
+    const isValid = beforeUpload(file)
+    if (isValid !== true) {
+      // 如果验证失败,清空文件列表
+      fileList.value = []
+    }
+  }
 }
 
 const headers = {
@@ -134,7 +144,7 @@ const repeateIds = ref<string[]>([])
 type UploadSuccessHandler = <T = any>(response: T, event?: ProgressEvent) => void
 
 const customRequest = (options: UploadRequestOption) => {
-  const { file, onProgress, onSuccess } = options
+  const { file, onProgress, onSuccess, onError } = options
   const customFile = file as CustomUploadFile
 
   // 创建 FormData
@@ -172,18 +182,28 @@ const customRequest = (options: UploadRequestOption) => {
       },
     })
     .then((response: AxiosResponse) => {
-      handleSuccess(response.data)
-      console.log('上传成功', response.data)
-      const { suc, msg, msgList } = response.data.data
-      if (suc) {
-        message.success(msg)
+      if (['200', 200].includes(response.data.code)) {
+        handleSuccess(response.data)
+        console.log('✅上传成功', response.data)
+        const { suc, msg, msgList } = response.data.data
+        if (suc) {
+          message.success(msg)
+        } else {
+          message.error(msg)
+        }
+        repeateIds.value = msgList || []
       } else {
-        message.error(msg)
+        const errorMsg = response.data.message
+        message.error(errorMsg)
+        onError?.(response.data)
       }
-      repeateIds.value = msgList || []
     })
     .catch((error) => {
-      options.onError?.(error)
+      console.log('❌上传失败', error)
+      const errorMsg = error.code === 'ERR_NETWORK' ? '网络异常,请重试' : error.message
+      error.message = errorMsg
+      message.error(errorMsg)
+      onError?.(error)
     })
 
   return {
@@ -250,7 +270,7 @@ const copyIdsHandler = () => {
     margin-top: 24px;
 
     .title {
-      fonst-size: 16px;
+      font-size: 16px;
       font-weight: 600;
     }
   }