Browse Source

重新更新

lex-xin 2 years ago
parent
commit
d1bd2c7d0e

File diff suppressed because it is too large
+ 0 - 0
dist/assets/create-legacy.5c94e6cb.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/create-legacy.b93ae1d1.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/create.47ea634d.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/create.b920a8a0.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/create.e1e0bd3c.css


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-legacy.ac1a53fe.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index.746c3208.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index.e69d185d.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/teacher-legacy.6c9b982a.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/teacher.1d623e80.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/video-detail-legacy.6d73c8fb.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/video-detail.03e94063.js


+ 52 - 47
dist/index.html

@@ -1,50 +1,55 @@
 <!DOCTYPE html>
 <html lang="zh">
-  <head>
-    <meta charset="UTF-8" />
-    <link rel="icon" href="./favicon.ico" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <!-- 设置苹果工具栏颜色 -->
-    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
-    <!-- 忽略页面中的数字识别为电话,忽略email识别 -->
-    <meta name="format-detection" content="telphone=no, email=no" />
-    <!-- 启用360浏览器的极速模式(webkit) -->
-    <meta name="renderer" content="webkit">
-    <!-- 避免IE使用兼容模式 -->
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="HandheldFriendly" content="true">
-    <!-- uc强制竖屏 -->
-    <meta name="screen-orientation" content="portrait">
-    <!-- QQ强制竖屏 -->
-    <meta name="x5-orientation" content="portrait">
-    <!-- UC强制全屏 -->
-    <meta name="full-screen" content="yes">
-    <!-- QQ强制全屏 -->
-    <meta name="x5-fullscreen" content="true">
-    <!-- UC应用模式 -->
-    <meta name="browsermode" content="application">
-    <!-- QQ应用模式 -->
-    <meta name="x5-page-mode" content="app">
-    <!-- 设置在apple上以应用模式启动时,是否全屏 -->
-    <meta name="apple-touch-fullscreen" content="yes">
-    <!-- windows phone 点击无高光 -->
-    <meta name="msapplication-tap-highlight" content="no">
-    <title>酷乐秀-学生端</title>
-    <script src="./flexible.js" charset="UTF-8"></script>
-    <script type="module" crossorigin src="./assets/index.c57c1808.js"></script>
-    <link rel="modulepreload" href="./assets/vendor.d041f802.js">
-    <link rel="modulepreload" href="./assets/vueFilter.e7db86b2.js">
-    <link rel="stylesheet" href="./assets/vueFilter.e4265b36.css">
-    <link rel="stylesheet" href="./assets/vendor.177057eb.css">
-    <link rel="stylesheet" href="./assets/teacher.c2cf0659.css">
-    <script type="module">!function(){try{new Function("m","return import(m)")}catch(o){console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}}();</script>
-  </head>
-  <body>
-    <div id="app"></div>
-    
-    <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
-    <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.b16f3f34.js"></script>
-    <script nomodule id="vite-legacy-entry" data-src="./assets/index-legacy.0acb5033.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
-  </body>
+
+<head>
+  <meta charset="UTF-8" />
+  <link rel="icon" href="./favicon.ico" />
+  <meta name="viewport"
+    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
+  <meta name="apple-mobile-web-app-capable" content="yes" />
+  <!-- 设置苹果工具栏颜色 -->
+  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
+  <!-- 忽略页面中的数字识别为电话,忽略email识别 -->
+  <meta name="format-detection" content="telphone=no, email=no" />
+  <!-- 启用360浏览器的极速模式(webkit) -->
+  <meta name="renderer" content="webkit">
+  <!-- 避免IE使用兼容模式 -->
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="HandheldFriendly" content="true">
+  <!-- uc强制竖屏 -->
+  <meta name="screen-orientation" content="portrait">
+  <!-- QQ强制竖屏 -->
+  <meta name="x5-orientation" content="portrait">
+  <!-- UC强制全屏 -->
+  <meta name="full-screen" content="yes">
+  <!-- QQ强制全屏 -->
+  <meta name="x5-fullscreen" content="true">
+  <!-- UC应用模式 -->
+  <meta name="browsermode" content="application">
+  <!-- QQ应用模式 -->
+  <meta name="x5-page-mode" content="app">
+  <!-- 设置在apple上以应用模式启动时,是否全屏 -->
+  <meta name="apple-touch-fullscreen" content="yes">
+  <!-- windows phone 点击无高光 -->
+  <meta name="msapplication-tap-highlight" content="no">
+  <title>酷乐秀-学生端</title>
+  <script src="./flexible.js" charset="UTF-8"></script>
+  <script type="module" crossorigin src="./assets/index.c57c1808.js"></script>
+  <link rel="modulepreload" href="./assets/vendor.d041f802.js">
+  <link rel="modulepreload" href="./assets/vueFilter.e7db86b2.js">
+  <link rel="stylesheet" href="./assets/vendor.177057eb.css">
+  <link rel="stylesheet" href="./assets/vueFilter.e4265b36.css">
+  <link rel="stylesheet" href="./assets/teacher.c2cf0659.css">
+  <script type="module">!function(){try{new Function("m","return import(m)")}catch(o){console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}}();</script>
+</head>
+
+<body>
+  <div id="app"></div>
+  
+  <!-- <script type="module" src="/src/teacher/main.ts"></script> -->
+  <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
+  <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.b16f3f34.js"></script>
+  <script nomodule id="vite-legacy-entry" data-src="./assets/index-legacy.0acb5033.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+</body>
+
 </html>

