Compare commits

...

12 Commits
master ... dev

  1. 2
      dist-test/hcdbqb-download.html
  2. 2
      dist-test/hcdbqb-guide.html
  3. 135
      dist-test/index.html
  4. 2
      dist-test/main.js
  5. 1027
      hcdbqb-management.html
  6. 126
      index.html
  7. 351
      login-management.html
  8. 10
      node_modules/.vite/deps/_metadata.json
  9. 7
      node_modules/.vue-global-types/vue_3.5_0.d.ts
  10. 1
      vite.config.js

2
dist-test/hcdbqb-download.html

@ -1622,7 +1622,7 @@
href="https://wa.me/+6588792879?text=夺宝奇兵下载我需要帮助" href="https://wa.me/+6588792879?text=夺宝奇兵下载我需要帮助"
target="_blank" target="_blank"
class="py-2 mt-2 rounded-full bg-gradient-to-r from-primary to-purple-600 text-white text-center" class="py-2 mt-2 rounded-full bg-gradient-to-r from-primary to-purple-600 text-white text-center"
>联系我们</a
>加入我们</a
> >
</div> </div>
</div> </div>

2
dist-test/hcdbqb-guide.html

@ -2019,7 +2019,7 @@
href="https://wa.me/+6588792879?text=我要咨询" href="https://wa.me/+6588792879?text=我要咨询"
target="_blank" target="_blank"
class="text-gray-400 hover:text-white transition-colors" class="text-gray-400 hover:text-white transition-colors"
>联系我们</a
>加入我们</a
> >
</li> </li>
</ul> </ul>

135
dist-test/index.html

