lex 2 年之前
父节点
当前提交
262cd64f07

+ 16 - 17
src/components/musicLIstItem/index.tsx

@@ -11,6 +11,7 @@ import { useRouter } from 'vue-router'
 import start from '@/common/images/start.png'
 import lineStart from '@/common/images/lineStart.png'
 import iconFine from '@/common/images/icon_fine.png'
+import { isArray } from 'lib/tool'
 
 type Props = {
   id?: Number
@@ -116,24 +117,22 @@ export default defineComponent({
                 </div>
               ) : (
                 <>
-                  {state.item.paymentType && state.item.paymentType.map((tag: string) => (
-                    <div
-                      class={[
-                        classes.touchButton,
-                        classes[tag?.toLocaleLowerCase()]
-                      ]}
-                    >
-                      <div class={classes.touchButtonWrap}>
-                        <img src={chargeImg[tag]} alt="" />
+                  {Array.isArray(state.item.paymentType) &&
+                    state.item.paymentType.map((tag: string) => (
+                      <div
+                        class={[
+                          classes.touchButton,
+                          classes[tag?.toLocaleLowerCase()]
+                        ]}
+                      >
+                        <div class={classes.touchButtonWrap}>
+                          <img src={chargeImg[tag]} alt="" />
+                        </div>
+                        <div class={classes.touchButtonText}>
+                          {chargeTypes[tag] ? chargeTypes[tag] : '点播'}
+                        </div>
                       </div>
-                      <div class={classes.touchButtonText}>
-                        {chargeTypes[tag]
-                          ? chargeTypes[tag]
-                          : '点播'}
-                      </div>
-                    </div>
-                  ))}
-                  
+                    ))}
                 </>
               )}
             </div>

+ 13 - 14
src/views/albumDetail/modals/musicLIstItem/index.tsx

@@ -85,7 +85,7 @@ export default defineComponent({
                     <img src={iconFine} class={classes.iconFine} />
                   )}
                   {state.item.musicSheetName}
-                  </p>
+                </p>
                 <p class={classes.authorName}>作曲:{state.item.composer}</p>
                 <div class={classes.favoriteWrap}>
                   <img src={state.item.favorite ? lineStart : start} alt="" />
@@ -103,20 +103,19 @@ export default defineComponent({
                     </div>
                   ) : (
                     <>
-                      {state.item.paymentType && state.item.paymentType.map((tag: string) => (
-                        <div
-                          class={[
-                            classes.touchButton,
-                            classes[tag?.toLocaleLowerCase()]
-                          ]}
-                        >
-                          <div class={classes.touchButtonText}>
-                            {chargeTypes[tag]
-                              ? chargeTypes[tag]
-                              : '点播'}
+                      {Array.isArray(state.item.paymentType) &&
+                        state.item.paymentType.map((tag: string) => (
+                          <div
+                            class={[
+                              classes.touchButton,
+                              classes[tag?.toLocaleLowerCase()]
+                            ]}
+                          >
+                            <div class={classes.touchButtonText}>
+                              {chargeTypes[tag] ? chargeTypes[tag] : '点播'}
+                            </div>
                           </div>
-                        </div>
-                      ))}
+                        ))}
                     </>
                   )}
                 </div>

+ 49 - 48
src/views/muiscDetial/index.tsx

@@ -191,7 +191,6 @@ export default defineComponent({
 
               //  开始上传图片
               uploadFunction(showImg)
-
             },
             false
           )
@@ -240,10 +239,10 @@ export default defineComponent({
     const setSvg = (val: any) => {
       console.log(val)
     }
-    const goIndex = ()=>{
+    const goIndex = () => {
       router.push({
-        name:'searchdetail',
-        params: { type:'music' }
+        name: 'searchdetail',
+        params: { type: 'music' }
       })
     }
     onMounted(() => {
@@ -256,15 +255,15 @@ export default defineComponent({
       state.showCode =
         state.userType == 'STUDENT' || !state.userType ? true : false
 
-        if (window.history && window.history.pushState) {
-          history.pushState(null, '', document.URL);
-          window.addEventListener('popstate', goIndex, false);
-        }
+      if (window.history && window.history.pushState) {
+        history.pushState(null, '', document.URL)
+        window.addEventListener('popstate', goIndex, false)
+      }
 
       // 拼链接
     })
-    onDeactivated(()=>{
-      window.removeEventListener('popstate', goIndex, false);
+    onDeactivated(() => {
+      window.removeEventListener('popstate', goIndex, false)
     })
     const base64ToBlob = data => {
       var arr = data.split(','),
@@ -282,7 +281,10 @@ export default defineComponent({
     const uploadFunction = async file => {
       try {
         const formData = new FormData()
-        let fileName = new Date().getTime()+state.musicDetail.musicSheetName.replaceAll(' ', '_')+'.png'
+        let fileName =
+          new Date().getTime() +
+          state.musicDetail.musicSheetName.replaceAll(' ', '_') +
+          '.png'
         let key = new Date().getTime() + fileName
         let obj = {
           filename: fileName,
@@ -320,9 +322,9 @@ export default defineComponent({
           data: formData
         })
 
-      let imgurl = state.ossUploadUrl + '/' +key
+        let imgurl = state.ossUploadUrl + '/' + key
         const ress = await request.post('/api-website/open/music/sheet/img', {
-          data: {musicSheetId:state.musicDetail.id,musicImg:imgurl}
+          data: { musicSheetId: state.musicDetail.id, musicImg: imgurl }
         })
         console.log('赋值')
         state.showImg = imgurl
@@ -355,7 +357,6 @@ export default defineComponent({
       }
     }
     const printHander = async () => {
-
       //  img 转 canvas
       const tempCanvas = await imgToCanvas(state.showImg)
       const showImg = convasToImg(tempCanvas)
@@ -534,17 +535,18 @@ export default defineComponent({
                 <div class={classes.right}>
                   <div class={classes.musicInfo}>
                     <h2>
-                      {state.musicDetail.paymentType && state.musicDetail.paymentType.map((tag: string) => (
-                        <span
-                          class={[
-                            classes.musicTag,
-                            classes[chargeClass[tag]]
-                          ]}
-                        >
-                          {chargeTypes[tag]}
-                        </span>
-                      ))}
-                      
+                      {Array.isArray(state.musicDetail.paymentType) &&
+                        state.musicDetail.paymentType.map((tag: string) => (
+                          <span
+                            class={[
+                              classes.musicTag,
+                              classes[chargeClass[tag]]
+                            ]}
+                          >
+                            {chargeTypes[tag]}
+                          </span>
+                        ))}
+
                       {state.musicDetail.musicSheetName}
                     </h2>
                     <div class={classes.collectWrap}>
@@ -668,34 +670,33 @@ export default defineComponent({
                       </div>
                     ) : null}
 
-                   {state.musicList.length>0&&<div class={classes.otherMusic}>
-                      <div class={classes.videoNav}>
-                        <h5>TA的曲谱</h5>
-                        <div
-                          class={classes.wrapRight}
-                          onClick={() => gotoMusic()}
-                        >
-                          <span>更多</span>
-                          <img class={classes.arrow} src={arrow} alt="" />
+                    {state.musicList.length > 0 && (
+                      <div class={classes.otherMusic}>
+                        <div class={classes.videoNav}>
+                          <h5>TA的曲谱</h5>
+                          <div
+                            class={classes.wrapRight}
+                            onClick={() => gotoMusic()}
+                          >
+                            <span>更多</span>
+                            <img class={classes.arrow} src={arrow} alt="" />
+                          </div>
                         </div>
-                      </div>
 
-                      <div class={classes.otherMusicList}>
-                        {state.musicList.map(item => {
-                          return (
-                            <musicItem
-                              item={item}
-                              onMusicDetail={val => getDetail(val)}
-                            ></musicItem>
-                          )
-                        })}
+                        <div class={classes.otherMusicList}>
+                          {state.musicList.map(item => {
+                            return (
+                              <musicItem
+                                item={item}
+                                onMusicDetail={val => getDetail(val)}
+                              ></musicItem>
+                            )
+                          })}
+                        </div>
                       </div>
-                    </div>
-                      }
+                    )}
                   </div>
-
                 </div>
-
               </div>
             </div>
           </div>

+ 12 - 13
src/views/user-info/music-class/item.tsx

@@ -32,7 +32,7 @@ export default defineComponent({
   name: 'music-item',
   props: {
     item: {
-      type: Object as () => Props ,
+      type: Object as () => Props,
       default: () => ({})
     },
     onClick: {
@@ -77,18 +77,17 @@ export default defineComponent({
                   <img src={iconFine} class={classes.iconFine} />
                 )}
                 {state.item.musicSheetName}
-                {state.item.paymentType && state.item.paymentType.map((tag: string) => (
-                  <div
-                    class={[
-                      classes.touchButton,
-                      classes[tag?.toLocaleLowerCase()]
-                    ]}
-                  >
-                    {chargeTypes[tag]
-                      ? chargeTypes[tag]
-                      : '点播'}
-                  </div>
-                ))}
+                {Array.isArray(state.item.paymentType) &&
+                  state.item.paymentType.map((tag: string) => (
+                    <div
+                      class={[
+                        classes.touchButton,
+                        classes[tag?.toLocaleLowerCase()]
+                      ]}
+                    >
+                      {chargeTypes[tag] ? chargeTypes[tag] : '点播'}
+                    </div>
+                  ))}
               </p>
               <div class={classes.authorInfo}>
                 <span>作曲: {state.item.composer}</span>