+ 3 - 3
dist/teacher.html

@@ -32,11 +32,11 @@
     <meta name="msapplication-tap-highlight" content="no">
     <title>酷乐秀-老师端</title>
     <script src="./flexible.js" charset="UTF-8"></script>
-    <script type="module" crossorigin src="./assets/teacher.ddf4eabf.js"></script>
+    <script type="module" crossorigin src="./assets/teacher.1d623e80.js"></script>
     <link rel="modulepreload" href="./assets/vendor.d041f802.js">
     <link rel="modulepreload" href="./assets/vueFilter.e7db86b2.js">
-    <link rel="stylesheet" href="./assets/vendor.177057eb.css">
     <link rel="stylesheet" href="./assets/vueFilter.e4265b36.css">
+    <link rel="stylesheet" href="./assets/vendor.177057eb.css">
     <link rel="stylesheet" href="./assets/teacher.c2cf0659.css">
     <script type="module">!function(){try{new Function("m","return import(m)")}catch(o){console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}}();</script>
   </head>
@@ -45,6 +45,6 @@
     
     <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
     <script nomodule id="vite-legacy-polyfill" src="./assets/polyfills-legacy.b16f3f34.js"></script>
-    <script nomodule id="vite-legacy-entry" data-src="./assets/teacher-legacy.7d6e1a2c.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+    <script nomodule id="vite-legacy-entry" data-src="./assets/teacher-legacy.6c9b982a.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   </body>
 </html>

+ 42 - 37
index.html

@@ -1,40 +1,45 @@
 <!DOCTYPE html>
 <html lang="zh">
