Sfoglia il codice sorgente

fix(上传): 修复头像上传成功回调处理逻辑

修改上传成功回调的参数类型为对象,并正确处理响应数据
统一处理H5和微信端的头像上传成功日志
feige996 11 mesi fa
parent
commit
218d618e0e
2 ha cambiato i file con 10 aggiunte e 10 eliminazioni
  1. 5 5
      src/pages/mine/index.vue
  2. 5 5
      src/utils/uploadFile.ts

+ 5 - 5
src/pages/mine/index.vue

@@ -110,9 +110,9 @@ const { run } = useUpload<IUploadSuccessInfo>(
   import.meta.env.VITE_UPLOAD_BASEURL,
   {},
   {
-    onSuccess: (res: string) => {
-      console.log('头像上传成功', res)
-      useUserStore().setUserAvatar(res)
+    onSuccess: (res) => {
+      console.log('h5头像上传成功', res)
+      useUserStore().setUserAvatar(res.url)
     },
   },
 )
@@ -142,8 +142,8 @@ const onChooseAvatar = (e: any) => {
     {},
     {
       onSuccess: (res) => {
-        console.log('头像上传成功', res)
-        useUserStore().setUserAvatar(res)
+        console.log('wx头像上传成功', res)
+        useUserStore().setUserAvatar(res.url)
       },
     },
     avatarUrl,

+ 5 - 5
src/utils/uploadFile.ts

@@ -61,7 +61,7 @@ export interface UploadOptions {
   /** 上传进度回调函数 */
   onProgress?: (progress: number) => void
   /** 上传成功回调函数 */
-  onSuccess?: (res: string) => void
+  onSuccess?: (res: Record<string, any>) => void
   /** 上传失败回调函数 */
   onError?: (err: Error | UniApp.GeneralCallbackResult) => void
   /** 上传完成回调函数(无论成功失败) */
@@ -248,7 +248,7 @@ interface UploadFileOptions<T> {
   /** 上传进度回调 */
   onProgress?: (progress: number) => void
   /** 上传成功回调 */
-  onSuccess?: (res: string) => void
+  onSuccess?: (res: Record<string, any>) => void
   /** 上传失败回调 */
   onError?: (err: Error | UniApp.GeneralCallbackResult) => void
   /** 上传完成回调 */
@@ -291,10 +291,10 @@ function uploadFile<T>({
         console.log('上传文件成功:', uploadFileRes)
         try {
           // 解析响应数据
-          const result = uploadFileRes.data
+          const { data: _data } = JSON.parse(uploadFileRes.data)
           // 上传成功
-          data.value = result as T
-          onSuccess?.(result)
+          data.value = _data as T
+          onSuccess?.(_data)
         } catch (err) {
           // 响应解析错误
           console.error('解析上传响应失败:', err)