Browse Source

Merge branch 'startLogin'

mo 1 year ago
parent
commit
1e8f7a9c1e

+ 4 - 2
src/components/layout/index.tsx

@@ -21,7 +21,7 @@ import { px2vw, px2vwH } from '@/utils/index';
 import PlaceholderTone from './modals/placeholderTone';
 import { state } from '/src/state';
 import PreviewWindow from '/src/views/preview-window';
-import { nextTick } from 'process';
+import {fscreen} from '@/utils/index'
 export default defineComponent({
   name: 'layoutView',
   setup() {
@@ -661,11 +661,13 @@ export default defineComponent({
           <ChioseModal
             onClose={() => (showClass.value = false)}
             onPreview={(item: any) => {
-              if (state.application) {
+              if (window.matchMedia('(display-mode: standalone)').matches) {
                 previewModal.value = true;
                 previewItem.value = {
                   ...item
                 };
+                state.application = window.matchMedia('(display-mode: standalone)').matches
+                fscreen()
               } else {
                 const { href } = router.resolve({
                   path: '/attend-class',

+ 23 - 1
src/utils/index.ts

@@ -297,7 +297,7 @@ export const getSecond = (second: number, type?: string) => {
   const dd = Math.floor(second % 60)
     .toString()
     .padStart(2, '0');
-  return `${mm}${dd}`
+  return `${mm}${dd}`;
 };
 
 /** 滚动到表单填写错误的地方 */
@@ -342,3 +342,25 @@ export const px2vw = (px: number): string => `${(px / 1920) * 100}vw`;
 
 export const px2vwH = (px: number): string =>
   `${(((px / 1920) * 1920) / 1188) * 100}vw`;
+
+export const fscreen = () => {
+  const el = document.documentElement;
+
+  //进入全屏
+  (el.requestFullscreen && el.requestFullscreen()) ||
+    (el.mozRequestFullScreen && el.mozRequestFullScreen()) ||
+    (el.webkitRequestFullscreen && el.webkitRequestFullscreen()) ||
+    (el.msRequestFullscreen && el.msRequestFullscreen());
+
+  //退出全屏
+};
+
+export const exitFullscreen = () => {
+  document.exitFullscreen
+    ? document.exitFullscreen()
+    : document.mozCancelFullScreen
+    ? document.mozCancelFullScreen()
+    : document.webkitExitFullscreen
+    ? document.webkitExitFullscreen()
+    : '';
+};

+ 2 - 1
src/views/attend-class/index.tsx

@@ -50,6 +50,7 @@ import beatIcon from '/src/components/layout/images/beatIcon.png';
 import toneIcon from '/src/components/layout/images/toneIcon.png';
 import { px2vw } from '/src/utils';
 import PlaceholderTone from '/src/components/layout/modals/placeholderTone';
+import { state as globalState } from '/src/state';
 import { state } from '/src/state';
 export type ToolType = 'init' | 'pen' | 'whiteboard';
 export type ToolItem = {
@@ -1345,7 +1346,7 @@ export default defineComponent({
                 type="primary"
                 onClick={() => {
                   //
-                  if (state.application) {
+                  if (globalState.application) {
                     document.exitFullscreen
                       ? document.exitFullscreen()
                       : document.mozCancelFullScreen

+ 3 - 0
src/views/classList/index.tsx

@@ -30,6 +30,7 @@ import TheTooltip from '/src/components/TheTooltip';
 import PreviewWindow from '../preview-window';
 import { state as globalState } from '/src/state';
 import {courseSchedulePage} from '../home/api'
+import { fscreen } from '/src/utils';
 export default defineComponent({
   name: 'class-classList',
   setup(props, { emit }) {
@@ -381,6 +382,8 @@ export default defineComponent({
                 state.previewParams = {
                   ...item
                 };
+                globalState.application= window.matchMedia('(display-mode: standalone)').matches
+                fscreen()
               } else {
                 const { href } = router.resolve({
                   path: '/attend-class',

+ 6 - 1
src/views/home/index.tsx

@@ -59,7 +59,9 @@ import toneImage from '@/components/layout/images/toneImage.png';
 import { px2vw } from '/src/utils';
 import PlaceholderTone from '@/components/layout/modals/placeholderTone';
 import { state } from '/src/state';
+import { fscreen} from '@/utils/index'
 import PreviewWindow from '../preview-window';
+import { state as globalState } from '/src/state';
 export const formatDateToDay = () => {
   const hours = dayjs().hour();
   if (hours < 12) {
@@ -334,7 +336,7 @@ export default defineComponent({
               classGroupId: forms.applyClassItem?.classGroupId
             });
 
-            if (state.application) {
+            if (window.matchMedia('(display-mode: standalone)').matches) {
               forms.showPreview = true;
               forms.itemPreview = {
                 type: 'class',
@@ -342,6 +344,9 @@ export default defineComponent({
                 subjectId: forms.subjectId,
                 detailId: forms.unit
               };
+              globalState.application = window.matchMedia('(display-mode: standalone)').matches
+              // 加全屏
+              fscreen()
             } else {
               const { href } = router.resolve({
                 path: '/attend-class',

+ 1 - 0
src/views/login/index.tsx

@@ -40,6 +40,7 @@ export default defineComponent({
 
 
       if (window.matchMedia('(display-mode: standalone)').matches) {
+        state.application = window.matchMedia('(display-mode: standalone)').matches
         console.log('应用内打开')
       }else{
         console.log(popEvent.value,'popEvent.value')

+ 4 - 2
src/views/notation/index.tsx

@@ -47,7 +47,8 @@ export default defineComponent({
     const handleOpen = (e: MessageEvent) => {
       console.log(e.data, 'data');
       if (e.data.api === 'notation_open') {
-        if (state.application) {
+        if (window.matchMedia('(display-mode: standalone)').matches) {
+          state.application = window.matchMedia('(display-mode: standalone)').matches
           show.value = true;
           previewModal.value = true;
           previewParams.value = {
@@ -107,7 +108,8 @@ export default defineComponent({
                     },
                     '*'
                   );
-                  if (state.application) {
+                  if (window.matchMedia('(display-mode: standalone)').matches) {
+                    state.application = window.matchMedia('(display-mode: standalone)').matches
                     fscreen()
                 }}}>
                 确定

+ 4 - 3
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -192,8 +192,8 @@ export default defineComponent({
         return;
       }
       // 判断是否在应用里面
-      console.log(state.application, 'state.application');
-      if (state.application) {
+      if (window.matchMedia('(display-mode: standalone)').matches) {
+        state.application = window.matchMedia('(display-mode: standalone)').matches
         forms.previewModal = true;
         fscreen()
         forms.previewParams = {
@@ -436,7 +436,8 @@ export default defineComponent({
           <AttendClass
             onClose={() => (forms.showAttendClass = false)}
             onPreview={(item: any) => {
-              if (state.application) {
+              if (window.matchMedia('(display-mode: standalone)').matches) {
+                state.application = window.matchMedia('(display-mode: standalone)').matches
                 forms.previewModal = true;
                 forms.previewParams = {
                   ...item

+ 19 - 17
src/views/prepare-lessons/model/attend-class/index.tsx

@@ -38,33 +38,34 @@ export default defineComponent({
 
         emit('close');
 
-
         emit('preview', {
           type: 'class',
           classGroupId: item.id,
           subjectId: prepareStore.getSubjectId,
           detailId: prepareStore.getSelectKey
         });
-        if(state.application){
-          setTimeout(()=>{
-            fscreen()
-          },200)
-
-      }
-
+        if (window.matchMedia('(display-mode: standalone)').matches) {
+          state.application = window.matchMedia('(display-mode: standalone)').matches
+          setTimeout(() => {
+            fscreen();
+          }, 200);
+        }
       } catch {
         //
       }
     };
-   const fscreen=()=> {
-      var el = document.documentElement
-      var isFullscreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen
+    const fscreen = () => {
+      var el = document.documentElement;
+      var isFullscreen =
+        document.fullScreen ||
+        document.mozFullScreen ||
+        document.webkitIsFullScreen;
       if (!isFullscreen) {
         //进入全屏
         (el.requestFullscreen && el.requestFullscreen()) ||
-        (el.mozRequestFullScreen && el.mozRequestFullScreen()) ||
-        (el.webkitRequestFullscreen && el.webkitRequestFullscreen()) ||
-        (el.msRequestFullscreen && el.msRequestFullscreen())
+          (el.mozRequestFullScreen && el.mozRequestFullScreen()) ||
+          (el.webkitRequestFullscreen && el.webkitRequestFullscreen()) ||
+          (el.msRequestFullscreen && el.msRequestFullscreen());
       } else {
         //退出全屏
         document.exitFullscreen
@@ -73,8 +74,9 @@ export default defineComponent({
           ? document.mozCancelFullScreen()
           : document.webkitExitFullscreen
           ? document.webkitExitFullscreen()
-          : ''
-      }}
+          : '';
+      }
+    };
     const getList = async () => {
       loading.value = true;
       try {
@@ -151,7 +153,7 @@ export default defineComponent({
               ]}>
               {list.value.map((item: any) => (
                 <div onClick={() => onAttendClass(item)}>
-                  <NThing class={[styles.thingItem,'isFull']}>
+                  <NThing class={[styles.thingItem, 'isFull']}>
                     {{
                       header: () => (
                         <div class={styles.title}>

+ 2 - 1
src/views/xiaoku-music/index.tsx

@@ -415,7 +415,8 @@ export default defineComponent({
                       ? 'https://test.lexiaoya.cn'
                       : location.origin;
                     const src = `${origin}/instrument?platform=pc&showGuide=true&id=${activeItem.value.id}&Authorization=${user.getToken}`;
-                    if (state.application) {
+                    if (window.matchMedia('(display-mode: standalone)').matches) {
+                      state.application = window.matchMedia('(display-mode: standalone)').matches
                       data.previewModal = true;
                       data.previewUrl = src;
                       data.showPreivew = false;