Forráskód Böngészése

feat(upload): upload music

gemercheung 3 éve
szülő
commit
2506593fa1

+ 1 - 0
src/api/corporation/model.ts

@@ -7,6 +7,7 @@ export interface UpdateCompanyParam {
   id: number;
   sceneLogo?: string;
   floorLogo?: string;
+  bgMusic?: string;
 }
 export interface addDeiceParam {
   childNames: string | null;

+ 4 - 3
src/components/Upload/src/UploadModal.vue

@@ -231,14 +231,14 @@
               return uploadApiByItem(item);
             }),
           );
-
           isUploadingRef.value = false;
           // 生产环境:抛出错误
           const errorList = data.filter((item: any) => !item.success);
           if (errorList.length > 0) throw errorList;
-        } catch (e) {
+        } catch (error) {
+          console.log(error);
           isUploadingRef.value = false;
-          throw e;
+          throw error;
         }
       }
 
@@ -256,6 +256,7 @@
 
         for (const item of fileListRef.value) {
           const { status, responseData } = item;
+          console.log('responseData', item);
           if (status === UploadResultStatus.SUCCESS && responseData) {
             fileList.push(responseData.url);
           }

+ 23 - 12
src/views/corporation/index.vue

@@ -29,18 +29,15 @@
         />
       </template>
       <template #bgMusic="{ record }">
-        <!-- <CropperAvatar
-          :showBtn="false"
-          :width="80"
-          :uploadApi="uploadLogoApi"
-          :value="record.bgMusic"
-        /> -->
-        {{}}
         <BasicUpload
           :maxSize="5"
           :maxNumber="1"
-          @change="handleMusicUpload"
-          :api="uploadLogoApi"
+          @change="
+            (data) => {
+              handleMusicUpload(record, data);
+            }
+          "
+          :api="handleMusicUploadFetch"
           class="my-5"
           :value="[record.bgMusic]"
           :accept="['.mp3', '.wav']"
@@ -266,8 +263,22 @@
         //   record,
         // });
       }
-      function handleMusicUpload(record: Recordable) {
-        console.log('handleMusicUpload', record);
+      async function handleMusicUploadFetch({ file, name }) {
+        const res = await uploadLogoApi({ file, name }, () => {});
+        return {
+          data: {
+            url: res.data.message,
+          },
+        };
+      }
+      async function handleMusicUpload(record: Recordable, data) {
+        console.log('handleMusicUpload', record, data);
+        const bgMusicRes: string = data?.length > 0 ? data[0] : '';
+        await updateCompnayApi({
+          id: record.id,
+          bgMusic: bgMusicRes,
+        });
+        nextTick(reload);
       }
       async function updateSceneLogo(record: Recordable, data: Result) {
         console.log('src', data.message);
@@ -299,7 +310,7 @@
         handleMusicUpload,
         updateSceneLogo,
         updateFloorLogo,
-
+        handleMusicUploadFetch,
         registerCameraModal,
         openCameraModal,
       };