lex 2 years ago
parent
commit
2b74a4ca89

+ 49 - 0
package-lock.json

@@ -26,6 +26,7 @@
         "qrcode": "^1.5.1",
         "qrcode.vue": "^3.3.3",
         "query-string": "^7.1.1",
+        "swiper": "^8.3.1",
         "umi-request": "^1.4.0",
         "vant": "^3.4.6",
         "vconsole": "^3.14.6",
@@ -3814,6 +3815,14 @@
         "url": "https://github.com/fb55/entities?sponsor=1"
       }
     },
+    "node_modules/dom7": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmmirror.com/dom7/-/dom7-4.0.4.tgz",
+      "integrity": "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw==",
+      "dependencies": {
+        "ssr-window": "^4.0.0"
+      }
+    },
     "node_modules/domelementtype": {
       "version": "2.2.0",
       "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.2.0.tgz",
@@ -7986,6 +7995,11 @@
         "node": ">=6"
       }
     },
+    "node_modules/ssr-window": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-4.0.2.tgz",
+      "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ=="
+    },
     "node_modules/strict-uri-encode": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
@@ -8127,6 +8141,19 @@
       "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
       "dev": true
     },
+    "node_modules/swiper": {
+      "version": "8.3.1",
+      "resolved": "https://registry.npmmirror.com/swiper/-/swiper-8.3.1.tgz",
+      "integrity": "sha512-oASYsulsERlbQVTZ8FjlTDJSN4YZwhp+AkvepOj8EOhgpvxzKoMpWpBPrk7ypkMioQUx6x2NPvkRU0Qv9mpS0A==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "dom7": "^4.0.4",
+        "ssr-window": "^4.0.2"
+      },
+      "engines": {
+        "node": ">= 4.7.0"
+      }
+    },
     "node_modules/systemjs": {
       "version": "6.12.1",
       "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.12.1.tgz",
@@ -11725,6 +11752,14 @@
         }
       }
     },
+    "dom7": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmmirror.com/dom7/-/dom7-4.0.4.tgz",
+      "integrity": "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw==",
+      "requires": {
+        "ssr-window": "^4.0.0"
+      }
+    },
     "domelementtype": {
       "version": "2.2.0",
       "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.2.0.tgz",
@@ -14590,6 +14625,11 @@
       "resolved": "https://registry.npmmirror.com/split-on-first/-/split-on-first-1.1.0.tgz",
       "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw=="
     },
+    "ssr-window": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-4.0.2.tgz",
+      "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ=="
+    },
     "strict-uri-encode": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
@@ -14675,6 +14715,15 @@
       "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
       "dev": true
     },
+    "swiper": {
+      "version": "8.3.1",
+      "resolved": "https://registry.npmmirror.com/swiper/-/swiper-8.3.1.tgz",
+      "integrity": "sha512-oASYsulsERlbQVTZ8FjlTDJSN4YZwhp+AkvepOj8EOhgpvxzKoMpWpBPrk7ypkMioQUx6x2NPvkRU0Qv9mpS0A==",
+      "requires": {
+        "dom7": "^4.0.4",
+        "ssr-window": "^4.0.2"
+      }
+    },
     "systemjs": {
       "version": "6.12.1",
       "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.12.1.tgz",

+ 1 - 0
package.json

@@ -38,6 +38,7 @@
     "qrcode": "^1.5.1",
     "qrcode.vue": "^3.3.3",
     "query-string": "^7.1.1",
+    "swiper": "^8.3.1",
     "umi-request": "^1.4.0",
     "vant": "^3.4.6",
     "vconsole": "^3.14.6",

+ 2 - 0
src/business-components/course-video-item/index.module.less

@@ -36,6 +36,7 @@
       font-size: 15px;
       color: #000;
       max-width: 210px;
+      word-break: break-all;
     }
     .active {
       color: var(--van-primary) !important;
@@ -43,6 +44,7 @@
     .videoTitleContent {
       color: #7a7a7a;
       line-height: 18px;
+      word-break: break-all;
     }
   }
 

+ 4 - 3
src/components/col-share/code.tsx → src/components/col-share/code-down-load.tsx

