|
@@ -148,8 +148,8 @@
|
|
|
</g>
|
|
|
</g>
|
|
|
</svg>
|
|
|
- <h4 class="text" style="font-size: 1.5rem;margin-top: 44px;" v-text="lang[langType].title"></h4>
|
|
|
- <div style="font-size: 1rem;margin-bottom: 62px;margin-top: 19px;color: rgba(255,255,255,0.9);" class="text"
|
|
|
+ <h4 class="text" style="font-size: 1.5rem;margin-top: 14px;" v-text="lang[langType].title"></h4>
|
|
|
+ <div style="font-size: 1rem;margin-bottom: 42px;margin-top: 19px;color: rgba(255,255,255,0.9);" class="text"
|
|
|
v-html="lang[langType].marstContent"></div>
|
|
|
|
|
|
<h4 class="text" style="font-size: 1.2rem;" v-text="lang[langType].wrestleMania"></h4>
|
|
@@ -176,122 +176,36 @@
|
|
|
<div class="text" style="padding-left: 2px;" v-html="lang[langType].organizationSub4"></div>
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
- <!-- <van-button class="btn_bottom" block type="primary" @click="showCheck = true, code = 'fore25'">
|
|
|
- {{ lang[langType].signUp }}
|
|
|
- </van-button>
|
|
|
- <van-button class="btn_bottom" block type="primary" @click="showCheck = true, code = 'chin25'">
|
|
|
- {{ lang[langType].signUpZH }}
|
|
|
- </van-button>
|
|
|
- <van-button class="btn_bottom" block type="primary" @click="showCheck = true, code = 'work25'">
|
|
|
- {{ lang[langType].signUpWK }}
|
|
|
- </van-button>
|
|
|
-
|
|
|
- <p class="tologo" v-html="lang[langType].tologoText + '>>'" @click="showLogin = true"></p>-->
|
|
|
- <p class="tologo" style="margin-top: 50px;margin-bottom: 1em;font-size: 0.9rem;color: rgba(255,255,255,0.8)">
|
|
|
+ <p class="tologo" style="margin-top: 35px;margin-bottom: 1em;font-size: 0.9rem;color: rgba(255,255,255,0.8)">
|
|
|
{{ lang[langType].technicalAdvice }}
|
|
|
- </p>
|
|
|
-
|
|
|
- <!-- 邀请码校验 -->
|
|
|
- <van-dialog destroy-on-close :confirmButtonText="lang[langType].confirm"
|
|
|
- :cancelButtonText="lang[langType].cancel" @confirm="checkVerificationCode" v-model:show="showCheck"
|
|
|
- :title="lang[langType].verificationCode" show-cancel-button>
|
|
|
- <van-field size="large" v-model="verificationCode" :placeholder="lang[langType].verificationCodeContent"
|
|
|
- required
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', pattern: /[a-zA-Z0-9]/g, message: lang[langType].verificationCodeContent }]" />
|
|
|
- />
|
|
|
- </van-dialog>
|
|
|
+ </p>
|
|
|
+ <div class="isMore" id="isMore">
|
|
|
+ <div class="title animate">
|
|
|
+ <span style="vertical-align: middle;margin-right: 3px;">{{ lang[langType].more }}</span>
|
|
|
+ <svg style="vertical-align: middle;" t="1747198043040" class="icon" viewBox="0 0 1024 1024"
|
|
|
+ version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2616" width="16" height="16">
|
|
|
+ <path
|
|
|
+ d="M159.417291 157.449985l352.753089 343.768461 357.257683-345.263511 41.97602 1.49505-399.233704 422.216137-399.221424-422.216137L159.417291 157.449985zM159.417291 438.754812l352.753089 343.769484L869.428064 437.763229l41.97602 0.991584-399.233704 422.717557-399.221424-422.717557L159.417291 438.754812z"
|
|
|
+ fill="#ffffff" p-id="2617"></path>
|
|
|
+ </svg>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <!-- 登录框 -->
|
|
|
- <van-dialog close-on-click-overlay destroy-on-close :show-confirm-button="false" v-model:show="showLogin">
|
|
|
- <br />
|
|
|
- <van-form @submit="saveLogin">
|
|
|
- <van-cell-group inset>
|
|
|
- <van-field size="large" v-model="form.verificationCode" name="verificationCode"
|
|
|
- :label="lang[langType].verificationCode" :placeholder="lang[langType].verificationCodeContent"
|
|
|
- required
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', pattern: /[a-zA-Z0-9]/g, message: lang[langType].verificationCodeContent }]" />
|
|
|
- <van-field size="large" v-model="form.password" name="password" :label="lang[langType].passport"
|
|
|
- :placeholder="lang[langType].passportContent" required
|
|
|
- :rules="[{ required: true, message: lang[langType].passportContent }]" />
|
|
|
- <p style="color: red;font-size: 0.9rem;line-height: 1.5em;height: 1.5em;text-align: center;" v-text="lang[langType].timesText"></p>
|
|
|
- </van-cell-group>
|
|
|
- <div style="margin: 16px;">
|
|
|
- <van-button round block type="primary" size="small" native-type="submit">
|
|
|
- {{ lang[langType].login }}
|
|
|
- </van-button>
|
|
|
- </div>
|
|
|
- </van-form>
|
|
|
- </van-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
-import { defineProps, ref, defineEmits, reactive, onMounted } from 'vue';
|
|
|
-import { checkCode, getUserInfo } from '@/api/2025.js';
|
|
|
-import { showToast } from 'vant';
|
|
|
-import init, { encrypt, decrypt } from "./wasm_encrypt.min.js";
|
|
|
+import { onMounted, defineProps } from 'vue';
|
|
|
import lang from './lang.js';
|
|
|
-const showCheck = ref(false);
|
|
|
-const verificationCode = ref('');
|
|
|
-const showLogin = ref(false);
|
|
|
-const form = reactive({})
|
|
|
-const props = defineProps(['langType']);
|
|
|
-const emits = defineEmits(['saveData']);
|
|
|
-let code = '';
|
|
|
-
|
|
|
+defineProps({
|
|
|
+ langType: {
|
|
|
+ type: String,
|
|
|
+ default: 'zh'
|
|
|
+ }
|
|
|
+})
|
|
|
onMounted(async () => {
|
|
|
- await init();
|
|
|
+ // await init();
|
|
|
})
|
|
|
|
|
|
-const checkVerificationCode = () => {
|
|
|
- let userType = lang[props.langType].distinguishedGuest[code];
|
|
|
- const RCode = Math.random().toString(32).substring(2, 15);
|
|
|
- const data = encrypt({
|
|
|
- code: verificationCode.value.toLowerCase().trim(),
|
|
|
- userType,
|
|
|
- randomCode: RCode
|
|
|
- })
|
|
|
- checkCode({
|
|
|
- token: data
|
|
|
- }).then((res) => {
|
|
|
- const token = decrypt(res.token).randomCode
|
|
|
- if (token !== RCode) {
|
|
|
- showToast(lang[props.langType].verificationCodeError);
|
|
|
- return;
|
|
|
- }
|
|
|
- emits('saveData', code, verificationCode.value.toLowerCase().trim());
|
|
|
- }).catch((res) => {
|
|
|
- console.log(res);
|
|
|
- showToast(res.msg || lang[props.langType].verificationCodeError);
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-const saveLogin = () => {
|
|
|
- const RCode = Math.random().toString(32).substring(2, 15);
|
|
|
- const data = encrypt({
|
|
|
- "code": form.verificationCode.toLowerCase().trim(),
|
|
|
- "idCard": form.password,
|
|
|
- randomCode: RCode
|
|
|
- })
|
|
|
- getUserInfo({
|
|
|
- token: data
|
|
|
- }).then((res) => {
|
|
|
- const token = decrypt(res.token)
|
|
|
- if (token.randomCode !== RCode) {
|
|
|
- showToast(lang[props.langType].verificationCodeError);
|
|
|
- return;
|
|
|
- }
|
|
|
- const userType = token.userType;
|
|
|
- const keysList = Object.keys(lang[props.langType].distinguishedGuest); // 获取对象的所有键名组成的数组
|
|
|
- for (let ii = 0; ii < keysList.length; ii++) {
|
|
|
- const keys = keysList[ii];
|
|
|
- const value = lang[props.langType].distinguishedGuest[keys]; // 获取对象的所有键名组成的数组
|
|
|
- value === userType ? code = keys + 'Recurrence' : '';
|
|
|
- }
|
|
|
- emits('saveData', code, form.verificationCode.toLowerCase().trim(), token);
|
|
|
- }).catch((res) => {
|
|
|
- showToast(res.msg || lang[props.langType].networkError);
|
|
|
- })
|
|
|
-}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
@@ -305,9 +219,23 @@ const saveLogin = () => {
|
|
|
background: url('../../assets/img/2025lameifenghui.png') no-repeat 100% 100%;
|
|
|
width: 100%;
|
|
|
min-height: 100vh;
|
|
|
- overflow-y: scroll;
|
|
|
+ overflow-y: auto;
|
|
|
background-size: 100% 100%;
|
|
|
|
|
|
+ .isMore {
|
|
|
+ font-size: 1rem;
|
|
|
+ margin-top: 3em;
|
|
|
+ text-align: center;
|
|
|
+ color: #ffffff;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ height: 1.5em;
|
|
|
+ transition: all .3s ease-in-out;
|
|
|
+ // animation: slideIn .1s ease-in-out infinite alternate;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
.img {
|
|
|
box-sizing: border-box;
|
|
|
position: relative;
|
|
@@ -329,7 +257,7 @@ const saveLogin = () => {
|
|
|
width: 16px;
|
|
|
height: 1px;
|
|
|
background-color: #FFFFFF00;
|
|
|
- margin: 20px auto 20px 30px;
|
|
|
+ margin: 15px auto 15px 30px;
|
|
|
}
|
|
|
|
|
|
.btn_bottom {
|
|
@@ -346,4 +274,14 @@ const saveLogin = () => {
|
|
|
text-align: center;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+@keyframes slideIn {
|
|
|
+ 0% {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ 100% {
|
|
|
+ margin-bottom: -.3em;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|