liyongli 3 주 전
부모
커밋
9665c5d80d
5개의 변경된 파일55개의 추가작업 그리고 159개의 파일을 삭제
  1. 1 1
      src/view/fenghui/en.js
  2. 1 1
      src/view/fenghui/es.js
  3. 3 45
      src/view/fenghui/index.vue
  4. 49 111
      src/view/fenghui/introduction.vue
  5. 1 1
      src/view/fenghui/zh.js

+ 1 - 1
src/view/fenghui/en.js

@@ -1,5 +1,5 @@
 export default {
-    "more": "Conference Manual",
+    "more": "View more meeting details",
     "timesText": "Can be modified twice",
     "searchText": "Only one chance to modify",
     "technicalAdvice": "Technical Support:455769421@qq.com,+86-15809218541",

+ 1 - 1
src/view/fenghui/es.js

@@ -1,5 +1,5 @@
 export default {
-    "more": "Manual de conferencias",
+    "more": "Ver más detalles de la reunión",
     "timesText": "Solo una oportunidad de modificación",
     "searchText": "Por favor, introduzca la palabra clave de búsqueda",
     "technicalAdvice": "Consultoría técnica: 455769421@qq.com",

+ 3 - 45
src/view/fenghui/index.vue

@@ -1,23 +1,13 @@
 <template>
     <div :class="{ fenghui: true, nozh: langSelect !== 'zh' }">
-        <div class="languageList" v-show="!showLange">
+        <div class="languageList">
             <div @click="() => langChange({ selectedValues: [item.value] })"
                 :class="{ languageItem: true, 'languageItem-act': langSelect === item.value }" v-for="item in langObj"
                 v-text="item.text" :key="item.value"></div>
         </div>
-        <div class="isMore" :style="showLange ? 'height: 0;' : 'height: auto;'">
             <Introduction :langType="langSelect" @saveData="saveData" />
-            <div class="title animate" @click="showLange = true">
-                <span style="vertical-align: middle;margin-right: 3px;">{{ lang[langSelect].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>
-        <div class="shouce" :style="showLange ? 'height: auto;' : 'height: 0;padding: 0'">
+        
+        <div class="shouce">
             <img src="@/assets/img/fenghui/0.jpg" />
             <img src="@/assets/img/fenghui/1.jpg" />
             <img src="@/assets/img/fenghui/2.jpg" />
@@ -57,7 +47,6 @@ import lang from './lang';
 const langSelect = ref(localStorage.getItem('langSelect') || 'zh');
 const componentId = ref('');
 const verificationCode = ref('');
-const showLange = ref(false);
 
 let langDefaute = true;
 let langDefauteType = langSelect.value;
@@ -91,7 +80,6 @@ const langChange = ({ selectedValues }) => {
     langSelect.value = selectedValues[0];
     langDefaute = false;
     localStorage.setItem('langSelect', selectedValues[0]);
-    showLange.value = false;
 };
 </script>
 <style lang="scss">
@@ -248,27 +236,6 @@ img {
     width: 100%;
 }
 
-.isMore {
-    position: relative;
-    font-size: 0.6rem;
-    overflow: hidden;
-    transition: all .5s ease-in-out;
-
-    .title {
-        position: absolute;
-        bottom: 0;
-        left: 0;
-        width: 100%;
-        height: 2.5em;
-        line-height: 2.5em;
-        text-align: center;
-        color: #fff;
-        font-size: 1rem;
-        cursor: pointer;
-        animation: slideIn .5s ease-in-out infinite alternate;
-    }
-
-}
 
 .shouce {
     box-sizing: border-box;
@@ -286,13 +253,4 @@ img {
     }
 }
 
-@keyframes slideIn {
-    0% {
-        margin-bottom: 0;
-    }
-
-    100% {
-        margin-bottom: -.3em;
-    }
-}
 </style>

+ 49 - 111
src/view/fenghui/introduction.vue

@@ -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>

+ 1 - 1
src/view/fenghui/zh.js

@@ -1,5 +1,5 @@
 export default {
-    "more": "会议手册",
+    "more": "查看更多会议详情",
     "timesText": "仅有一次修改机会",
     "searchText": "请输入搜索关键词",
     "technicalAdvice": "技术咨询:455769421@qq.com,+86-18502918086",