@@ -5,7 +5,7 @@ import iconLogo from '@/common/images/icon_logo.png'
 import QRCode from 'qrcode'
 
 export default defineComponent({
-  name: 'code',
+  name: 'codeDownLoad',
   props: {
     shareUrl: {
       type: String,
@@ -14,7 +14,8 @@ export default defineComponent({
   },
   mounted() {
     console.log(this.shareUrl, 'this.shareUrl')
-    const canvas = document.getElementById('canvas')
+    // const canvas = document.getElementById('canvas')
+    const canvas = this.$refs.canvas
     QRCode.toCanvas(
       canvas,
       this.shareUrl,
@@ -32,7 +33,7 @@ export default defineComponent({
       <>
         <div class={[styles.download]}>
           <div class={styles.qrcode}>
-            <canvas id="canvas" class={styles.qrcodeCanvas}></canvas>
+            <canvas ref="canvas" class={styles.qrcodeCanvas}></canvas>
             <img src={iconLogo} class={styles.qrcodeLogo} />
           </div>
           <div class={styles.logo}>

+ 7 - 3
src/components/col-share/index.module.less

@@ -1,5 +1,9 @@
 .shareContainer {
   width: 333px;
+
+  :global(.van-swipe) {
+    transform: translateZ(0);
+  }
 }
 
 .shareTitle {
@@ -57,14 +61,14 @@
   width: 305px;
   padding: 16px;
   background: url('./images/bg1.png') no-repeat top center #fff;
-  background-size: cover;
+  background-size: contain;
   &.yellow {
     background: url('./images/bg2.png') no-repeat top center #fff;
-    background-size: cover;
+    background-size: contain;
   }
   &.pink {
     background: url('./images/bg3.png') no-repeat top center #fff;
-    background-size: cover;
+    background-size: contain;
   }
 }
 

+ 55 - 46
src/components/col-share/index.tsx

@@ -1,5 +1,5 @@
 import { Button, Cell, Swipe, SwipeItem, Toast } from 'vant'
-import { defineComponent } from 'vue'
+import { defineComponent, PropType } from 'vue'
 import styles from './index.module.less'
 import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 import html2canvas from 'html2canvas'
@@ -15,6 +15,11 @@ export default defineComponent({
     shareUrl: {
       type: String,
       default: ''
+    },
+    shareType: {
+      // 分享类型
+      type: String as PropType<'' | 'video' | 'music' | 'live'>,
+      default: ''
     }
   },
   data() {
@@ -33,60 +38,64 @@ export default defineComponent({
       // })
       // this.codeUrl = shortRes.data
       this.codeUrl = this.shareUrl
-
-      this.$nextTick(async () => {
-        const container: any = document.getElementById(
-          'share-preview-container'
-        )
-        html2canvas(container, { allowTaint: true, useCORS: true }).then(
-          canvas => {
-            const url = canvas.toDataURL('image/png')
-            this.image = url
-          }
-        )
-      })
     } catch {
       //
     }
   },
   methods: {
     async onSaveImg() {
-      const res = await promisefiyPostMessage({
-        api: 'savePicture',
-        content: {
-          base64: this.image
+      const container: any = document.getElementById('share-preview-container')
+      html2canvas(container, { allowTaint: true, useCORS: true }).then(
+        async canvas => {
+          const url = canvas.toDataURL('image/png')
+          this.image = url
+
+          const res = await promisefiyPostMessage({
+            api: 'savePicture',
+            content: {
+              base64: this.image
+            }
+          })
+          if (res?.content?.status === 'success') {
+            Toast.success('保存成功')
+          } else {
+            Toast.fail('保存失败')
+          }
         }
-      })
-      if (res?.content?.status === 'success') {
-        Toast.success('保存成功')
-      } else {
-        Toast.fail('保存失败')
-      }
+      )
     },
     async shareShow() {
-      const image = this.image
-      if (image) {
-        postMessage(
-          {
-            api: 'shareAchievements',
-            content: {
-              title: '我在酷乐秀使用小酷Ai练习乐器',
-              desc: '酷乐秀小酷Ai帮助我自主练习乐器,真的太好用啦!每天都要坚持练习哦~',
-              image,
-              video: '',
-              type: 'image'
-            }
-          },
-          (res: any) => {
-            if (res && res.content) {
-              Toast(
-                res.content.message ||
-                  (res.content.status ? '分享成功' : '分享失败')
-              )
-            }
+      const container: any = document.getElementById('share-preview-container')
+      html2canvas(container, { allowTaint: true, useCORS: true }).then(
+        async canvas => {
+          const url = canvas.toDataURL('image/png')
+          this.image = url
+
+          const image = this.image
+          if (image) {
+            postMessage(
+              {
+                api: 'shareAchievements',
+                content: {
+                  title: '我在酷乐秀使用小酷Ai练习乐器',
+                  desc: '酷乐秀小酷Ai帮助我自主练习乐器,真的太好用啦!每天都要坚持练习哦~',
+                  image,
+                  video: '',
+                  type: 'image'
+                }
+              },
+              (res: any) => {
+                if (res && res.content) {
+                  Toast(
+                    res.content.message ||
+                      (res.content.status ? '分享成功' : '分享失败')
+                  )
+                }
+              }
+            )
           }
-        )
-      }
+        }
+      )
     }
   },
   render() {
@@ -94,7 +103,7 @@ export default defineComponent({
       <>
         {this.codeUrl && (
           <>
-            <div class={styles.shareContainer}>
+            <div class={styles.shareContainer} id="share-preview-container">
               <Swipe showIndicators={false} loop={false}>
                 <SwipeItem>
                   <ShareItem teacherId={this.teacherId} shareUrl={this.codeUrl}>

+ 2 - 2
src/components/col-share/share-item.tsx

@@ -7,7 +7,7 @@ import styles from './index.module.less'
 
 import iconTeacher from '@/common/images/icon_teacher.png'
 import { state } from '@/state'
-import Code from './code'
+import CodeDownload from './code-down-load'
 
 export const getAssetsHomeFile = (fileName: string) => {
   const path = `./images/${fileName}`
@@ -93,7 +93,7 @@ export default defineComponent({
           }}
         />
 
-        <Code shareUrl={this.shareUrl} />
+        <CodeDownload shareUrl={this.shareUrl} />
       </div>
     )
   }

+ 4 - 2
src/student/live-class/live-detail.tsx

@@ -24,6 +24,7 @@ export default defineComponent({
     const query = this.$route.query
     return {
       joinRoom: query.joinRoom, // 原生传递过来的参数,判断是否进入直播间
+      recomUserId: query.recomUserId, // 推荐人id
       groupId: query.groupId,
       courseId: query.classId,
       live: {} as any
@@ -51,7 +52,7 @@ export default defineComponent({
       }
     },
     courseInfo() {
-      let tempArr = [] as IProps[]
+      const tempArr = [] as IProps[]
       const coursePlanList = this.live.planList || []
       coursePlanList.forEach((item: any) => {
         const startTime = item.startTime || new Date()
@@ -168,7 +169,8 @@ export default defineComponent({
             teacherName: live.userName || `游客${live.teacherId || ''}`,
             teacherId: live.teacherId,
             avatar: live.avatar,
-            courseInfo: this.courseInfo
+            courseInfo: this.courseInfo,
+            recomUserId: this.recomUserId
           }
         ]
         const result = res.data

+ 3 - 1
src/student/video-class/video-detail.tsx

@@ -15,6 +15,7 @@ export default defineComponent({
     return {
       userInfo: {} as any,
       detailList: [],
+      recomUserId: query.groupId, // 推荐人id
       params: {
         groupId: query.groupId
       }
@@ -85,7 +86,8 @@ export default defineComponent({
             teacherName: userInfo.username || `游客${userInfo.teacherId || ''}`,
             teacherId: userInfo.teacherId,
             avatar: userInfo.headUrl,
-            courseInfo: this.detailList
+            courseInfo: this.detailList,
+            recomUserId: this.recomUserId
           }
         ]
 

+ 2 - 1
src/teacher/live-class/live-detail.tsx

@@ -7,6 +7,7 @@ import ColShare from '@/components/col-share'
 import ColSticky from '@/components/col-sticky'
 import { postMessage } from '@/helpers/native-message'
 import request from '@/helpers/request'
+import { state } from '@/state'
 import LiveItem from '@/views/live-class/live-item'
 import dayjs from 'dayjs'
 import { Button, Popup, Sticky, Tab, Tabs, Toast } from 'vant'
@@ -122,7 +123,7 @@ export default defineComponent({
       )
       this.live = res.data || {}
 
-      this.shareUrl = `${location.origin}/teacher/#/shareLive?recomUserId=${this.live.teacherId}&groupId=${this.groupId}`
+      this.shareUrl = `${location.origin}/teacher/#/shareLive?recomUserId=${state.user.data?.userId}&groupId=${this.groupId}`
       // console.log(this.live)
     } catch {
       //

BIN
src/teacher/share-page/images/wx_bg.png


+ 48 - 5
src/teacher/share-page/share-video/index.tsx

@@ -1,13 +1,18 @@
 import CourseVideoItem from '@/business-components/course-video-item'
 import SectionDetail from '@/business-components/section-detail'
 import UserDetail from '@/business-components/user-detail'
-import UserList from '@/business-components/user-list'
-import { Button, List, Tab, Tabs } from 'vant'
+import { Button, Toast } from 'vant'
 import { defineComponent } from 'vue'
 import styles from './index.module.less'
 import request from '@/helpers/request'
-import ColResult from '@/components/col-result'
 import ColSticky from '@/components/col-sticky'
+
+export const getAssetsHomeFile = (fileName: string) => {
+  const path = `../images/${fileName}`
+  const modules = import.meta.globEager('./images/*')
+  return modules[path].default
+}
+
 export default defineComponent({
   name: 'VideoDetail',
   data() {
@@ -24,7 +29,8 @@ export default defineComponent({
         videoLessonGroupId: query.groupId,
         page: 1,
         rows: 20
-      }
+      },
+      wxStatus: false
     }
   },
   async mounted() {
@@ -88,6 +94,32 @@ export default defineComponent({
           classId: detail.id
         }
       })
+    },
+
+    onShare() {
+      const { origin, pathname } = location
+      let str = origin + '/#/videoDetail'
+      const params = this.$route.query
+      str += `?recomUserId=${this.recomUserId}&groupId=${params.groupId}`
+
+      const query = {
+        url: str,
+        action: params.action || 'h5', // app, h5
+        pageTag: params.pageTag || 1, // 页面标识
+        params: {}
+      }
+      alert(str)
+      const iosStr = encodeURIComponent(JSON.stringify(query))
+      if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
+        // ColexiuStudent 唤起学生端
+        window.location.href = `ColexiuStudent://linkUrl=${iosStr}`
+      } else if (/(Android)/i.test(navigator.userAgent)) {
+        window.location.href = `colexiustudent://html:8888/SplashActivity?url=${JSON.stringify(
+          query
+        )}`
+      } else {
+        Toast('请用手机或移动设备打开')
+      }
     }
   },
   render() {
@@ -119,11 +151,22 @@ export default defineComponent({
 
         <ColSticky position="bottom">
           <div class={['btnGroup']} style={{ paddingTop: '12px' }}>
-            <Button block round type="primary">
+            <Button block round type="primary" onClick={this.onShare}>
               下载酷乐秀进入课程
             </Button>
           </div>
         </ColSticky>
+
+        {this.wxStatus && (
+          <div
+            class={styles.wxpopup}
+            onClick={() => {
+              this.wxStatus = false
+            }}
+          >
+            <img src={getAssetsHomeFile('wx_bg.png')} alt="" />
+          </div>
+        )}
       </div>
     )
   }

+ 1 - 1
src/teacher/share-page/share.ts

@@ -4,7 +4,7 @@ import { Toast } from 'vant'
 export const shareCall = () => {
   const { origin, pathname } = location
   let str = origin + pathname + '#/'
-  let params = this.$route.query
+  const params = this.$route.query
   // 判断是否有跳转连接, 如果连接和动作没有时, 则不跳转
   if (!params.url && !params.action) {
     return

+ 2 - 1
src/teacher/video-class/video-detail.tsx

@@ -10,6 +10,7 @@ import ColResult from '@/components/col-result'
 import ColShare from '@/components/col-share'
 import ColSticky from '@/components/col-sticky'
 import LiveItem from '@/views/live-class/live-item'
+import { state } from '@/state'
 export default defineComponent({
   name: 'VideoDetail',
   data() {
@@ -58,7 +59,7 @@ export default defineComponent({
       this.detailList = result.detailList || []
 
       // shareVideo?recomUserId=56&groupId=124
-      this.shareUrl = `${location.origin}/teacher/#/shareVideo?recomUserId=${this.userInfo.id}&groupId=${this.params.videoLessonGroupId}`
+      this.shareUrl = `${location.origin}/teacher.html#/shareVideo?recomUserId=${state.user.data?.userId}&groupId=${this.params.videoLessonGroupId}`
 
       this.getList()
     } catch (e) {

+ 3 - 1
src/views/member-center/index.tsx

@@ -111,6 +111,7 @@ export default defineComponent({
       orderStatus.orderObject.orderDesc = '小酷Ai' + member.title
       orderStatus.orderObject.actualPrice = member.salePrice
       orderStatus.orderObject.orderNo = ''
+      const query = this.$route.query
       orderStatus.orderObject.orderList = [
         {
           orderType: 'VIP',
@@ -119,7 +120,8 @@ export default defineComponent({
           title: member.title,
           price: member.salePrice,
           startTime: dayjs(startTime).format('YYYY-MM-DD'),
-          endTime: dayjs(endTime).format('YYYY-MM-DD')
+          endTime: dayjs(endTime).format('YYYY-MM-DD'),
+          recomUserId: query.recomUserId
         }
       ]
       this.$router.push({

+ 15 - 12
src/views/music/album-detail/index.tsx

@@ -11,6 +11,7 @@ import styles from './index.module.less'
 import Item from '../list/item'
 import { useRect } from '@vant/use'
 import { getRandomKey, musicBuy } from '../music'
+import { state } from '@/state'
 
 const noop = () => {}
 
@@ -125,18 +126,20 @@ export default defineComponent({
                     musicSheetCount={albumDetail.value?.musicSheetCount}
                     albumFavoriteCount={albumFavoriteCount.value}
                   />
-                  <Button
-                    class={styles.favoriteContaineer}
-                    loading={favoriteLoading.value}
-                    onClick={() => toggleFavorite(albumDetail.value?.id)}
-                  >
-                    <Icon
-                      key={favorited.value}
-                      class={styles.favorite}
-                      name={favorited.value ? FavoritedIcon : FavoriteIcon}
-                    />{' '}
-                    <span>{favorited.value ? '已' : ''}收藏</span>
-                  </Button>
+                  {state.platformType === 'STUDENT' && (
+                    <Button
+                      class={styles.favoriteContaineer}
+                      loading={favoriteLoading.value}
+                      onClick={() => toggleFavorite(albumDetail.value?.id)}
+                    >
+                      <Icon
+                        key={favorited.value}
+                        class={styles.favorite}
+                        name={favorited.value ? FavoritedIcon : FavoriteIcon}
+                      />{' '}
+                      <span>{favorited.value ? '已' : ''}收藏</span>
+                    </Button>
+                  )}
                 </div>
               </div>
             </div>

+ 1 - 1
src/views/music/album/index.tsx

@@ -118,7 +118,7 @@ export default defineComponent({
               ? data.value.rows.map(item => <Item data={item} />)
               : !loading.value && (
                   <ColResult
-                    tips="暂无曲目"
+                    tips="暂无专辑"
                     classImgSize="SMALL"
                     btnStatus={false}
                   />

+ 30 - 0
src/views/music/list/item.module.less

@@ -87,4 +87,34 @@
   .shareBtn:active:before {
     opacity: 0 !important;
   }
+
+  .shareMate {
+    margin-top: 70px;
+    display: flex;
+    flex: 1;
+    align-items: center;
+    padding: 11px 12px;
+    background: #ffffff;
+    border-radius: 10px;
+    border: 1px solid #2dc7aa;
+    .icon {
+      width: 36px;
+      height: 36px;
+    }
+    .info {
+      margin-left: 14px;
+      flex: 1;
+      margin-right: 14px;
+      word-break: break-all;
+      > h4 {
+        color: var(--music-list-item-title-color);
+        font-size: 14px;
+        font-weight: 600;
+      }
+      > p {
+        color: var(--music-list-item-mate-color);
+        line-height: 17px;
+      }
+    }
+  }
 }

+ 21 - 5
src/views/music/list/item.tsx

@@ -51,10 +51,14 @@ export default defineComponent({
     console.log(data)
     const onShare = (evt: MouseEvent) => {
       evt.stopPropagation()
-      if (!shareStatus.value) {
-        Toast('暂无分享地址')
-        return
-      }
+      // if (!shareStatus.value) {
+      //   Toast('暂无分享地址')
+      //   return
+      // }
+      // https://dev.colexiu.com/accompany/colexiu-share.html?id=2500&recomUserId=1
+      shareUrl.value =
+        location.origin +
+        `/accompany/colexiu-share.html?id=${data.id}&recomUserId=${state.user.data?.userId}`
       shareStatus.value = true
     }
     return () => (
@@ -126,7 +130,19 @@ export default defineComponent({
           v-model:show={shareStatus.value}
           style={{ background: 'transparent' }}
         >
-          <ColShare teacherId={data.userId} shareUrl={shareUrl.value} />
+          <ColShare
+            teacherId={data.userId}
+            shareUrl={shareUrl.value}
+            shareType="music"
+          >
+            <div class={styles.shareMate}>
+              <Image src={MusicIcon} round class={styles.icon} />
+              <div class={styles.info}>
+                <h4 class="van-multi-ellipsis--l2">{data.musicSheetName}</h4>
+                <p>作曲人:{data.composer}</p>
+              </div>
+            </div>
+          </ColShare>
         </Popup>
       </div>
     )

+ 8 - 4
src/views/order-detail/index.tsx

@@ -62,6 +62,7 @@ export default defineComponent({
         const params = {
           goodType: item.orderType,
           goodName: item.goodsName,
+          recomUserId: item.recomUserId, // 推荐人id
           bizContent: {}
         }
         if (item.orderType === 'VIDEO') {
@@ -74,8 +75,8 @@ export default defineComponent({
             groupId: item.courseGroupId
           }
         } else if (item.orderType === 'PRACTICE') {
-          let tempTime = item.classTime || []
-          let classCourse: any = []
+          const tempTime = item.classTime || []
+          const classCourse: any = []
           tempTime.forEach((time: any) => {
             classCourse.push({
               classDate: time.classDate,
@@ -98,7 +99,8 @@ export default defineComponent({
         } else if (item.orderType === 'MUSIC') {
           params.bizContent = {
             musicSheetId: item.id,
-            actualPrice: item.actualPrice || 0
+            actualPrice: item.actualPrice || 0,
+            clientType: state.platformType
           }
         } else if (item.orderType === 'PINAO_ROOM') {
           params.bizContent = item.id
@@ -137,7 +139,9 @@ export default defineComponent({
         // orderStatus.orderObject.orderName = orderName
         // orderStatus.orderObject.orderDesc = orderDesc
         // orderStatus.orderObject.actualPrice = actualPrice
-      } catch {}
+      } catch {
+        //
+      }
     }
     this.orderPrice = orderStatus.orderObject.actualPrice || 0
 

+ 20 - 0
yarn.lock

@@ -2082,6 +2082,13 @@
     "domhandler" "^4.2.0"
     "entities" "^2.0.0"
 
+"dom7@^4.0.4":
+  "integrity" "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw=="
+  "resolved" "https://registry.npmmirror.com/dom7/-/dom7-4.0.4.tgz"
+  "version" "4.0.4"
+  dependencies:
+    "ssr-window" "^4.0.0"
+
 "domelementtype@^2.0.1", "domelementtype@^2.2.0":
   "integrity" "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
   "resolved" "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.2.0.tgz"
@@ -4352,6 +4359,11 @@
   "resolved" "https://registry.npmmirror.com/split-on-first/-/split-on-first-1.1.0.tgz"
   "version" "1.1.0"
 
+"ssr-window@^4.0.0", "ssr-window@^4.0.2":
+  "integrity" "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ=="
+  "resolved" "https://registry.npmmirror.com/ssr-window/-/ssr-window-4.0.2.tgz"
+  "version" "4.0.2"
+
 "strict-uri-encode@^2.0.0":
   "integrity" "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ=="
   "resolved" "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz"
@@ -4457,6 +4469,14 @@
   "resolved" "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz"
   "version" "1.0.0"
 
+"swiper@^8.3.1":
+  "integrity" "sha512-oASYsulsERlbQVTZ8FjlTDJSN4YZwhp+AkvepOj8EOhgpvxzKoMpWpBPrk7ypkMioQUx6x2NPvkRU0Qv9mpS0A=="
+  "resolved" "https://registry.npmmirror.com/swiper/-/swiper-8.3.1.tgz"
+  "version" "8.3.1"
+  dependencies:
+    "dom7" "^4.0.4"
+    "ssr-window" "^4.0.2"
+
 "systemjs@^6.12.1":
   "integrity" "sha512-hqTN6kW+pN6/qro6G9OZ7ceDQOcYno020zBQKpZQLsJhYTDMCMNfXi/Y8duF5iW+4WWZr42ry0MMkcRGpbwG2A=="
   "resolved" "https://registry.npmmirror.com/systemjs/-/systemjs-6.12.1.tgz"