From fea8b9df2dec6c76bd621cac9db40820f51719be Mon Sep 17 00:00:00 2001 From: landaiqing <3517283258@qq.com> Date: Sun, 11 Aug 2024 19:36:42 +0800 Subject: [PATCH] :sparkles: add 404 page --- components.d.ts | 2 + .../fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 | Bin 0 -> 24280 bytes .../VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 | Bin 0 -> 3768 bytes src/router/modules/notFound.ts | 11 + src/router/router.ts | 7 + src/views/404/NotFound.vue | 76 +++ src/views/404/fonts.scss | 17 + src/views/404/index.scss | 473 ++++++++++++++++++ src/views/Forget/ForgetPage.vue | 11 +- src/views/TestTheme.vue | 3 +- 10 files changed, 594 insertions(+), 6 deletions(-) create mode 100644 src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 create mode 100644 src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 create mode 100644 src/router/modules/notFound.ts create mode 100644 src/views/404/NotFound.vue create mode 100644 src/views/404/fonts.scss create mode 100644 src/views/404/index.scss diff --git a/components.d.ts b/components.d.ts index 1475997..4774356 100644 --- a/components.d.ts +++ b/components.d.ts @@ -33,6 +33,7 @@ declare module 'vue' { LockOutlined: typeof import('@ant-design/icons-vue')['LockOutlined'] LoginFooter: typeof import('./src/views/Login/LoginFooter.vue')['default'] LoginPage: typeof import('./src/views/Login/LoginPage.vue')['default'] + NotFound: typeof import('./src/views/404/NotFound.vue')['default'] QRLogin: typeof import('./src/views/QRLogin/QRLogin.vue')['default'] QRLoginFooter: typeof import('./src/views/QRLogin/QRLoginFooter.vue')['default'] RegisterFooter: typeof import('./src/views/Register/RegisterFooter.vue')['default'] @@ -43,6 +44,7 @@ declare module 'vue' { TabletOutlined: typeof import('@ant-design/icons-vue')['TabletOutlined'] TestI18n: typeof import('./src/views/TestI18n.vue')['default'] TestTheme: typeof import('./src/views/TestTheme.vue')['default'] + TotoroCom: typeof import('./src/components/Totoro/TotoroCom.vue')['default'] UserOutlined: typeof import('@ant-design/icons-vue')['UserOutlined'] } } diff --git a/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 b/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d9249db6b4980bac41ba392514c0aa7f2ba4fb7 GIT binary patch literal 24280 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 LU@6}@t~LMwQ)~YS literal 0 HcmV?d00001 diff --git a/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 b/src/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..23c44c82b6caa9a7ace05e4309c559fa9165dc2f GIT binary patch literal 3768 zcmV;p4oC5KPew8T0RR9101mhS4gdfE02yEa01jgS0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/router/modules/notFound.ts b/src/router/modules/notFound.ts new file mode 100644 index 0000000..950f555 --- /dev/null +++ b/src/router/modules/notFound.ts @@ -0,0 +1,11 @@ +export default [ + { + path: '/404', + name: '404', + component: () => import('@/views/404/NotFound.vue'), + meta: { + requiresAuth: false, + title: '404' + } + } +]; diff --git a/src/router/router.ts b/src/router/router.ts index 19c9b02..8c8d4f9 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -9,14 +9,21 @@ import {message} from "ant-design-vue"; import {close, start} from '@/utils/nprogress/nprogress.ts'; import qrlogin from "@/router/modules/qrlogin.ts"; import resetpass from "@/router/modules/resetpass.ts"; +import notFound from "@/router/modules/notFound.ts"; const routes: Array = [ ...login, ...qrlogin, ...resetpass, + ...notFound, ...test, ...test2, + { + path: '/:pathMatch(.*)', + redirect: '/404', + hidden: true + } ]; const router: Router = createRouter({ diff --git a/src/views/404/NotFound.vue b/src/views/404/NotFound.vue new file mode 100644 index 0000000..c3361ae --- /dev/null +++ b/src/views/404/NotFound.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/views/404/fonts.scss b/src/views/404/fonts.scss new file mode 100644 index 0000000..072eb89 --- /dev/null +++ b/src/views/404/fonts.scss @@ -0,0 +1,17 @@ +/* latin-ext */ +@font-face { + font-family: 'Concert One'; + font-style: normal; + font-weight: 400; + src: url("@/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTsjP6yuQ.woff2") format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Concert One'; + font-style: normal; + font-weight: 400; + src: url("@/assets/fonts/VEM1Ro9xs5PjtzCu-srDqSTijP4.woff2") format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/src/views/404/index.scss b/src/views/404/index.scss new file mode 100644 index 0000000..62d7fdc --- /dev/null +++ b/src/views/404/index.scss @@ -0,0 +1,473 @@ +@import url("fonts.scss"); + +body { + background-color: rgb(238, 255, 238); + font-family: "Concert One", cursive; + margin: 0; + overflow: hidden; + padding: 0; +} + +/*/////////////////// rules */ +/*/////////////////// scene */ +.text { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + color: rgba(19, 36, 44, 0.1); + font-size: 30em; + text-align: center; + top: 40%; +} + +.container { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + height: 300px; + width: 500px; +} + +.container:after { + position: absolute; + content: ""; + background-color: rgba(19, 36, 44, 0.1); + border-radius: 12px; + bottom: 40px; + height: 12px; + left: 80px; + width: 350px; + z-index: -1; +} + +/*/////////////////// caveman */ +.caveman { + height: 300px; + position: absolute; + width: 250px; +} + +.caveman:nth-child(1) { + right: 20px; +} + +.caveman:nth-child(2) { + left: 20px; + transform: rotateY(180deg); +} + +.head { + position: absolute; + background-color: #13242C; + border-radius: 50px; + height: 140px; + left: 60px; + top: 25px; + width: 65px; +} + +.head:after, .head:before { + content: ""; + position: absolute; + background-color: #13242C; + border-radius: 10px; + height: 20px; + width: 7px; +} + +.head:after { + left: 35px; + top: -8px; + transform: rotate(20deg); +} + +.head:before { + left: 30px; + top: -8px; + transform: rotate(-20deg); +} + +.head .eye { + left: 50%; + position: absolute; + transform: translateX(-50%); + background-color: #EAB08C; + border-radius: 50px; + height: 16px; + left: 45%; + top: 40px; + width: 48px; +} + +.head .eye:after, .head .eye:before { + content: ""; + position: absolute; + top: 50%; + transform: translateY(-50%); + background-color: #13242C; + border-radius: 50%; + height: 5px; + width: 5px; +} + +.head .eye:after { + left: 5px; +} + +.head .eye:before { + right: 9px; +} + +.head .eye .nose { + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + background-color: #D9766C; + border-left: 8px solid rgba(19, 36, 44, 0.1); + border-radius: 10px; + box-sizing: border-box; + height: 35px; + left: 45%; + top: 12px; + width: 15px; +} + +.shape { + left: 50%; + position: absolute; + transform: translateX(-50%); + border-radius: 50%; + height: 140px; + overflow: hidden; + top: 70px; + width: 140px; +} + +.shape .circle { + position: absolute; + border-radius: 50%; + height: 60px; + width: 60px; +} + +.shape .circle:after, .shape .circle:before { + content: ""; + position: absolute; + border-radius: 50%; + height: 20px; + width: 20px; +} + +.shape .circle:after { + left: 50px; + top: 10px; +} + +.shape .circle:before { + left: 60px; + top: 45px; +} + +.shape .circle:nth-child(1) { + left: -12px; + top: 80px; +} + +.shape .circle:nth-child(2) { + right: 10px; + top: 0px; + transform: rotate(90deg); +} + +.shape .circle:nth-child(2):after { + left: 65px; + top: 10px; +} + +.shape .circle:nth-child(2):before { + display: none; +} + +.caveman:nth-child(1) .shape { + background-color: #D13433; +} + +.caveman:nth-child(1) .shape .circle { + background-color: #932422; +} + +.caveman:nth-child(1) .shape .circle:after, .caveman:nth-child(1) .shape .circle:before { + background-color: #932422; +} + +.caveman:nth-child(2) .shape { + background-color: #932422; +} + +.caveman:nth-child(2) .shape .circle { + background-color: #D13433; +} + +.caveman:nth-child(2) .shape .circle:after, .caveman:nth-child(2) .shape .circle:before { + background-color: #D13433; +} + +.arm-right { + position: absolute; + background-color: #EAB08C; + border-left: 8px solid rgba(19, 36, 44, 0.1); + border-radius: 50px; + box-sizing: border-box; + height: 180px; + left: 135px; + top: 80px; + transform-origin: 30px 30px; + width: 60px; + z-index: 1; +} + +.arm-right .club { + position: absolute; + border-bottom: 110px solid #601513; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + height: 0; + left: -60px; + top: 120px; + transform: rotate(70deg); + width: 20px; +} + +.arm-right .club:after, .arm-right .club:before { + position: absolute; + content: ""; + background-color: #601513; + border-radius: 50%; + left: 0; +} + +.arm-right .club:after { + height: 20px; + width: 20px; + top: -10px; +} + +.arm-right .club:before { + height: 40px; + width: 40px; + left: -10px; + top: 90px; +} + +.leg { + position: absolute; + border-radius: 10px; + height: 55px; + top: 200px; + width: 10px; +} + +.leg:after { + position: absolute; + content: ""; + border-radius: 50%; + height: 10px; + left: -5px; + top: 15px; + width: 10px; +} + +.leg .foot { + position: absolute; + border-radius: 25px 25px 0 0; + height: 25px; + left: -38px; + top: 30px; + width: 50px; +} + +.leg .foot:after, .leg .foot:before, .leg .foot .fingers, .leg .foot .fingers:after { + position: absolute; + background-color: #EAB08C; + border-radius: 50%; + bottom: 0px; + height: 15px; + transform-origin: bottom; + width: 15px; +} + +.leg .foot:after { + left: -6px; + content: ""; +} + +.leg .foot:before { + left: 8px; + transform: scale(0.6); + content: ""; +} + +.leg .foot .fingers { + left: 15px; + transform: scale(0.6); +} + +.leg .foot .fingers:after { + left: 11px; + content: ""; +} + +.leg:nth-child(1) { + background-color: #B2524D; + left: 95px; +} + +.leg:nth-child(1):after { + background-color: #B2524D; +} + +.leg:nth-child(1) .foot { + background-color: #B2524D; +} + +.leg:nth-child(1) .foot:after { + background-color: #B2524D; +} + +.leg:nth-child(1) .foot:before { + display: none; +} + +.leg:nth-child(2) { + background-color: #D9766C; + left: 115px; +} + +.leg:nth-child(2):after { + background-color: #D9766C; +} + +.leg:nth-child(2) .foot { + background-color: #D9766C; +} + +/*/////////////////// animation */ +.caveman:nth-child(1) .arm-right { + animation: arm-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); +} + +.caveman:nth-child(2) .arm-right { + animation: arm-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.6s; +} + +@keyframes arm-anima { + 0% { + transform: rotate(0); + } + 100% { + transform: rotate(-360deg); + } +} + +.caveman:nth-child(2) .head { + animation: head-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); +} + +.caveman:nth-child(1) .head { + animation: head-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.6s; +} + +@keyframes head-anima { + 0% { + top: 25px; + } + 42% { + top: 25px; + } + 45% { + top: 50px; + } + 100% { + top: 25px; + } +} + +.caveman:nth-child(2) .eye:after, +.caveman:nth-child(2) .eye:before { + animation: eye-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); +} + +.caveman:nth-child(1) .eye:after, +.caveman:nth-child(1) .eye:before { + animation: eye-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.6s; +} + +@keyframes eye-anima { + 0% { + height: 5px; + } + 42% { + height: 5px; + } + 45% { + height: 1px; + } + 100% { + height: 5px; + } +} + +.container:after { + animation: shadow-anima 1.2s infinite cubic-bezier(0.55, 0.01, 0.16, 1.34); + animation-delay: 0.1s; +} + +@keyframes shadow-anima { + 0% { + width: 350px; + left: 80px; + } + 25% { + width: 450px; + left: 80px; + } + 50% { + width: 350px; + left: 80px; + } + 75% { + width: 450px; + left: 0px; + } + 100% { + width: 350px; + left: 80px; + } +} + +/*/////////////////////// credit ////*/ +#link { + bottom: 20px; + color: #000; + opacity: 0.2; + display: flex; + align-items: center; + position: absolute; + left: 50%; + transform: translateX(-50%); +} + +#link p { + margin: 0; + margin-left: 5px; +} + +#link:hover { + opacity: 1; +} diff --git a/src/views/Forget/ForgetPage.vue b/src/views/Forget/ForgetPage.vue index 0250511..e389cce 100644 --- a/src/views/Forget/ForgetPage.vue +++ b/src/views/Forget/ForgetPage.vue @@ -25,7 +25,8 @@ {{ t("login.phoneCaptcha") }} - + @@ -51,7 +52,8 @@ {{ t("login.repassword") }} - + @@ -60,7 +62,8 @@ {{ t("login.resetPassword") - }} + }} + @@ -87,7 +90,7 @@ import {Rule} from "ant-design-vue/lib/form"; const router = useRouter(); const {t} = useI18n(); -const resetPasswordRef = ref() +const resetPasswordRef = ref(); const ResetPasswordForm: UnwrapRef = reactive({ phone: '', captcha: '', diff --git a/src/views/TestTheme.vue b/src/views/TestTheme.vue index e17d435..25b709d 100644 --- a/src/views/TestTheme.vue +++ b/src/views/TestTheme.vue @@ -17,14 +17,13 @@
test
- +