@ -12,7 +12,7 @@
<link rel="bookmark" href="dbqb_favicon.ico" /> <link rel="bookmark" href="dbqb_favicon.ico" />
<meta http-equiv="keywords" content="夺宝奇兵,homilychart,homilylink"> <meta http-equiv="keywords" content="夺宝奇兵,homilychart,homilylink">
<meta http-equiv="description" content="HomilyLink"> <meta http-equiv="description" content="HomilyLink">
<title>夺宝奇兵 - AI炒股时代,机构界的黑科技</title>
<title>赢在美股——加入我们,开启赢家人生</title>
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<script type="text/javascript" src="https://hc.homilychart.com/hc/210802/js/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://hc.homilychart.com/hc/210802/js/jquery-1.9.1.min.js"></script>
@ -36,6 +36,24 @@
} }
} }
</script> </script>
<style>
/* 在head中添加初始滚动样式 */
html,
body {
scroll-behavior: auto;
}
/* 隐藏页面内容,直到滚动完成 */
body {
opacity: 0;
transition: opacity 0.3s ease;
}
body.content-visible {
opacity: 1;
}
</style>
<script type="module" crossorigin src="./main.js"></script> <script type="module" crossorigin src="./main.js"></script>
<link rel="modulepreload" crossorigin href="./member.js"> <link rel="modulepreload" crossorigin href="./member.js">
</head> </head>
@ -51,11 +69,11 @@
<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-background 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://d31zlh4on95l9h.cloudfront.net/images/497d8b38ab9f738e9720d5d7bddf3beb.png"
style="width: 40px;height: 40px;"> style="width: 40px;height: 40px;">
</div> </div>
<span class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent"> <span class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent">
夺宝奇兵
赢在美股
</span> </span>
</a> </a>
@ -66,7 +84,7 @@
<!-- <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://api.whatsapp.com/send?phone=85255110485&text=我需要帮助" target="_blank" <a href="https://api.whatsapp.com/send?phone=85255110485&text=我需要帮助" target="_blank"
class="px-5 py-2 rounded-full gradient-background 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>
@ -83,9 +101,9 @@
<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="#" class="font-medium py-2 hover:text-primary transition-colors">操作指南</a> --> <!-- <a href="#" class="font-medium py-2 hover:text-primary transition-colors">操作指南</a> -->
<a href="https://wa.me/+6588792879?text=夺宝奇兵指南我需要帮助" target="_blank"
<a href="https://api.whatsapp.com/send?phone=85255110485&text=我需要帮助" target="_blank"
class="py-2 rounded-full gradient-background 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>
</div> </div>
@ -102,7 +120,7 @@
</h1> </h1>
<p class="text-lg text-gray-600 mb-8 max-w-lg paragraph-text"> <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"
@ -135,8 +153,8 @@
<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 heading-secondary">您可以免费体验什么?</h2>
<p class="text-gray-600 max-w-2xl mx-auto paragraph-text">您可以免费体验 超级云脑 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">
@ -192,19 +210,19 @@
<ul class="space-y-3 mb-8"> <ul class="space-y-3 mb-8">
<li class="flex items-start list-item"> <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 list-item"> <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 list-item"> <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>
</ul> </ul>
<a href="#register" class="inline-flex items-center text-primary font-medium hover:underline"> <a href="#register" class="inline-flex items-center text-primary font-medium hover:underline">
注册了解更多 <i class="fa fa-arrow-right ml-2"></i>
加入赢在美股,解锁更多资讯 <i class="fa fa-arrow-right ml-2"></i>
</a> </a>
</div> </div>
</div> </div>
@ -239,7 +257,7 @@
</li> </li>
</ul> </ul>
<a href="#register" class="inline-flex items-center text-primary font-medium hover:underline"> <a href="#register" class="inline-flex items-center text-primary font-medium hover:underline">
注册了解更多 <i class="fa fa-arrow-right ml-2"></i>
加入赢在美股,解锁更多资讯 <i class="fa fa-arrow-right ml-2"></i>
</a> </a>
</div> </div>
</div> </div>
@ -274,7 +292,7 @@
</li> </li>
</ul> </ul>
<a href="#register" class="inline-flex items-center text-primary font-medium hover:underline"> <a href="#register" class="inline-flex items-center text-primary font-medium hover:underline">
注册了解更多 <i class="fa fa-arrow-right ml-2"></i>
加入赢在美股,解锁更多资讯 <i class="fa fa-arrow-right ml-2"></i>
</a> </a>
</div> </div>
</div> </div>
@ -288,7 +306,7 @@
<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 <span
class="inline-block px-4 py-1 rounded-full bg-green-100 text-secondary text-base font-medium mb-4 breadcrumb-text"> 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 > 消息 > 赢在美股班级群
</span> </span>
<h3 class="text-2xl md:text-3xl font-bold mb-4 heading-tertiary">HomilyLink专题讲座</h3> <h3 class="text-2xl md:text-3xl font-bold mb-4 heading-tertiary">HomilyLink专题讲座</h3>
<p class="text-gray-600 mb-6 paragraph-text"> <p class="text-gray-600 mb-6 paragraph-text">
@ -297,34 +315,34 @@
<ul class="space-y-3 mb-8"> <ul class="space-y-3 mb-8">
<li class="flex items-start list-item"> <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 list-item"> <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 list-item"> <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>
</ul> </ul>
<a href="#register" class="inline-flex items-center text-primary font-medium hover:underline"> <a href="#register" class="inline-flex items-center text-primary font-medium hover:underline">
注册了解更多 <i class="fa fa-arrow-right ml-2"></i>
加入赢在美股,解锁更多资讯 <i class="fa fa-arrow-right ml-2"></i>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<!-- 注册表单区域 --> <!-- 注册表单区域 -->
<section id="register" class="py-20 px-4 bg-white"> <section id="register" class="py-20 px-4 bg-white">
<div class="container mx-auto max-w-6xl"> <div class="container mx-auto max-w-6xl">
<div class="bg-gradient-to-br from-dark to-gray-800 rounded-3xl shadow-2xl overflow-hidden">
<div class="bg-gradient-to-br 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">
<h2 class="text-2xl md:text-3xl font-bold mb-6 heading-secondary">立即注册,开启智能体验之旅!</h2>
<!-- 左侧区域 - 已替换背景 -->
<div class="p-8 md:p-12 text-white flex flex-col justify-center bg-image-overlay">
<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 class="text-gray-300 mb-10 leading-relaxed paragraph-text">
填写报名表,我们会尽快为您开启智能体验之旅
填写报名表,即可快速解锁专业投资AI工具,助力您把握投资机会
</p> </p>
<div class="space-y-6"> <div class="space-y-6">
<div class="flex items-start"> <div class="flex items-start">
@ -359,6 +377,7 @@
</div> </div>
</div> </div>
<!-- 右侧表单区域 - 保持不变 -->
<div class="bg-white p-8 md:p-12"> <div class="bg-white p-8 md:p-12">
<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">
@ -450,19 +469,19 @@
</section> </section>
<!-- 页脚区域 --> <!-- 页脚区域 -->
<footer class="bg-dark text-white py-12 px-4">
<footer class="footer-bg text-white py-12 px-4">
<div class="container mx-auto max-w-6xl"> <div class="container mx-auto max-w-6xl">
<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-background 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://d31zlh4on95l9h.cloudfront.net/images/497d8b38ab9f738e9720d5d7bddf3beb.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 paragraph-text"> <p class="text-gray-400 mb-6 paragraph-text">
AI炒股时代 机构界的黑科技
加入赢在美股,开启赢家人生
</p> </p>
<div class="flex space-x-4"> <div class="flex space-x-4">
<a href="#" <a href="#"
@ -487,12 +506,12 @@
<div> <div>
<h4 class="text-lg font-semibold mb-6 heading-tertiary">产品</h4> <h4 class="text-lg font-semibold mb-6 heading-tertiary">产品</h4>
<ul class="space-y-3"> <ul class="space-y-3">
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">弘历云版软件</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">HomilyChart</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">夺宝奇兵</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">弘历云版软件</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">HomilyChart</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">夺宝奇兵</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" <li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
class="text-gray-400 hover:text-white transition-colors">博股会员</a></li> class="text-gray-400 hover:text-white transition-colors">博股会员</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" <li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
@ -503,12 +522,12 @@
<div> <div>
<h4 class="text-lg font-semibold mb-6 heading-tertiary">公司</h4> <h4 class="text-lg font-semibold mb-6 heading-tertiary">公司</h4>
<ul class="space-y-3"> <ul class="space-y-3">
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">关于我们</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">团队介绍</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">联系我们</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">关于我们</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">团队介绍</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">联系我们</a></li>
</ul> </ul>
</div> </div>
@ -518,15 +537,16 @@
<li class="list-item"> <li class="list-item">
<!-- <a href="hcdbqb-guide.html" <!-- <a href="hcdbqb-guide.html"
class="text-gray-400 hover:text-white transition-colors">帮助中心</a> --> class="text-gray-400 hover:text-white transition-colors">帮助中心</a> -->
<a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" class="text-gray-400 hover:text-white transition-colors">帮助中心</a>
<a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
class="text-gray-400 hover:text-white transition-colors">帮助中心</a>
</li> </li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">常见问题</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" 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-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 paragraph-text"> <p class="text-gray-500 text-sm mb-4 md:mb-0 paragraph-text">
&copy; Copyright 2025.Capitalmaster Pte Ltd All Rights Reserved. &copy; Copyright 2025.Capitalmaster Pte Ltd All Rights Reserved.
</p> </p>
@ -563,7 +583,6 @@
/* 全局字体大小调整 - 整体调小 */ /* 全局字体大小调整 - 整体调小 */
html { html {
font-size: 16px; font-size: 16px;
scroll-behavior: smooth;
} }
/* 文本样式类 */ /* 文本样式类 */
@ -868,6 +887,30 @@
border-radius: 50%; border-radius: 50%;
animation: spin 1s linear infinite; animation: spin 1s linear infinite;
} }
.gradient-background {
background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
}
.bg-image-overlay {
background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)),
url('https://d31zlh4on95l9h.cloudfront.net/images/3b28e7abdfc4b495324cc3e6d9210b51.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.gradient-background {
background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
}
.footer-bg {
background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
url('https://d31zlh4on95l9h.cloudfront.net/images/22576b3fe6f29e642f322d4d315ae426.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
</style> </style>
</body> </body>

2
dist-test/main.js

@ -1 +1 @@
import{g as E,r as h}from"./member.js";const I=50,L=100,B=20,u=document.getElementById("registrationForm"),l=document.getElementById("successModal"),p=document.getElementById("closeModal"),a=document.getElementById("submitBtn"),g=document.getElementById("loadingOverlay"),i=document.getElementById("lectureImage");let r=!1;async function v(){console.log("开始加载讲座图片...");try{const e={id:1};console.log("调用getImageApi,参数:",e);const t=await E(e);console.log("接口返回:",t),t.code===200&&t.data?(i.src=t.data,console.log("讲座图片加载成功:",t.data)):(console.warn("获取图片失败:",t.msg),i.src="https://hc.homilychart.com/hc/250121/img/kecheng.jpg")}catch(e){console.error("加载讲座图片失败:",e),i.src="https://hc.homilychart.com/hc/250121/img/kecheng.jpg"}}function w(){g.style.display="flex",a.disabled=!0,a.textContent="提交中...",r=!0}function M(){g.style.display="none",a.disabled=!1,a.textContent="提交注册",r=!1}function s(e){alert(e)}function b(e){const{name:t,tel:o,email:n}=e;return!t||t.length>I?(s("请输入有效的姓名(最多50个字符)"),document.getElementById("userNameInfo").focus(),!1):!o||o.length>B?(s("请输入有效的电话号码"),document.getElementById("userMobile").focus(),!1):!n||n.length>L?(s("请输入电子邮箱"),document.getElementById("userEmail").focus(),!1):/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)?!0:(s("请输入有效的电子邮箱地址"),document.getElementById("userEmail").focus(),!1)}async function A(e){if(e.preventDefault(),r)return;const t=document.getElementById("userNameInfo").value.trim(),o=document.getElementById("countryInfo").value,n=document.getElementById("userMobile").value.trim(),d=document.getElementById("userWechat").value.trim(),y=document.getElementById("userEmail").value.trim(),m={name:t,code:o,tel:n,wechat:d,email:y};if(b(m))try{w();const c=await h(m);c.code===200?(l.classList.remove("hidden"),u.reset()):s("注册失败: "+(c.msg||"未知错误"))}catch(c){console.error("请求失败:",c),s("网络错误,请稍后重试")}finally{M()}}function N(){document.getElementById("mobileMenu").classList.toggle("hidden");const t=document.getElementById("menuBtn").querySelector("i");t.classList.contains("fa-bars")?t.classList.replace("fa-bars","fa-times"):t.classList.replace("fa-times","fa-bars")}function H(){const e=document.querySelector("header");window.scrollY>50?(e.classList.add("py-2","shadow"),e.classList.remove("py-3")):(e.classList.add("py-3"),e.classList.remove("py-2","shadow"))}function f(){document.querySelectorAll(".animate-fade-in").forEach(t=>{const o=t.getBoundingClientRect().top,n=window.innerHeight;o<n-100&&(t.style.opacity="1",t.style.transform="translateY(0)")})}window.addEventListener("load",()=>{console.log("页面加载完成,开始调用loadLectureImage..."),v(),f(),document.getElementById("loadingOverlay").style.display="none"});u.addEventListener("submit",A);p.addEventListener("click",()=>{l.classList.add("hidden")});l.addEventListener("click",e=>{e.target===l&&l.classList.add("hidden")});document.getElementById("menuBtn").addEventListener("click",N);window.addEventListener("scroll",H);window.addEventListener("scroll",f);
import{g as h,r as E}from"./member.js";const I=50,L=100,B=20,u=document.getElementById("registrationForm"),c=document.getElementById("successModal"),v=document.getElementById("closeModal"),a=document.getElementById("submitBtn"),g=document.getElementById("loadingOverlay"),i=document.getElementById("lectureImage");let r=!1;function p(){document.documentElement.style.scrollBehavior="auto";const e=document.getElementById("register");if(e){const t=document.querySelector("header").offsetHeight,n=e.offsetTop-t-20;window.scrollTo(0,n)}setTimeout(()=>{document.documentElement.style.scrollBehavior="smooth"},100)}async function w(){console.log("开始加载讲座图片...");try{const e={id:1};console.log("调用getImageApi,参数:",e);const t=await h(e);console.log("接口返回:",t),t.code===200&&t.data?(i.src=t.data,console.log("讲座图片加载成功:",t.data)):(console.warn("获取图片失败:",t.msg),i.src="https://hc.homilychart.com/hc/250121/img/kecheng.jpg")}catch(e){console.error("加载讲座图片失败:",e),i.src="https://hc.homilychart.com/hc/250121/img/kecheng.jpg"}}function b(){g.style.display="flex",a.disabled=!0,a.textContent="提交中...",r=!0}function M(){g.style.display="none",a.disabled=!1,a.textContent="提交注册",r=!1}function s(e){alert(e)}function A(e){const{name:t,tel:n,email:o}=e;return!t||t.length>I?(s("请输入有效的姓名(最多50个字符)"),document.getElementById("userNameInfo").focus(),!1):!n||n.length>B?(s("请输入有效的电话号码"),document.getElementById("userMobile").focus(),!1):!o||o.length>L?(s("请输入电子邮箱"),document.getElementById("userEmail").focus(),!1):/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o)?!0:(s("请输入有效的电子邮箱地址"),document.getElementById("userEmail").focus(),!1)}async function H(e){if(e.preventDefault(),r)return;const t=document.getElementById("userNameInfo").value.trim(),n=document.getElementById("countryInfo").value,o=document.getElementById("userMobile").value.trim(),d=document.getElementById("userWechat").value.trim(),y=document.getElementById("userEmail").value.trim(),m={name:t,code:n,tel:o,wechat:d,email:y};if(A(m))try{b();const l=await E(m);l.code===200?(c.classList.remove("hidden"),u.reset()):s("注册失败: "+(l.msg||"未知错误"))}catch(l){console.error("请求失败:",l),s("网络错误,请稍后重试")}finally{M()}}function S(){document.getElementById("mobileMenu").classList.toggle("hidden");const t=document.getElementById("menuBtn").querySelector("i");t.classList.contains("fa-bars")?t.classList.replace("fa-bars","fa-times"):t.classList.replace("fa-times","fa-bars")}function N(){const e=document.querySelector("header");window.scrollY>50?(e.classList.add("py-2","shadow"),e.classList.remove("py-3")):(e.classList.add("py-3"),e.classList.remove("py-2","shadow"))}function f(){document.querySelectorAll(".animate-fade-in").forEach(t=>{const n=t.getBoundingClientRect().top,o=window.innerHeight;n<o-100&&(t.style.opacity="1",t.style.transform="translateY(0)")})}document.addEventListener("DOMContentLoaded",function(){p(),setTimeout(()=>{document.body.classList.add("content-visible")},50)});window.addEventListener("load",()=>{console.log("页面加载完成,开始调用loadLectureImage..."),w(),f(),document.getElementById("loadingOverlay").style.display="none"});u.addEventListener("submit",H);v.addEventListener("click",()=>{c.classList.add("hidden")});c.addEventListener("click",e=>{e.target===c&&c.classList.add("hidden")});document.getElementById("menuBtn").addEventListener("click",S);window.addEventListener("scroll",N);window.addEventListener("scroll",f);

