lex hace 1 año
padre
commit
e93618524a

+ 1 - 1
src/components/select-courseware-member/index.tsx

@@ -29,7 +29,7 @@ export default defineComponent({
             class={styles.popClose}
             src={popClose}
             onClick={(e: Event) => {
-              emit('close');
+              close();
             }}
           />
           <div class={styles.list} id="list">

+ 9 - 3
src/views/courseware-play/component/video-item/index.module.less

@@ -159,7 +159,7 @@
   display: flex;
   align-items: center;
   flex-direction: column;
-  height: 165px;
+  height: 190px;
   width: 45px;
   padding: 10px 0 15px;
   background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAAGaCAMAAAC199R3AAAAY1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmaHTeAAAAIXRSTlOzABemsKsIoZB3G15aUBILlZqHgHs2MnRsZSwOVT9IJiO5jme8AAABrUlEQVR42u3VWXIaMRhF4Xtp9QhNgxnM4Gn/q0xsF+lgYqhg/W/nW8Ap1S2pJF+o5pM7zCtfOI8Pz7um1J3KZvc8fBt/bUv9UNm+/jPerZTFqruMPyVlkp6+xKuVMlpVf8ePjbJqjmO8apRZU/2Jr5Xd+hTvFaD/jE9KBSgnH/FWIdr3eJcUInWW9wqyt1woSGEdFOagmcLMtFaYtRYKs1ChMIWSwiQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABESAqTVChMoUZhGrUK06pXmF5vCvMmLxVkaXmmIDPLx1IhyqNl7xVi7/f4UCtAPXzEvVGAjT/jniq7qU9xPyqzR49xP+Zvj3FP825yHve2Vib11l/jrqalMihnlcf4aOgX+qFFP3gkn+ledg/LujhJuiEVJ/XyYffS+Yx8zaG+cdCJr5Gvmj/oirbyPfHRLOkb6cm+N37rjhZb3xm/Pc2i8w/j3z/fdeVMcW+Liy/MeeKX05QbZ4pfTrPsnDnuTaFPq8HZ4563SVLR2wHx3/nN88H/QQ70CynDD0im9E3OAAAAAElFTkSuQmCC') no-repeat top center;
@@ -193,8 +193,9 @@
     height: 20px;
     color: #198CFE;
     min-width: 35px;
-    text-align: center;
-    vertical-align: text-bottom;
+    display: flex;
+    align-items: center;
+    justify-content: center;
 
     span {
       font-size: 11px;
@@ -205,5 +206,10 @@
     .van-slider {
       margin: 7px 0;
     }
+
+    .van-slider__bar {
+      min-height: 4%;
+      max-height: 96%;
+    }
   }
 }

+ 13 - 4
src/views/courseware-play/component/video-item/index.tsx

@@ -18,7 +18,7 @@ import iconpause from '../../image/icon-pause.svg';
 import iconSpeed from '../../image/icon-speed.png';
 import { NSlider } from 'naive-ui';
 import { getSecondRPM } from '@/helpers/utils';
-import { Slider } from 'vant';
+import { Slider, showToast } from 'vant';
 
 export default defineComponent({
   name: 'video-play',
@@ -210,7 +210,7 @@ export default defineComponent({
     watch(
       () => props.item,
       () => {
-        console.log(props.item, 'watch ---- item');
+        // console.log(props.item, 'watch ---- item');
         videoItem.value.pause();
         videoItem.value.currentTime(0);
         if (item.value?.id) {
@@ -303,6 +303,15 @@ export default defineComponent({
                 data.loop = !data.loop;
                 data.speedControl = false;
                 videoItem.value.loop(data.loop);
+                if (data.loop) {
+                  setTimeout(() => {
+                    showToast('已打开循环播放');
+                  }, 60);
+                } else {
+                  setTimeout(() => {
+                    showToast('已关闭循环播放');
+                  }, 60);
+                }
               }}>
               <img src={data.loop ? iconLoopActive : iconLoop} />
             </div>
@@ -335,7 +344,7 @@ export default defineComponent({
                 }
               }}></i>
             <Slider
-              min={0.6}
+              min={0.5}
               max={1.5}
               step={0.1}
               v-model={data.defaultSpeed}
@@ -359,7 +368,7 @@ export default defineComponent({
             <i
               class={[styles.iconCut]}
               onClick={() => {
-                if (data.defaultSpeed <= 0.6) {
+                if (data.defaultSpeed <= 0.5) {
                   return;
                 }
                 if (videoItem.value) {

+ 28 - 1
src/views/courseware-play/index.tsx

@@ -48,7 +48,7 @@ import {
   api_lessonCoursewareDetail
 } from '../courseware-list/api';
 // import detail from '../information/help-center/detail';
-import { state } from '@/state';
+import { setLogin, state } from '@/state';
 import Theory from './component/theory';
 import InstrumentInfo from './component/instrument-info';
 // import TempoPractice from '../../views/tempo-practice';
@@ -57,6 +57,7 @@ import { debounce } from '../../helpers/utils';
 import TempoItem from './component/tempo-item';
 import ListenItem from './component/listen-item';
 import SelectCoursewareMember from '@/components/select-courseware-member';
+import request from '@/helpers/request';
 
 export default defineComponent({
   name: 'CoursewarePlay',
@@ -364,6 +365,7 @@ export default defineComponent({
       } else {
         showMember.value = false;
       }
+
       postMessage({
         api: 'courseLoading',
         content: {
@@ -999,6 +1001,31 @@ export default defineComponent({
       }
     };
 
+    watch(
+      () => pageVisibility.value,
+      async (val: any) => {
+        console.log(val, 'pageVisibility.value -----');
+        if (val === 'visible') {
+          const userCash = await request.get('/edu-app/user/getUserInfo', {
+            initRequest: true // 初始化接口
+          });
+          setLogin(userCash.data);
+
+          console.log(userCash, 'userCash');
+          const schoolInfos = userCash.data?.schoolInfos;
+          const schoolLock =
+            schoolInfos && schoolInfos.length > 0
+              ? schoolInfos[0].needVipLock
+              : true;
+          if (!state?.user?.data.vipMember && schoolLock) {
+            showMember.value = true;
+          } else {
+            showMember.value = false;
+          }
+        }
+      }
+    );
+
     return () => (
       <div id="playContent" class={styles.playContent}>
         <div