Bladeren bron

Merge branch 'iteration_video' into online

lex 2 jaren geleden
bovenliggende
commit
a4a8457c97

+ 6 - 0
src/components/m-image-preview/index.module.less

@@ -24,6 +24,12 @@
     .plyr--fullscreen-fallback {
     .plyr--fullscreen-fallback {
       height: 100% !important;
       height: 100% !important;
       width: var(--window-page-width) !important;
       width: var(--window-page-width) !important;
+      left: var(--window-page-position-left) !important;
+    }
+
+    .video-back {
+      // left: 20px;
+      // left: calc(var(--window-page-position-left) + 20px) !important;
     }
     }
   }
   }
 }
 }

+ 22 - 7
src/components/m-image-preview/index.tsx

@@ -97,6 +97,7 @@ export default defineComponent({
       videoRef.value.forEach((item: any, child: any) => {
       videoRef.value.forEach((item: any, child: any) => {
         if (child !== index) {
         if (child !== index) {
           item?.onStop();
           item?.onStop();
+          item?.onExitScreen();
         }
         }
       });
       });
     };
     };
@@ -109,14 +110,26 @@ export default defineComponent({
         (window.document.body.clientWidth || window.document.body.offsetWidth) +
         (window.document.body.clientWidth || window.document.body.offsetWidth) +
           'px'
           'px'
       );
       );
+
+      onChnageLeftWidth(forms.index - 1);
     });
     });
 
 
+    const onChnageLeftWidth = (index: number) => {
+      document.documentElement.style.setProperty(
+        '--window-page-position-left',
+        (window.document.body.clientWidth || window.document.body.offsetWidth) *
+          index +
+          'px'
+      );
+    };
+
     watch(
     watch(
       () => props.show,
       () => props.show,
       () => {
       () => {
         forms.show = props.show;
         forms.show = props.show;
         forms.index = props.startPosition + 1;
         forms.index = props.startPosition + 1;
         forms.preLoading = props.show;
         forms.preLoading = props.show;
+        onChnageLeftWidth(props.startPosition);
         // console.log(forms.preLoading, 'show');
         // console.log(forms.preLoading, 'show');
         // nextTick(() => {
         // nextTick(() => {
         //   // 判断打开的内容是否为视频,是则自动播放
         //   // 判断打开的内容是否为视频,是则自动播放
@@ -139,6 +152,7 @@ export default defineComponent({
       () => props.startPosition,
       () => props.startPosition,
       () => {
       () => {
         forms.index = props.startPosition + 1;
         forms.index = props.startPosition + 1;
+        onChnageLeftWidth(props.startPosition);
       }
       }
     );
     );
 
 
@@ -184,11 +198,11 @@ export default defineComponent({
                         : 'var(--van-padding-md)'
                         : 'var(--van-padding-md)'
                     }}
                     }}
                     onClick={() => {
                     onClick={() => {
-                      console.log(
-                        forms.index,
-                        'index',
-                        props.images[forms.index - 1]
-                      );
+                      // console.log(
+                      //   forms.index,
+                      //   'index',
+                      //   props.images[forms.index - 1]
+                      // );
 
 
                       onSave(props.images[forms.index - 1]);
                       onSave(props.images[forms.index - 1]);
                     }}
                     }}
@@ -208,6 +222,7 @@ export default defineComponent({
                 forms.index = index + 1;
                 forms.index = index + 1;
                 // forms.preLoading = true;
                 // forms.preLoading = true;
                 onPlay(index);
                 onPlay(index);
+                onChnageLeftWidth(index);
               }}
               }}
               lazyRender>
               lazyRender>
               {props.images.map((url: string, index: number) => (
               {props.images.map((url: string, index: number) => (
@@ -248,8 +263,8 @@ export default defineComponent({
                         src={url}
                         src={url}
                         onPlay={() => onPlay(index)}
                         onPlay={() => onPlay(index)}
                         preLoading={false}
                         preLoading={false}
-                        onEnterfullscreen={() => (forms.showButton = false)}
-                        onExitfullscreen={() => (forms.showButton = true)}
+                        // onEnterfullscreen={() => (forms.showButton = false)}
+                        // onExitfullscreen={() => (forms.showButton = true)}
                       />
                       />
                     </div>
                     </div>
                   )}
                   )}

+ 18 - 17
src/components/m-video/index.tsx

@@ -132,29 +132,27 @@ export default defineComponent({
       });
       });
 
 
       this.player.on('enterfullscreen', () => {
       this.player.on('enterfullscreen', () => {
-        console.log('fullscreen');
-        const fragment = document.createDocumentFragment();
-        const i = document.createElement('i');
-        i.id = 'fullscreen-back';
-        i.className = 'van-icon van-icon-arrow-left video-back';
-        i.addEventListener('click', () => {
-          this.player.fullscreen.exit();
-        });
-        console.log(document.getElementsByClassName('plyr'), i);
-        fragment.appendChild(i);
-        const parentNode = document.getElementsByClassName('plyr')[0];
-        parentNode.insertBefore(fragment, parentNode.firstChild);
-        // document
-        //   .getElementsByClassName('plyr__controls')[0]
-        //   .insertBefore(fragment);
+        // console.log('fullscreen', this.player.elements);
+        // const fragment = document.createDocumentFragment();
+        // const i = document.createElement('i');
+        // i.id = 'fullscreen-back';
+        // i.className = 'van-icon van-icon-arrow-left video-back';
+        // i.addEventListener('click', () => {
+        //   this.player.fullscreen.exit();
+        // });
+        // console.log(document.getElementsByClassName('plyr'), i);
+        // fragment.appendChild(i);
+        // // const parentNode = document.getElementsByClassName('plyr')[0];
+        // // parentNode.insertBefore(fragment, parentNode.firstChild);
+        // this.player.elements.container.appendChild(fragment);
 
 
         this.$emit('enterfullscreen');
         this.$emit('enterfullscreen');
       });
       });
 
 
       this.player.on('exitfullscreen', () => {
       this.player.on('exitfullscreen', () => {
         console.log('exitfullscreen');
         console.log('exitfullscreen');
-        const i = document.getElementById('fullscreen-back');
-        i && i.remove();
+        // const i = document.getElementById('fullscreen-back');
+        // i && i.remove();
         this.$emit('exitfullscreen');
         this.$emit('exitfullscreen');
       });
       });
     },
     },
@@ -175,6 +173,9 @@ export default defineComponent({
     onStop() {
     onStop() {
       this.player.stop();
       this.player.stop();
     },
     },
+    onExitScreen() {
+      this.player.fullscreen.active && this.player.fullscreen.exit();
+    },
     onPlay() {
     onPlay() {
       this.player?.play();
       this.player?.play();
     }
     }