Bladeren bron

修改问题

lex 1 jaar geleden
bovenliggende
commit
ace8641bc9

+ 12 - 1
src/components/o-wx-tip/index.tsx

@@ -1,5 +1,5 @@
 import { Popup } from 'vant'
-import { defineComponent, onMounted, ref } from 'vue'
+import { defineComponent, onMounted, ref, watch } from 'vue'
 import styles from './index.module.less'
 import { browser } from '@/helpers/utils'
 
@@ -28,6 +28,17 @@ export default defineComponent({
         return
       }
     })
+
+    watch(
+      () => [props.show, props.message],
+      () => {
+        if (props.show) {
+          showPopup.value = true
+        } else {
+          showPopup.value = false
+        }
+      }
+    )
     return () => (
       <>
         <Popup

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

@@ -15,7 +15,7 @@
     position: absolute;
     left: 50%;
     bottom: -12px;
-    background: linear-gradient(180deg, rgba(128, 158, 200, 0.59) 0%, rgba(58, 101, 162, 0.59) 100%);
+    background: linear-gradient(180deg, rgba(200, 145, 128, .52) 0%, rgba(162, 67, 58, .52) 100%);
     border-radius: 15px;
     height: 30px;
     // transform: translate(-50%);
@@ -134,6 +134,10 @@
     border-radius: 8px;
     margin-right: 16px;
 
+    img {
+      border-radius: 8px;
+    }
+
     .tip {
       position: absolute;
       bottom: 0;

+ 7 - 11
src/views/creation/edit/index.tsx

@@ -7,6 +7,7 @@ import MUploader from '@/components/o-upload'
 import { api_userMusicDetail, api_userMusicSave } from '../api'
 import { useRoute, useRouter } from 'vue-router'
 import videoBg from '../images/video-bg.png'
+import musicBg from '../images/music_bg.png'
 import { postMessage } from '@/helpers/native-message'
 
 export default defineComponent({
@@ -20,14 +21,14 @@ export default defineComponent({
       musicDetail: {} as any,
       desc: '',
       videoImg: '', // 视频封面
-      img: [] as any
+      img: null
     })
 
     const onSubmit = async () => {
       try {
         await api_userMusicSave({
           id: state.id,
-          img: state.img.join(','),
+          img: state.img,
           videoImg: state.videoImg,
           desc: state.desc || '我发布了一首演奏作品,快来听听吧~',
           musicPracticeRecordId: state.musicDetail.musicPracticeRecordId,
@@ -35,8 +36,9 @@ export default defineComponent({
         })
 
         router.back()
-      } catch {
+      } catch (e) {
         //
+        console.log(e)
       }
     }
 
@@ -63,7 +65,7 @@ export default defineComponent({
         state.musicDetail = data
         state.desc = data.desc
         state.videoImg = data.videoImg
-        state.img = data.img ? [data.img] : []
+        state.img = data.img || musicBg
 
         if (data?.videoUrl.lastIndexOf('mp4') !== -1) {
           state.playType = 'Video'
@@ -133,13 +135,7 @@ export default defineComponent({
         </div>
 
         <div class={styles.btnGroup}>
-          <Button
-            type="primary"
-            round
-            block
-            color="linear-gradient(73deg, #5BECFF 0%, #259CFE 100%)"
-            onClick={onSubmit}
-          >
+          <Button type="primary" round block color="#FF8057" onClick={onSubmit}>
             {state.musicDetail.type === 'FORMAL' ? '保存' : '发布'}
           </Button>
         </div>

BIN
src/views/creation/images/music_bg.png


+ 4 - 3
src/views/creation/index-share.tsx

@@ -7,6 +7,7 @@ import iconZanActive from './images/icon-zan-active.png'
 import iconZ from './images/icon-z.png'
 import iconPlay from './images/icon-play.png'
 import iconPause from './images/icon-pause.png'
+import musicBg from './images/music_bg.png'
 import { browser, getAuth, getGradeCh, getSecondRPM, removeAuth } from '@/helpers/utils'
 import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router'
 import {
@@ -174,7 +175,6 @@ export default defineComponent({
     const __init = async () => {
       try {
         const res = await api_openUserMusicDetail(state.id)
-
         if (res.code === 999) {
           state.message = res.message
           state.messageStatus = true
@@ -196,6 +196,7 @@ export default defineComponent({
         }
       } catch (err) {
         //
+        console.log(err)
         state.listState.dataShow = false
       }
     }
@@ -265,7 +266,7 @@ export default defineComponent({
 
               <div class={styles.audioBox}>
                 <div class={[styles.audioPan, state.paused && styles.imgRotate]}>
-                  <Image class={styles.audioImg} src={state.musicDetail?.img} />
+                  <Image class={styles.audioImg} src={state.musicDetail?.img || musicBg} />
                 </div>
                 <i class={styles.audioPoint}></i>
                 <i class={[styles.audioZhen, state.paused && styles.active]}></i>
@@ -366,7 +367,7 @@ export default defineComponent({
                 {state.list.map((item: any) => (
                   <div class={styles.cell} onClick={() => onDetail(item)}>
                     <div class={styles.cellImg}>
-                      <Image class={styles.cellImage} src={item.img} fit="cover" />
+                      <Image class={styles.cellImage} src={item.img || musicBg} fit="cover" />
 
                       <div class={styles.iconZan}>{item.likeNum}</div>
                     </div>

+ 2 - 2
src/views/creation/index.module.less

@@ -291,7 +291,7 @@
     font-size: 15px;
     font-weight: 500;
     color: #333333;
-    line-height: 21px;
+    line-height: 24px;
     // display: flex;
     // align-items: center;
     overflow: hidden;
@@ -309,7 +309,7 @@
       border-radius: 9px;
       border: 1px solid #FFBF9A;
       font-weight: 400;
-      vertical-align: text-bottom;
+      vertical-align: middle;
     }
   }
 

+ 2 - 45
src/views/creation/index.tsx

@@ -12,6 +12,7 @@ import iconZan from './images/icon-zan.png'
 import iconZanActive from './images/icon-zan-active.png'
 import iconPlay from './images/icon-play.png'
 import iconPause from './images/icon-pause.png'
+import musicBg from './images/music_bg.png'
 import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 import { browser, getGradeCh, getSecondRPM } from '@/helpers/utils'
 import { useRoute, useRouter } from 'vue-router'
@@ -127,45 +128,6 @@ export default defineComponent({
       audioDom.addEventListener('ended', () => {
         state.paused = audioDom.paused
       })
-      // const wavesurfer = WaveSurfer.create({
-      //   container: document.querySelector(`#${audioId}`) as HTMLElement,
-      //   waveColor: '#fff',
-      //   progressColor: '#2FA1FD',
-      //   url: state.musicDetail.videoUrl,
-      //   cursorWidth: 0,
-      //   height: 35,
-      //   width: 'auto',
-      //   normalize: true,
-      //   // Set a bar width
-      //   barWidth: 2,
-      //   // Optionally, specify the spacing between bars
-      //   barGap: 2,
-      //   // And the bar radius
-      //   barRadius: 4,
-      //   barHeight: 0.6,
-      //   autoScroll: true,
-      //   /** If autoScroll is enabled, keep the cursor in the center of the waveform during playback */
-      //   autoCenter: true,
-      //   hideScrollbar: false,
-      //   media: audioDom
-      // });
-
-      // wavesurfer.once('interaction', () => {
-      //   // wavesurfer.play();
-      // });
-      // wavesurfer.once('ready', () => {
-      //   state.paused = audioDom.paused;
-      //   state.duration = audioDom.duration;
-      // });
-
-      // wavesurfer.on('finish', () => {
-      //   state.paused = true;
-      // });
-
-      // // 播放时监听
-      // audioDom.addEventListener('timeupdate', () => {
-      //   state.currentTime = audioDom.currentTime;
-      // });
     }
 
     // 删除作品
@@ -269,11 +231,6 @@ export default defineComponent({
           {state.playType === 'Audio' && (
             <div class={styles.audioSection}>
               <div class={styles.audioContainer}>
-                {/* <div
-                  id={audioId}
-                  onClick={(e: MouseEvent) => {
-                    e.stopPropagation();
-                  }}></div> */}
                 <div
                   class={styles.waveActive}
                   style={{
@@ -285,7 +242,7 @@ export default defineComponent({
 
               <div class={styles.audioBox}>
                 <div class={[styles.audioPan, state.paused && styles.imgRotate]}>
-                  <Image class={styles.audioImg} src={state.musicDetail?.img} />
+                  <Image class={styles.audioImg} src={state.musicDetail?.img || musicBg} />
                 </div>
                 <i class={styles.audioPoint}></i>
                 <i class={[styles.audioZhen, state.paused && styles.active]}></i>

+ 1 - 1
src/views/creation/share-model/index.tsx

@@ -144,7 +144,7 @@ export default defineComponent({
         <div class={styles.shareContent} id="shareContent">
           <img src={shareBg} class={styles.shareBg} />
           <div class={styles.share_content__title}>
-            <p class={styles.large}>我在音乐数字课堂发布了演奏作品</p>
+            <p class={styles.large}>我在管乐团发布了演奏作品</p>
             <p class={styles.small}>赶快扫码看看吧!</p>
           </div>