lex hai 1 ano
pai
achega
e40bf01beb

+ 1 - 1
src/components/m-uploader/index.tsx

@@ -355,7 +355,7 @@ export default defineComponent({
             />
           )
         ) : this.cropper && this.uploadType === 'IMAGE' ? (
-          <div class={[styles.uploader, styles[this.size]]}>
+          <div class={['van-uploader', styles.uploader, styles[this.size]]}>
             {this.modelValue.length > 0 ? (
               <Image
                 fit="cover"

+ 27 - 1
src/views/creation/edit/index.module.less

@@ -114,7 +114,14 @@
 
   :global {
     .van-uploader {
-      --upload-file-size: 62px;
+      --upload-file-size: 62px !important;
+      width: 62px;
+      height: 62px;
+    }
+
+    .van-image {
+      width: 62px;
+      height: 62px;
     }
 
     .van-uploader__upload {
@@ -125,6 +132,25 @@
   .muploader {
     position: relative;
     z-index: 9;
+
+    &::after {
+      content: '选封面';
+      position: absolute;
+      bottom: 0;
+      left: 0;
+      right: 0;
+      z-index: 10;
+      background: #000000;
+      opacity: 0.37;
+      line-height: 20px;
+      height: 20px;
+      font-size: 13px;
+      color: #FFFFFF;
+      line-height: 18px;
+      text-align: center;
+      border-radius: 0 0 8px 8px;
+      pointer-events: none;
+    }
   }
 
   .uploadImg {

+ 29 - 17
src/views/creation/edit/index.tsx

@@ -16,6 +16,7 @@ export default defineComponent({
     const router = useRouter();
     const state = reactive({
       id: route.query.id,
+      playType: '',
       musicDetail: {} as any,
       desc: '',
       videoImg: '', // 视频封面
@@ -63,6 +64,12 @@ export default defineComponent({
         state.desc = data.desc;
         state.videoImg = data.videoImg;
         state.img = data.img ? [data.img] : [];
+
+        if (data?.videoUrl.lastIndexOf('mp4') !== -1) {
+          state.playType = 'Video';
+        } else {
+          state.playType = 'Audio';
+        }
       } catch {
         //
       }
@@ -73,24 +80,29 @@ export default defineComponent({
           <MHeader border={false} />
         </MSticky>
 
-        <div class={[styles.section, styles.sectionVideo]}>
-          <img src={state.videoImg || videoBg} class={styles.videoBg} />
-          <div class={styles.btnGroup}>
-            <MUploader
-              class={styles.btnImg}
-              cropper
-              deletable={false}
-              onUploadChange={img => {
-                if (img.length > 0) {
-                  state.videoImg = img[0];
-                }
-              }}
-            />
-            <div class={styles.btnCropper} onClick={onCropper}>
-              视频截取封面
+        {state.playType === 'Video' && (
+          <div class={[styles.section, styles.sectionVideo]}>
+            <img src={state.videoImg || videoBg} class={styles.videoBg} />
+            <div class={styles.btnGroup}>
+              <MUploader
+                class={styles.btnImg}
+                cropper
+                deletable={false}
+                onUploadChange={img => {
+                  if (img.length > 0) {
+                    state.videoImg = img[0];
+                  }
+                }}
+                options={{
+                  fixedNumber: [16, 9]
+                }}
+              />
+              <div class={styles.btnCropper} onClick={onCropper}>
+                视频截取封面
+              </div>
             </div>
           </div>
-        </div>
+        )}
 
         <div class={styles.section}>
           <Field
@@ -113,7 +125,7 @@ export default defineComponent({
               deletable={false}
               v-model:modelValue={state.img}
             />
-            <div class={styles.tip}>选封面</div>
+            {/* <div class={styles.tip}>选封面</div> */}
           </div>
           <div class={styles.musicDetail}>
             <p class={styles.musicName}>{state.musicDetail.musicSheetName}</p>

+ 0 - 1
src/views/creation/index.tsx

@@ -217,7 +217,6 @@ export default defineComponent({
 
     const pageVisibility = usePageVisibility();
     watch(pageVisibility, value => {
-      console.log(value);
       if (value === 'hidden') {
         if (audioDom) {
           audioDom.pause();