caichengyu há 11 meses atrás
pai
commit
be668ee3c0
5 ficheiros alterados com 474 adições e 4 exclusões
  1. 11 3
      src/permission.js
  2. 5 0
      src/router/index.js
  3. 1 1
      src/utils/request.js
  4. 225 0
      src/views/error/msg.vue
  5. 232 0
      src/views/msg.vue

+ 11 - 3
src/permission.js

@@ -10,7 +10,7 @@ import $api from "@/api/api"
 
 NProgress.configure({ showSpinner: false })
 let spotCheckData = {}
-const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
+const whiteList = ['/login', '/auth-redirect', '/bind', '/register','/msg']
 router.beforeEach(async (to, from, next) => {
   if (to.path !== from.path) {
     NProgress.start();
@@ -48,6 +48,7 @@ router.beforeEach(async (to, from, next) => {
             break;
         }
         $api[url]({ data: to.query.data }).then(res => {
+          console.log(res)
           let data = {
             userId: res.data.userId,
             realName: res.data.realName,
@@ -71,14 +72,21 @@ router.beforeEach(async (to, from, next) => {
           // console.log("yb",data.token)
           resolve()
         }).catch(() => {
-          Message.error("数据错误,解析失败")
+          // Message.error("数据错误,解析失败")
           store.dispatch('FedLogOut')
           console.log("执行了FedLogOut")
-          next(`/login?TenantId=${sessionStorage.TenantId}`)
+          // next(`/login?TenantId=${sessionStorage.TenantId}`)
+          next(`/msg`)
+           return;
         })
       })
     }
+    // if(msgtype==1)
+    // {
+    //   return next(`/error/404`)
+    // }
   }
+
   if (sessionStorage.TenantId && !store.state.user.companyName) {
     store.dispatch('footerData')
   }

+ 5 - 0
src/router/index.js

@@ -58,6 +58,11 @@ export const constantRoutes = [
     component: (resolve) => require(['@/views/error/401'], resolve),
     hidden: true
   },
+  {
+    path: '/msg',
+    component: (resolve) => require(['@/views/msg'], resolve),
+    hidden: true
+  },
   {
     path: '',
     component: Layout,

+ 1 - 1
src/utils/request.js

@@ -94,7 +94,7 @@ service.interceptors.response.use(res => {
       showClose: true
     })
     return Promise.reject(new Error(msg))
-  } else if (code === 510 || code === 511) {
+  } else if (code === 507 || code === 510 || code === 511) {
     return res.data
   } else if (code !== 200) {
     Notification.error({

+ 225 - 0
src/views/error/msg.vue

@@ -0,0 +1,225 @@
+<template>
+    <div class="wscn-http404-container">
+      <el-result title="404" subTitle="抱歉,请求错误">
+  <template slot="icon">
+    <el-image src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png"></el-image>
+  </template>
+  <template slot="extra">
+    <el-button type="primary" size="medium">返回</el-button>
+  </template>
+</el-result>
+    </div>
+  </template>
+  
+  <script>
+  
+  export default {
+    name: 'PageMsg',
+    data() {
+        return{
+            type:1,
+        }
+    },
+    computed: {
+      message() {
+        return '找不到网页!'
+      }
+    }
+  }
+  </script>
+  
+  <style lang="scss" scoped>
+  .wscn-http404-container{
+    transform: translate(-50%,-50%);
+    position: absolute;
+    top: 40%;
+    left: 50%;
+  }
+  .wscn-http404 {
+    position: relative;
+    width: 1200px;
+    padding: 0 50px;
+    overflow: hidden;
+    .pic-404 {
+      position: relative;
+      float: left;
+      width: 600px;
+      overflow: hidden;
+      &__parent {
+        width: 100%;
+      }
+      &__child {
+        position: absolute;
+        &.left {
+          width: 80px;
+          top: 17px;
+          left: 220px;
+          opacity: 0;
+          animation-name: cloudLeft;
+          animation-duration: 2s;
+          animation-timing-function: linear;
+          animation-fill-mode: forwards;
+          animation-delay: 1s;
+        }
+        &.mid {
+          width: 46px;
+          top: 10px;
+          left: 420px;
+          opacity: 0;
+          animation-name: cloudMid;
+          animation-duration: 2s;
+          animation-timing-function: linear;
+          animation-fill-mode: forwards;
+          animation-delay: 1.2s;
+        }
+        &.right {
+          width: 62px;
+          top: 100px;
+          left: 500px;
+          opacity: 0;
+          animation-name: cloudRight;
+          animation-duration: 2s;
+          animation-timing-function: linear;
+          animation-fill-mode: forwards;
+          animation-delay: 1s;
+        }
+        @keyframes cloudLeft {
+          0% {
+            top: 17px;
+            left: 220px;
+            opacity: 0;
+          }
+          20% {
+            top: 33px;
+            left: 188px;
+            opacity: 1;
+          }
+          80% {
+            top: 81px;
+            left: 92px;
+            opacity: 1;
+          }
+          100% {
+            top: 97px;
+            left: 60px;
+            opacity: 0;
+          }
+        }
+        @keyframes cloudMid {
+          0% {
+            top: 10px;
+            left: 420px;
+            opacity: 0;
+          }
+          20% {
+            top: 40px;
+            left: 360px;
+            opacity: 1;
+          }
+          70% {
+            top: 130px;
+            left: 180px;
+            opacity: 1;
+          }
+          100% {
+            top: 160px;
+            left: 120px;
+            opacity: 0;
+          }
+        }
+        @keyframes cloudRight {
+          0% {
+            top: 100px;
+            left: 500px;
+            opacity: 0;
+          }
+          20% {
+            top: 120px;
+            left: 460px;
+            opacity: 1;
+          }
+          80% {
+            top: 180px;
+            left: 340px;
+            opacity: 1;
+          }
+          100% {
+            top: 200px;
+            left: 300px;
+            opacity: 0;
+          }
+        }
+      }
+    }
+    .bullshit {
+      position: relative;
+      float: left;
+      width: 300px;
+      padding: 30px 0;
+      overflow: hidden;
+      &__oops {
+        font-size: 32px;
+        font-weight: bold;
+        line-height: 40px;
+        color: #1482f0;
+        opacity: 0;
+        margin-bottom: 20px;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-fill-mode: forwards;
+      }
+      &__headline {
+        font-size: 20px;
+        line-height: 24px;
+        color: #222;
+        font-weight: bold;
+        opacity: 0;
+        margin-bottom: 10px;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-delay: 0.1s;
+        animation-fill-mode: forwards;
+      }
+      &__info {
+        font-size: 13px;
+        line-height: 21px;
+        color: grey;
+        opacity: 0;
+        margin-bottom: 30px;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-delay: 0.2s;
+        animation-fill-mode: forwards;
+      }
+      &__return-home {
+        display: block;
+        float: left;
+        width: 110px;
+        height: 36px;
+        background: #1482f0;
+        border-radius: 100px;
+        text-align: center;
+        color: #ffffff;
+        opacity: 0;
+        font-size: 14px;
+        line-height: 36px;
+        cursor: pointer;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-delay: 0.3s;
+        animation-fill-mode: forwards;
+      }
+      @keyframes slideUp {
+        0% {
+          transform: translateY(60px);
+          opacity: 0;
+        }
+        100% {
+          transform: translateY(0);
+          opacity: 1;
+        }
+      }
+    }
+  }
+  </style>
+  

+ 232 - 0
src/views/msg.vue

@@ -0,0 +1,232 @@
+<template>
+    <div class="wscn-http404-container">
+        <el-result icon="info" title="没有找到学员报名记录或学员已取消报名。" subTitle="">
+      <template slot="extra">
+        <el-button type="primary" size="medium" @click="tologin">确定</el-button>
+      </template>
+    </el-result>
+    </div>
+  </template>
+  
+  <script>
+  
+  export default {
+    name: 'PageMsg',
+    data() {
+        return{
+            type:1,
+        }
+    },
+    computed: {
+      message() {
+        return '找不到网页!'
+      }
+    },
+    methods: {
+        tologin(){
+            var tourl='/views/login?TenantId='+sessionStorage.TenantId
+            console.log(tourl);
+            this.$router.push({ path: tourl })
+        }
+    }
+  }
+  </script>
+  
+  <style lang="scss" scoped>
+  .wscn-http404-container{
+    transform: translate(-50%,-50%);
+    position: absolute;
+    top: 40%;
+    left: 50%;
+  }
+  .wscn-http404 {
+    position: relative;
+    width: 1200px;
+    padding: 0 50px;
+    overflow: hidden;
+    .pic-404 {
+      position: relative;
+      float: left;
+      width: 600px;
+      overflow: hidden;
+      &__parent {
+        width: 100%;
+      }
+      &__child {
+        position: absolute;
+        &.left {
+          width: 80px;
+          top: 17px;
+          left: 220px;
+          opacity: 0;
+          animation-name: cloudLeft;
+          animation-duration: 2s;
+          animation-timing-function: linear;
+          animation-fill-mode: forwards;
+          animation-delay: 1s;
+        }
+        &.mid {
+          width: 46px;
+          top: 10px;
+          left: 420px;
+          opacity: 0;
+          animation-name: cloudMid;
+          animation-duration: 2s;
+          animation-timing-function: linear;
+          animation-fill-mode: forwards;
+          animation-delay: 1.2s;
+        }
+        &.right {
+          width: 62px;
+          top: 100px;
+          left: 500px;
+          opacity: 0;
+          animation-name: cloudRight;
+          animation-duration: 2s;
+          animation-timing-function: linear;
+          animation-fill-mode: forwards;
+          animation-delay: 1s;
+        }
+        @keyframes cloudLeft {
+          0% {
+            top: 17px;
+            left: 220px;
+            opacity: 0;
+          }
+          20% {
+            top: 33px;
+            left: 188px;
+            opacity: 1;
+          }
+          80% {
+            top: 81px;
+            left: 92px;
+            opacity: 1;
+          }
+          100% {
+            top: 97px;
+            left: 60px;
+            opacity: 0;
+          }
+        }
+        @keyframes cloudMid {
+          0% {
+            top: 10px;
+            left: 420px;
+            opacity: 0;
+          }
+          20% {
+            top: 40px;
+            left: 360px;
+            opacity: 1;
+          }
+          70% {
+            top: 130px;
+            left: 180px;
+            opacity: 1;
+          }
+          100% {
+            top: 160px;
+            left: 120px;
+            opacity: 0;
+          }
+        }
+        @keyframes cloudRight {
+          0% {
+            top: 100px;
+            left: 500px;
+            opacity: 0;
+          }
+          20% {
+            top: 120px;
+            left: 460px;
+            opacity: 1;
+          }
+          80% {
+            top: 180px;
+            left: 340px;
+            opacity: 1;
+          }
+          100% {
+            top: 200px;
+            left: 300px;
+            opacity: 0;
+          }
+        }
+      }
+    }
+    .bullshit {
+      position: relative;
+      float: left;
+      width: 300px;
+      padding: 30px 0;
+      overflow: hidden;
+      &__oops {
+        font-size: 32px;
+        font-weight: bold;
+        line-height: 40px;
+        color: #1482f0;
+        opacity: 0;
+        margin-bottom: 20px;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-fill-mode: forwards;
+      }
+      &__headline {
+        font-size: 20px;
+        line-height: 24px;
+        color: #222;
+        font-weight: bold;
+        opacity: 0;
+        margin-bottom: 10px;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-delay: 0.1s;
+        animation-fill-mode: forwards;
+      }
+      &__info {
+        font-size: 13px;
+        line-height: 21px;
+        color: grey;
+        opacity: 0;
+        margin-bottom: 30px;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-delay: 0.2s;
+        animation-fill-mode: forwards;
+      }
+      &__return-home {
+        display: block;
+        float: left;
+        width: 110px;
+        height: 36px;
+        background: #1482f0;
+        border-radius: 100px;
+        text-align: center;
+        color: #ffffff;
+        opacity: 0;
+        font-size: 14px;
+        line-height: 36px;
+        cursor: pointer;
+        animation-name: slideUp;
+        animation-duration: 0.5s;
+        animation-delay: 0.3s;
+        animation-fill-mode: forwards;
+      }
+      @keyframes slideUp {
+        0% {
+          transform: translateY(60px);
+          opacity: 0;
+        }
+        100% {
+          transform: translateY(0);
+          opacity: 1;
+        }
+      }
+    }
+    .el-result__subtitle{
+        font-size: 20px;
+    }
+  }
+  </style>
+