| 
					
				 | 
			
			
				@@ -1,5 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import request from '@/helpers/request'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { setLogin, state } from '@/state'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { state } from '@/state'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Button, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Cell, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,8 +14,7 @@ import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   reactive, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   onUnmounted, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TransitionGroup, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  computed, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  watch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import styles from './index.module.less'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useRoute, useRouter } from 'vue-router'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -35,14 +34,12 @@ import { handleCheckVip, gotoMemberCenter, hasVip } from '../hook/useFee'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import iconList from './image/icon-list.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // import OSticky from '@/components/o-sticky'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OHeader from '@/components/o-header'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { useEventListener, usePageVisibility } from '@vant/use'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useEventListener } from '@vant/use'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OLoading from '@/components/o-loading'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OSticky from '@/components/o-sticky'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import dayjs from 'dayjs'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'courseList', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const pageVisibility = usePageVisibility(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const route = useRoute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const router = useRouter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const browserInfo = browser(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,8 +53,6 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         des: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      hiddenProperty: 'hidden' as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      visibilityChangeEvent: '' as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       list: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       isDownloading: false // 是否在下载资源 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -138,46 +133,13 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // window.location.href = location.origin + '/#/member'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const isHasVip = computed(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log('isHasVip'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return !dayjs().isBefore( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        dayjs(state.user.data.student.membershipEndTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ) && !state.user.data.isExistPendingMember 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ? false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        : true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const onVisibilityChange = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log(document.visibilityState, ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (document.visibilityState === 'visible') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log('页面可见'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       listenerMessage('downloadCoursewareToCache', getProgress); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data.hiddenProperty = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        'hidden' in document 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ? 'hidden' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          : 'webkitHidden' in document 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ? 'webkitHidden' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          : 'mozHidden' in document 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ? 'mozHidden' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data.visibilityChangeEvent = data.hiddenProperty.replace( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        /hidden/i, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        'visibilitychange' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      document.addEventListener(data.visibilityChangeEvent, onVisibilityChange); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onUnmounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       removeListenerMessage('downloadCoursewareToCache', getProgress); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      document.removeEventListener( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        data.visibilityChangeEvent, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        onVisibilityChange 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const handleClick = async (item: any) => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -319,30 +281,6 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         document.documentElement.scrollTop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       data.titleOpacity = height > 100 ? 1 : height / 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    watch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      () => pageVisibility.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      async (val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 为了处理从没有会员,到购买会员返回时状态变化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (val === 'visible') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const res = await request.get( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              state.platformType === 'STUDENT' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ? state.platformApi + '/student/queryUserInfo' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                : state.platformApi + '/teacher/queryUserInfo', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                initRequest: true, // 初始化接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                requestType: 'form', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                hideLoading: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setLogin(res.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } catch (e: any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class={styles.courseList}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <OHeader 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -427,7 +365,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         styles.baseBtn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         styles.look, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         state.platformType === 'STUDENT' && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        !isHasVip.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        !hasVip() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           ? styles.disabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       ]}> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -439,7 +377,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         styles.baseBtn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         styles.down, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         state.platformType === 'STUDENT' && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        !isHasVip.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        !hasVip() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           ? styles.disabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         item.downloadStatus == 1 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -469,7 +407,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {data.loading && <OLoading />} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {!data.loading && !data.list.length && <OEmpty tips="暂无内容" />} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {state.platformType === 'STUDENT' && !isHasVip.value && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {state.platformType === 'STUDENT' && !hasVip() && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <OSticky position="bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.btnGroup}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <Button round block type="primary" onClick={gotoMemberCenter}> 
			 |