lex-xin před 3 roky
rodič
revize
f02f171fe4

binární
src/assets/404_images/404.png


binární
src/assets/404_images/404_cloud.png


binární
src/assets/404_images/permission_bg.png


binární
src/assets/logo.png


+ 193 - 0
src/pages/404/index.module.less

@@ -0,0 +1,193 @@
+.wscnHttp404Container {
+  transform: translate(-50%, -50%);
+  position: absolute;
+  top: 40%;
+  left: 50%;
+}
+.wscnHttp404 {
+  position: relative;
+  width: 1200px;
+  padding: 0 50px;
+  overflow: hidden;
+  .pic404 {
+    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: 380px;
+    padding: 30px 0;
+    overflow: hidden;
+    text-align: left;
+    &__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;
+    }
+    &__returnHome {
+      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;
+      }
+    }
+  }
+}

+ 32 - 4
src/pages/404/index.tsx

@@ -1,12 +1,40 @@
 import { defineComponent } from "vue";
+import styles from "./index.module.less";
 
 export default defineComponent({
+  name: 'Page404',
+  data() {
+    return {
+      message: "很抱歉,你访问的页面不存在"
+    };
+  },
   render() {
     return (
-      <div>
-        <h1>404</h1>
-        <p>Page not found.</p>
+      <div class={styles.wscnHttp404Container}>
+        <div class={styles.wscnHttp404}>
+        <div class={styles.pic404}>
+            <img class={styles.pic404__parent}
+                src="/src/assets/404_images/404.png"
+                alt="404" />
+            <img class={[styles.pic404__child, styles.left]}
+                src="/src/assets/404_images/404_cloud.png"
+                alt="404" />
+            <img class={[styles.pic404__child, styles.mid]}
+                src="/src/assets/404_images/404_cloud.png"
+                alt="404" />
+            <img class={[styles.pic404__child, styles.right]}
+                src="/src/assets/404_images/404_cloud.png"
+                alt="404" />
+          </div>
+          <div class={styles.bullshit}>
+            <div class={styles.bullshit__oops}>OOPS!</div>
+            <div class={styles.bullshit__headline}>{ this.message }</div>
+            <div class={styles.bullshit__info}>请检查您输入的网址是否正确,或者点击链接继续浏览</div>
+            <a href=""
+              class={styles.bullshit__returnHome}>返回首页</a>
+          </div>
+        </div>
       </div>
     );
   }
-})
+})

+ 0 - 12
src/pages/500/index.tsx

@@ -1,12 +0,0 @@
-import { defineComponent } from "vue";
-
-export default defineComponent({
-  render() {
-    return (
-      <div>
-        <h1>500</h1>
-        <p>Internal server error.</p>
-      </div>
-    );
-  }
-})

+ 0 - 0
src/pages/home/header/index.module.less


+ 0 - 0
src/pages/home/header/index.tsx


+ 2 - 2
src/pages/login/index.tsx

@@ -73,8 +73,8 @@ export default defineComponent({
               data: {
                 username: loginForm.username,
                 password: loginForm.password,
-                clientId: "teacher",
-                clientSecret: "teacher"
+                clientId: "system",
+                clientSecret: "system"
               }
             })
             console.log(res, 'res');