瀏覽代碼

1、loading 加载改版;2、报名成功后跳转到微信页面;

lex 2 年之前
父節點
當前提交
362cdcca9d

+ 3 - 1
public/project/initiation.html

@@ -485,7 +485,9 @@
             })
             console.log(res)
             if (res.data.code === 200) {
-              this.submitStatus = true
+              // this.submitStatus = true
+              window.location.href =
+                'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd'
             } else {
               vant.showToast(res.data.message)
             }

+ 3 - 1
public/project/preRegister.html

@@ -540,7 +540,9 @@
               code: this.code
             })
             if (res.data.code === 200) {
-              this.submitStatus = true
+              // this.submitStatus = true
+              window.location.href =
+                'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd'
             } else {
               vant.showToast(res.data.message)
             }

+ 13 - 7
src/helpers/request.ts

@@ -4,6 +4,7 @@ import { browser, openLoading, closeLoading } from '@/helpers/utils'
 import { setLogout, setLoginError, state } from '@/state'
 import { postMessage } from './native-message'
 import { showLoadingToast, showToast, closeToast } from 'vant'
+import baseEvent from '@/base-event'
 
 export interface SearchInitParams {
   rows?: string | number
@@ -36,12 +37,14 @@ request.interceptors.request.use(
     // openLoading();
     if (!options.hideLoading) {
       clearTimeout(toast)
-      showLoadingToast({
-        message: '加载中...',
-        forbidClick: true,
-        loadingType: 'spinner',
-        duration: 0
-      })
+      baseEvent.emit('toastShow')
+      // clearTimeout(toast)
+      // showLoadingToast({
+      //   message: '加载中...',
+      //   forbidClick: true,
+      //   loadingType: 'spinner',
+      //   duration: 0
+      // })
     }
 
     initRequest = options.initRequest || false
@@ -90,13 +93,15 @@ request.interceptors.request.use(
 request.interceptors.response.use(
   async (res) => {
     toast = setTimeout(() => {
-      closeToast()
+      baseEvent.emit('toastClose')
+      // closeToast()
     }, 100)
 
 
     if (res.status > 299 || res.status < 200) {
       clearTimeout(toast)
       const msg = '服务器错误,状态码' + res.status
+      baseEvent.emit('toastClose')
       showToast(msg)
       throw new Error(msg)
     }
@@ -114,6 +119,7 @@ request.interceptors.response.use(
       console.log(data.code, '5104')
       if (!(data.code === 403 || data.code === 5000)) {
         clearTimeout(toast)
+        baseEvent.emit('toastClose')
         showToast(msg)
       }
       const browserInfo = browser()

+ 40 - 0
src/school/App.tsx

@@ -0,0 +1,40 @@
+import { Toast } from 'vant'
+import { defineComponent, reactive } from 'vue'
+import { Vue3Lottie } from 'vue3-lottie'
+import AstronautJSON from '../components/o-full-refresh/datas/data.json'
+import baseEvent from '@/base-event'
+
+export default defineComponent({
+  name: 'App',
+  setup() {
+    const state = reactive({
+      showToast: false
+    })
+
+    baseEvent.on('toastShow', () => {
+      state.showToast = true
+    })
+
+    baseEvent.on('toastClose', () => {
+      state.showToast = false
+    })
+
+    return () => (
+      <>
+        <router-view></router-view>
+        <div class={'appRootToast'}>
+          <Toast v-model:show={state.showToast} overlay duration={30000}>
+            {{
+              message: () => (
+                <>
+                  <Vue3Lottie class={'toastAnimate'} animationData={AstronautJSON}></Vue3Lottie>
+                  <p>加载中...</p>
+                </>
+              )
+            }}
+          </Toast>
+        </div>
+      </>
+    )
+  }
+})

+ 0 - 11
src/school/App.vue

@@ -1,11 +0,0 @@
-<template>
-  <router-view></router-view>
-</template>
-
-<script lang="ts">
-import { defineComponent } from 'vue'
-
-export default defineComponent({
-  name: 'App'
-})
-</script>

+ 3 - 1
src/school/companion-teacher/companion-teacher-register.tsx

@@ -104,7 +104,9 @@ export default defineComponent({
             schoolId: state.id
           }
         })
-        state.submitStatus = true
+        // state.submitStatus = true
+        window.location.href =
+          'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd'
       } catch {
         // showToast('保存失败,请重试')
       }

+ 1 - 1
src/school/main.ts

@@ -1,5 +1,5 @@
 import { createApp } from 'vue'
-import App from './App.vue'
+import App from './App'
 import router from '../router/index'
 import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 

+ 3 - 1
src/school/manage-teacher/manage-teacher-register.tsx

@@ -92,7 +92,9 @@ export default defineComponent({
             schoolId: state.id
           }
         })
-        state.submitStatus = true
+        // state.submitStatus = true
+        window.location.href =
+          'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd'
       } catch {
         //
       }

+ 11 - 3
src/student/App.tsx

@@ -8,13 +8,21 @@ export default defineComponent({
   name: 'App',
   setup() {
     const state = reactive({
-      showToast: true
+      showToast: false
+    })
+
+    baseEvent.on('toastShow', () => {
+      state.showToast = true
+    })
+
+    baseEvent.on('toastClose', () => {
+      state.showToast = false
     })
 
     return () => (
       <>
         <router-view></router-view>
-        {/* <div class={'appRootToast'}>
+        <div class={'appRootToast'}>
           <Toast v-model:show={state.showToast} overlay duration={30000}>
             {{
               message: () => (
@@ -25,7 +33,7 @@ export default defineComponent({
               )
             }}
           </Toast>
-        </div> */}
+        </div>
       </>
     )
   }

+ 40 - 0
src/teacher/App.tsx

@@ -0,0 +1,40 @@
+import { Toast } from 'vant'
+import { defineComponent, reactive } from 'vue'
+import { Vue3Lottie } from 'vue3-lottie'
+import AstronautJSON from '../components/o-full-refresh/datas/data.json'
+import baseEvent from '@/base-event'
+
+export default defineComponent({
+  name: 'App',
+  setup() {
+    const state = reactive({
+      showToast: false
+    })
+
+    baseEvent.on('toastShow', () => {
+      state.showToast = true
+    })
+
+    baseEvent.on('toastClose', () => {
+      state.showToast = false
+    })
+
+    return () => (
+      <>
+        <router-view></router-view>
+        <div class={'appRootToast'}>
+          <Toast v-model:show={state.showToast} overlay duration={30000}>
+            {{
+              message: () => (
+                <>
+                  <Vue3Lottie class={'toastAnimate'} animationData={AstronautJSON}></Vue3Lottie>
+                  <p>加载中...</p>
+                </>
+              )
+            }}
+          </Toast>
+        </div>
+      </>
+    )
+  }
+})

+ 0 - 10
src/teacher/App.vue

@@ -1,10 +0,0 @@
-<template>
-  <router-view></router-view>
-</template>
-
-<script lang="ts">
-import { defineComponent } from 'vue'
-export default defineComponent({
-  name: 'App'
-})
-</script>

+ 1 - 1
src/teacher/main.ts

@@ -1,5 +1,5 @@
 import { createApp } from 'vue'
-import App from './App.vue'
+import App from './App'
 import router from '../router/index'
 import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 import Vue3Lottie from 'vue3-lottie'