-  <head>
-    <meta charset="UTF-8" />
-    <link rel="icon" href="/favicon.ico" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <!-- 设置苹果工具栏颜色 -->
-    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
-    <!-- 忽略页面中的数字识别为电话,忽略email识别 -->
-    <meta name="format-detection" content="telphone=no, email=no" />
-    <!-- 启用360浏览器的极速模式(webkit) -->
-    <meta name="renderer" content="webkit">
-    <!-- 避免IE使用兼容模式 -->
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="HandheldFriendly" content="true">
-    <!-- uc强制竖屏 -->
-    <meta name="screen-orientation" content="portrait">
-    <!-- QQ强制竖屏 -->
-    <meta name="x5-orientation" content="portrait">
-    <!-- UC强制全屏 -->
-    <meta name="full-screen" content="yes">
-    <!-- QQ强制全屏 -->
-    <meta name="x5-fullscreen" content="true">
-    <!-- UC应用模式 -->
-    <meta name="browsermode" content="application">
-    <!-- QQ应用模式 -->
-    <meta name="x5-page-mode" content="app">
-    <!-- 设置在apple上以应用模式启动时,是否全屏 -->
-    <meta name="apple-touch-fullscreen" content="yes">
-    <!-- windows phone 点击无高光 -->
-    <meta name="msapplication-tap-highlight" content="no">
-    <title>酷乐秀-学生端</title>
-    <script src="/flexible.js" charset="UTF-8"></script>
-  </head>
-  <body>
-    <div id="app"></div>
-    <script type="module" src="/src/student/main.ts"></script>
-  </body>
+
+<head>
+  <meta charset="UTF-8" />
+  <link rel="icon" href="/favicon.ico" />
+  <meta name="viewport"
+    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
+  <meta name="apple-mobile-web-app-capable" content="yes" />
+  <!-- 设置苹果工具栏颜色 -->
+  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
+  <!-- 忽略页面中的数字识别为电话,忽略email识别 -->
+  <meta name="format-detection" content="telphone=no, email=no" />
+  <!-- 启用360浏览器的极速模式(webkit) -->
+  <meta name="renderer" content="webkit">
+  <!-- 避免IE使用兼容模式 -->
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="HandheldFriendly" content="true">
+  <!-- uc强制竖屏 -->
+  <meta name="screen-orientation" content="portrait">
+  <!-- QQ强制竖屏 -->
+  <meta name="x5-orientation" content="portrait">
+  <!-- UC强制全屏 -->
+  <meta name="full-screen" content="yes">
+  <!-- QQ强制全屏 -->
+  <meta name="x5-fullscreen" content="true">
+  <!-- UC应用模式 -->
+  <meta name="browsermode" content="application">
+  <!-- QQ应用模式 -->
+  <meta name="x5-page-mode" content="app">
+  <!-- 设置在apple上以应用模式启动时,是否全屏 -->
+  <meta name="apple-touch-fullscreen" content="yes">
+  <!-- windows phone 点击无高光 -->
+  <meta name="msapplication-tap-highlight" content="no">
+  <title>酷乐秀-学生端</title>
+  <script src="/flexible.js" charset="UTF-8"></script>
+</head>
+
+<body>
+  <div id="app"></div>
+  <script type="module" src="/src/student/main.ts"></script>
+  <!-- <script type="module" src="/src/teacher/main.ts"></script> -->
+</body>
+
 </html>

+ 12 - 6
src/components/col-upload-video/index.tsx