1027
hcdbqb-management.html
File diff suppressed because it is too large
View File

126
index.html

@ -36,6 +36,24 @@
} }
} }
</script> </script>
<style>
/* 在head中添加初始滚动样式 */
html,
body {
scroll-behavior: auto;
}
/* 隐藏页面内容,直到滚动完成 */
body {
opacity: 0;
transition: opacity 0.3s ease;
}
body.content-visible {
opacity: 1;
}
</style>
</head> </head>
<body class="font-sans bg-light text-dark body-text"> <body class="font-sans bg-light text-dark body-text">
@ -49,7 +67,7 @@
<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-background 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://d31zlh4on95l9h.cloudfront.net/images/497d8b38ab9f738e9720d5d7bddf3beb.png"
style="width: 40px;height: 40px;"> style="width: 40px;height: 40px;">
</div> </div>
<span class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent"> <span class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent">
@ -313,13 +331,13 @@
</div> </div>
</div> </div>
</section> </section>
<!-- 注册表单区域 --> <!-- 注册表单区域 -->
<section id="register" class="py-20 px-4 bg-white"> <section id="register" class="py-20 px-4 bg-white">
<div class="container mx-auto max-w-6xl"> <div class="container mx-auto max-w-6xl">
<div class="bg-gradient-to-br from-dark to-gray-800 rounded-3xl shadow-2xl overflow-hidden">
<div class="bg-gradient-to-br 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 bg-image-overlay">
<h2 class="text-2xl md:text-3xl font-bold mb-6 heading-secondary">加入赢在美股,开启赢家人生!</h2> <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 class="text-gray-300 mb-10 leading-relaxed paragraph-text">
填写报名表,即可快速解锁专业投资AI工具,助力您把握投资机会! 填写报名表,即可快速解锁专业投资AI工具,助力您把握投资机会!
@ -357,6 +375,7 @@
</div> </div>
</div> </div>
<!-- 右侧表单区域 - 保持不变 -->
<div class="bg-white p-8 md:p-12"> <div class="bg-white p-8 md:p-12">
<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">
@ -448,16 +467,16 @@
</section> </section>
<!-- 页脚区域 --> <!-- 页脚区域 -->
<footer class="bg-dark text-white py-12 px-4">
<footer class="footer-bg text-white py-12 px-4">
<div class="container mx-auto max-w-6xl"> <div class="container mx-auto max-w-6xl">
<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-background 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://d31zlh4on95l9h.cloudfront.net/images/497d8b38ab9f738e9720d5d7bddf3beb.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 paragraph-text"> <p class="text-gray-400 mb-6 paragraph-text">
加入赢在美股,开启赢家人生! 加入赢在美股,开启赢家人生!
@ -485,12 +504,12 @@
<div> <div>
<h4 class="text-lg font-semibold mb-6 heading-tertiary">产品</h4> <h4 class="text-lg font-semibold mb-6 heading-tertiary">产品</h4>
<ul class="space-y-3"> <ul class="space-y-3">
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">弘历云版软件</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">HomilyChart</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">夺宝奇兵</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">弘历云版软件</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">HomilyChart</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">夺宝奇兵</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" <li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
class="text-gray-400 hover:text-white transition-colors">博股会员</a></li> class="text-gray-400 hover:text-white transition-colors">博股会员</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" <li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
@ -501,12 +520,12 @@
<div> <div>
<h4 class="text-lg font-semibold mb-6 heading-tertiary">公司</h4> <h4 class="text-lg font-semibold mb-6 heading-tertiary">公司</h4>
<ul class="space-y-3"> <ul class="space-y-3">
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">关于我们</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">团队介绍</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">联系我们</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">关于我们</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">团队介绍</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" class="text-gray-400 hover:text-white transition-colors">联系我们</a></li>
</ul> </ul>
</div> </div>
@ -516,15 +535,16 @@
<li class="list-item"> <li class="list-item">
<!-- <a href="hcdbqb-guide.html" <!-- <a href="hcdbqb-guide.html"
class="text-gray-400 hover:text-white transition-colors">帮助中心</a> --> class="text-gray-400 hover:text-white transition-colors">帮助中心</a> -->
<a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" class="text-gray-400 hover:text-white transition-colors">帮助中心</a>
<a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
class="text-gray-400 hover:text-white transition-colors">帮助中心</a>
</li> </li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股" target="_blank"
class="text-gray-400 hover:text-white transition-colors">常见问题</a></li>
<li class="list-item"><a href="https://api.whatsapp.com/send?phone=85255110485&text=我想了解赢在美股"
target="_blank" 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-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 paragraph-text"> <p class="text-gray-500 text-sm mb-4 md:mb-0 paragraph-text">
&copy; Copyright 2025.Capitalmaster Pte Ltd All Rights Reserved. &copy; Copyright 2025.Capitalmaster Pte Ltd All Rights Reserved.
</p> </p>
@ -580,6 +600,30 @@
let isSubmitting = false; let isSubmitting = false;
/** /**
* 立即滚动到注册表单(在页面加载前执行)
*/
function scrollToRegisterImmediately() {
// 禁用平滑滚动
document.documentElement.style.scrollBehavior = 'auto';
// 立即滚动到注册表单
const registerSection = document.getElementById('register');
if (registerSection) {
// 计算注册表单的位置(考虑固定导航栏的高度)
const headerHeight = document.querySelector('header').offsetHeight;
const registerPosition = registerSection.offsetTop - headerHeight - 20;
// 立即设置滚动位置
window.scrollTo(0, registerPosition);
}
// 恢复平滑滚动
setTimeout(() => {
document.documentElement.style.scrollBehavior = 'smooth';
}, 100);
}
/**
* 从后端获取讲座图片 * 从后端获取讲座图片
*/ */
async function loadLectureImage() { async function loadLectureImage() {
@ -772,6 +816,17 @@
}); });
} }
// DOM加载完成后立即执行
document.addEventListener('DOMContentLoaded', function () {
// 立即滚动到注册表单
scrollToRegisterImmediately();
// 显示页面内容
setTimeout(() => {
document.body.classList.add('content-visible');
}, 50);
});
// 页面加载完成后执行 // 页面加载完成后执行
window.addEventListener('load', () => { window.addEventListener('load', () => {
console.log('页面加载完成,开始调用loadLectureImage...'); console.log('页面加载完成,开始调用loadLectureImage...');
@ -810,7 +865,6 @@
/* 全局字体大小调整 - 整体调小 */ /* 全局字体大小调整 - 整体调小 */
html { html {
font-size: 16px; font-size: 16px;
scroll-behavior: smooth;
} }
/* 文本样式类 */ /* 文本样式类 */
@ -1115,6 +1169,30 @@
border-radius: 50%; border-radius: 50%;
animation: spin 1s linear infinite; animation: spin 1s linear infinite;
} }
.gradient-background {
background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
}
.bg-image-overlay {
background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)),
url('https://d31zlh4on95l9h.cloudfront.net/images/3b28e7abdfc4b495324cc3e6d9210b51.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.gradient-background {
background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
}
.footer-bg {
background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
url('https://d31zlh4on95l9h.cloudfront.net/images/22576b3fe6f29e642f322d4d315ae426.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
</style> </style>
</body> </body>

351
login-management.html

@ -0,0 +1,351 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>系统登录</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif;
}
body {
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}
.login-container {
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
width: 100%;
max-width: 420px;
padding: 40px 30px;
transition: transform 0.3s ease;
}
.login-container:hover {
transform: translateY(-5px);
}
.login-header {
text-align: center;
margin-bottom: 30px;
}
.login-header h1 {
color: #333;
font-size: 28px;
margin-bottom: 8px;
}
.login-header p {
color: #666;
font-size: 16px;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 8px;
color: #555;
font-weight: 500;
}
input {
width: 100%;
padding: 14px 16px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 16px;
transition: all 0.3s;
}
input:focus {
border-color: #4a90e2;
box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
outline: none;
}
.error-message {
color: #e74c3c;
font-size: 14px;
margin-top: 5px;
display: none;
}
.login-button {
background: linear-gradient(to right, #6a11cb, #2575fc);
color: white;
border: none;
border-radius: 8px;
padding: 14px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
width: 100%;
transition: all 0.3s;
margin-top: 10px;
}
.login-button:hover {
background: linear-gradient(to right, #5a0db5, #1c68e8);
box-shadow: 0 5px 15px rgba(37, 117, 252, 0.4);
}
.login-button:active {
transform: scale(0.98);
}
.login-footer {
text-align: center;
margin-top: 25px;
color: #777;
font-size: 14px;
}
.alert {
padding: 12px 16px;
border-radius: 8px;
margin-bottom: 20px;
display: none;
}
.alert-error {
background-color: #ffebee;
color: #c62828;
border: 1px solid #ffcdd2;
}
.alert-success {
background-color: #e8f5e9;
color: #2e7d32;
border: 1px solid #c8e6c9;
}
.password-requirements {
font-size: 12px;
color: #777;
margin-top: 5px;
}
.input-error {
border-color: #e74c3c;
box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.2);
}
</style>
</head>
<body>
<div class="login-container">
<div class="login-header">
<h1>系统登录</h1>
<p>请输入您的账号和密码</p>
</div>
<div id="usernameAlert" class="alert alert-error">
账号不存在,请检查后重试!
</div>
<div id="passwordAlert" class="alert alert-error">
密码错误,请检查后重试!
</div>
<form id="loginForm">
<div class="form-group">
<label for="username">账号</label>
<input type="text" id="username" name="username" placeholder="请输入账号" required>
<div class="error-message" id="usernameError">账号不能为空</div>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" id="password" name="password" placeholder="请输入密码" required>
<div class="error-message" id="passwordError">密码不能为空</div>
<div class="password-requirements">密码必须为8位数字</div>
</div>
<button type="submit" class="login-button">登录</button>
</form>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const loginForm = document.getElementById('loginForm');
const usernameInput = document.getElementById('username');
const passwordInput = document.getElementById('password');
const usernameError = document.getElementById('usernameError');
const passwordError = document.getElementById('passwordError');
const usernameAlert = document.getElementById('usernameAlert');
const passwordAlert = document.getElementById('passwordAlert');
// 正确的账号和密码
const CORRECT_USERNAME = 'admin';
const CORRECT_PASSWORD = '20251107';
// 表单提交事件
loginForm.addEventListener('submit', function (e) {
e.preventDefault();
// 重置错误状态
resetErrors();
// 获取表单数据
const username = usernameInput.value.trim();
const password = passwordInput.value.trim();
// 表单验证
let isValid = true;
if (!username) {
showError(usernameError, '账号不能为空');
usernameInput.classList.add('input-error');
isValid = false;
}
if (!password) {
showError(passwordError, '密码不能为空');
passwordInput.classList.add('input-error');
isValid = false;
} else if (!/^\d{8}$/.test(password)) {
showError(passwordError, '密码必须为8位数字');
passwordInput.classList.add('input-error');
isValid = false;
}
// 如果验证通过,尝试登录
if (isValid) {
// 验证账号密码
if (username === CORRECT_USERNAME && password === CORRECT_PASSWORD) {
// 登录成功,保存登录状态
localStorage.setItem('isLoggedIn', 'true');
localStorage.setItem('loginTime', new Date().getTime());
// 显示成功消息(短暂显示后跳转)
showSuccessMessage();
// 延迟跳转,让用户看到成功消息
setTimeout(function () {
window.location.href = 'hcdbqb-management.html';
}, 1000);
} else {
// 登录失败,明确提示是账号还是密码错误
if (username !== CORRECT_USERNAME) {
usernameAlert.style.display = 'block';
usernameInput.classList.add('input-error');
usernameInput.focus();
} else {
passwordAlert.style.display = 'block';
passwordInput.classList.add('input-error');
passwordInput.value = '';
passwordInput.focus();
}
}
}
});
// 实时验证
usernameInput.addEventListener('blur', function () {
if (!this.value.trim()) {
showError(usernameError, '账号不能为空');
this.classList.add('input-error');
} else {
hideError(usernameError);
this.classList.remove('input-error');
}
});
passwordInput.addEventListener('blur', function () {
const password = this.value.trim();
if (!password) {
showError(passwordError, '密码不能为空');
this.classList.add('input-error');
} else if (!/^\d{8}$/.test(password)) {
showError(passwordError, '密码必须为8位数字');
this.classList.add('input-error');
} else {
hideError(passwordError);
this.classList.remove('input-error');
}
});
// 输入时隐藏错误提示
usernameInput.addEventListener('input', function () {
hideError(usernameError);
hideAlert(usernameAlert);
this.classList.remove('input-error');
});
passwordInput.addEventListener('input', function () {
hideError(passwordError);
hideAlert(passwordAlert);
this.classList.remove('input-error');
});
// 辅助函数
function showError(element, message) {
element.textContent = message;
element.style.display = 'block';
}
function hideError(element) {
element.style.display = 'none';
}
function hideAlert(alertElement) {
alertElement.style.display = 'none';
}
function resetErrors() {
hideError(usernameError);
hideError(passwordError);
hideAlert(usernameAlert);
hideAlert(passwordAlert);
usernameInput.classList.remove('input-error');
passwordInput.classList.remove('input-error');
}
function showSuccessMessage() {
// 临时创建一个成功提示
const successAlert = document.createElement('div');
successAlert.className = 'alert alert-success';
successAlert.textContent = '登录成功,正在跳转...';
usernameAlert.parentNode.insertBefore(successAlert, usernameAlert);
successAlert.style.display = 'block';
// 移除错误提示(如果有)
hideAlert(usernameAlert);
hideAlert(passwordAlert);
}
// 检查是否已经登录(如果已经登录,直接跳转)
if (localStorage.getItem('isLoggedIn') === 'true') {
// 检查登录时间,如果超过24小时需要重新登录
const loginTime = parseInt(localStorage.getItem('loginTime'));
const currentTime = new Date().getTime();
const hoursDiff = (currentTime - loginTime) / (1000 * 60 * 60);
if (hoursDiff < 24) {
window.location.href = 'hcdbqb-management.html';
} else {
// 超过24小时,清除登录状态
localStorage.removeItem('isLoggedIn');
localStorage.removeItem('loginTime');
}
}
});
</script>
</body>
</html>

10
node_modules/.vite/deps/_metadata.json

@ -1,19 +1,19 @@
{ {
"hash": "132e41bd",
"configHash": "66355eb0",
"hash": "47fcfab9",
"configHash": "552716b1",
"lockfileHash": "f3cca4f5", "lockfileHash": "f3cca4f5",
"browserHash": "6fca54e6",
"browserHash": "46530ac8",
"optimized": { "optimized": {
"axios": { "axios": {
"src": "../../axios/index.js", "src": "../../axios/index.js",
"file": "axios.js", "file": "axios.js",
"fileHash": "28c0a575",
"fileHash": "07aee995",
"needsInterop": false "needsInterop": false
}, },
"qs": { "qs": {
"src": "../../qs/lib/index.js", "src": "../../qs/lib/index.js",
"file": "qs.js", "file": "qs.js",
"fileHash": "7572a39a",
"fileHash": "29e808bb",
"needsInterop": true "needsInterop": true
} }
}, },

7
node_modules/.vue-global-types/vue_3.5_0.d.ts

@ -5,10 +5,9 @@ export {};
const __VLS_directiveBindingRestFields: { instance: null, oldValue: null, modifiers: any, dir: any }; const __VLS_directiveBindingRestFields: { instance: null, oldValue: null, modifiers: any, dir: any };
const __VLS_unref: typeof import('vue').unref; const __VLS_unref: typeof import('vue').unref;
const __VLS_placeholder: any; const __VLS_placeholder: any;
const __VLS_intrinsics: import('vue/jsx-runtime').JSX.IntrinsicElements;
type __VLS_NativeElements = __VLS_SpreadMerge<SVGElementTagNameMap, HTMLElementTagNameMap>;
type __VLS_IntrinsicElements = import('vue/jsx-runtime').JSX.IntrinsicElements;
type __VLS_Element = import('vue/jsx-runtime').JSX.Element;
type __VLS_Elements = __VLS_SpreadMerge<SVGElementTagNameMap, HTMLElementTagNameMap>;
type __VLS_GlobalComponents = import('vue').GlobalComponents; type __VLS_GlobalComponents = import('vue').GlobalComponents;
type __VLS_GlobalDirectives = import('vue').GlobalDirectives; type __VLS_GlobalDirectives = import('vue').GlobalDirectives;
type __VLS_IsAny<T> = 0 extends 1 & T ? true : false; type __VLS_IsAny<T> = 0 extends 1 & T ? true : false;
@ -31,7 +30,7 @@ export {};
? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never ? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
: T extends (props: infer P, ...args: any) => any ? P : T extends (props: infer P, ...args: any) => any ? P
: {}; : {};
type __VLS_FunctionalComponent<T> = (props: (T extends { $props: infer Props } ? Props : {}) & Record<string, unknown>, ctx?: any) => __VLS_Element & {
type __VLS_FunctionalComponent<T> = (props: (T extends { $props: infer Props } ? Props : {}) & Record<string, unknown>, ctx?: any) => import('vue/jsx-runtime').JSX.Element & {
__ctx?: { __ctx?: {
attrs?: any; attrs?: any;
slots?: T extends { $slots: infer Slots } ? Slots : Record<string, any>; slots?: T extends { $slots: infer Slots } ? Slots : Record<string, any>;

1
vite.config.js

@ -32,6 +32,7 @@ export default defineConfig(({ mode, command }) => {
main: './index.html', main: './index.html',
download: './hcdbqb-download.html', download: './hcdbqb-download.html',
guide: './hcdbqb-guide.html', guide: './hcdbqb-guide.html',
loginManagement: './login-management.html',
management: './hcdbqb-management.html' management: './hcdbqb-management.html'
}, },
output: { output: {

Loading…
Cancel
Save