|
|
@ -38,7 +38,7 @@ |
|
|
</script> |
|
|
</script> |
|
|
</head> |
|
|
</head> |
|
|
|
|
|
|
|
|
<body class="font-sans bg-light text-dark"> |
|
|
|
|
|
|
|
|
<body class="font-sans bg-light text-dark body-text"> |
|
|
<!-- 页面加载状态 --> |
|
|
<!-- 页面加载状态 --> |
|
|
<div id="loadingOverlay" class="loading-overlay"> |
|
|
<div id="loadingOverlay" class="loading-overlay"> |
|
|
<div class="loading-spinner"></div> |
|
|
<div class="loading-spinner"></div> |
|
|
@ -48,7 +48,7 @@ |
|
|
<header class="fixed w-full bg-white/90 backdrop-blur-sm shadow-sm z-50 transition-all duration-300"> |
|
|
<header class="fixed w-full bg-white/90 backdrop-blur-sm shadow-sm z-50 transition-all duration-300"> |
|
|
<div class="container mx-auto px-4 py-3 flex justify-between items-center"> |
|
|
<div class="container mx-auto px-4 py-3 flex justify-between items-center"> |
|
|
<a href="#" class="flex items-center space-x-2"> |
|
|
<a href="#" class="flex items-center space-x-2"> |
|
|
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center"> |
|
|
|
|
|
|
|
|
<div class="w-10 h-10 rounded-lg gradient-background flex items-center justify-center"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/20230711171637.png" |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/20230711171637.png" |
|
|
style="width: 40px;height: 40px;"> |
|
|
style="width: 40px;height: 40px;"> |
|
|
</div> |
|
|
</div> |
|
|
@ -63,7 +63,7 @@ |
|
|
<a href="#kc" class="font-medium hover:text-primary transition-colors">最新课程</a> |
|
|
<a href="#kc" class="font-medium hover:text-primary transition-colors">最新课程</a> |
|
|
<a href="hcdbqb-guide.html" class="font-medium hover:text-primary transition-colors">操作指南</a> |
|
|
<a href="hcdbqb-guide.html" class="font-medium hover:text-primary transition-colors">操作指南</a> |
|
|
<a href="https://wa.me/+6588792879?text=夺宝奇兵指南我需要帮助" target="_blank" |
|
|
<a href="https://wa.me/+6588792879?text=夺宝奇兵指南我需要帮助" target="_blank" |
|
|
class="px-5 py-2 rounded-full gradient-bg text-white font-medium hover:shadow-lg transition-all"> |
|
|
|
|
|
|
|
|
class="px-5 py-2 rounded-full gradient-background text-white font-medium hover:shadow-lg transition-all"> |
|
|
联系我们 |
|
|
联系我们 |
|
|
</a> |
|
|
</a> |
|
|
</nav> |
|
|
</nav> |
|
|
@ -81,7 +81,7 @@ |
|
|
<a href="#kc" class="font-medium py-2 hover:text-primary transition-colors">最新课程</a> |
|
|
<a href="#kc" class="font-medium py-2 hover:text-primary transition-colors">最新课程</a> |
|
|
<a href="hcdbqb-guide.html" class="font-medium py-2 hover:text-primary transition-colors">操作指南</a> |
|
|
<a href="hcdbqb-guide.html" class="font-medium py-2 hover:text-primary transition-colors">操作指南</a> |
|
|
<a href="https://wa.me/+6588792879?text=夺宝奇兵指南我需要帮助" target="_blank" |
|
|
<a href="https://wa.me/+6588792879?text=夺宝奇兵指南我需要帮助" target="_blank" |
|
|
class="py-2 rounded-full gradient-bg text-white font-medium text-center hover:shadow-lg transition-all"> |
|
|
|
|
|
|
|
|
class="py-2 rounded-full gradient-background text-white font-medium text-center hover:shadow-lg transition-all"> |
|
|
联系我们 |
|
|
联系我们 |
|
|
</a> |
|
|
</a> |
|
|
</div> |
|
|
</div> |
|
|
@ -93,17 +93,17 @@ |
|
|
<div class="container mx-auto max-w-6xl"> |
|
|
<div class="container mx-auto max-w-6xl"> |
|
|
<div class="flex flex-col md:flex-row items-center"> |
|
|
<div class="flex flex-col md:flex-row items-center"> |
|
|
<div class="md:w-1/2 mb-10 md:mb-0 animate-fade-in"> |
|
|
<div class="md:w-1/2 mb-10 md:mb-0 animate-fade-in"> |
|
|
<h1 class="text-[clamp(2rem,5vw,3.5rem)] font-bold leading-tight text-shadow-custom mb-6"> |
|
|
|
|
|
|
|
|
<h1 class="text-[clamp(2rem,5vw,3.5rem)] font-bold leading-tight text-shadow-custom mb-6 heading-primary"> |
|
|
夺宝奇兵,<br> |
|
|
夺宝奇兵,<br> |
|
|
<span class="bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent">现在免费体验!</span> |
|
|
<span class="bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent">现在免费体验!</span> |
|
|
</h1> |
|
|
</h1> |
|
|
<p class="text-lg text-gray-600 mb-8 max-w-lg"> |
|
|
|
|
|
|
|
|
<p class="text-lg text-gray-600 mb-8 max-w-lg paragraph-text"> |
|
|
AI时代股票投资必备机构界的黑科技!<br /> |
|
|
AI时代股票投资必备机构界的黑科技!<br /> |
|
|
现开放免费体验7天的活动,立刻注册报名吧! |
|
|
现开放免费体验7天的活动,立刻注册报名吧! |
|
|
</p> |
|
|
</p> |
|
|
<div class="flex flex-col sm:flex-row gap-4"> |
|
|
<div class="flex flex-col sm:flex-row gap-4"> |
|
|
<a href="#register" |
|
|
<a href="#register" |
|
|
class="px-8 py-3 rounded-full gradient-bg text-white font-medium text-center hover:shadow-lg hover:shadow-primary/20 transition-all transform hover:-translate-y-0.5"> |
|
|
|
|
|
|
|
|
class="px-8 py-3 rounded-full gradient-background text-white font-medium text-center hover:shadow-lg hover:shadow-primary/20 transition-all transform hover:-translate-y-0.5"> |
|
|
立即注册 |
|
|
立即注册 |
|
|
</a> |
|
|
</a> |
|
|
<a href="#promotions" |
|
|
<a href="#promotions" |
|
|
@ -132,33 +132,33 @@ |
|
|
<section id="features" class="py-16 px-4 bg-white"> |
|
|
<section id="features" class="py-16 px-4 bg-white"> |
|
|
<div class="container mx-auto max-w-6xl"> |
|
|
<div class="container mx-auto max-w-6xl"> |
|
|
<div class="text-center mb-16 animate-fade-in"> |
|
|
<div class="text-center mb-16 animate-fade-in"> |
|
|
<h2 class="text-[clamp(1.5rem,3vw,2.5rem)] font-bold mb-4">您可以免费体验什么?</h2> |
|
|
|
|
|
<p class="text-gray-600 max-w-2xl mx-auto">您可以免费体验 超级云脑 AI预测大模型 夺宝利剑三个模块 7天 </p> |
|
|
|
|
|
|
|
|
<h2 class="text-[clamp(1.5rem,3vw,2.5rem)] font-bold mb-4 heading-secondary">您可以免费体验什么?</h2> |
|
|
|
|
|
<p class="text-gray-600 max-w-2xl mx-auto paragraph-text">您可以免费体验 超级云脑 AI预测大模型 夺宝利剑三个模块 7天 </p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8"> |
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8"> |
|
|
<div class="bg-white p-8 rounded-2xl shadow-lg card-hover animate-fade-in delay-100"> |
|
|
|
|
|
|
|
|
<div class="bg-white p-8 rounded-2xl shadow-lg card-hover-effect animate-fade-in delay-100"> |
|
|
<div class="w-14 h-14 rounded-xl bg-blue-100 flex items-center justify-center mb-6"> |
|
|
<div class="w-14 h-14 rounded-xl bg-blue-100 flex items-center justify-center mb-6"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/chaojiyunnao.png"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/chaojiyunnao.png"> |
|
|
</div> |
|
|
</div> |
|
|
<h3 class="text-xl font-semibold mb-3">超级云脑</h3> |
|
|
|
|
|
<p class="text-gray-600">您的股票该体检了!<br />从十大维度,为您的股票进行全面体检!</p> |
|
|
|
|
|
|
|
|
<h3 class="text-xl font-semibold mb-3 heading-tertiary">超级云脑</h3> |
|
|
|
|
|
<p class="text-gray-600 paragraph-text">您的股票该体检了!<br />从十大维度,为您的股票进行全面体检!</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-8 rounded-2xl shadow-lg card-hover animate-fade-in delay-200"> |
|
|
|
|
|
|
|
|
<div class="bg-white p-8 rounded-2xl shadow-lg card-hover-effect animate-fade-in delay-200"> |
|
|
<div class="w-14 h-14 rounded-xl bg-purple-100 flex items-center justify-center mb-6"> |
|
|
<div class="w-14 h-14 rounded-xl bg-purple-100 flex items-center justify-center mb-6"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/AIyuce.png"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/AIyuce.png"> |
|
|
</div> |
|
|
</div> |
|
|
<h3 class="text-xl font-semibold mb-3">AI预测大模型</h3> |
|
|
|
|
|
<p class="text-gray-600">采用最先进的安全技术,保护您的数据和隐私,让您高枕无忧地开展业务。</p> |
|
|
|
|
|
|
|
|
<h3 class="text-xl font-semibold mb-3 heading-tertiary">AI预测大模型</h3> |
|
|
|
|
|
<p class="text-gray-600 paragraph-text">采用最先进的安全技术,保护您的数据和隐私,让您高枕无忧地开展业务。</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white p-8 rounded-2xl shadow-lg card-hover animate-fade-in delay-300"> |
|
|
|
|
|
|
|
|
<div class="bg-white p-8 rounded-2xl shadow-lg card-hover-effect animate-fade-in delay-300"> |
|
|
<div class="w-14 h-14 rounded-xl bg-green-100 flex items-center justify-center mb-6"> |
|
|
<div class="w-14 h-14 rounded-xl bg-green-100 flex items-center justify-center mb-6"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/duobaolijian.png"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/duobaolijian.png"> |
|
|
</div> |
|
|
</div> |
|
|
<h3 class="text-xl font-semibold mb-3">夺宝利剑</h3> |
|
|
|
|
|
<p class="text-gray-600">根据您的具体需求提供个性化解决方案,灵活适应不同业务场景和规模。</p> |
|
|
|
|
|
|
|
|
<h3 class="text-xl font-semibold mb-3 heading-tertiary">夺宝利剑</h3> |
|
|
|
|
|
<p class="text-gray-600 paragraph-text">根据您的具体需求提供个性化解决方案,灵活适应不同业务场景和规模。</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -168,8 +168,8 @@ |
|
|
<section id="promotions" class="py-20 px-4 bg-gray-50"> |
|
|
<section id="promotions" class="py-20 px-4 bg-gray-50"> |
|
|
<div class="container mx-auto max-w-6xl"> |
|
|
<div class="container mx-auto max-w-6xl"> |
|
|
<div class="text-center mb-16 animate-fade-in"> |
|
|
<div class="text-center mb-16 animate-fade-in"> |
|
|
<h2 class="text-[clamp(1.5rem,3vw,2.5rem)] font-bold mb-4">我们的创新解决方案</h2> |
|
|
|
|
|
<p class="text-gray-600 max-w-2xl mx-auto">探索我们的核心产品和服务,了解如何为您的业务创造价值</p> |
|
|
|
|
|
|
|
|
<h2 class="text-[clamp(1.5rem,3vw,2.5rem)] font-bold mb-4 heading-secondary">我们的创新解决方案</h2> |
|
|
|
|
|
<p class="text-gray-600 max-w-2xl mx-auto paragraph-text">探索我们的核心产品和服务,了解如何为您的业务创造价值</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 宣传项 1 - 超级云脑 --> |
|
|
<!-- 宣传项 1 - 超级云脑 --> |
|
|
@ -179,23 +179,24 @@ |
|
|
class="w-full h-full object-cover"> |
|
|
class="w-full h-full object-cover"> |
|
|
</div> |
|
|
</div> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<span class="inline-block px-4 py-1 rounded-full bg-blue-100 text-primary text-sm font-medium mb-4"> |
|
|
|
|
|
|
|
|
<span |
|
|
|
|
|
class="inline-block px-4 py-1 rounded-full bg-blue-100 text-primary text-base font-medium mb-4 breadcrumb-text"> |
|
|
HomilyLink > 夺宝奇兵 > 超级云脑 |
|
|
HomilyLink > 夺宝奇兵 > 超级云脑 |
|
|
</span> |
|
|
</span> |
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4">超级云脑:股票体检专家</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6"> |
|
|
|
|
|
|
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4 heading-tertiary">超级云脑:股票体检专家</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6 paragraph-text"> |
|
|
利用人工智能和机器学习技术,快速处理和分析海量数据,通过十大维度为您的股票进行专科体检,追踪机构行为。 |
|
|
利用人工智能和机器学习技术,快速处理和分析海量数据,通过十大维度为您的股票进行专科体检,追踪机构行为。 |
|
|
</p> |
|
|
</p> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>云脑探秘</span> |
|
|
<span>云脑探秘</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>机构动向</span> |
|
|
<span>机构动向</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>体检专家</span> |
|
|
<span>体检专家</span> |
|
|
</li> |
|
|
</li> |
|
|
@ -214,23 +215,24 @@ |
|
|
class="w-full h-full object-cover"> |
|
|
class="w-full h-full object-cover"> |
|
|
</div> |
|
|
</div> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<span class="inline-block px-4 py-1 rounded-full bg-purple-100 text-accent text-sm font-medium mb-4"> |
|
|
|
|
|
|
|
|
<span |
|
|
|
|
|
class="inline-block px-4 py-1 rounded-full bg-purple-100 text-accent text-base font-medium mb-4 breadcrumb-text"> |
|
|
HomilyLink > 夺宝奇兵 > AI预测大模型 |
|
|
HomilyLink > 夺宝奇兵 > AI预测大模型 |
|
|
</span> |
|
|
</span> |
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4">AI预测大模型</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6"> |
|
|
|
|
|
|
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4 heading-tertiary">AI预测大模型</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6 paragraph-text"> |
|
|
AI 预测大模型颠覆传统,以深度学习与算法挖股市数据抓趋势、预测高低点;AI时空共振结合前沿 AI与时空共振精准识别变盘点。 |
|
|
AI 预测大模型颠覆传统,以深度学习与算法挖股市数据抓趋势、预测高低点;AI时空共振结合前沿 AI与时空共振精准识别变盘点。 |
|
|
</p> |
|
|
</p> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>AI股价预测术</span> |
|
|
<span>AI股价预测术</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>AI时空共振</span> |
|
|
<span>AI时空共振</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>未来预测</span> |
|
|
<span>未来预测</span> |
|
|
</li> |
|
|
</li> |
|
|
@ -249,23 +251,24 @@ |
|
|
class="w-full h-full object-cover"> |
|
|
class="w-full h-full object-cover"> |
|
|
</div> |
|
|
</div> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<span class="inline-block px-4 py-1 rounded-full bg-purple-100 text-accent text-sm font-medium mb-4"> |
|
|
|
|
|
|
|
|
<span |
|
|
|
|
|
class="inline-block px-4 py-1 rounded-full bg-purple-100 text-accent text-base font-medium mb-4 breadcrumb-text"> |
|
|
HomilyLink > 夺宝奇兵 > Ai金牛 > 夺宝利剑 |
|
|
HomilyLink > 夺宝奇兵 > Ai金牛 > 夺宝利剑 |
|
|
</span> |
|
|
</span> |
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4">夺宝利剑</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6"> |
|
|
|
|
|
|
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4 heading-tertiary">夺宝利剑</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6 paragraph-text"> |
|
|
最聪明的AI智能均线结合三维波动量,让您在AI时代深度追踪机构的操盘行为! |
|
|
最聪明的AI智能均线结合三维波动量,让您在AI时代深度追踪机构的操盘行为! |
|
|
</p> |
|
|
</p> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>最聪明的AI智能均线</span> |
|
|
<span>最聪明的AI智能均线</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>三维波动量</span> |
|
|
<span>三维波动量</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>AI大数据模型</span> |
|
|
<span>AI大数据模型</span> |
|
|
</li> |
|
|
</li> |
|
|
@ -284,23 +287,24 @@ |
|
|
class="w-full h-full object-cover"> |
|
|
class="w-full h-full object-cover"> |
|
|
</div> |
|
|
</div> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<div class="md:w-1/2 p-8 md:p-12 flex flex-col justify-center"> |
|
|
<span class="inline-block px-4 py-1 rounded-full bg-green-100 text-secondary text-sm font-medium mb-4"> |
|
|
|
|
|
|
|
|
<span |
|
|
|
|
|
class="inline-block px-4 py-1 rounded-full bg-green-100 text-secondary text-base font-medium mb-4 breadcrumb-text"> |
|
|
HomilyLink > 消息 > John Lu谈股财富圈 |
|
|
HomilyLink > 消息 > John Lu谈股财富圈 |
|
|
</span> |
|
|
</span> |
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4">HomilyLink专题讲座</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6"> |
|
|
|
|
|
|
|
|
<h3 class="text-2xl md:text-3xl font-bold mb-4 heading-tertiary">HomilyLink专题讲座</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6 paragraph-text"> |
|
|
我们推出 HomilyLink专题讲座;结合市场事实热点与机构领域黑科技 "夺宝奇兵",助力投资者提升股市获利能力。 |
|
|
我们推出 HomilyLink专题讲座;结合市场事实热点与机构领域黑科技 "夺宝奇兵",助力投资者提升股市获利能力。 |
|
|
</p> |
|
|
</p> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<ul class="space-y-3 mb-8"> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>新加坡时间</span> |
|
|
<span>新加坡时间</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>注意换算当地时间</span> |
|
|
<span>注意换算当地时间</span> |
|
|
</li> |
|
|
</li> |
|
|
<li class="flex items-start"> |
|
|
|
|
|
|
|
|
<li class="flex items-start list-item"> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<i class="fa fa-check-circle text-secondary mt-1 mr-3"></i> |
|
|
<span>HomilyLink班级群课程</span> |
|
|
<span>HomilyLink班级群课程</span> |
|
|
</li> |
|
|
</li> |
|
|
@ -319,8 +323,8 @@ |
|
|
<div class="bg-gradient-to-br from-dark to-gray-800 rounded-3xl shadow-2xl overflow-hidden"> |
|
|
<div class="bg-gradient-to-br from-dark to-gray-800 rounded-3xl shadow-2xl overflow-hidden"> |
|
|
<div class="grid grid-cols-1 md:grid-cols-2"> |
|
|
<div class="grid grid-cols-1 md:grid-cols-2"> |
|
|
<div class="p-8 md:p-12 text-white flex flex-col justify-center"> |
|
|
<div class="p-8 md:p-12 text-white flex flex-col justify-center"> |
|
|
<h2 class="text-2xl md:text-3xl font-bold mb-4">立即注册,开启智能体验之旅!</h2> |
|
|
|
|
|
<p class="text-gray-300 mb-8"> |
|
|
|
|
|
|
|
|
<h2 class="text-2xl md:text-3xl font-bold mb-6 heading-secondary">立即注册,开启智能体验之旅!</h2> |
|
|
|
|
|
<p class="text-gray-300 mb-10 leading-relaxed paragraph-text"> |
|
|
填写报名表,我们会尽快为您开启智能体验之旅! |
|
|
填写报名表,我们会尽快为您开启智能体验之旅! |
|
|
</p> |
|
|
</p> |
|
|
<div class="space-y-6"> |
|
|
<div class="space-y-6"> |
|
|
@ -329,8 +333,8 @@ |
|
|
<img alt="超级云脑" src="https://hc.homilychart.com/hc/250121/img/chaojiyunnao.png"> |
|
|
<img alt="超级云脑" src="https://hc.homilychart.com/hc/250121/img/chaojiyunnao.png"> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<h3 class="font-semibold mb-1">超级云脑</h3> |
|
|
|
|
|
<p class="text-gray-400 text-sm">您的股票体检专家!</p> |
|
|
|
|
|
|
|
|
<h3 class="font-semibold mb-1 heading-tertiary">超级云脑</h3> |
|
|
|
|
|
<p class="text-gray-400 text-sm paragraph-text">您的股票体检专家!</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
@ -339,8 +343,8 @@ |
|
|
<img alt="AI预测大模型" src="https://hc.homilychart.com/hc/250121/img/AIyuce.png"> |
|
|
<img alt="AI预测大模型" src="https://hc.homilychart.com/hc/250121/img/AIyuce.png"> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<h3 class="font-semibold mb-1">AI预测大模型</h3> |
|
|
|
|
|
<p class="text-gray-400 text-sm">时间空间价格AI精准预测!</p> |
|
|
|
|
|
|
|
|
<h3 class="font-semibold mb-1 heading-tertiary">AI预测大模型</h3> |
|
|
|
|
|
<p class="text-gray-400 text-sm paragraph-text">时间空间价格AI精准预测!</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
@ -349,8 +353,8 @@ |
|
|
<img alt="夺宝利剑" src="https://hc.homilychart.com/hc/250121/img/duobaolijian.png"> |
|
|
<img alt="夺宝利剑" src="https://hc.homilychart.com/hc/250121/img/duobaolijian.png"> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<h3 class="font-semibold mb-1">夺宝利剑</h3> |
|
|
|
|
|
<p class="text-gray-400 text-sm">最聪明的AI智能均线+三维波动量</p> |
|
|
|
|
|
|
|
|
<h3 class="font-semibold mb-1 heading-tertiary">夺宝利剑</h3> |
|
|
|
|
|
<p class="text-gray-400 text-sm paragraph-text">最聪明的AI智能均线+三维波动量</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -360,16 +364,16 @@ |
|
|
<form id="registrationForm" class="space-y-6"> |
|
|
<form id="registrationForm" class="space-y-6"> |
|
|
<input type="hidden" name="zbtype" id="zbType" value="6"> |
|
|
<input type="hidden" name="zbtype" id="zbType" value="6"> |
|
|
<div> |
|
|
<div> |
|
|
<label for="userNameInfo" class="block text-sm font-medium text-gray-700 mb-1">姓名</label> |
|
|
|
|
|
|
|
|
<label for="userNameInfo" class="block text-sm font-medium text-gray-700 mb-1 form-label">姓名</label> |
|
|
<input type="text" id="userNameInfo" name="userNameInfo" |
|
|
<input type="text" id="userNameInfo" name="userNameInfo" |
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all" |
|
|
|
|
|
|
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all form-input" |
|
|
placeholder="请输入您的姓名" required> |
|
|
placeholder="请输入您的姓名" required> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<label for="countryInfo" class="block text-sm font-medium text-gray-700 mb-1">国家/地区代码</label> |
|
|
|
|
|
|
|
|
<label for="countryInfo" class="block text-sm font-medium text-gray-700 mb-1 form-label">国家/地区代码</label> |
|
|
<select id="countryInfo" name="countryInfo" |
|
|
<select id="countryInfo" name="countryInfo" |
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all" |
|
|
|
|
|
|
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all form-input" |
|
|
required> |
|
|
required> |
|
|
<option value="+65">+65 新加坡</option> |
|
|
<option value="+65">+65 新加坡</option> |
|
|
<option value="+60">+60 马来西亚</option> |
|
|
<option value="+60">+60 马来西亚</option> |
|
|
@ -407,36 +411,36 @@ |
|
|
</select> |
|
|
</select> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<label for="userMobile" class="block text-sm font-medium text-gray-700 mb-1">电话号码</label> |
|
|
|
|
|
|
|
|
<label for="userMobile" class="block text-sm font-medium text-gray-700 mb-1 form-label">电话号码</label> |
|
|
<input type="tel" name="userMobile" id="userMobile" placeholder="纯手机号 ( 不含国家编号 )" |
|
|
<input type="tel" name="userMobile" id="userMobile" placeholder="纯手机号 ( 不含国家编号 )" |
|
|
onkeyup="value=value.replace(/[^\d]/g,'').replace(/^0/g,'')" |
|
|
onkeyup="value=value.replace(/[^\d]/g,'').replace(/^0/g,'')" |
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all" |
|
|
|
|
|
|
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all form-input" |
|
|
autocomplete="off" required> |
|
|
autocomplete="off" required> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<label for="userWechat" class="block text-sm font-medium text-gray-700 mb-1">微信ID</label> |
|
|
|
|
|
|
|
|
<label for="userWechat" class="block text-sm font-medium text-gray-700 mb-1 form-label">微信ID</label> |
|
|
<input type="text" name="userWechat" id="userWechat" placeholder="微信ID ( 如没有WhatsApp )" |
|
|
<input type="text" name="userWechat" id="userWechat" placeholder="微信ID ( 如没有WhatsApp )" |
|
|
autocomplete="off" |
|
|
autocomplete="off" |
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all"> |
|
|
|
|
|
|
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all form-input"> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<label for="userEmail" class="block text-sm font-medium text-gray-700 mb-1">电子邮箱</label> |
|
|
|
|
|
|
|
|
<label for="userEmail" class="block text-sm font-medium text-gray-700 mb-1 form-label">电子邮箱</label> |
|
|
<input type="email" placeholder="请输入您的邮箱" name="userEmail" id="userEmail" autocomplete="off" |
|
|
<input type="email" placeholder="请输入您的邮箱" name="userEmail" id="userEmail" autocomplete="off" |
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all" |
|
|
|
|
|
|
|
|
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary focus:border-primary transition-all form-input" |
|
|
required> |
|
|
required> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex items-start"> |
|
|
<div class="flex items-start"> |
|
|
<input type="checkbox" id="agreement" name="agreement" class="mt-1 mr-2" required> |
|
|
<input type="checkbox" id="agreement" name="agreement" class="mt-1 mr-2" required> |
|
|
<label for="agreement" class="text-sm text-gray-600"> |
|
|
|
|
|
|
|
|
<label for="agreement" class="text-sm text-gray-600 form-label"> |
|
|
我同意接收相关产品和服务的资讯 |
|
|
我同意接收相关产品和服务的资讯 |
|
|
</label> |
|
|
</label> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<button type="submit" id="submitBtn" |
|
|
<button type="submit" id="submitBtn" |
|
|
class="w-full py-3 px-6 rounded-lg gradient-bg text-white font-medium hover:shadow-lg hover:shadow-primary/20 transition-all transform hover:-translate-y-0.5"> |
|
|
|
|
|
|
|
|
class="w-full py-3 px-6 rounded-lg gradient-background text-white font-medium hover:shadow-lg hover:shadow-primary/20 transition-all transform hover:-translate-y-0.5 form-button"> |
|
|
提交注册 |
|
|
提交注册 |
|
|
</button> |
|
|
</button> |
|
|
</form> |
|
|
</form> |
|
|
@ -452,13 +456,13 @@ |
|
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8"> |
|
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8"> |
|
|
<div> |
|
|
<div> |
|
|
<div class="flex items-center space-x-2 mb-6"> |
|
|
<div class="flex items-center space-x-2 mb-6"> |
|
|
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center"> |
|
|
|
|
|
|
|
|
<div class="w-10 h-10 rounded-lg gradient-background flex items-center justify-center"> |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/20230711171637.png" |
|
|
<img alt="夺宝奇兵" src="https://hc.homilychart.com/hc/250121/img/20230711171637.png" |
|
|
style="width: 40px;height: 40px;"> |
|
|
style="width: 40px;height: 40px;"> |
|
|
</div> |
|
|
</div> |
|
|
<span class="text-xl font-bold">夺宝奇兵</span> |
|
|
<span class="text-xl font-bold">夺宝奇兵</span> |
|
|
</div> |
|
|
</div> |
|
|
<p class="text-gray-400 mb-6"> |
|
|
|
|
|
|
|
|
<p class="text-gray-400 mb-6 paragraph-text"> |
|
|
AI炒股时代 机构界的黑科技! |
|
|
AI炒股时代 机构界的黑科技! |
|
|
</p> |
|
|
</p> |
|
|
<div class="flex space-x-4"> |
|
|
<div class="flex space-x-4"> |
|
|
@ -482,45 +486,46 @@ |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<h4 class="text-lg font-semibold mb-6">产品</h4> |
|
|
|
|
|
|
|
|
<h4 class="text-lg font-semibold mb-6 heading-tertiary">产品</h4> |
|
|
<ul class="space-y-3"> |
|
|
<ul class="space-y-3"> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要了解弘历云版软件" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要了解弘历云版软件" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">弘历云版软件</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">弘历云版软件</a></li> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要了解HomilyChart" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要了解HomilyChart" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">HomilyChart</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">HomilyChart</a></li> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要了解夺宝奇兵" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要了解夺宝奇兵" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">夺宝奇兵</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">夺宝奇兵</a></li> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要了解博股会员" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要了解博股会员" |
|
|
class="text-gray-400 hover:text-white transition-colors">博股会员</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">博股会员</a></li> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要了解最新软件" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要了解最新软件" |
|
|
class="text-gray-400 hover:text-white transition-colors">最新软件</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">最新软件</a></li> |
|
|
</ul> |
|
|
</ul> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<h4 class="text-lg font-semibold mb-6">公司</h4> |
|
|
|
|
|
|
|
|
<h4 class="text-lg font-semibold mb-6 heading-tertiary">公司</h4> |
|
|
<ul class="space-y-3"> |
|
|
<ul class="space-y-3"> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要咨询" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要咨询" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">关于我们</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">关于我们</a></li> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要咨询" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要咨询" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">团队介绍</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">团队介绍</a></li> |
|
|
<li><a href="https://wa.me/+6588792879?text=我要咨询" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我要咨询" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">联系我们</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">联系我们</a></li> |
|
|
</ul> |
|
|
</ul> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<h4 class="text-lg font-semibold mb-6">支持</h4> |
|
|
|
|
|
|
|
|
<h4 class="text-lg font-semibold mb-6 heading-tertiary">支持</h4> |
|
|
<ul class="space-y-3"> |
|
|
<ul class="space-y-3"> |
|
|
<li><a href="hcdbqb-guide.html" class="text-gray-400 hover:text-white transition-colors">帮助中心</a></li> |
|
|
|
|
|
<li><a href="https://wa.me/+6588792879?text=我有问题" target="_blank" |
|
|
|
|
|
|
|
|
<li class="list-item"><a href="hcdbqb-guide.html" |
|
|
|
|
|
class="text-gray-400 hover:text-white transition-colors">帮助中心</a></li> |
|
|
|
|
|
<li class="list-item"><a href="https://wa.me/+6588792879?text=我有问题" target="_blank" |
|
|
class="text-gray-400 hover:text-white transition-colors">常见问题</a></li> |
|
|
class="text-gray-400 hover:text-white transition-colors">常见问题</a></li> |
|
|
</ul> |
|
|
</ul> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="border-t border-gray-800 pt-8 flex flex-col md:flex-row justify-between items-center"> |
|
|
<div class="border-t border-gray-800 pt-8 flex flex-col md:flex-row justify-between items-center"> |
|
|
<p class="text-gray-500 text-sm mb-4 md:mb-0"> |
|
|
|
|
|
|
|
|
<p class="text-gray-500 text-sm mb-4 md:mb-0 paragraph-text"> |
|
|
© Copyright 2025.Capitalmaster Pte Ltd All Rights Reserved. |
|
|
© Copyright 2025.Capitalmaster Pte Ltd All Rights Reserved. |
|
|
</p> |
|
|
</p> |
|
|
<div class="flex space-x-6"> |
|
|
<div class="flex space-x-6"> |
|
|
@ -541,8 +546,8 @@ |
|
|
<div class="w-16 h-16 rounded-full bg-green-100 flex items-center justify-center mx-auto mb-6"> |
|
|
<div class="w-16 h-16 rounded-full bg-green-100 flex items-center justify-center mx-auto mb-6"> |
|
|
<i class="fa fa-check text-secondary text-2xl"></i> |
|
|
<i class="fa fa-check text-secondary text-2xl"></i> |
|
|
</div> |
|
|
</div> |
|
|
<h3 class="text-xl font-bold mb-2">注册成功!</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6">感谢您的注册,我们的顾问将尽快与您联系。</p> |
|
|
|
|
|
|
|
|
<h3 class="text-xl font-bold mb-2 heading-tertiary">注册成功!</h3> |
|
|
|
|
|
<p class="text-gray-600 mb-6 paragraph-text">感谢您的注册,我们的顾问将尽快与您联系。</p> |
|
|
<a href="https://wa.me/8615318705910?text=%E6%8A%A5%E5%90%8D%E8%AF%BE%E7%A8%8B" target="_blank" |
|
|
<a href="https://wa.me/8615318705910?text=%E6%8A%A5%E5%90%8D%E8%AF%BE%E7%A8%8B" target="_blank" |
|
|
class="inline-block px-6 py-2 bg-primary text-white rounded-lg hover:bg-primary/90 transition-colors"> |
|
|
class="inline-block px-6 py-2 bg-primary text-white rounded-lg hover:bg-primary/90 transition-colors"> |
|
|
联系我们 |
|
|
联系我们 |
|
|
@ -552,6 +557,12 @@ |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<script type="module"> |
|
|
<script type="module"> |
|
|
|
|
|
// 常量定义 - 全部大写,下划线分隔 |
|
|
|
|
|
const MAX_NAME_LENGTH = 50; |
|
|
|
|
|
const MAX_EMAIL_LENGTH = 100; |
|
|
|
|
|
const MAX_PHONE_LENGTH = 20; |
|
|
|
|
|
const LOADING_DELAY = 300; |
|
|
|
|
|
|
|
|
// 导入API函数 |
|
|
// 导入API函数 |
|
|
import { registerMemberApi } from './src/api/member.js'; |
|
|
import { registerMemberApi } from './src/api/member.js'; |
|
|
|
|
|
|
|
|
@ -566,9 +577,9 @@ |
|
|
let isSubmitting = false; |
|
|
let isSubmitting = false; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 显示加载状态 |
|
|
|
|
|
|
|
|
* 显示加载指示器 |
|
|
*/ |
|
|
*/ |
|
|
function showLoading() { |
|
|
|
|
|
|
|
|
function showLoadingIndicator() { |
|
|
loadingOverlay.style.display = 'flex'; |
|
|
loadingOverlay.style.display = 'flex'; |
|
|
submitBtn.disabled = true; |
|
|
submitBtn.disabled = true; |
|
|
submitBtn.textContent = '提交中...'; |
|
|
submitBtn.textContent = '提交中...'; |
|
|
@ -576,9 +587,9 @@ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 隐藏加载状态 |
|
|
|
|
|
|
|
|
* 隐藏加载指示器 |
|
|
*/ |
|
|
*/ |
|
|
function hideLoading() { |
|
|
|
|
|
|
|
|
function hideLoadingIndicator() { |
|
|
loadingOverlay.style.display = 'none'; |
|
|
loadingOverlay.style.display = 'none'; |
|
|
submitBtn.disabled = false; |
|
|
submitBtn.disabled = false; |
|
|
submitBtn.textContent = '提交注册'; |
|
|
submitBtn.textContent = '提交注册'; |
|
|
@ -586,58 +597,69 @@ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 显示错误提示 |
|
|
|
|
|
* @param {string} message - 错误信息 |
|
|
|
|
|
|
|
|
* 显示错误消息 |
|
|
|
|
|
* @param {string} errorMessage - 错误信息 |
|
|
*/ |
|
|
*/ |
|
|
function showError(message) { |
|
|
|
|
|
alert(message); |
|
|
|
|
|
|
|
|
function showErrorMessage(errorMessage) { |
|
|
|
|
|
alert(errorMessage); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 处理表单提交 |
|
|
|
|
|
* @param {Event} event - 表单提交事件 |
|
|
|
|
|
|
|
|
* 验证表单数据 |
|
|
|
|
|
* @param {Object} formData - 表单数据 |
|
|
|
|
|
* @returns {boolean} 是否验证通过 |
|
|
*/ |
|
|
*/ |
|
|
async function handleFormSubmit(event) { |
|
|
|
|
|
event.preventDefault(); |
|
|
|
|
|
|
|
|
|
|
|
// 防止重复提交 |
|
|
|
|
|
if (isSubmitting) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 表单数据验证 |
|
|
|
|
|
const userNameInfo = document.getElementById("userNameInfo").value.trim(); |
|
|
|
|
|
const countryInfo = document.getElementById("countryInfo").value; |
|
|
|
|
|
const userMobile = document.getElementById("userMobile").value.trim(); |
|
|
|
|
|
const userWechat = document.getElementById("userWechat").value.trim(); |
|
|
|
|
|
const userEmail = document.getElementById("userEmail").value.trim(); |
|
|
|
|
|
|
|
|
function validateFormData(formData) { |
|
|
|
|
|
const { name, tel, email } = formData; |
|
|
|
|
|
|
|
|
if (!userNameInfo) { |
|
|
|
|
|
showError('请输入姓名'); |
|
|
|
|
|
|
|
|
if (!name || name.length > MAX_NAME_LENGTH) { |
|
|
|
|
|
showErrorMessage('请输入有效的姓名(最多50个字符)'); |
|
|
document.getElementById("userNameInfo").focus(); |
|
|
document.getElementById("userNameInfo").focus(); |
|
|
return; |
|
|
|
|
|
|
|
|
return false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!userMobile) { |
|
|
|
|
|
showError('请输入电话号码'); |
|
|
|
|
|
|
|
|
if (!tel || tel.length > MAX_PHONE_LENGTH) { |
|
|
|
|
|
showErrorMessage('请输入有效的电话号码'); |
|
|
document.getElementById("userMobile").focus(); |
|
|
document.getElementById("userMobile").focus(); |
|
|
return; |
|
|
|
|
|
|
|
|
return false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!userEmail) { |
|
|
|
|
|
showError('请输入电子邮箱'); |
|
|
|
|
|
|
|
|
if (!email || email.length > MAX_EMAIL_LENGTH) { |
|
|
|
|
|
showErrorMessage('请输入电子邮箱'); |
|
|
document.getElementById("userEmail").focus(); |
|
|
document.getElementById("userEmail").focus(); |
|
|
return; |
|
|
|
|
|
|
|
|
return false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 邮箱格式验证 |
|
|
// 邮箱格式验证 |
|
|
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; |
|
|
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; |
|
|
if (!emailRegex.test(userEmail)) { |
|
|
|
|
|
showError('请输入有效的电子邮箱地址'); |
|
|
|
|
|
|
|
|
if (!emailRegex.test(email)) { |
|
|
|
|
|
showErrorMessage('请输入有效的电子邮箱地址'); |
|
|
document.getElementById("userEmail").focus(); |
|
|
document.getElementById("userEmail").focus(); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 处理表单提交事件 |
|
|
|
|
|
* @param {Event} submitEvent - 表单提交事件 |
|
|
|
|
|
*/ |
|
|
|
|
|
async function handleFormSubmit(submitEvent) { |
|
|
|
|
|
submitEvent.preventDefault(); |
|
|
|
|
|
|
|
|
|
|
|
// 防止重复提交 |
|
|
|
|
|
if (isSubmitting) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 表单数据验证 |
|
|
|
|
|
const userNameInfo = document.getElementById("userNameInfo").value.trim(); |
|
|
|
|
|
const countryInfo = document.getElementById("countryInfo").value; |
|
|
|
|
|
const userMobile = document.getElementById("userMobile").value.trim(); |
|
|
|
|
|
const userWechat = document.getElementById("userWechat").value.trim(); |
|
|
|
|
|
const userEmail = document.getElementById("userEmail").value.trim(); |
|
|
|
|
|
|
|
|
const formData = { |
|
|
const formData = { |
|
|
name: userNameInfo, |
|
|
name: userNameInfo, |
|
|
code: countryInfo, |
|
|
code: countryInfo, |
|
|
@ -646,8 +668,12 @@ |
|
|
email: userEmail |
|
|
email: userEmail |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
if (!validateFormData(formData)) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
showLoading(); |
|
|
|
|
|
|
|
|
showLoadingIndicator(); |
|
|
|
|
|
|
|
|
// 调用注册API |
|
|
// 调用注册API |
|
|
const response = await registerMemberApi(formData); |
|
|
const response = await registerMemberApi(formData); |
|
|
@ -656,41 +682,23 @@ |
|
|
successModal.classList.remove('hidden'); |
|
|
successModal.classList.remove('hidden'); |
|
|
registrationForm.reset(); |
|
|
registrationForm.reset(); |
|
|
} else { |
|
|
} else { |
|
|
showError('注册失败: ' + (response.msg || '未知错误')); |
|
|
|
|
|
|
|
|
showErrorMessage('注册失败: ' + (response.msg || '未知错误')); |
|
|
} |
|
|
} |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.error('请求失败:', error); |
|
|
console.error('请求失败:', error); |
|
|
showError('网络错误,请稍后重试'); |
|
|
|
|
|
|
|
|
showErrorMessage('网络错误,请稍后重试'); |
|
|
} finally { |
|
|
} finally { |
|
|
hideLoading(); |
|
|
|
|
|
|
|
|
hideLoadingIndicator(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 绑定表单提交事件 |
|
|
|
|
|
registrationForm.addEventListener('submit', handleFormSubmit); |
|
|
|
|
|
|
|
|
|
|
|
// 关闭模态框事件 |
|
|
|
|
|
closeModal.addEventListener('click', () => { |
|
|
|
|
|
successModal.classList.add('hidden'); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 点击模态框外部关闭 |
|
|
|
|
|
successModal.addEventListener('click', (event) => { |
|
|
|
|
|
if (event.target === successModal) { |
|
|
|
|
|
successModal.classList.add('hidden'); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 移动端菜单切换功能 |
|
|
|
|
|
const menuBtn = document.getElementById('menuBtn'); |
|
|
|
|
|
const mobileMenu = document.getElementById('mobileMenu'); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 切换移动端菜单显示状态 |
|
|
* 切换移动端菜单显示状态 |
|
|
*/ |
|
|
*/ |
|
|
function toggleMobileMenu() { |
|
|
function toggleMobileMenu() { |
|
|
|
|
|
const mobileMenu = document.getElementById('mobileMenu'); |
|
|
mobileMenu.classList.toggle('hidden'); |
|
|
mobileMenu.classList.toggle('hidden'); |
|
|
const icon = menuBtn.querySelector('i'); |
|
|
|
|
|
|
|
|
const icon = document.getElementById('menuBtn').querySelector('i'); |
|
|
if (icon.classList.contains('fa-bars')) { |
|
|
if (icon.classList.contains('fa-bars')) { |
|
|
icon.classList.replace('fa-bars', 'fa-times'); |
|
|
icon.classList.replace('fa-bars', 'fa-times'); |
|
|
} else { |
|
|
} else { |
|
|
@ -698,11 +706,10 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 绑定菜单按钮点击事件 |
|
|
|
|
|
menuBtn.addEventListener('click', toggleMobileMenu); |
|
|
|
|
|
|
|
|
|
|
|
// 导航栏滚动效果 |
|
|
|
|
|
window.addEventListener('scroll', () => { |
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 处理导航栏滚动效果 |
|
|
|
|
|
*/ |
|
|
|
|
|
function handleHeaderScroll() { |
|
|
const header = document.querySelector('header'); |
|
|
const header = document.querySelector('header'); |
|
|
if (window.scrollY > 50) { |
|
|
if (window.scrollY > 50) { |
|
|
header.classList.add('py-2', 'shadow'); |
|
|
header.classList.add('py-2', 'shadow'); |
|
|
@ -711,12 +718,12 @@ |
|
|
header.classList.add('py-3'); |
|
|
header.classList.add('py-3'); |
|
|
header.classList.remove('py-2', 'shadow'); |
|
|
header.classList.remove('py-2', 'shadow'); |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 滚动动画效果 |
|
|
|
|
|
|
|
|
* 执行滚动动画效果 |
|
|
*/ |
|
|
*/ |
|
|
const animateOnScroll = () => { |
|
|
|
|
|
|
|
|
function executeScrollAnimation() { |
|
|
const elements = document.querySelectorAll('.animate-fade-in'); |
|
|
const elements = document.querySelectorAll('.animate-fade-in'); |
|
|
|
|
|
|
|
|
elements.forEach(element => { |
|
|
elements.forEach(element => { |
|
|
@ -728,151 +735,161 @@ |
|
|
element.style.transform = 'translateY(0)'; |
|
|
element.style.transform = 'translateY(0)'; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}; |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 绑定表单提交事件 |
|
|
|
|
|
registrationForm.addEventListener('submit', handleFormSubmit); |
|
|
|
|
|
|
|
|
|
|
|
// 关闭模态框事件 |
|
|
|
|
|
closeModal.addEventListener('click', () => { |
|
|
|
|
|
successModal.classList.add('hidden'); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 点击模态框外部关闭 |
|
|
|
|
|
successModal.addEventListener('click', (event) => { |
|
|
|
|
|
if (event.target === successModal) { |
|
|
|
|
|
successModal.classList.add('hidden'); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 绑定菜单按钮点击事件 |
|
|
|
|
|
document.getElementById('menuBtn').addEventListener('click', toggleMobileMenu); |
|
|
|
|
|
|
|
|
|
|
|
// 导航栏滚动效果 |
|
|
|
|
|
window.addEventListener('scroll', handleHeaderScroll); |
|
|
|
|
|
|
|
|
// 页面加载完成后执行 |
|
|
// 页面加载完成后执行 |
|
|
window.addEventListener('load', () => { |
|
|
window.addEventListener('load', () => { |
|
|
animateOnScroll(); |
|
|
|
|
|
|
|
|
executeScrollAnimation(); |
|
|
// 隐藏加载状态 |
|
|
// 隐藏加载状态 |
|
|
document.getElementById('loadingOverlay').style.display = 'none'; |
|
|
document.getElementById('loadingOverlay').style.display = 'none'; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
// 滚动时执行动画 |
|
|
// 滚动时执行动画 |
|
|
window.addEventListener('scroll', animateOnScroll); |
|
|
|
|
|
|
|
|
window.addEventListener('scroll', executeScrollAnimation); |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style> |
|
|
<style> |
|
|
/* 全局字体大小调整 - 整体放大 */ |
|
|
/* 全局字体大小调整 - 整体放大 */ |
|
|
html { |
|
|
html { |
|
|
font-size: 18px; /* 基础字体大小从16px增加到18px */ |
|
|
|
|
|
|
|
|
font-size: 18px; |
|
|
scroll-behavior: smooth; |
|
|
scroll-behavior: smooth; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
body { |
|
|
|
|
|
font-size: 1.1rem; /* 约19.8px */ |
|
|
|
|
|
|
|
|
/* 文本样式类 */ |
|
|
|
|
|
.body-text { |
|
|
|
|
|
font-size: 1.1rem; |
|
|
line-height: 1.7; |
|
|
line-height: 1.7; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 标题字体大小调整 */ |
|
|
|
|
|
h1 { |
|
|
|
|
|
font-size: clamp(2.8rem, 6vw, 4.5rem) !important; /* 增大标题 */ |
|
|
|
|
|
|
|
|
.heading-primary { |
|
|
|
|
|
font-size: clamp(2.8rem, 6vw, 4.5rem); |
|
|
line-height: 1.2; |
|
|
line-height: 1.2; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
h2 { |
|
|
|
|
|
font-size: clamp(1.6rem, 3vw, 2.5rem) !important; |
|
|
|
|
|
|
|
|
.heading-secondary { |
|
|
|
|
|
font-size: clamp(1.6rem, 3vw, 2.5rem); |
|
|
line-height: 1.3; |
|
|
line-height: 1.3; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
h3 { |
|
|
|
|
|
font-size: clamp(1.7rem, 3vw, 2.5rem) !important; |
|
|
|
|
|
|
|
|
.heading-tertiary { |
|
|
|
|
|
font-size: clamp(1.7rem, 3vw, 2.5rem); |
|
|
line-height: 1.4; |
|
|
line-height: 1.4; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
h4 { |
|
|
|
|
|
font-size: 1.6rem !important; |
|
|
|
|
|
line-height: 1.4; |
|
|
|
|
|
|
|
|
.paragraph-text { |
|
|
|
|
|
font-size: 1.1rem; |
|
|
|
|
|
line-height: 1.7; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 导航菜单字体调大 */ |
|
|
|
|
|
nav a { |
|
|
|
|
|
font-size: 1.2rem !important; |
|
|
|
|
|
|
|
|
.list-item { |
|
|
|
|
|
font-size: 1.1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 英雄区域文字调整 */ |
|
|
|
|
|
.hero-text p { |
|
|
|
|
|
font-size: 1.3rem !important; |
|
|
|
|
|
line-height: 1.6; |
|
|
|
|
|
|
|
|
.breadcrumb-text { |
|
|
|
|
|
font-size: 1.125rem; |
|
|
|
|
|
padding-top: 0.5rem; |
|
|
|
|
|
padding-bottom: 0.5rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 段落文字整体调大 */ |
|
|
|
|
|
p { |
|
|
|
|
|
font-size: 1.1rem !important; |
|
|
|
|
|
line-height: 1.7; |
|
|
|
|
|
|
|
|
.form-label { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
|
|
|
margin-bottom: 0.75rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 按钮文字调大 */ |
|
|
|
|
|
a[class*="px-8"], |
|
|
|
|
|
button[class*="px-8"] { |
|
|
|
|
|
font-size: 1.2rem !important; |
|
|
|
|
|
padding-top: 1rem !important; |
|
|
|
|
|
padding-bottom: 1rem !important; |
|
|
|
|
|
|
|
|
.form-input { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
|
|
|
padding-top: 1rem; |
|
|
|
|
|
padding-bottom: 1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 特色功能卡片文字调大 */ |
|
|
|
|
|
.feature-card h3 { |
|
|
|
|
|
font-size: 1.6rem !important; |
|
|
|
|
|
margin-bottom: 1rem !important; |
|
|
|
|
|
|
|
|
.form-input::placeholder { |
|
|
|
|
|
font-size: 1.1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.feature-card p { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
line-height: 1.6; |
|
|
|
|
|
|
|
|
/* 导航菜单字体调大 */ |
|
|
|
|
|
.nav-link { |
|
|
|
|
|
font-size: 1.2rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 产品宣传区域文字调大 */ |
|
|
|
|
|
.promo-section p { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
line-height: 1.7; |
|
|
|
|
|
|
|
|
/* 按钮文字调大 */ |
|
|
|
|
|
.button-large { |
|
|
|
|
|
font-size: 1.2rem; |
|
|
|
|
|
padding-top: 1rem; |
|
|
|
|
|
padding-bottom: 1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.promo-section ul li { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
|
|
|
/* 特色功能卡片文字调大 */ |
|
|
|
|
|
.feature-card>.heading-tertiary { |
|
|
|
|
|
font-size: 1.6rem; |
|
|
|
|
|
margin-bottom: 1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.promo-section span[class*="px-4"] { |
|
|
|
|
|
font-size: 1.1rem !important; |
|
|
|
|
|
|
|
|
.feature-card>.paragraph-text { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
|
|
|
line-height: 1.6; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 修复注册区域标题行距 */ |
|
|
|
|
|
#register h2 { |
|
|
|
|
|
margin-bottom: 1.5rem !important; |
|
|
|
|
|
line-height: 1.4 !important; /* 增加标题文字的行高 */ |
|
|
|
|
|
|
|
|
/* 产品宣传区域文字调大 */ |
|
|
|
|
|
.promo-section>.paragraph-text { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
|
|
|
line-height: 1.7; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 表单区域文字调大 */ |
|
|
|
|
|
form label { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
margin-bottom: 0.75rem !important; |
|
|
|
|
|
|
|
|
.promo-section>ul>.list-item { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
form input, |
|
|
|
|
|
form select { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
padding-top: 1rem !important; |
|
|
|
|
|
padding-bottom: 1rem !important; |
|
|
|
|
|
|
|
|
.promo-section>.breadcrumb-text { |
|
|
|
|
|
font-size: 1.125rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
form input::placeholder { |
|
|
|
|
|
font-size: 1.1rem !important; |
|
|
|
|
|
|
|
|
/* 修复注册区域标题行距 */ |
|
|
|
|
|
#register>.heading-secondary { |
|
|
|
|
|
margin-bottom: 1.5rem; |
|
|
|
|
|
line-height: 1.4; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 页脚文字调大 */ |
|
|
/* 页脚文字调大 */ |
|
|
footer p, |
|
|
|
|
|
footer a { |
|
|
|
|
|
font-size: 1.1rem !important; |
|
|
|
|
|
|
|
|
.footer-text { |
|
|
|
|
|
font-size: 1.1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
footer h4 { |
|
|
|
|
|
font-size: 1.5rem !important; |
|
|
|
|
|
|
|
|
.footer-heading { |
|
|
|
|
|
font-size: 1.5rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 成功模态框文字调大 */ |
|
|
/* 成功模态框文字调大 */ |
|
|
#successModal h3 { |
|
|
|
|
|
font-size: 1.8rem !important; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#successModal p { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
|
|
|
.modal-heading { |
|
|
|
|
|
font-size: 1.8rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#successModal a { |
|
|
|
|
|
font-size: 1.15rem !important; |
|
|
|
|
|
|
|
|
.modal-text { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 列表项文字调大 */ |
|
|
|
|
|
li { |
|
|
|
|
|
font-size: 1.1rem !important; |
|
|
|
|
|
|
|
|
.modal-button { |
|
|
|
|
|
font-size: 1.15rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 小屏幕适配 */ |
|
|
/* 小屏幕适配 */ |
|
|
@ -881,23 +898,24 @@ li { |
|
|
font-size: 16px; |
|
|
font-size: 16px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
body { |
|
|
|
|
|
|
|
|
.body-text { |
|
|
font-size: 1.05rem; |
|
|
font-size: 1.05rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.mobile-menu a { |
|
|
|
|
|
font-size: 1.1rem !important; |
|
|
|
|
|
padding-top: 0.8rem !important; |
|
|
|
|
|
padding-bottom: 0.8rem !important; |
|
|
|
|
|
|
|
|
.mobile-menu>.nav-link { |
|
|
|
|
|
font-size: 1.1rem; |
|
|
|
|
|
padding-top: 0.8rem; |
|
|
|
|
|
padding-bottom: 0.8rem; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 原有动画样式保持不变 */ |
|
|
|
|
|
|
|
|
/* 动画定义 */ |
|
|
@keyframes fadeIn { |
|
|
@keyframes fadeIn { |
|
|
from { |
|
|
from { |
|
|
opacity: 0; |
|
|
opacity: 0; |
|
|
transform: translateY(20px); |
|
|
transform: translateY(20px); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
to { |
|
|
to { |
|
|
opacity: 1; |
|
|
opacity: 1; |
|
|
transform: translateY(0); |
|
|
transform: translateY(0); |
|
|
@ -905,10 +923,16 @@ li { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes spin { |
|
|
@keyframes spin { |
|
|
0% { transform: rotate(0deg); } |
|
|
|
|
|
100% { transform: rotate(360deg); } |
|
|
|
|
|
|
|
|
0% { |
|
|
|
|
|
transform: rotate(0); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
100% { |
|
|
|
|
|
transform: rotate(360deg); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* 工具类 */ |
|
|
.content-auto { |
|
|
.content-auto { |
|
|
content-visibility: auto; |
|
|
content-visibility: auto; |
|
|
} |
|
|
} |
|
|
@ -917,16 +941,16 @@ li { |
|
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
|
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.card-hover { |
|
|
|
|
|
|
|
|
.card-hover-effect { |
|
|
transition: all 0.3s ease; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.card-hover:hover { |
|
|
|
|
|
|
|
|
.card-hover-effect:hover { |
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); |
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); |
|
|
transform: translateY(-4px); |
|
|
transform: translateY(-4px); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.gradient-bg { |
|
|
|
|
|
|
|
|
.gradient-background { |
|
|
background: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%); |
|
|
background: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -934,9 +958,17 @@ li { |
|
|
animation: fadeIn 0.6s ease-out forwards; |
|
|
animation: fadeIn 0.6s ease-out forwards; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.delay-100 { animation-delay: 0.1s; } |
|
|
|
|
|
.delay-200 { animation-delay: 0.2s; } |
|
|
|
|
|
.delay-300 { animation-delay: 0.3s; } |
|
|
|
|
|
|
|
|
.delay-100 { |
|
|
|
|
|
animation-delay: 0.1s; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.delay-200 { |
|
|
|
|
|
animation-delay: 0.2s; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.delay-300 { |
|
|
|
|
|
animation-delay: 0.3s; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.loading-overlay { |
|
|
.loading-overlay { |
|
|
display: none; |
|
|
display: none; |
|
|
|