ソースを参照

Merge branch 'master' of http://git.dayaedu.com/lex/orchestra-app

lex 2 年 前
コミット
e804aa3343
2 ファイル変更72 行追加3 行削除
  1. 51 1
      src/views/coursewarePlay/index.tsx
  2. 21 2
      src/views/lessonCourseware/index.tsx

+ 51 - 1
src/views/coursewarePlay/index.tsx

@@ -1,5 +1,5 @@
 import { Icon, Swipe, SwipeItem, Tab, Tabs } from 'vant'
-import { defineComponent, onMounted, reactive, nextTick } from 'vue'
+import { defineComponent, onMounted, reactive, nextTick, onUnmounted, ref } from 'vue'
 import iconBack from './image/back.svg'
 import styles from './index.module.less'
 import Plyr from 'plyr'
@@ -7,10 +7,44 @@ import 'plyr/dist/plyr.css'
 import request from '@/helpers/request'
 import { state } from '@/state'
 import { useRoute } from 'vue-router'
+import { postMessage } from '@/helpers/native-message'
+import OHeader from '@/components/o-header'
 
 export default defineComponent({
   name: 'CoursewarePlay',
   setup() {
+    const navBarHeight = ref(0)
+    const handleInit = () => {
+      postMessage({
+        api: 'setRequestedOrientation',
+        content: {
+          orientation: 0
+        }
+      })
+      postMessage({
+        api: 'setBarStatus',
+        content: {
+          status: 1
+        }
+      })
+      const sTitleHeight = sessionStorage.getItem('titleHeight')
+      if (sTitleHeight) {
+        navBarHeight.value = Number(sTitleHeight)
+      } else {
+        postMessage({ api: 'getNavHeight' }, (res) => {
+          const { content } = res as any
+          console.log("🚀 ~ content", content)
+          const dpi = content.dpi || 2
+          if (content.titleHeight) {
+            // 导航栏的高度
+            const titleHeight = content.titleHeight / dpi
+            sessionStorage.setItem('titleHeight', String(titleHeight))
+            navBarHeight.value = titleHeight
+          }
+        })
+      }
+    }
+    handleInit()
     const route = useRoute()
     const data = reactive({
       detail: null,
@@ -46,11 +80,27 @@ export default defineComponent({
     onMounted(() => {
       getDetail()
     })
+    // 返回
     const goback = () => {
       history.go(-1)
     }
+    onUnmounted(() => {
+      postMessage({
+        api: 'setRequestedOrientation',
+        content: {
+          orientation: 1
+        }
+      })
+      postMessage({
+        api: 'setBarStatus',
+        content: {
+          status: 0
+        }
+      })
+    })
     return () => (
       <div class={styles.coursewarePlay}>
+        <OHeader />
         <div class={styles.backBtn} onClick={() => goback()}>
           <Icon name={iconBack} />
           返回

+ 21 - 2
src/views/lessonCourseware/index.tsx

@@ -1,10 +1,11 @@
 import request from '@/helpers/request'
 import { state } from '@/state'
-import { Empty, Grid, GridItem, Icon } from 'vant'
+import { Empty, Grid, GridItem, Icon, showToast, Toast } from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
 import styles from './index.module.less'
 import iconLook from './image/look.svg'
 import { useRoute, useRouter } from 'vue-router'
+import OEmpty from '@/components/o-empty'
 export default defineComponent({
   name: 'lessonCourseware',
   setup() {
@@ -27,6 +28,7 @@ export default defineComponent({
     const handleClick = (item: any) => {
       if (route.query.code === 'select') {
         console.log('这里是选择课件')
+        setCoursewareDetail(item)
         return
       }
       router.push({
@@ -36,6 +38,23 @@ export default defineComponent({
         }
       })
     }
+
+    const setCoursewareDetail = async (item: any) => {
+      try {
+        const res: any = await request.post(
+          state.platformApi + '/courseSchedule/setCoursewareDetail',
+          {
+            params: {
+              courseScheduleId: route.query.courseScheduleId,
+              coursewareDetailId: item.id
+            }
+          }
+        )
+        if (res.code === 200){
+          showToast('保存成功')
+        }
+      } catch (error) {}
+    }
     return () => (
       <div style={{ paddingTop: '14px' }}>
         <Grid gutter={14} columnNum={3} class={styles.grid}>
@@ -64,7 +83,7 @@ export default defineComponent({
             )
           })}
         </Grid>
-        {!data.list.length && <Empty description="空空如也" />}
+        {!data.list.length && <OEmpty tips="没有课件" />}
       </div>
     )
   }