skyblued 2 سال پیش
والد
کامیت
766f6ac764
5فایلهای تغییر یافته به همراه65 افزوده شده و 32 حذف شده
  1. 2 2
      src/state.ts
  2. 17 13
      src/views/courseList/index.tsx
  3. 25 6
      src/views/coursewarePlay/index.tsx
  4. 19 9
      src/views/lessonCourseware/index.tsx
  5. 2 2
      vite.config.ts

+ 2 - 2
src/state.ts

@@ -9,13 +9,13 @@ export const state = reactive({
     status: 'init' as status,
     data: {} as any
   },
-  platformType: 'STUDENT' as 'STUDENT' | 'TEACHER' | 'SCHOOL',
+  platformType: 'TEACHER' as 'STUDENT' | 'TEACHER' | 'SCHOOL',
   clientId: {
     STUDENT: 'jmedu-student',
     TEACHER: 'jmedu-teacher',
     SCHOOL: 'jmedu-school'
   },
-  platformApi: '/api-student' as '/api-student' | '/api-teacher' | '/api-school',
+  platformApi: '/api-teacher' as '/api-student' | '/api-teacher' | '/api-school',
   version: '', // 版本号 例如: 1.0.0
   ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/',
   musicCertStatus: false as boolean, // 是否音乐认证

+ 17 - 13
src/views/courseList/index.tsx

@@ -1,28 +1,25 @@
 import request from '@/helpers/request'
 import { state } from '@/state'
-import { Grid, GridItem, Icon } from 'vant'
+import { Empty, Grid, GridItem, Icon } from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
 import styles from './index.module.less'
 import iconLook from './image/look.svg'
-import { useRoute } from 'vue-router'
+import { useRoute, useRouter } from 'vue-router'
 export default defineComponent({
   name: 'lessonCourseware',
   setup() {
     const route = useRoute()
+    const router = useRouter()
     const data = reactive({
       list: [] as any
     })
     const getList = async () => {
       try {
-        const res: any = await request.post(state.platformApi + '/lessonCoursewareDetail/page', {
-          data: {
-            lessonCoursewareId: route.query.id ? '1607562917531938817' : '1607562917531938817',
-            page: 1,
-            rows: 1000
-          }
-        })
-        if (Array.isArray(res?.data?.rows)) {
-          data.list = res.data.rows
+        const res: any = await request.post(
+          state.platformApi + '/courseSchedule/myCoursewareDetail/' + route.query.id
+        )
+        if (Array.isArray(res?.data)) {
+          data.list = res.data
         }
       } catch (error) {}
     }
@@ -34,6 +31,12 @@ export default defineComponent({
       if (route.query.code === 'select') {
         console.log('选择课时')
       }
+      router.push({
+        path: '/coursewarePlay',
+        query: {
+          id: item.lessonCoursewareDetailId
+        }
+      })
     }
     return () => (
       <div style={{ paddingTop: '14px' }}>
@@ -52,14 +55,14 @@ export default defineComponent({
                 >
                   {/* <img src={item.coverImg} class={styles.cover} /> */}
                   <div class={styles.title}>
-                    <div>{item.name}</div>
+                    <div>{item.coursewareDetailName}</div>
                     <div>已使用 1 次</div>
                   </div>
                   <div class={styles.num}>
                     查看
                     <Icon name="play-circle-o" />
                   </div>
-                  {item.delFlag && (
+                  {item.unlock && (
                     <div class={styles.look}>
                       <Icon name={iconLook} /> 未解锁
                     </div>
@@ -69,6 +72,7 @@ export default defineComponent({
             )
           })}
         </Grid>
+        {!data.list.length && <Empty description="空空如也" />}
       </div>
     )
   }

+ 25 - 6
src/views/coursewarePlay/index.tsx

@@ -4,17 +4,33 @@ import iconBack from './image/back.svg'
 import styles from './index.module.less'
 import Plyr from 'plyr'
 import 'plyr/dist/plyr.css'
+import request from '@/helpers/request'
+import { state } from '@/state'
+import { useRoute } from 'vue-router'
 
 export default defineComponent({
   name: 'CoursewarePlay',
   setup() {
+    const route = useRoute()
+    const data = reactive({
+      detail: null
+    })
+    const getDetail = async () => {
+      try {
+        const res: any = await request.get(state.platformApi + `/lessonCoursewareDetail/detail/${route.query.id}`)
+        if (Array.isArray(res?.data)) {
+          data.detail = res.data
+        }
+      } catch (error) {}
+    }
     onMounted(() => {
+      getDetail()
       const nodeList = document.querySelectorAll('.player')
       console.log('🚀 ~ nodeList', nodeList)
-    //   const player = Plyr.setup('.player', {
-    //     debug: false,
-    //     ratio: '16:9'
-    //   })
+      //   const player = Plyr.setup('.player', {
+      //     debug: false,
+      //     ratio: '16:9'
+      //   })
       const player = new Plyr('#player1', {
         autoplay: true
       })
@@ -23,9 +39,12 @@ export default defineComponent({
       }, 1000)
       console.log('🚀 ~ player', player)
     })
+    const goback = () => {
+      history.go(-1)
+    }
     return () => (
       <div class={styles.coursewarePlay}>
-        <div class={styles.backBtn}>
+        <div class={styles.backBtn} onClick={() => goback()}>
           <Icon name={iconBack} />
           返回
         </div>
@@ -42,7 +61,7 @@ export default defineComponent({
         <Swipe vertical>
           <SwipeItem>
             <div class={styles.videoItem}>
-              <video class="player" id='player1' autoplay>
+              <video class="player" id="player1" autoplay>
                 <source
                   src="https://daya.ks3-cn-beijing.ksyuncs.com/12/1672210184164.mp4"
                   type="video/mp4"

+ 19 - 9
src/views/lessonCourseware/index.tsx

@@ -4,19 +4,20 @@ import { Empty, Grid, GridItem, Icon } from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
 import styles from './index.module.less'
 import iconLook from './image/look.svg'
-import { useRoute } from 'vue-router'
+import { useRoute, useRouter } from 'vue-router'
 export default defineComponent({
   name: 'lessonCourseware',
   setup() {
     const route = useRoute()
+    const router = useRouter()
     const data = reactive({
       list: [] as any
     })
     const getList = async () => {
       try {
         const res: any = await request.post(state.platformApi + '/courseSchedule/myCourseware')
-        if (Array.isArray(res?.data?.rows)) {
-          data.list = res.data.rows
+        if (Array.isArray(res?.data)) {
+          data.list = res.data
         }
       } catch (error) {}
     }
@@ -24,9 +25,16 @@ export default defineComponent({
       getList()
     })
     const handleClick = (item: any) => {
-        if (route.query.code === 'select'){
-            console.log('这里是选择课件')
+      if (route.query.code === 'select') {
+        console.log('这里是选择课件')
+        return
+      }
+      router.push({
+        path: '/courseList',
+        query: {
+          id: item.id
         }
+      })
     }
     return () => (
       <div style={{ paddingTop: '14px' }}>
@@ -36,7 +44,11 @@ export default defineComponent({
               <GridItem>
                 <div
                   class={styles.gridItem}
-                  style={{ background: item.coverImg ? '' : `hsla(${Math.floor(Math.random() * 360)},50%,50%,.8)` }}
+                  style={{
+                    background: item.coverImg
+                      ? ''
+                      : `hsla(${Math.floor(Math.random() * 360)},50%,50%,.8)`
+                  }}
                   onClick={() => handleClick(item)}
                 >
                   <img src={item.coverImg} class={styles.cover} />
@@ -51,10 +63,8 @@ export default defineComponent({
               </GridItem>
             )
           })}
-          {!data.list.length && (
-            <Empty description='空空如也' />
-          )}
         </Grid>
+        {!data.list.length && <Empty description="空空如也" />}
       </div>
     )
   }

+ 2 - 2
vite.config.ts

@@ -12,8 +12,8 @@ function resolve(dir: string) {
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
 // const proxyUrl = 'https://mstutest.dayaedu.com/';
-// const proxyUrl = 'http://47.98.131.38:8989/'
-const proxyUrl = 'http://192.168.3.143:8989/' // 尚科
+const proxyUrl = 'http://47.98.131.38:8989/'
+// const proxyUrl = 'http://192.168.3.143:8989/' // 尚科
 // const proxyUrl = 'http://192.168.3.26:8989/' // 刘俊驰
 export default defineConfig({
   base: './',