Bläddra i källkod

Update index.tsx

lex 11 månader sedan
förälder
incheckning
28e524fffb
1 ändrade filer med 87 tillägg och 69 borttagningar
  1. 87 69
      src/views/activation-code/activation-register/index.tsx

+ 87 - 69
src/views/activation-code/activation-register/index.tsx

@@ -26,7 +26,7 @@ import {
   reactive,
   ref
 } from 'vue';
-import { setLogin, setLoginInit } from '@/state';
+import { setLogin, setLoginInit, setLogout } from '@/state';
 import styles from './index.module.less';
 import MSticky from '@/components/m-sticky';
 // import MVideo from '@/components/m-video';
@@ -45,6 +45,10 @@ import SelectStudent from '@/views/student-register/modal/select-student';
 import { api_sysAreaQueryAllProvince } from '@/views/school-register/api';
 import CodeDialog from '../modal/code-dialog';
 import MSearch from '@/components/m-search';
+import { removeAuth } from '@/views/student-register/layout/utils';
+import { storage } from '@/helpers/storage';
+import { ACCESS_TOKEN } from '@/store/mutation-types';
+import { api_verification } from '@/views/creation/api';
 
 const classList: any = [];
 for (let i = 1; i <= 40; i++) {
@@ -239,18 +243,6 @@ export default defineComponent({
       password: '',
       username: ''
     });
-    // 页面定时
-    const pageTimer = useInterval(1000, { controls: true });
-    pageTimer.pause();
-
-    const overCountDown = useCountDown({
-      time: forms.activeOverTime,
-      onFinish() {
-        forms.activeOverStatus = true;
-        if (forms.submitLoading) return;
-        applyOver();
-      }
-    });
     /** 报名结束提示 */
     const applyOver = () => {
       forms.showTips = true;
@@ -391,66 +383,53 @@ export default defineComponent({
           tPassword = forms.studentItem.token;
           tMultiUser = false;
         }
-        // if (forms.isLoginRegister) {
-        //   tAutoRegister = false;
-        // }
-        const result = await request.post('/edu-app/userlogin', {
-          requestType: 'form',
-          data: {
-            loginType: tLoginType,
-            autoRegister: tAutoRegister,
-            password: tPassword,
-            multiUser: tMultiUser,
-            ...res,
-            extra: JSON.stringify({
-              ...extra,
-              // giftVipDay:
-              //   forms.detailVip.membershipDays || 0 + forms.giftVipDay || 0,
-              schoolId: forms.schoolId
-            })
-          }
-        });
 
-        if (result.code !== 200) {
-          if (result.code === 5436) {
-            forms.showTips = true;
-            forms.showMessage = '二维码已经失效,详情请咨询学校老师';
-            forms.showButton = false;
-          } else if (result.code === 5435) {
-            forms.showTips = true;
-            forms.showMessage = result.message;
-            forms.showButton = true;
-          }
-          // else if (result.code === 5437) {
-          //   forms.showTips = true;
-          //   forms.showMessage =
-          //     '<p style="color: #F44541">报名已截止,感谢您的参与</p>'; //result.message;
-          //   forms.showButton = false;
-          // }
+        // 为了处理新注册学员,在次注册
+        if (forms.isLoginRegister) {
+          await updateStudentInfo();
         } else {
-          forms.isLoginRegister = true;
-          studentRegisterStore.setToken(
-            result.data.token_type + ' ' + result.data.access_token
-          );
-          setLoginInit();
-
-          // let joinType = 'NOT_REGISTER';
-          // if (forms.joinType === 'digitalize') {
-          //   joinType = 'SELECT_INSTRUMENT';
-          // }
-          // if (forms.joinType === 'tradition') {
-          //   joinType = 'NOT_BUY_INSTRUMENT';
-          // }
-
-          // 获取用户信息
-          const res = await request.get('/edu-app/user/getUserInfo', {
-            requestType: 'form'
+          const result = await request.post('/edu-app/userlogin', {
+            requestType: 'form',
+            data: {
+              loginType: tLoginType,
+              autoRegister: tAutoRegister,
+              password: tPassword,
+              multiUser: tMultiUser,
+              ...res,
+              extra: JSON.stringify({
+                ...extra,
+                // giftVipDay:
+                //   forms.detailVip.membershipDays || 0 + forms.giftVipDay || 0,
+                schoolId: forms.schoolId
+              })
+            }
           });
-          setLogin(res.data);
 
-          // await onRegisterSubmit();
+          if (result.code !== 200) {
+            if (result.code === 5436) {
+              forms.showTips = true;
+              forms.showMessage = '二维码已经失效,详情请咨询学校老师';
+              forms.showButton = false;
+            } else if (result.code === 5435) {
+              forms.showTips = true;
+              forms.showMessage = result.message;
+              forms.showButton = true;
+            }
+          } else {
+            forms.isLoginRegister = true;
+            studentRegisterStore.setToken(
+              result.data.token_type + ' ' + result.data.access_token
+            );
+            setLoginInit();
 
-          await updateStudentInfo();
+            // 获取用户信息
+            // const res = await request.get('/edu-app/user/getUserInfo', {
+            //   requestType: 'form'
+            // });
+            // setLogin(res.data);
+
+            await updateStudentInfo();
+          }
         }
       } catch {
         // 重置信息 - 如果是新建则不提示
@@ -460,8 +439,43 @@ export default defineComponent({
       }
     };
 
+    const checkLogin = async () => {
+      try {
+        // 判断是否登录
+        const Authorization = storage.get(ACCESS_TOKEN) || '';
+        if (Authorization) {
+          const res = await api_verification({
+            token: Authorization
+          });
+          if (!res.data) {
+            removeAuth();
+            setLogout();
+            return false;
+          } else {
+            return true;
+          }
+        } else {
+          return false;
+        }
+      } catch (err) {
+        //
+        storage.remove(ACCESS_TOKEN);
+        removeAuth();
+        setLogout();
+        return false;
+      }
+    };
+
     const updateStudentInfo = async () => {
       try {
+        if (forms.isLoginRegister) {
+          const status = await checkLogin();
+          if (!status) {
+            studentInfo.username = '';
+            phoneChangeEmptyInfo();
+          }
+        }
+
         const { extra, username } = studentInfo;
         const registerResult = await request.post('/edu-app/student/register', {
           data: {
@@ -673,7 +687,6 @@ export default defineComponent({
 
     // 获取地区学校详情
     const getSchoolAreaDetail = async () => {
-      // open/schoolArea/detail/1815689916881935735
       try {
         const { data } = await request.get(
           '/edu-app/open/schoolArea/detail/' + forms.schoolAreaId
@@ -692,6 +705,7 @@ export default defineComponent({
             );
             forms.classList = classList;
           } else if (schoolInfo.instrumentSetType === 'GRADE') {
+            forms.gradeList = [];
             schoolInstrumentList.forEach((item: any) => {
               forms.gradeList.push({
                 text: GRADE_ENUM[item.gradeNum],
@@ -753,8 +767,12 @@ export default defineComponent({
         //
       }
     };
+
     onMounted(async () => {
       try {
+        storage.remove(ACCESS_TOKEN);
+        removeAuth();
+        setLogout();
         const code: any = route.query.code;
         if (code) {
           forms.activationCode = window.atob(code);