Commit e55e112a2b89a542411987634e09a296523851e7
1 parent
6ca03742
fix: 删除邮件人机验证,prod2-65/66
Showing
1 changed file
with
73 additions
and
67 deletions
pages/contact.vue
@@ -42,29 +42,29 @@ | @@ -42,29 +42,29 @@ | ||
42 | rel="noopener noreferrer" | 42 | rel="noopener noreferrer" |
43 | style="display: flex; align-items: center; gap: 8px" | 43 | style="display: flex; align-items: center; gap: 8px" |
44 | > | 44 | > |
45 | - <span | ||
46 | - ><svg | ||
47 | - t="1733206392822" | ||
48 | - class="icon" | ||
49 | - viewBox="0 0 1024 1024" | ||
50 | - version="1.1" | ||
51 | - xmlns="http://www.w3.org/2000/svg" | ||
52 | - p-id="5464" | ||
53 | - width="20" | ||
54 | - height="20" | ||
55 | - > | ||
56 | - <path | ||
57 | - d="M948.245333 0H75.52C33.877333 0 0.021333 33.066667 0.021333 73.813333v876.288C0 990.890667 33.877333 1024 75.52 1024h872.704c41.749333 0 75.733333-33.109333 75.733333-73.898667V73.834667C1024 33.045333 989.994667 0 948.266667 0z" | ||
58 | - fill="#007BB5" | ||
59 | - p-id="5465" | ||
60 | - ></path> | ||
61 | - <path | ||
62 | - d="M151.744 383.893333h152.021333V872.533333H151.744V383.893333z m76.053333-242.922666a88.106667 88.106667 0 1 1-0.128 176.170666 88.106667 88.106667 0 0 1 0.128-176.170666M399.04 383.893333h145.578667v66.794667h2.090666c20.266667-38.4 69.802667-78.933333 143.701334-78.933333 153.770667 0 182.186667 101.184 182.186666 232.810666V872.533333h-151.850666v-237.653333c0-56.661333-0.981333-129.557333-78.933334-129.557333-79.018667 0-91.093333 61.76-91.093333 125.525333v241.706667h-151.68V383.872z" | ||
63 | - fill="#FFFFFF" | ||
64 | - p-id="5466" | ||
65 | - ></path></svg></span | ||
66 | - >LinkedIn</a | ||
67 | - > | 45 | + <svg |
46 | + t="1733206392822" | ||
47 | + class="icon" | ||
48 | + viewBox="0 0 1024 1024" | ||
49 | + version="1.1" | ||
50 | + xmlns="http://www.w3.org/2000/svg" | ||
51 | + p-id="5464" | ||
52 | + width="20" | ||
53 | + height="20" | ||
54 | + > | ||
55 | + <path | ||
56 | + d="M948.245333 0H75.52C33.877333 0 0.021333 33.066667 0.021333 73.813333v876.288C0 990.890667 33.877333 1024 75.52 1024h872.704c41.749333 0 75.733333-33.109333 75.733333-73.898667V73.834667C1024 33.045333 989.994667 0 948.266667 0z" | ||
57 | + fill="#007BB5" | ||
58 | + p-id="5465" | ||
59 | + ></path> | ||
60 | + <path | ||
61 | + d="M151.744 383.893333h152.021333V872.533333H151.744V383.893333z m76.053333-242.922666a88.106667 88.106667 0 1 1-0.128 176.170666 88.106667 88.106667 0 0 1 0.128-176.170666M399.04 383.893333h145.578667v66.794667h2.090666c20.266667-38.4 69.802667-78.933333 143.701334-78.933333 153.770667 0 182.186667 101.184 182.186666 232.810666V872.533333h-151.850666v-237.653333c0-56.661333-0.981333-129.557333-78.933334-129.557333-79.018667 0-91.093333 61.76-91.093333 125.525333v241.706667h-151.68V383.872z" | ||
62 | + fill="#FFFFFF" | ||
63 | + p-id="5466" | ||
64 | + ></path> | ||
65 | + </svg> | ||
66 | |||
67 | + </a> | ||
68 | </span> | 68 | </span> |
69 | <span class="tw-mt-2"> | 69 | <span class="tw-mt-2"> |
70 | <a | 70 | <a |
@@ -208,13 +208,12 @@ | @@ -208,13 +208,12 @@ | ||
208 | @blur="v$.text.$touch" | 208 | @blur="v$.text.$touch" |
209 | @input="v$.text.$touch" | 209 | @input="v$.text.$touch" |
210 | ></v-text-field> | 210 | ></v-text-field> |
211 | -<!-- <div class="recaptcha-container" style="margin-bottom: 20px">--> | ||
212 | -<!-- <!– reCAPTCHA v2 Checkbox –>--> | ||
213 | -<!-- <div id="recaptcha" class="g-recaptcha"></div>--> | ||
214 | -<!-- <!– 验证成功后显示的消息 –>--> | ||
215 | -<!-- <!– <div v-if="verified" class="success-message">验证通过!</div> –>--> | ||
216 | -<!-- </div>--> | ||
217 | - <!-- <v-btn class="me-4" @click="v$.$validate"> submit </v-btn> --> | 211 | + <!-- Recaptcha container commented out as requested |
212 | + <div class="recaptcha-container" style="margin-bottom: 20px"> | ||
213 | + <div id="recaptcha" class="g-recaptcha"></div> | ||
214 | + <div v-if="verified" class="success-message">验证通过!</div> | ||
215 | + </div> | ||
216 | + --> | ||
218 | <v-btn class="me-4" @click="handleSubmit"> submit </v-btn> | 217 | <v-btn class="me-4" @click="handleSubmit"> submit </v-btn> |
219 | <v-btn @click="clear"> clear </v-btn> | 218 | <v-btn @click="clear"> clear </v-btn> |
220 | </form> | 219 | </form> |
@@ -244,7 +243,7 @@ import { ref, reactive } from "vue"; | @@ -244,7 +243,7 @@ import { ref, reactive } from "vue"; | ||
244 | import { useVuelidate } from "@vuelidate/core"; | 243 | import { useVuelidate } from "@vuelidate/core"; |
245 | import { email, required, maxLength } from "@vuelidate/validators"; | 244 | import { email, required, maxLength } from "@vuelidate/validators"; |
246 | 245 | ||
247 | -const verified = ref(false); // 验证状态 | 246 | +const verified = ref(true); // 验证状态设为true,不再依赖reCAPTCHA |
248 | const snackbar = ref(false); | 247 | const snackbar = ref(false); |
249 | const snackbarFailed = ref(false); | 248 | const snackbarFailed = ref(false); |
250 | const initialState = { | 249 | const initialState = { |
@@ -259,29 +258,26 @@ const state = reactive({ | @@ -259,29 +258,26 @@ const state = reactive({ | ||
259 | }); | 258 | }); |
260 | 259 | ||
261 | const handleSubmit = async () => { | 260 | const handleSubmit = async () => { |
262 | - if (verified.value) { | ||
263 | - let { data } = await useAsyncData( | ||
264 | - "sendEmail", | ||
265 | - () => | ||
266 | - $fetch("/email/send", { | ||
267 | - method: "POST", | ||
268 | - body: { | ||
269 | - firstName: state.firstName, | ||
270 | - lastName: state.lastName, | ||
271 | - email: state.email, | ||
272 | - message: state.text, | ||
273 | - subject: "", | ||
274 | - }, | ||
275 | - }), | ||
276 | - { | ||
277 | - server: true, // 仅在服务器端获取数据 | ||
278 | - } | ||
279 | - ); | ||
280 | - if (data.value.message == "成功") { | ||
281 | - snackbar.value = true; | ||
282 | - } else { | ||
283 | - snackbarFailed.value = true; | 261 | + // Removed verification condition since recaptcha is commented out |
262 | + let { data } = await useAsyncData( | ||
263 | + "sendEmail", | ||
264 | + () => | ||
265 | + $fetch("/email/send", { | ||
266 | + method: "POST", | ||
267 | + body: { | ||
268 | + firstName: state.firstName, | ||
269 | + lastName: state.lastName, | ||
270 | + email: state.email, | ||
271 | + message: state.text, | ||
272 | + subject: "", | ||
273 | + }, | ||
274 | + }), | ||
275 | + { | ||
276 | + server: true, // 仅在服务器端获取数据 | ||
284 | } | 277 | } |
278 | + ); | ||
279 | + if (data.value.message == "成功") { | ||
280 | + snackbar.value = true; | ||
285 | } else { | 281 | } else { |
286 | snackbarFailed.value = true; | 282 | snackbarFailed.value = true; |
287 | } | 283 | } |
@@ -305,6 +301,8 @@ function clear() { | @@ -305,6 +301,8 @@ function clear() { | ||
305 | } | 301 | } |
306 | } | 302 | } |
307 | 303 | ||
304 | +// Recaptcha related code commented out as requested | ||
305 | +/* | ||
308 | onMounted(() => { | 306 | onMounted(() => { |
309 | // 动态加载 reCAPTCHA 脚本并初始化 | 307 | // 动态加载 reCAPTCHA 脚本并初始化 |
310 | loadRecaptchaScript(() => { | 308 | loadRecaptchaScript(() => { |
@@ -356,16 +354,15 @@ const loadRecaptchaScript = (callback) => { | @@ -356,16 +354,15 @@ const loadRecaptchaScript = (callback) => { | ||
356 | 354 | ||
357 | // 脚本加载完成后的回调 | 355 | // 脚本加载完成后的回调 |
358 | script.onload = () => { | 356 | script.onload = () => { |
359 | - // 修改开始 | ||
360 | callback(); | 357 | callback(); |
361 | - }; // 修改结束 | 358 | + }; |
362 | 359 | ||
363 | // 脚本加载失败时的回调 | 360 | // 脚本加载失败时的回调 |
364 | script.onerror = () => {}; | 361 | script.onerror = () => {}; |
365 | 362 | ||
366 | document.head.appendChild(script); | 363 | document.head.appendChild(script); |
367 | }; | 364 | }; |
368 | - | 365 | +*/ |
369 | useHead({ | 366 | useHead({ |
370 | title: "Contact", | 367 | title: "Contact", |
371 | }); | 368 | }); |
@@ -483,10 +480,13 @@ useHead({ | @@ -483,10 +480,13 @@ useHead({ | ||
483 | @media screen and (min-width: 1537px) { | 480 | @media screen and (min-width: 1537px) { |
484 | .image-name { | 481 | .image-name { |
485 | display: -webkit-box; /* Enables multi-line text handling */ | 482 | display: -webkit-box; /* Enables multi-line text handling */ |
486 | - -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */ | 483 | + -webkit-box-orient: vertical; /* Sets the vertical orientation of the box */ |
487 | -webkit-line-clamp: 3; /* Limits the text to 3 lines */ | 484 | -webkit-line-clamp: 3; /* Limits the text to 3 lines */ |
488 | overflow: hidden; /* Hides the overflowed text */ | 485 | overflow: hidden; /* Hides the overflowed text */ |
489 | text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ | 486 | text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ |
487 | + white-space: normal; /* Allows the text to wrap */ | ||
488 | + line-height: 1.5em; /* Sets the line height */ | ||
489 | + min-height: calc(3 * 1.5em); /* Ensures the minimum height is 3 lines */ | ||
490 | margin-top: 5px; | 490 | margin-top: 5px; |
491 | font-size: 16px; | 491 | font-size: 16px; |
492 | width: 180px; | 492 | width: 180px; |
@@ -498,10 +498,13 @@ useHead({ | @@ -498,10 +498,13 @@ useHead({ | ||
498 | @media screen and (max-width: 1536px) and (min-width: 1281px) { | 498 | @media screen and (max-width: 1536px) and (min-width: 1281px) { |
499 | .image-name { | 499 | .image-name { |
500 | display: -webkit-box; /* Enables multi-line text handling */ | 500 | display: -webkit-box; /* Enables multi-line text handling */ |
501 | - -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */ | 501 | + -webkit-box-orient: vertical; /* Sets the vertical orientation of the box */ |
502 | -webkit-line-clamp: 3; /* Limits the text to 3 lines */ | 502 | -webkit-line-clamp: 3; /* Limits the text to 3 lines */ |
503 | overflow: hidden; /* Hides the overflowed text */ | 503 | overflow: hidden; /* Hides the overflowed text */ |
504 | text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ | 504 | text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ |
505 | + white-space: normal; /* Allows the text to wrap */ | ||
506 | + line-height: 1.5em; /* Sets the line height */ | ||
507 | + min-height: calc(3 * 1.5em); /* Ensures the minimum height is 3 lines */ | ||
505 | margin-top: 5px; | 508 | margin-top: 5px; |
506 | font-size: 16px; | 509 | font-size: 16px; |
507 | width: 180px; | 510 | width: 180px; |
@@ -513,10 +516,13 @@ useHead({ | @@ -513,10 +516,13 @@ useHead({ | ||
513 | @media screen and (max-width: 1280px) { | 516 | @media screen and (max-width: 1280px) { |
514 | .image-name { | 517 | .image-name { |
515 | display: -webkit-box; /* Enables multi-line text handling */ | 518 | display: -webkit-box; /* Enables multi-line text handling */ |
516 | - -webkit-box-orient: vertical; /* Defines the vertical orientation of the box */ | 519 | + -webkit-box-orient: vertical; /* Sets the vertical orientation of the box */ |
517 | -webkit-line-clamp: 3; /* Limits the text to 3 lines */ | 520 | -webkit-line-clamp: 3; /* Limits the text to 3 lines */ |
518 | overflow: hidden; /* Hides the overflowed text */ | 521 | overflow: hidden; /* Hides the overflowed text */ |
519 | text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ | 522 | text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ |
523 | + white-space: normal; /* Allows the text to wrap */ | ||
524 | + line-height: 1.5em; /* Sets the line height */ | ||
525 | + min-height: calc(3 * 1.5em); /* Ensures the minimum height is 3 lines */ | ||
520 | margin-top: 5px; | 526 | margin-top: 5px; |
521 | font-size: 16px; | 527 | font-size: 16px; |
522 | width: 180px; | 528 | width: 180px; |
@@ -569,14 +575,14 @@ button .recommendButton { | @@ -569,14 +575,14 @@ button .recommendButton { | ||
569 | transition: all 0.3s ease-in-out; | 575 | transition: all 0.3s ease-in-out; |
570 | } | 576 | } |
571 | .clamp-text { | 577 | .clamp-text { |
572 | - display: -webkit-box; /* 使用弹性盒子 */ | ||
573 | - -webkit-box-orient: vertical; /* 设置为垂直方向 */ | ||
574 | - -webkit-line-clamp: 3; /* 限制最多显示3行 */ | ||
575 | - overflow: hidden; /* 隐藏多余内容 */ | ||
576 | - text-overflow: ellipsis; /* 添加省略号 */ | ||
577 | - white-space: normal; /* 允许换行 */ | ||
578 | - line-height: 1.5em; /* 设置每行的高度 */ | ||
579 | - min-height: calc(3 * 1.5em); /* 确保最小高度为3行 */ | 578 | + display: -webkit-box; /* Enables multi-line text handling */ |
579 | + -webkit-box-orient: vertical; /* Sets the vertical orientation of the box */ | ||
580 | + -webkit-line-clamp: 3; /* Limits the text to 3 lines */ | ||
581 | + overflow: hidden; /* Hides the overflowed text */ | ||
582 | + text-overflow: ellipsis; /* Adds an ellipsis when the text overflows */ | ||
583 | + white-space: normal; /* Allows the text to wrap */ | ||
584 | + line-height: 1.5em; /* Sets the line height */ | ||
585 | + min-height: calc(3 * 1.5em); /* Ensures the minimum height is 3 lines */ | ||
580 | } | 586 | } |
581 | span a { | 587 | span a { |
582 | color: black; | 588 | color: black; |