Ver Fonte

添加老师端兼容播放

lex há 1 ano atrás
pai
commit
76cbfd591d

+ 1 - 0
src/components/o-img-code/index.tsx

@@ -102,6 +102,7 @@ export default defineComponent({
                 placeholder="请输入验证码"
                 v-model={this.code}
                 class={styles.field}
+                maxlength={4}
               />
             </Col>
             <Col span="10" class={styles.img}>

+ 2 - 2
src/helpers/oss-file-upload.ts

@@ -2,7 +2,7 @@ import request from './request';
 // import axios from 'axios'
 import umiRequest from 'umi-request';
 import COS from 'cos-js-sdk-v5';
-// import { state } from '@/state';
+import { state } from '@/state';
 export const ossSwitch = 'tencent' as 'ks3' | 'tencent'; // 上传文件服务商
 const tencentBucket = 'daya-online-1303457149';
 
@@ -45,7 +45,7 @@ export const getUploadSign = async (params: any) => {
   } else {
     tempPostData = postData;
   }
-  return request.post('/api-student/open/getUploadSign', {
+  return request.post(state.platformApi + '/open/getUploadSign', {
     data: {
       postData: tempPostData,
       pluginName: ossType,

+ 2 - 2
src/helpers/request.ts

@@ -1,9 +1,9 @@
 import { extend } from 'umi-request';
 import cleanDeep from 'clean-deep';
-import { browser, openLoading, closeLoading } from '@/helpers/utils';
+import { browser } from '@/helpers/utils';
 import { setLogout, setLoginError, state } from '@/state';
 import { postMessage } from './native-message';
-import { showLoadingToast, showToast, closeToast } from 'vant';
+import { showToast } from 'vant';
 // import baseEvent from '@/base-event'
 
 export interface SearchInitParams {

+ 13 - 2
src/main.ts

@@ -32,9 +32,20 @@ postMessage({ api: 'getNavHeight' }, (res: any) => {
   }
 });
 
+const url = window.location.href;
+const urlIsTeacher =
+  /mteaonline.dayaedu.com/.test(url) || /mteatest.dayaedu.com/.test(url)
+    ? true
+    : false;
 // const paymentType = (window as any).paymentType; // 浏览器设置
-state.platformType = 'STUDENT';
-state.platformApi = '/api-student';
+// 判断是哪个环境
+// if (urlIsTeacher) {
+state.platformType = 'TEACHER';
+state.platformApi = '/api-teacher';
+// } else {
+//   state.platformType = 'STUDENT';
+//   state.platformApi = '/api-student';
+// }
 
 const app = createApp(App);
 

+ 40 - 30
src/views/courseList/index.tsx

@@ -149,38 +149,42 @@ export default defineComponent({
         return;
       }
 
-      const isVip = handleCheckVip();
-      if (!isVip) return;
+      // 学生端需要判断缓存
+      console.log(state.platformType, 'state.platformType');
+      if (state.platformType === 'STUDENT') {
+        const isVip = handleCheckVip();
+        if (!isVip) return;
 
-      if (!item.hasCache) {
-        // const hasFree = String(item.accessScope) === '0';
-        // if (!hasFree) {
+        if (!item.hasCache) {
+          // const hasFree = String(item.accessScope) === '0';
+          // if (!hasFree) {
 
-        // 下载中不提示
-        if (item.downloadStatus == 1) {
-          // 取消下载
-          postMessage({ api: 'cancelDownloadCourseware' });
-          setTimeout(() => {
+          // 下载中不提示
+          if (item.downloadStatus == 1) {
+            // 取消下载
             postMessage({ api: 'cancelDownloadCourseware' });
-            item.downloadStatus = 0;
-            data.isDownloading = false;
-          }, 1000);
-          showLoadingToast({
-            message: '取消中...',
-            forbidClick: false,
-            loadingType: 'spinner',
-            duration: 1000
-          });
-          return;
-        }
-        // 重新下载
-        if (item.downloadStatus == 3) {
-          downCatch(item);
+            setTimeout(() => {
+              postMessage({ api: 'cancelDownloadCourseware' });
+              item.downloadStatus = 0;
+              data.isDownloading = false;
+            }, 1000);
+            showLoadingToast({
+              message: '取消中...',
+              forbidClick: false,
+              loadingType: 'spinner',
+              duration: 1000
+            });
+            return;
+          }
+          // 重新下载
+          if (item.downloadStatus == 3) {
+            downCatch(item);
+            return;
+          }
+          data.catchStatus = true;
+          data.catchItem = item;
           return;
         }
-        data.catchStatus = true;
-        data.catchItem = item;
-        return;
       }
       gotoPlay(item);
     };
@@ -362,7 +366,10 @@ export default defineComponent({
                                       class={[
                                         styles.baseBtn,
                                         styles.look,
-                                        !hasVip() ? styles.disabled : ''
+                                        state.platformType === 'STUDENT' &&
+                                        !hasVip()
+                                          ? styles.disabled
+                                          : ''
                                       ]}>
                                       查看
                                     </Button>
@@ -371,7 +378,10 @@ export default defineComponent({
                                       class={[
                                         styles.baseBtn,
                                         styles.down,
-                                        !hasVip() ? styles.disabled : '',
+                                        state.platformType === 'STUDENT' &&
+                                        !hasVip()
+                                          ? styles.disabled
+                                          : '',
                                         item.downloadStatus == 1
                                           ? styles.downing
                                           : ''
@@ -399,7 +409,7 @@ export default defineComponent({
         {data.loading && <OLoading />}
         {!data.loading && !data.list.length && <OEmpty tips="暂无内容" />}
 
-        {!hasVip() && (
+        {state.platformType === 'STUDENT' && !hasVip() && (
           <OSticky position="bottom">
             <div class={styles.btnGroup}>
               <Button round block type="primary" onClick={gotoMemberCenter}>

+ 10 - 5
src/views/layout/auth.tsx

@@ -46,11 +46,16 @@ export default defineComponent({
       if (state.user.status === 'init' || state.user.status === 'error') {
         this.loading = true;
         try {
-          const res = await request.get('/api-student/student/queryUserInfo', {
-            initRequest: true, // 初始化接口
-            requestType: 'form',
-            hideLoading: true
-          });
+          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) {
           const message = e.message;

+ 7 - 5
src/views/layout/login.tsx

@@ -60,16 +60,16 @@ export default defineComponent({
             data: {
               username: this.username,
               password: this.password,
-              clientId: 'student',
-              clientSecret: 'student'
+              clientId: state.platformType,
+              clientSecret: state.platformType
             }
           });
         } else {
           res = await request.post('/api-auth/smsLogin', {
             requestType: 'form',
             data: {
-              clientId: 'student',
-              clientSecret: 'student',
+              clientId: state.platformType,
+              clientSecret: state.platformType,
               phone: this.username,
               smsCode: this.smsCode
             }
@@ -80,7 +80,9 @@ export default defineComponent({
         setAuth(authentication.token_type + ' ' + authentication.access_token);
 
         const userCash = await request.get(
-          '/api-student/student/queryUserInfo',
+          state.platformType === 'STUDENT'
+            ? state.platformApi + '/student/queryUserInfo'
+            : state.platformApi + '/teacher/queryUserInfo',
           {
             initRequest: true // 初始化接口
           }

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

@@ -10,19 +10,19 @@ import {
 } from 'vue';
 import styles from './index.module.less';
 // import iconLook from './image/look.svg';
-import { useRoute, useRouter } from 'vue-router';
+import { useRouter } from 'vue-router';
 import OEmpty from '@/components/o-empty';
 // import OSticky from '@/components/o-sticky';
 import OHeader from '@/components/o-header';
 import CourseItem from './component/CourseItem';
-import { courseEmnu } from '@/constant';
+// import { courseEmnu } from '@/constant';
 // import { browser } from '@/helpers/utils';
 import OLoading from '@/components/o-loading';
 import OSticky from '@/components/o-sticky';
 export default defineComponent({
   name: 'lessonCourseware',
   setup() {
-    const route = useRoute();
+    // const route = useRoute();
     const router = useRouter();
     const data = reactive({
       loading: true,
@@ -63,7 +63,7 @@ export default defineComponent({
     const getSubjectList = async () => {
       try {
         const res = await request.get(
-          '/api-student/lessonCourseware/getLessonCoursewareSubjectList'
+          state.platformApi + '/lessonCourseware/getLessonCoursewareSubjectList'
         );
 
         data.subjectList = res.data || [];
@@ -72,17 +72,22 @@ export default defineComponent({
       }
     };
     onMounted(async () => {
-      await getSubjectList();
-      console.log(state.user.data.student.subjectIdList);
-      const studentSubjectIds = state.user.data.student.subjectIdList;
-      const id = studentSubjectIds ? studentSubjectIds.split(',')[0] : 0;
-      data.subjectList.forEach((subject: any) => {
-        if (Number(id) === subject.id) {
-          data.actionKey = Number(id);
-        }
-      });
+      try {
+        await getSubjectList();
+        console.log(state.user.data.student.subjectIdList);
+        const studentSubjectIds = state.user.data.student.subjectIdList;
+        const id = studentSubjectIds ? studentSubjectIds.split(',')[0] : 0;
+        data.subjectList.forEach((subject: any) => {
+          if (Number(id) === subject.id) {
+            data.actionKey = Number(id);
+          }
+        });
 
-      getList();
+        await getList();
+      } catch {
+        //
+      }
+      data.loading = false;
     });
     const handleClick = (item: any) => {
       router.push({

+ 4 - 0
vite.config.ts

@@ -87,6 +87,10 @@ export default defineConfig({
         target: proxyUrl,
         changeOrigin: true
       },
+      '/api-teacher': {
+        target: proxyUrl,
+        changeOrigin: true
+      },
       '/api-admin': {
         target: proxyUrl,
         changeOrigin: true