@@ -12,6 +12,7 @@ export default defineComponent({
   name: "ColUploadVideo",
   props: {
     modelValue: String,
+    posterUrl: String,
     tips: {
       type: String,
       default: '点击上传'
@@ -31,9 +32,12 @@ export default defineComponent({
   },
   data() {
     return {
-      posterUrl: '',
+      posterUrlInner: '',
     }
   },
+  mounted() {
+    this.posterUrlInner = this.posterUrlInner || this.posterUrl || '';
+  },
   methods: {
     beforeRead(file: any) {
       const isLt2M = file.size / 1024 / 1024 < this.size
@@ -59,21 +63,23 @@ export default defineComponent({
         })
         const url = res.data.url
         const urlImg = await this.getVideoBase64(url)
-        this.posterUrl = urlImg as string
+        this.posterUrlInner = urlImg as string
         this.$emit('update:modelValue', url);
+        this.$emit('update:posterUrl', urlImg as string)
       } catch (error) {
         //
       }
     },
     onClose(e: any) {
-      this.posterUrl = ''
+      this.posterUrlInner = ''
       this.$emit('update:modelValue', null);
       e.stopPropagation();
     },
     onNativeUpload() {
       postMessage({ api: 'chooseFile', content: { type: 'video' } }, (res: any) => {
-        this.posterUrl = res.firstFrameImg
+        this.posterUrlInner = res.firstFrameImg
         this.$emit('update:modelValue', res.fileUrl);
+        this.$emit('update:posterUrl', res.firstFrameImg)
       })
     },
     getVideoBase64(url: string) {
@@ -103,13 +109,13 @@ export default defineComponent({
     return (
       <div class={styles['uploader-section']}>
         {this.modelValue && this.deletable ? <Icon name="cross" onClick={this.onClose} class={styles["img-close"]} /> : null}
-        {browser().isApp && this.nativeUpload ? <div onClick={this.onNativeUpload} style={{ height: '100%' }}>{this.modelValue ? <video ref="videoUpload" class={styles.uploadImg} src={this.modelValue} poster={this.posterUrl} /> : <div class={styles.uploader}>
+        {browser().isApp && this.nativeUpload ? <div onClick={this.onNativeUpload} style={{ height: '100%' }}>{this.modelValue ? <video ref="videoUpload" class={styles.uploadImg} src={this.modelValue} poster={this.posterUrlInner} /> : <div class={styles.uploader}>
           <Icon name={iconUploader} size="32" />
           <p class={styles.uploaderText}>{this.tips}</p>
         </div>}</div> : <>{/* @ts-ignore */}
           <Uploader accept=".mp4" afterRead={this.afterRead} beforeRead={this.beforeRead} beforeDelete={this.beforeDelete}
             v-slots={{
-              default: () => (this.modelValue ? <video ref="videoUpload" class={styles.uploadImg} src={this.modelValue} poster={this.posterUrl} /> : <div class={styles.uploader}>
+              default: () => (this.modelValue ? <video ref="videoUpload" class={styles.uploadImg} src={this.modelValue} poster={this.posterUrlInner} /> : <div class={styles.uploader}>
                 <Icon name={iconUploader} size="32" />
                 <p class={styles.uploaderText}>{this.tips}</p>
               </div>)

+ 2 - 1
src/teacher/video-class/class-content.module.less

@@ -21,6 +21,8 @@
   .title {
     color: #333;
     font-size: 16px;
+    display: flex;
+    align-items: center;
     &::before {
       content: ' ';
       display: inline-block;
@@ -29,7 +31,6 @@
       background: #2dc7aa;
       border-radius: 3px;
       margin-right: 8px;
-      vertical-align: text-bottom;
     }
   }
 

+ 3 - 2
src/teacher/video-class/class-content.tsx

@@ -24,7 +24,8 @@ export default defineComponent({
         videoTitle: '',
         videoContent: '',
         videoUrl: '',
-        coverUrl: ''
+        coverUrl: '',
+        posterUrl: '', // 视屏封面图
       })
     },
     removeItem(index: number) {
@@ -77,7 +78,7 @@ export default defineComponent({
                       rules={[{ required: true, message: '请上传课程视频' }]}
                       v-slots={{
                         input: () => (
-                          <ColUploadVideo v-model={item.videoUrl} class={styles.upload} tips="点击上传视屏" />
+                          <ColUploadVideo v-model={item.videoUrl} v-model:posterUrl={item.posterUrl} class={styles.upload} tips="点击上传视屏" />
                         )
                       }}
                     />

+ 5 - 1
src/teacher/video-class/create-submit.tsx

@@ -34,9 +34,13 @@ export default defineComponent({
   methods: {
     async onSubmit() {
       try {
+        const videoDetail = createState.lessonGroup;
         let params = {
           lessonList: this.lessonList,
-          lessonGroup: createState.lessonGroup
+          lessonGroup: {
+            ...videoDetail,
+            lessonCoverUrl: videoDetail.lessonCoverTemplateUrl || videoDetail.lessonCoverUrl,
+          }
         }
         await request.post('/api-teacher/videoLessonGroup/add', {
           data: params

+ 4 - 4
src/teacher/video-class/create.tsx

@@ -15,10 +15,10 @@ export default defineComponent({
   name: 'Create',
   created() {
     // 初始化状态
-    // createState.lessonGroup.lessonName = '测试视屏信息';
-    // createState.lessonGroup.lessonSubject = 5;
-    // createState.lessonGroup.lessonDesc = '测试视屏信息内容';
-    // createState.lessonGroup.lessonPrice = 50;
+    createState.lessonGroup.lessonName = '测试视屏信息';
+    createState.lessonGroup.lessonSubject = 5;
+    createState.lessonGroup.lessonDesc = '测试视屏信息内容';
+    createState.lessonGroup.lessonPrice = 50;
     // createState.lessonGroup.lessonCoverUrl = 'https://daya.ks3-cn-beijing.ksyun.com/202204/T1kK2ao.png';
   },
   async mounted() {

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

@@ -16,7 +16,8 @@ export const createState = reactive({
     videoTitle: '',
     videoContent: '',
     videoUrl: '',
-    coverUrl: ''
+    coverUrl: '',
+    posterUrl: '', // 视屏封面图
   }]
 })
 // videoUrl: 'https://daya.ks3-cn-beijing.ksyun.com/202204/T1kHuSh.mp4',

Some files were not shown because too many files changed in this diff