fix: 修复WorkflowPageV3组件TypeScript错误和清理副本文件
详细说明: - 修复WorkflowPageV3.tsx中的TypeScript类型错误 - 移除未使用的executionTimeoutRef变量 - 修复style标签的jsx属性问题 - 将deprecated的substr()改为substring() - 清理n8n目录下的副本文件 - 添加server.js和start脚本用于静态文件服务 影响的文件: - web_frontend/exhibition-demo/src/pages/WorkflowPageV3.tsx - web_frontend/exhibition-demo/src/components/ResultModal.tsx - web_frontend/web_result/server.js (新增) - web_frontend/web_result/start.bat (新增) - web_frontend/web_result/start.sh (新增) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,919 @@
|
||||
/* 2024长三角国际新能源汽车与智能交通产业博览会 - 高级动画样式 */
|
||||
|
||||
/* ============================================
|
||||
字体图标引入
|
||||
============================================ */
|
||||
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
|
||||
|
||||
/* ============================================
|
||||
自定义字体
|
||||
============================================ */
|
||||
@font-face {
|
||||
font-family: 'TechFont';
|
||||
src: url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap');
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
核心动画变量
|
||||
============================================ */
|
||||
:root {
|
||||
/* 动画时长 */
|
||||
--anim-fast: 0.2s;
|
||||
--anim-normal: 0.3s;
|
||||
--anim-slow: 0.5s;
|
||||
--anim-slower: 0.8s;
|
||||
--anim-slowest: 1.2s;
|
||||
|
||||
/* 缓动函数 */
|
||||
--ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
--ease-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
--ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
--ease-sharp: cubic-bezier(0.4, 0, 0.6, 1);
|
||||
|
||||
/* 渐变色 */
|
||||
--gradient-electric: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--gradient-ocean: linear-gradient(135deg, #667eea 0%, #42e695 100%);
|
||||
--gradient-sunset: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
|
||||
--gradient-aurora: linear-gradient(135deg, #42e695 0%, #3bb2b8 100%);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
基础动画类
|
||||
============================================ */
|
||||
/* 淡入向上动画 */
|
||||
.animate-fadeInUp {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
animation: fadeInUp 0.8s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 淡入向左动画 */
|
||||
.animate-fadeInLeft {
|
||||
opacity: 0;
|
||||
transform: translateX(-30px);
|
||||
animation: fadeInLeft 0.8s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInLeft {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 淡入向右动画 */
|
||||
.animate-fadeInRight {
|
||||
opacity: 0;
|
||||
transform: translateX(30px);
|
||||
animation: fadeInRight 0.8s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInRight {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 动画延迟类 */
|
||||
.animation-delay-100 { animation-delay: 0.1s; }
|
||||
.animation-delay-200 { animation-delay: 0.2s; }
|
||||
.animation-delay-300 { animation-delay: 0.3s; }
|
||||
.animation-delay-400 { animation-delay: 0.4s; }
|
||||
.animation-delay-500 { animation-delay: 0.5s; }
|
||||
.animation-delay-600 { animation-delay: 0.6s; }
|
||||
.animation-delay-700 { animation-delay: 0.7s; }
|
||||
.animation-delay-800 { animation-delay: 0.8s; }
|
||||
.animation-delay-900 { animation-delay: 0.9s; }
|
||||
.animation-delay-1000 { animation-delay: 1s; }
|
||||
.animation-delay-1100 { animation-delay: 1.1s; }
|
||||
.animation-delay-2000 { animation-delay: 2s; }
|
||||
.animation-delay-4000 { animation-delay: 4s; }
|
||||
|
||||
/* ============================================
|
||||
页面加载动画
|
||||
============================================ */
|
||||
.page-loader {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
z-index: 9999;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
animation: fadeOut 0.5s ease-out 1s forwards;
|
||||
}
|
||||
|
||||
.loader-content {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.loader-logo {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin: 0 auto 20px;
|
||||
background: white;
|
||||
border-radius: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
animation: pulse 1s infinite;
|
||||
}
|
||||
|
||||
.loader-text {
|
||||
color: white;
|
||||
font-size: 1.2rem;
|
||||
animation: fadeInUp 0.5s ease-out;
|
||||
}
|
||||
|
||||
.loader-progress {
|
||||
width: 200px;
|
||||
height: 4px;
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
border-radius: 2px;
|
||||
margin: 20px auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.loader-progress-bar {
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
background: white;
|
||||
animation: loading 1s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes loading {
|
||||
to { width: 100%; }
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
入场动画
|
||||
============================================ */
|
||||
.fade-in {
|
||||
opacity: 0;
|
||||
animation: fadeIn var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.fade-in-up {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
animation: fadeInUp var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.fade-in-down {
|
||||
opacity: 0;
|
||||
transform: translateY(-30px);
|
||||
animation: fadeInDown var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInDown {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.fade-in-left {
|
||||
opacity: 0;
|
||||
transform: translateX(-30px);
|
||||
animation: fadeInLeft var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInLeft {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
.fade-in-right {
|
||||
opacity: 0;
|
||||
transform: translateX(30px);
|
||||
animation: fadeInRight var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInRight {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
缩放动画
|
||||
============================================ */
|
||||
.zoom-in {
|
||||
opacity: 0;
|
||||
transform: scale(0.8);
|
||||
animation: zoomIn var(--anim-slow) var(--ease-bounce) forwards;
|
||||
}
|
||||
|
||||
@keyframes zoomIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.zoom-out {
|
||||
opacity: 0;
|
||||
transform: scale(1.2);
|
||||
animation: zoomOut var(--anim-slow) var(--ease-bounce) forwards;
|
||||
}
|
||||
|
||||
@keyframes zoomOut {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
旋转动画
|
||||
============================================ */
|
||||
.rotate-in {
|
||||
opacity: 0;
|
||||
transform: rotate(-180deg) scale(0.8);
|
||||
animation: rotateIn var(--anim-slow) var(--ease-bounce) forwards;
|
||||
}
|
||||
|
||||
@keyframes rotateIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: rotate(0) scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.flip-in-x {
|
||||
opacity: 0;
|
||||
transform: rotateX(-90deg);
|
||||
animation: flipInX var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes flipInX {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: rotateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
.flip-in-y {
|
||||
opacity: 0;
|
||||
transform: rotateY(-90deg);
|
||||
animation: flipInY var(--anim-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes flipInY {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: rotateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
弹跳动画
|
||||
============================================ */
|
||||
.bounce-in {
|
||||
opacity: 0;
|
||||
transform: scale(0.3);
|
||||
animation: bounceIn var(--anim-slower) var(--ease-bounce) forwards;
|
||||
}
|
||||
|
||||
@keyframes bounceIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: scale(0.3);
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
transform: scale(1.05);
|
||||
}
|
||||
70% {
|
||||
transform: scale(0.9);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
悬停效果
|
||||
============================================ */
|
||||
.hover-grow {
|
||||
transition: transform var(--anim-normal) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.hover-grow:hover {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.hover-shrink {
|
||||
transition: transform var(--anim-normal) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.hover-shrink:hover {
|
||||
transform: scale(0.95);
|
||||
}
|
||||
|
||||
.hover-rotate {
|
||||
transition: transform var(--anim-normal) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.hover-rotate:hover {
|
||||
transform: rotate(5deg);
|
||||
}
|
||||
|
||||
.hover-lift {
|
||||
transition: all var(--anim-normal) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.hover-lift:hover {
|
||||
transform: translateY(-8px);
|
||||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.hover-sink {
|
||||
transition: all var(--anim-normal) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.hover-sink:hover {
|
||||
transform: translateY(3px);
|
||||
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
按钮悬停效果
|
||||
============================================ */
|
||||
.btn-hover-fill {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
transition: color var(--anim-normal);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.btn-hover-fill::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: var(--gradient-electric);
|
||||
transition: left var(--anim-normal) var(--ease-smooth);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.btn-hover-fill:hover::before {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.btn-hover-fill:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* 按钮波纹效果 */
|
||||
.btn-ripple {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.btn-ripple::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
transform: translate(-50%, -50%);
|
||||
transition: width 0.6s, height 0.6s;
|
||||
}
|
||||
|
||||
.btn-ripple:active::after {
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
/* 按钮发光效果 */
|
||||
.btn-glow {
|
||||
transition: all var(--anim-normal);
|
||||
}
|
||||
|
||||
.btn-glow:hover {
|
||||
box-shadow: 0 0 20px rgba(102, 126, 234, 0.6),
|
||||
0 0 40px rgba(102, 126, 234, 0.4),
|
||||
0 0 60px rgba(102, 126, 234, 0.2);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
图片悬停效果
|
||||
============================================ */
|
||||
.img-hover-zoom {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.img-hover-zoom img {
|
||||
transition: transform var(--anim-slow) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.img-hover-zoom:hover img {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.img-hover-rotate {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.img-hover-rotate img {
|
||||
transition: transform var(--anim-slow) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.img-hover-rotate:hover img {
|
||||
transform: scale(1.1) rotate(3deg);
|
||||
}
|
||||
|
||||
.img-hover-blur {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.img-hover-blur img {
|
||||
transition: all var(--anim-slow) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.img-hover-blur:hover img {
|
||||
filter: blur(3px);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
/* 图片叠加效果 */
|
||||
.img-overlay {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.img-overlay::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(135deg, rgba(102, 126, 234, 0.8), rgba(118, 75, 162, 0.8));
|
||||
opacity: 0;
|
||||
transition: opacity var(--anim-normal);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.img-overlay:hover::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.img-overlay-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
color: white;
|
||||
text-align: center;
|
||||
opacity: 0;
|
||||
transition: opacity var(--anim-normal);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.img-overlay:hover .img-overlay-content {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
文字动画
|
||||
============================================ */
|
||||
.text-glow {
|
||||
animation: textGlow 2s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes textGlow {
|
||||
from {
|
||||
text-shadow: 0 0 10px rgba(102, 126, 234, 0.5),
|
||||
0 0 20px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
to {
|
||||
text-shadow: 0 0 20px rgba(102, 126, 234, 0.8),
|
||||
0 0 30px rgba(102, 126, 234, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
.text-typing {
|
||||
overflow: hidden;
|
||||
border-right: 2px solid;
|
||||
white-space: nowrap;
|
||||
animation: typing 3.5s steps(40, end),
|
||||
blink-caret 0.75s step-end infinite;
|
||||
}
|
||||
|
||||
@keyframes typing {
|
||||
from { width: 0; }
|
||||
to { width: 100%; }
|
||||
}
|
||||
|
||||
@keyframes blink-caret {
|
||||
from, to { border-color: transparent; }
|
||||
50% { border-color: currentColor; }
|
||||
}
|
||||
|
||||
.text-gradient-animate {
|
||||
background: linear-gradient(90deg, #667eea, #764ba2, #42e695, #667eea);
|
||||
background-size: 300% 100%;
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
animation: gradientMove 5s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes gradientMove {
|
||||
0% { background-position: 0% 50%; }
|
||||
50% { background-position: 100% 50%; }
|
||||
100% { background-position: 0% 50%; }
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
卡片动画
|
||||
============================================ */
|
||||
.card-3d {
|
||||
transform-style: preserve-3d;
|
||||
transition: transform var(--anim-slow) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.card-3d:hover {
|
||||
transform: rotateY(10deg) rotateX(10deg) translateZ(20px);
|
||||
}
|
||||
|
||||
.card-flip {
|
||||
position: relative;
|
||||
transform-style: preserve-3d;
|
||||
transition: transform var(--anim-slow);
|
||||
}
|
||||
|
||||
.card-flip:hover {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
.card-flip-front,
|
||||
.card-flip-back {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
.card-flip-back {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
滚动动画
|
||||
============================================ */
|
||||
.scroll-reveal {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all var(--anim-slower) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.scroll-reveal.revealed {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.scroll-reveal-left {
|
||||
opacity: 0;
|
||||
transform: translateX(-50px);
|
||||
transition: all var(--anim-slower) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.scroll-reveal-left.revealed {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.scroll-reveal-right {
|
||||
opacity: 0;
|
||||
transform: translateX(50px);
|
||||
transition: all var(--anim-slower) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.scroll-reveal-right.revealed {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.scroll-reveal-scale {
|
||||
opacity: 0;
|
||||
transform: scale(0.8);
|
||||
transition: all var(--anim-slower) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.scroll-reveal-scale.revealed {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
视差效果
|
||||
============================================ */
|
||||
.parallax {
|
||||
position: relative;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.parallax-layer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.parallax-layer-back {
|
||||
transform: translateZ(-1px) scale(2);
|
||||
}
|
||||
|
||||
.parallax-layer-base {
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.parallax-layer-front {
|
||||
transform: translateZ(1px) scale(0.5);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
加载动画
|
||||
============================================ */
|
||||
.skeleton {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.skeleton::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
|
||||
animation: skeleton-loading 1.5s infinite;
|
||||
}
|
||||
|
||||
@keyframes skeleton-loading {
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
脉冲动画
|
||||
============================================ */
|
||||
.pulse {
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.05);
|
||||
opacity: 0.8;
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.pulse-slow {
|
||||
animation: pulse 3s infinite;
|
||||
}
|
||||
|
||||
.pulse-fast {
|
||||
animation: pulse 1s infinite;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
抖动动画
|
||||
============================================ */
|
||||
.shake {
|
||||
animation: shake 0.5s;
|
||||
}
|
||||
|
||||
@keyframes shake {
|
||||
0%, 100% { transform: translateX(0); }
|
||||
10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
|
||||
20%, 40%, 60%, 80% { transform: translateX(10px); }
|
||||
}
|
||||
|
||||
.shake-horizontal {
|
||||
animation: shakeHorizontal 0.5s;
|
||||
}
|
||||
|
||||
@keyframes shakeHorizontal {
|
||||
0%, 100% { transform: translateX(0); }
|
||||
25% { transform: translateX(-5px); }
|
||||
75% { transform: translateX(5px); }
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
浮动动画
|
||||
============================================ */
|
||||
.float {
|
||||
animation: float 3s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes float {
|
||||
0%, 100% { transform: translateY(0); }
|
||||
50% { transform: translateY(-20px); }
|
||||
}
|
||||
|
||||
.float-slow {
|
||||
animation: float 5s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.float-fast {
|
||||
animation: float 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
闪烁动画
|
||||
============================================ */
|
||||
.blink {
|
||||
animation: blink 1s infinite;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0%, 100% { opacity: 1; }
|
||||
50% { opacity: 0; }
|
||||
}
|
||||
|
||||
.flash {
|
||||
animation: flash 0.5s;
|
||||
}
|
||||
|
||||
@keyframes flash {
|
||||
0%, 50%, 100% { opacity: 1; }
|
||||
25%, 75% { opacity: 0; }
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
渐变背景动画
|
||||
============================================ */
|
||||
.bg-gradient-animate {
|
||||
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
|
||||
background-size: 400% 400%;
|
||||
animation: gradientShift 15s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes gradientShift {
|
||||
0% { background-position: 0% 50%; }
|
||||
50% { background-position: 100% 50%; }
|
||||
100% { background-position: 0% 50%; }
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
光标跟随效果
|
||||
============================================ */
|
||||
.cursor-follow {
|
||||
position: fixed;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border: 2px solid #667eea;
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
transition: all 0.1s ease;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.cursor-follow.active {
|
||||
transform: scale(2);
|
||||
background: rgba(102, 126, 234, 0.1);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
工具提示
|
||||
============================================ */
|
||||
.tooltip {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.tooltip::after {
|
||||
content: attr(data-tooltip);
|
||||
position: absolute;
|
||||
bottom: 125%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) scale(0);
|
||||
background: #333;
|
||||
color: white;
|
||||
padding: 8px 12px;
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
opacity: 0;
|
||||
transition: all var(--anim-normal) var(--ease-smooth);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.tooltip::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 115%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) scale(0);
|
||||
border: 6px solid transparent;
|
||||
border-top-color: #333;
|
||||
opacity: 0;
|
||||
transition: all var(--anim-normal) var(--ease-smooth);
|
||||
}
|
||||
|
||||
.tooltip:hover::after,
|
||||
.tooltip:hover::before {
|
||||
transform: translateX(-50%) scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
交错动画
|
||||
============================================ */
|
||||
.stagger-children > * {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
animation: staggerIn var(--anim-slow) var(--ease-smooth) forwards;
|
||||
}
|
||||
|
||||
.stagger-children > *:nth-child(1) { animation-delay: 0.1s; }
|
||||
.stagger-children > *:nth-child(2) { animation-delay: 0.2s; }
|
||||
.stagger-children > *:nth-child(3) { animation-delay: 0.3s; }
|
||||
.stagger-children > *:nth-child(4) { animation-delay: 0.4s; }
|
||||
.stagger-children > *:nth-child(5) { animation-delay: 0.5s; }
|
||||
.stagger-children > *:nth-child(6) { animation-delay: 0.6s; }
|
||||
.stagger-children > *:nth-child(7) { animation-delay: 0.7s; }
|
||||
.stagger-children > *:nth-child(8) { animation-delay: 0.8s; }
|
||||
|
||||
@keyframes staggerIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
模糊背景
|
||||
============================================ */
|
||||
.blur-background {
|
||||
backdrop-filter: blur(10px);
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
.glass-morphism {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
backdrop-filter: blur(10px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
响应式动画
|
||||
============================================ */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
}
|
||||
454
web_frontend/exhibition-demo/public/web_result/css/styles.css
Normal file
454
web_frontend/exhibition-demo/public/web_result/css/styles.css
Normal file
@@ -0,0 +1,454 @@
|
||||
/* 2024长三角国际新能源汽车与智能交通产业博览会 - 全局样式 */
|
||||
|
||||
/* 根变量定义 */
|
||||
:root {
|
||||
/* 主题色彩系统 */
|
||||
--primary-gradient-start: #10b981;
|
||||
--primary-gradient-end: #3b82f6;
|
||||
--secondary-gradient-start: #8b5cf6;
|
||||
--secondary-gradient-end: #ec4899;
|
||||
--accent-gradient-start: #f59e0b;
|
||||
--accent-gradient-end: #ef4444;
|
||||
|
||||
/* 中性色 */
|
||||
--gray-50: #f9fafb;
|
||||
--gray-100: #f3f4f6;
|
||||
--gray-200: #e5e7eb;
|
||||
--gray-300: #d1d5db;
|
||||
--gray-400: #9ca3af;
|
||||
--gray-500: #6b7280;
|
||||
--gray-600: #4b5563;
|
||||
--gray-700: #374151;
|
||||
--gray-800: #1f2937;
|
||||
--gray-900: #111827;
|
||||
|
||||
/* 间距系统 */
|
||||
--spacing-xs: 0.5rem;
|
||||
--spacing-sm: 1rem;
|
||||
--spacing-md: 1.5rem;
|
||||
--spacing-lg: 2rem;
|
||||
--spacing-xl: 3rem;
|
||||
--spacing-2xl: 4rem;
|
||||
|
||||
/* 动画时长 */
|
||||
--transition-fast: 150ms;
|
||||
--transition-base: 300ms;
|
||||
--transition-slow: 500ms;
|
||||
--transition-slower: 700ms;
|
||||
|
||||
/* 阴影 */
|
||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||
--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
||||
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
||||
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
|
||||
|
||||
/* 圆角 */
|
||||
--radius-sm: 0.375rem;
|
||||
--radius-base: 0.5rem;
|
||||
--radius-lg: 0.75rem;
|
||||
--radius-xl: 1rem;
|
||||
--radius-full: 9999px;
|
||||
}
|
||||
|
||||
/* 全局重置和基础样式 */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
|
||||
line-height: 1.6;
|
||||
color: var(--gray-800);
|
||||
background-color: var(--gray-50);
|
||||
}
|
||||
|
||||
/* 渐变背景动画 */
|
||||
@keyframes gradientShift {
|
||||
0% { background-position: 0% 50%; }
|
||||
50% { background-position: 100% 50%; }
|
||||
100% { background-position: 0% 50%; }
|
||||
}
|
||||
|
||||
.gradient-bg {
|
||||
background: linear-gradient(-45deg,
|
||||
var(--primary-gradient-start),
|
||||
var(--primary-gradient-end),
|
||||
var(--secondary-gradient-start),
|
||||
var(--secondary-gradient-end));
|
||||
background-size: 400% 400%;
|
||||
animation: gradientShift 15s ease infinite;
|
||||
}
|
||||
|
||||
.gradient-primary {
|
||||
background: linear-gradient(135deg, var(--primary-gradient-start), var(--primary-gradient-end));
|
||||
}
|
||||
|
||||
.gradient-secondary {
|
||||
background: linear-gradient(135deg, var(--secondary-gradient-start), var(--secondary-gradient-end));
|
||||
}
|
||||
|
||||
.gradient-accent {
|
||||
background: linear-gradient(135deg, var(--accent-gradient-start), var(--accent-gradient-end));
|
||||
}
|
||||
|
||||
/* 导航栏样式 */
|
||||
.navbar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1000;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
backdrop-filter: blur(10px);
|
||||
box-shadow: var(--shadow-base);
|
||||
transition: all var(--transition-base) ease;
|
||||
}
|
||||
|
||||
.navbar.scrolled {
|
||||
background: rgba(255, 255, 255, 0.98);
|
||||
box-shadow: var(--shadow-lg);
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
position: relative;
|
||||
padding: var(--spacing-xs) var(--spacing-sm);
|
||||
color: var(--gray-700);
|
||||
text-decoration: none;
|
||||
transition: color var(--transition-fast) ease;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.nav-link::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
width: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, var(--primary-gradient-start), var(--primary-gradient-end));
|
||||
transform: translateX(-50%);
|
||||
transition: width var(--transition-base) ease;
|
||||
}
|
||||
|
||||
.nav-link:hover::after,
|
||||
.nav-link.active::after {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 卡片动画效果 */
|
||||
@keyframes cardFloat {
|
||||
0%, 100% { transform: translateY(0); }
|
||||
50% { transform: translateY(-10px); }
|
||||
}
|
||||
|
||||
.card {
|
||||
background: white;
|
||||
border-radius: var(--radius-lg);
|
||||
padding: var(--spacing-lg);
|
||||
box-shadow: var(--shadow-base);
|
||||
transition: all var(--transition-base) ease;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 4px;
|
||||
background: linear-gradient(90deg, var(--primary-gradient-start), var(--primary-gradient-end));
|
||||
transform: scaleX(0);
|
||||
transform-origin: left;
|
||||
transition: transform var(--transition-base) ease;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: var(--shadow-xl);
|
||||
}
|
||||
|
||||
.card:hover::before {
|
||||
transform: scaleX(1);
|
||||
}
|
||||
|
||||
/* 按钮样式 */
|
||||
.btn {
|
||||
display: inline-block;
|
||||
padding: var(--spacing-sm) var(--spacing-lg);
|
||||
border-radius: var(--radius-full);
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
transition: all var(--transition-base) ease;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: linear-gradient(135deg, var(--primary-gradient-start), var(--primary-gradient-end));
|
||||
color: white;
|
||||
box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: white;
|
||||
color: var(--gray-700);
|
||||
border: 2px solid var(--gray-200);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: var(--gray-50);
|
||||
border-color: var(--primary-gradient-start);
|
||||
color: var(--primary-gradient-start);
|
||||
}
|
||||
|
||||
/* 波纹效果 */
|
||||
@keyframes ripple {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
transform: scale(4);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.ripple {
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
animation: ripple 0.6s ease-out;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 加载动画 */
|
||||
@keyframes spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
.spinner {
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border: 4px solid var(--gray-200);
|
||||
border-top-color: var(--primary-gradient-start);
|
||||
border-radius: 50%;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
/* 数字滚动动画 */
|
||||
@keyframes countUp {
|
||||
from { opacity: 0; transform: translateY(20px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
|
||||
.count-up {
|
||||
animation: countUp var(--transition-slow) ease-out;
|
||||
}
|
||||
|
||||
/* 淡入动画 */
|
||||
@keyframes fadeIn {
|
||||
from { opacity: 0; transform: translateY(20px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
|
||||
.fade-in {
|
||||
animation: fadeIn var(--transition-slower) ease-out;
|
||||
}
|
||||
|
||||
/* 滑入动画 */
|
||||
@keyframes slideInLeft {
|
||||
from { opacity: 0; transform: translateX(-50px); }
|
||||
to { opacity: 1; transform: translateX(0); }
|
||||
}
|
||||
|
||||
@keyframes slideInRight {
|
||||
from { opacity: 0; transform: translateX(50px); }
|
||||
to { opacity: 1; transform: translateX(0); }
|
||||
}
|
||||
|
||||
.slide-in-left {
|
||||
animation: slideInLeft var(--transition-slow) ease-out;
|
||||
}
|
||||
|
||||
.slide-in-right {
|
||||
animation: slideInRight var(--transition-slow) ease-out;
|
||||
}
|
||||
|
||||
/* 脉冲动画 */
|
||||
@keyframes pulse {
|
||||
0%, 100% { transform: scale(1); opacity: 1; }
|
||||
50% { transform: scale(1.05); opacity: 0.9; }
|
||||
}
|
||||
|
||||
.pulse {
|
||||
animation: pulse 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
/* 光晕效果 */
|
||||
@keyframes glow {
|
||||
0%, 100% { box-shadow: 0 0 20px rgba(16, 185, 129, 0.5); }
|
||||
50% { box-shadow: 0 0 40px rgba(16, 185, 129, 0.8); }
|
||||
}
|
||||
|
||||
.glow {
|
||||
animation: glow 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
/* 时间线样式 */
|
||||
.timeline {
|
||||
position: relative;
|
||||
padding-left: var(--spacing-xl);
|
||||
}
|
||||
|
||||
.timeline::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 15px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 2px;
|
||||
background: linear-gradient(180deg, var(--primary-gradient-start), var(--primary-gradient-end));
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
position: relative;
|
||||
padding-bottom: var(--spacing-xl);
|
||||
}
|
||||
|
||||
.timeline-item::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: -25px;
|
||||
top: 5px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
background: var(--primary-gradient-start);
|
||||
border: 3px solid white;
|
||||
box-shadow: var(--shadow-base);
|
||||
}
|
||||
|
||||
/* 网格布局动画 */
|
||||
.grid-item {
|
||||
opacity: 0;
|
||||
transform: scale(0.9);
|
||||
animation: gridFadeIn var(--transition-slow) ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes gridFadeIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.grid-item:nth-child(1) { animation-delay: 0.1s; }
|
||||
.grid-item:nth-child(2) { animation-delay: 0.2s; }
|
||||
.grid-item:nth-child(3) { animation-delay: 0.3s; }
|
||||
.grid-item:nth-child(4) { animation-delay: 0.4s; }
|
||||
.grid-item:nth-child(5) { animation-delay: 0.5s; }
|
||||
.grid-item:nth-child(6) { animation-delay: 0.6s; }
|
||||
|
||||
/* 响应式设计 */
|
||||
@media (max-width: 768px) {
|
||||
:root {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: var(--spacing-md);
|
||||
}
|
||||
|
||||
.timeline {
|
||||
padding-left: var(--spacing-lg);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* 打印样式 */
|
||||
@media print {
|
||||
.navbar,
|
||||
.btn,
|
||||
.no-print {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 12pt;
|
||||
color: black;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.card {
|
||||
box-shadow: none;
|
||||
border: 1px solid #ddd;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
}
|
||||
|
||||
/* 辅助类 */
|
||||
.text-gradient {
|
||||
background: linear-gradient(135deg, var(--primary-gradient-start), var(--primary-gradient-end));
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
}
|
||||
|
||||
.hover-scale {
|
||||
transition: transform var(--transition-base) ease;
|
||||
}
|
||||
|
||||
.hover-scale:hover {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.hover-lift {
|
||||
transition: transform var(--transition-base) ease;
|
||||
}
|
||||
|
||||
.hover-lift:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.7));
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--spacing-md);
|
||||
}
|
||||
604
web_frontend/exhibition-demo/public/web_result/index.html
Normal file
604
web_frontend/exhibition-demo/public/web_result/index.html
Normal file
@@ -0,0 +1,604 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>2024长三角国际新能源汽车与智能交通产业博览会</title>
|
||||
|
||||
<!-- 预加载关键资源 -->
|
||||
<link rel="preload" href="css/styles.css" as="style">
|
||||
<link rel="preload" href="css/animations.css" as="style">
|
||||
|
||||
<!-- 样式表 -->
|
||||
<link rel="stylesheet" href="css/styles.css">
|
||||
<link rel="stylesheet" href="css/animations.css">
|
||||
|
||||
<!-- Tailwind CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
|
||||
|
||||
<!-- 字体 -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+SC:wght@300;400;500;700;900&family=Orbitron:wght@400;700;900&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome 图标 -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
* {
|
||||
font-family: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
}
|
||||
|
||||
.hero-gradient {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(16, 185, 129, 0.1) 0%,
|
||||
rgba(59, 130, 246, 0.1) 50%,
|
||||
rgba(139, 92, 246, 0.1) 100%);
|
||||
}
|
||||
|
||||
.image-shine {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.image-shine::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
left: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: linear-gradient(
|
||||
45deg,
|
||||
transparent 30%,
|
||||
rgba(255, 255, 255, 0.3) 50%,
|
||||
transparent 70%
|
||||
);
|
||||
transform: rotate(45deg);
|
||||
transition: all 0.6s;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.image-shine:hover::before {
|
||||
animation: shine 0.6s ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes shine {
|
||||
0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); opacity: 0; }
|
||||
50% { opacity: 1; }
|
||||
100% { transform: translateX(100%) translateY(100%) rotate(45deg); opacity: 0; }
|
||||
}
|
||||
|
||||
.floating {
|
||||
animation: floating 3s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes floating {
|
||||
0%, 100% { transform: translateY(0px); }
|
||||
50% { transform: translateY(-20px); }
|
||||
}
|
||||
|
||||
/* 确保页面加载时body不能滚动 */
|
||||
body.loading {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* 图片加载优化 */
|
||||
img {
|
||||
background-color: #f3f4f6;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
img.image-loaded {
|
||||
opacity: 1;
|
||||
animation: fadeIn 0.5s ease;
|
||||
}
|
||||
|
||||
img.image-error {
|
||||
opacity: 0.5;
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-gray-50 loading">
|
||||
<!-- 页面加载器 -->
|
||||
<div class="page-loader" id="pageLoader">
|
||||
<div class="loader-content">
|
||||
<div class="loader-logo">
|
||||
<i class="fas fa-car text-4xl text-emerald-500"></i>
|
||||
</div>
|
||||
<div class="loader-text">加载中...</div>
|
||||
<div class="loader-progress">
|
||||
<div class="loader-progress-bar"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="fixed top-0 w-full glass-morphism shadow-md z-50 transition-all duration-300" id="navbar">
|
||||
<div class="container mx-auto px-6 py-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-center fade-in-left">
|
||||
<div class="w-10 h-10 bg-gradient-to-br from-emerald-400 to-blue-500 rounded-lg flex items-center justify-center mr-3">
|
||||
<i class="fas fa-charging-station text-white"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h1 class="text-lg font-bold">NEVIT 2024</h1>
|
||||
<p class="text-xs text-gray-500">新能源汽车产业博览会</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden md:flex space-x-8">
|
||||
<a href="index.html" class="nav-link active text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-home mr-2"></i>首页
|
||||
</a>
|
||||
<a href="pages/overview.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-info-circle mr-2"></i>展会概览
|
||||
</a>
|
||||
<a href="pages/exhibition.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-th-large mr-2"></i>展览内容
|
||||
</a>
|
||||
<a href="pages/marketing.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-bullhorn mr-2"></i>营销推广
|
||||
</a>
|
||||
<a href="pages/operation.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-cogs mr-2"></i>运营服务
|
||||
</a>
|
||||
<a href="pages/budget.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-chart-pie mr-2"></i>预算分析
|
||||
</a>
|
||||
<a href="pages/risk.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-shield-alt mr-2"></i>风险评估
|
||||
</a>
|
||||
</div>
|
||||
<div class="flex items-center space-x-4">
|
||||
<button class="md:hidden p-2" id="mobileMenuBtn">
|
||||
<i class="fas fa-bars text-xl"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="relative min-h-screen flex items-center justify-center overflow-hidden hero-gradient py-32">
|
||||
<!-- 背景图片 -->
|
||||
<div class="absolute inset-0 z-0">
|
||||
<div class="absolute inset-0 bg-gradient-to-br from-purple-100 via-blue-50 to-emerald-50"></div>
|
||||
<div class="absolute inset-0 opacity-10" style="background-image: url('../data/会展策划/image/博览会.jpg'); background-size: cover; background-position: center;"></div>
|
||||
<div class="absolute inset-0 bg-gradient-to-b from-transparent via-white/60 to-white/90"></div>
|
||||
</div>
|
||||
|
||||
<!-- 浮动装饰元素 -->
|
||||
<div class="absolute top-20 left-10 w-20 h-20 bg-emerald-400 rounded-full opacity-20 floating"></div>
|
||||
<div class="absolute bottom-20 right-10 w-32 h-32 bg-blue-400 rounded-full opacity-20 floating" style="animation-delay: 1s;"></div>
|
||||
<div class="absolute top-1/2 left-20 w-16 h-16 bg-purple-400 rounded-full opacity-20 floating" style="animation-delay: 2s;"></div>
|
||||
|
||||
<div class="relative z-10 container mx-auto px-6 text-center py-12">
|
||||
<div class="fade-in-up">
|
||||
<!-- 标签 -->
|
||||
<div class="inline-flex items-center px-4 py-2 bg-white/80 backdrop-blur-sm rounded-full mb-6 shadow-lg">
|
||||
<span class="animate-pulse w-2 h-2 bg-emerald-500 rounded-full mr-2"></span>
|
||||
<span class="text-sm font-semibold text-gray-700">2024年6月15-17日 · 苏州国际博览中心</span>
|
||||
</div>
|
||||
|
||||
<h1 class="text-5xl md:text-7xl font-black mb-6">
|
||||
<span class="block text-gradient-animate">2024 长三角国际</span>
|
||||
<span class="block text-gray-800 mt-2">新能源汽车与智能交通</span>
|
||||
<span class="block text-4xl md:text-5xl text-gray-600 mt-2">产业博览会</span>
|
||||
</h1>
|
||||
|
||||
<p class="text-xl md:text-2xl text-gray-600 mb-8 max-w-3xl mx-auto">
|
||||
<i class="fas fa-quote-left text-emerald-500 mr-2"></i>
|
||||
引领绿色出行新时代 · 共创智能交通新未来
|
||||
<i class="fas fa-quote-right text-emerald-500 ml-2"></i>
|
||||
</p>
|
||||
<!-- 核心信息展示 -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-12 max-w-5xl mx-auto">
|
||||
<div class="bg-white/95 backdrop-blur-md rounded-2xl p-6 border-2 border-purple-200 hover:border-purple-400 transition-all duration-300 transform hover:scale-105 animate-fadeInUp animation-delay-200 shadow-2xl">
|
||||
<div class="flex flex-col items-center">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-purple-500 to-purple-600 rounded-full flex items-center justify-center mb-3 shadow-lg">
|
||||
<i class="fas fa-calendar-alt text-3xl text-white"></i>
|
||||
</div>
|
||||
<p class="text-gray-600 text-sm font-medium mb-2">展会时间</p>
|
||||
<p class="text-gray-900 font-bold text-2xl text-center">2024年9月</p>
|
||||
<p class="text-gray-800 font-bold text-xl">12-15日</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/95 backdrop-blur-md rounded-2xl p-6 border-2 border-blue-200 hover:border-blue-400 transition-all duration-300 transform hover:scale-105 animate-fadeInUp animation-delay-400 shadow-2xl">
|
||||
<div class="flex flex-col items-center">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-blue-500 to-blue-600 rounded-full flex items-center justify-center mb-3 shadow-lg">
|
||||
<i class="fas fa-map-marked-alt text-3xl text-white"></i>
|
||||
</div>
|
||||
<p class="text-gray-600 text-sm font-medium mb-2">展会地点</p>
|
||||
<p class="text-gray-900 font-bold text-2xl text-center">国家会展中心</p>
|
||||
<p class="text-gray-800 font-bold text-xl">上海</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/95 backdrop-blur-md rounded-2xl p-6 border-2 border-green-200 hover:border-green-400 transition-all duration-300 transform hover:scale-105 animate-fadeInUp animation-delay-600 shadow-2xl">
|
||||
<div class="flex flex-col items-center">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-green-500 to-green-600 rounded-full flex items-center justify-center mb-3 shadow-lg">
|
||||
<i class="fas fa-expand-arrows-alt text-3xl text-white"></i>
|
||||
</div>
|
||||
<p class="text-gray-600 text-sm font-medium mb-2">展览规模</p>
|
||||
<p class="text-gray-900 font-bold text-3xl">50,000</p>
|
||||
<p class="text-gray-800 font-bold text-lg">平方米</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- CTA按钮组 -->
|
||||
<div class="flex flex-col md:flex-row gap-6 justify-center items-center animate-fadeInUp animation-delay-800">
|
||||
<a href="pages/overview.html" class="group relative overflow-hidden bg-white text-purple-700 px-12 py-5 rounded-full font-bold text-xl shadow-2xl hover:shadow-white/30 transition-all duration-300 transform hover:scale-110">
|
||||
<span class="absolute inset-0 bg-gradient-to-r from-purple-600 to-pink-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></span>
|
||||
<span class="relative z-10 flex items-center group-hover:text-white">
|
||||
<i class="fas fa-sparkles mr-3 text-2xl animate-pulse"></i>
|
||||
了解详情
|
||||
<i class="fas fa-arrow-right ml-3 group-hover:translate-x-2 transition-transform"></i>
|
||||
</span>
|
||||
</a>
|
||||
<a href="#highlights" class="group relative overflow-hidden bg-gradient-to-r from-purple-600 to-pink-600 text-white px-12 py-5 rounded-full font-bold text-xl hover:from-purple-700 hover:to-pink-700 transition-all duration-300 transform hover:scale-110 shadow-2xl">
|
||||
<span class="relative z-10 flex items-center">
|
||||
<i class="fas fa-star mr-3 text-2xl text-yellow-300"></i>
|
||||
展会亮点
|
||||
<i class="fas fa-chevron-down ml-3 animate-bounce"></i>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Key Stats Section -->
|
||||
<section class="py-20 -mt-20 relative z-20 bg-gradient-to-br from-white via-gray-50 to-white">
|
||||
<!-- 背景装饰 -->
|
||||
<div class="absolute inset-0 opacity-5" style="background-image: url('../data/会展策划/image/Whisk_9e8c1f44ac.jpg'); background-size: cover; background-position: center;"></div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10" title="核心数据展示区">
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12">
|
||||
<div class="text-center group animate-fadeInUp animation-delay-200 transform hover:scale-105 transition-all duration-300">
|
||||
<div class="w-24 h-24 mx-auto mb-4 bg-white rounded-2xl flex items-center justify-center shadow-lg group-hover:shadow-xl border-2 border-purple-200 group-hover:border-purple-400 group-hover:rotate-3 transition-all">
|
||||
<i class="fas fa-building text-4xl text-purple-600"></i>
|
||||
</div>
|
||||
<div class="text-5xl font-bold text-gray-800 mb-2">
|
||||
<span class="counter" data-target="350">0</span>+
|
||||
</div>
|
||||
<div class="text-gray-700 font-semibold text-lg">参展企业</div>
|
||||
</div>
|
||||
<div class="text-center group animate-fadeInUp animation-delay-400 transform hover:scale-105 transition-all duration-300">
|
||||
<div class="w-24 h-24 mx-auto mb-4 bg-white rounded-2xl flex items-center justify-center shadow-lg group-hover:shadow-xl border-2 border-blue-200 group-hover:border-blue-400 group-hover:-rotate-3 transition-all">
|
||||
<i class="fas fa-users text-4xl text-blue-600"></i>
|
||||
</div>
|
||||
<div class="text-5xl font-bold text-gray-800 mb-2">
|
||||
<span class="counter" data-target="50000">0</span>+
|
||||
</div>
|
||||
<div class="text-gray-700 font-semibold text-lg">预计观众</div>
|
||||
</div>
|
||||
<div class="text-center group animate-fadeInUp animation-delay-600 transform hover:scale-105 transition-all duration-300">
|
||||
<div class="w-24 h-24 mx-auto mb-4 bg-white rounded-2xl flex items-center justify-center shadow-lg group-hover:shadow-xl border-2 border-green-200 group-hover:border-green-400 group-hover:rotate-3 transition-all">
|
||||
<i class="fas fa-hand-holding-usd text-4xl text-green-600"></i>
|
||||
</div>
|
||||
<div class="text-5xl font-bold text-gray-800 mb-2">
|
||||
<span class="counter" data-target="10">0</span>亿+
|
||||
</div>
|
||||
<div class="text-gray-700 font-semibold text-lg">预计成交额</div>
|
||||
</div>
|
||||
<div class="text-center group animate-fadeInUp animation-delay-800 transform hover:scale-105 transition-all duration-300">
|
||||
<div class="w-24 h-24 mx-auto mb-4 bg-white rounded-2xl flex items-center justify-center shadow-lg group-hover:shadow-xl border-2 border-orange-200 group-hover:border-orange-400 group-hover:-rotate-3 transition-all">
|
||||
<i class="fas fa-microphone-alt text-4xl text-orange-600"></i>
|
||||
</div>
|
||||
<div class="text-5xl font-bold text-gray-800 mb-2">
|
||||
<span class="counter" data-target="20">0</span>+
|
||||
</div>
|
||||
<div class="text-gray-700 font-semibold text-lg">专业论坛</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Highlights Section -->
|
||||
<section id="highlights" class="py-20 relative overflow-hidden">
|
||||
<!-- 背景图片层 - 降低透明度 -->
|
||||
<div class="absolute inset-0 opacity-20" style="background-image: url('../data/会展策划/image/Whisk_27184afa6e.jpg'); background-size: cover; background-position: center; background-attachment: fixed;"></div>
|
||||
|
||||
<!-- 强化遮罩层 - 确保主体内容清晰 -->
|
||||
<div class="absolute inset-0 bg-white/85"></div>
|
||||
<div class="absolute inset-0 bg-gradient-to-br from-gray-50/95 to-purple-50/95"></div>
|
||||
<div class="absolute inset-0 opacity-10">
|
||||
<div class="absolute top-20 left-20 w-72 h-72 bg-purple-300 rounded-full mix-blend-multiply filter blur-xl animate-blob"></div>
|
||||
<div class="absolute top-40 right-20 w-72 h-72 bg-yellow-300 rounded-full mix-blend-multiply filter blur-xl animate-blob animation-delay-2000"></div>
|
||||
<div class="absolute -bottom-8 left-40 w-72 h-72 bg-pink-300 rounded-full mix-blend-multiply filter blur-xl animate-blob animation-delay-4000"></div>
|
||||
</div>
|
||||
<div class="container mx-auto px-6 relative z-10" title="展会亮点展示区">
|
||||
<h2 class="text-3xl md:text-4xl font-bold text-center text-gray-800 mb-12 animate-fadeInUp">展会亮点</h2>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<!-- Card 1 -->
|
||||
<div class="bg-white rounded-xl shadow-lg overflow-hidden transform transition-all duration-300 hover:scale-105 hover:shadow-2xl animate-fadeInUp animation-delay-200">
|
||||
<div class="h-48 relative overflow-hidden">
|
||||
<img src="../data/会展策划/image/3.小米汽车.jpg" alt="小米汽车" class="w-full h-full object-cover">
|
||||
<div class="absolute top-4 left-4">
|
||||
<div class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-semibold">热门展区</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<h3 class="text-xl font-bold mb-3 text-gray-800">全产业链展示</h3>
|
||||
<p class="text-gray-600 mb-4">
|
||||
涵盖整车制造、核心零部件、充电设施、智能网联等全产业链环节,打造一站式采购平台。
|
||||
</p>
|
||||
<a href="pages/exhibition.html" class="text-purple-600 font-semibold hover:text-purple-800 flex items-center group">
|
||||
了解更多 <i class="fas fa-arrow-right ml-2 transform transition-transform group-hover:translate-x-2"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Card 2 -->
|
||||
<div class="bg-white rounded-xl shadow-lg overflow-hidden transform transition-all duration-300 hover:scale-105 hover:shadow-2xl animate-fadeInUp animation-delay-400">
|
||||
<div class="h-48 relative overflow-hidden">
|
||||
<img src="../data/会展策划/image/2.试驾小景.jpg" alt="试驾体验" class="w-full h-full object-cover">
|
||||
<div class="absolute top-4 left-4">
|
||||
<div class="bg-emerald-500 text-white px-3 py-1 rounded-full text-xs font-semibold">互动体验</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<h3 class="text-xl font-bold mb-3 text-gray-800">创新技术体验</h3>
|
||||
<p class="text-gray-600 mb-4">
|
||||
设置自动驾驶体验区、智能交通演示区,让观众亲身体验最新科技成果。
|
||||
</p>
|
||||
<a href="pages/operation.html" class="text-emerald-600 font-semibold hover:text-emerald-800 flex items-center group">
|
||||
了解更多 <i class="fas fa-arrow-right ml-2 transform transition-transform group-hover:translate-x-2"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Card 3 -->
|
||||
<div class="bg-white rounded-xl shadow-lg overflow-hidden transform transition-all duration-300 hover:scale-105 hover:shadow-2xl animate-fadeInUp animation-delay-600">
|
||||
<div class="h-48 relative overflow-hidden">
|
||||
<img src="../data/会展策划/image/展会内部参观.jpg" alt="论坛峰会" class="w-full h-full object-cover">
|
||||
<div class="absolute top-4 left-4">
|
||||
<div class="bg-purple-500 text-white px-3 py-1 rounded-full text-xs font-semibold">主题论坛</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<h3 class="text-xl font-bold mb-3 text-gray-800">高端论坛峰会</h3>
|
||||
<p class="text-gray-600 mb-4">
|
||||
汇聚行业领袖、专家学者,探讨产业发展趋势,发布权威研究报告。
|
||||
</p>
|
||||
<a href="pages/marketing.html" class="text-purple-600 font-semibold hover:text-purple-800 flex items-center group">
|
||||
了解更多 <i class="fas fa-arrow-right ml-2 transform transition-transform group-hover:translate-x-2"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Exhibition Areas -->
|
||||
<section class="py-20 bg-gradient-to-br from-white via-indigo-50 to-purple-50">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl md:text-4xl font-bold text-center text-gray-800 mb-4 animate-fadeInUp">展区规划</h2>
|
||||
<p class="text-center text-gray-600 mb-12 animate-fadeInUp animation-delay-200">50,000平方米超大展览空间,打造沉浸式体验</p>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||
<div class="group text-center p-6 bg-white/80 backdrop-blur border-2 border-purple-200 rounded-2xl hover:border-purple-500 hover:shadow-2xl transform transition-all duration-300 hover:-translate-y-2 animate-fadeInUp animation-delay-300">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-blue-400 to-purple-600 rounded-2xl flex items-center justify-center mx-auto mb-4 group-hover:rotate-6 transition-transform duration-300">
|
||||
<i class="fas fa-car text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-lg font-bold mb-2 text-gray-800">整车展示区</h3>
|
||||
<p class="text-purple-600 font-bold text-xl mb-1">20,000m²</p>
|
||||
<p class="text-gray-500 text-sm">100+品牌车型</p>
|
||||
<div class="mt-3 opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
||||
<span class="inline-block bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-xs">核心展区</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group text-center p-6 bg-white/80 backdrop-blur border-2 border-emerald-200 rounded-2xl hover:border-emerald-500 hover:shadow-2xl transform transition-all duration-300 hover:-translate-y-2 animate-fadeInUp animation-delay-400">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-emerald-400 to-teal-600 rounded-2xl flex items-center justify-center mx-auto mb-4 group-hover:rotate-6 transition-transform duration-300">
|
||||
<i class="fas fa-microchip text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-lg font-bold mb-2 text-gray-800">核心零部件区</h3>
|
||||
<p class="text-emerald-600 font-bold text-xl mb-1">15,000m²</p>
|
||||
<p class="text-gray-500 text-sm">500+供应商</p>
|
||||
<div class="mt-3 opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
||||
<span class="inline-block bg-emerald-100 text-emerald-700 px-3 py-1 rounded-full text-xs">技术展示</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group text-center p-6 bg-white/80 backdrop-blur border-2 border-indigo-200 rounded-2xl hover:border-indigo-500 hover:shadow-2xl transform transition-all duration-300 hover:-translate-y-2 animate-fadeInUp animation-delay-500">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-indigo-400 to-blue-600 rounded-2xl flex items-center justify-center mx-auto mb-4 group-hover:rotate-6 transition-transform duration-300">
|
||||
<i class="fas fa-network-wired text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-lg font-bold mb-2 text-gray-800">智能交通区</h3>
|
||||
<p class="text-indigo-600 font-bold text-xl mb-1">10,000m²</p>
|
||||
<p class="text-gray-500 text-sm">50+解决方案</p>
|
||||
<div class="mt-3 opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
||||
<span class="inline-block bg-indigo-100 text-indigo-700 px-3 py-1 rounded-full text-xs">创新科技</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group text-center p-6 bg-white/80 backdrop-blur border-2 border-pink-200 rounded-2xl hover:border-pink-500 hover:shadow-2xl transform transition-all duration-300 hover:-translate-y-2 animate-fadeInUp animation-delay-600">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-pink-400 to-rose-600 rounded-2xl flex items-center justify-center mx-auto mb-4 group-hover:rotate-6 transition-transform duration-300">
|
||||
<i class="fas fa-gamepad text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-lg font-bold mb-2 text-gray-800">体验互动区</h3>
|
||||
<p class="text-pink-600 font-bold text-xl mb-1">5,000m²</p>
|
||||
<p class="text-gray-500 text-sm">20+互动项目</p>
|
||||
<div class="mt-3 opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
||||
<span class="inline-block bg-pink-100 text-pink-700 px-3 py-1 rounded-full text-xs">沉浸体验</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 展馆布置图 -->
|
||||
<div class="mt-12 animate-fadeInUp animation-delay-700">
|
||||
<div class="bg-white/90 backdrop-blur rounded-2xl shadow-xl overflow-hidden">
|
||||
<img src="../data/会展策划/image/展馆布置图.jpeg" alt="展馆布置图" class="w-full h-auto hover:scale-105 transition-transform duration-700">
|
||||
<div class="p-4 bg-gradient-to-r from-purple-600 to-indigo-600 text-white">
|
||||
<p class="text-center font-semibold"><i class="fas fa-map-marked-alt mr-2"></i>展馆3D全景布置图 - 点击查看详情</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Gallery Section -->
|
||||
<section class="py-20 bg-gradient-to-br from-gray-900 to-purple-900 relative overflow-hidden">
|
||||
<div class="absolute inset-0 opacity-10">
|
||||
<div class="absolute top-0 left-0 w-full h-full bg-[url('../data/会展策划/image/展会内部参观.jpg')] bg-cover bg-center bg-fixed"></div>
|
||||
</div>
|
||||
<div class="container mx-auto px-6 relative z-10" title="精彩瞬间展示区">
|
||||
<h2 class="text-3xl md:text-4xl font-bold text-center text-white mb-12 animate-fadeInUp">精彩瞬间</h2>
|
||||
<div class="grid md:grid-cols-3 gap-6 mb-8">
|
||||
<div class="group relative overflow-hidden rounded-2xl shadow-2xl animate-fadeInUp animation-delay-200">
|
||||
<img src="../data/会展策划/image/展会内部参观.jpg" alt="展会内部" class="w-full h-64 object-cover transform transition-transform duration-700 group-hover:scale-110">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-6 text-white transform translate-y-20 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h3 class="text-xl font-bold mb-2">展馆内部参观</h3>
|
||||
<p class="text-sm">宽敞明亮的展示空间,科技感十足</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group relative overflow-hidden rounded-2xl shadow-2xl animate-fadeInUp animation-delay-400">
|
||||
<img src="../data/会展策划/image/签到.jpg" alt="签到处" class="w-full h-64 object-cover transform transition-transform duration-700 group-hover:scale-110">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-6 text-white transform translate-y-20 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h3 class="text-xl font-bold mb-2">智能签到系统</h3>
|
||||
<p class="text-sm">快速便捷的入场体验</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group relative overflow-hidden rounded-2xl shadow-2xl animate-fadeInUp animation-delay-600">
|
||||
<img src="../data/会展策划/image/3.小米汽车.jpg" alt="展品展示" class="w-full h-64 object-cover transform transition-transform duration-700 group-hover:scale-110">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-6 text-white transform translate-y-20 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h3 class="text-xl font-bold mb-2">明星展品</h3>
|
||||
<p class="text-sm">最新款新能源汽车亮相</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 更多图片展示 -->
|
||||
<div class="grid md:grid-cols-4 gap-4">
|
||||
<div class="group relative overflow-hidden rounded-xl shadow-xl animate-fadeInUp animation-delay-800">
|
||||
<img src="../data/会展策划/image/Whisk_03282ab7e5.jpg" alt="展品1" class="w-full h-48 object-cover transform transition-all duration-500 group-hover:scale-110 group-hover:rotate-1">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-purple-600/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-4 text-white transform translate-y-10 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h4 class="text-sm font-bold">智能驾驶展示</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="group relative overflow-hidden rounded-xl shadow-xl animate-fadeInUp animation-delay-900">
|
||||
<img src="../data/会展策划/image/Whisk_15f65339bb.jpg" alt="展品2" class="w-full h-48 object-cover transform transition-all duration-500 group-hover:scale-110 group-hover:rotate-1">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-indigo-600/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-4 text-white transform translate-y-10 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h4 class="text-sm font-bold">充电技术革新</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="group relative overflow-hidden rounded-xl shadow-xl animate-fadeInUp animation-delay-1000">
|
||||
<img src="../data/会展策划/image/Whisk_192cdc54bc.jpg" alt="展品3" class="w-full h-48 object-cover transform transition-all duration-500 group-hover:scale-110 group-hover:rotate-1">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-blue-600/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-4 text-white transform translate-y-10 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h4 class="text-sm font-bold">电池技术展览</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="group relative overflow-hidden rounded-xl shadow-xl animate-fadeInUp animation-delay-1100">
|
||||
<img src="../data/会展策划/image/Whisk_1c05424f7f.jpg" alt="展品4" class="w-full h-48 object-cover transform transition-all duration-500 group-hover:scale-110 group-hover:rotate-1">
|
||||
<div class="absolute inset-0 bg-gradient-to-t from-cyan-600/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end">
|
||||
<div class="p-4 text-white transform translate-y-10 group-hover:translate-y-0 transition-transform duration-300">
|
||||
<h4 class="text-sm font-bold">智慧交通系统</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gradient-to-b from-gray-900 to-black text-white py-16 relative overflow-hidden">
|
||||
<!-- 背景装饰 -->
|
||||
<div class="absolute inset-0 opacity-10">
|
||||
<div class="absolute bottom-0 left-0 w-96 h-96 bg-purple-500 rounded-full filter blur-3xl"></div>
|
||||
<div class="absolute top-0 right-0 w-96 h-96 bg-blue-500 rounded-full filter blur-3xl"></div>
|
||||
</div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10" title="页脚信息区">
|
||||
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
|
||||
<div class="animate-fadeInUp">
|
||||
<div class="flex items-center mb-4">
|
||||
<i class="fas fa-car-side text-2xl text-purple-400 mr-2"></i>
|
||||
<h3 class="text-lg font-semibold">关于展会</h3>
|
||||
</div>
|
||||
<p class="text-gray-400 text-sm leading-relaxed">
|
||||
长三角地区最具影响力的新能源汽车与智能交通产业盛会,汇聚全球顶尖企业与技术
|
||||
</p>
|
||||
<div class="mt-4 flex space-x-3">
|
||||
<a href="#" class="w-8 h-8 bg-gray-800 rounded-full flex items-center justify-center hover:bg-purple-600 transition">
|
||||
<i class="fab fa-weixin text-sm"></i>
|
||||
</a>
|
||||
<a href="#" class="w-8 h-8 bg-gray-800 rounded-full flex items-center justify-center hover:bg-blue-600 transition">
|
||||
<i class="fab fa-weibo text-sm"></i>
|
||||
</a>
|
||||
<a href="#" class="w-8 h-8 bg-gray-800 rounded-full flex items-center justify-center hover:bg-red-600 transition">
|
||||
<i class="fab fa-linkedin text-sm"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="animate-fadeInUp animation-delay-200">
|
||||
<h3 class="text-lg font-semibold mb-4">
|
||||
<i class="fas fa-link text-purple-400 mr-2"></i>快速链接
|
||||
</h3>
|
||||
<ul class="space-y-2 text-sm text-gray-400">
|
||||
<li><a href="pages/overview.html" class="hover:text-purple-400 transition">
|
||||
<i class="fas fa-chevron-right text-xs mr-1"></i>策划概述
|
||||
</a></li>
|
||||
<li><a href="pages/exhibition.html" class="hover:text-purple-400 transition">
|
||||
<i class="fas fa-chevron-right text-xs mr-1"></i>展会介绍
|
||||
</a></li>
|
||||
<li><a href="pages/marketing.html" class="hover:text-purple-400 transition">
|
||||
<i class="fas fa-chevron-right text-xs mr-1"></i>营销方案
|
||||
</a></li>
|
||||
<li><a href="pages/operation.html" class="hover:text-purple-400 transition">
|
||||
<i class="fas fa-chevron-right text-xs mr-1"></i>现场运营
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="animate-fadeInUp animation-delay-400">
|
||||
<h3 class="text-lg font-semibold mb-4">
|
||||
<i class="fas fa-phone-alt text-purple-400 mr-2"></i>联系方式
|
||||
</h3>
|
||||
<ul class="space-y-2 text-sm text-gray-400">
|
||||
<li><i class="fas fa-map-marker-alt text-purple-400 mr-2"></i>上海市青浦区崧泽大道333号</li>
|
||||
<li><i class="fas fa-phone text-purple-400 mr-2"></i>021-12345678</li>
|
||||
<li><i class="fas fa-envelope text-purple-400 mr-2"></i>info@greenmobility2024.com</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="animate-fadeInUp animation-delay-600">
|
||||
<h3 class="text-lg font-semibold mb-4">
|
||||
<i class="fas fa-qrcode text-purple-400 mr-2"></i>关注我们
|
||||
</h3>
|
||||
<div class="flex space-x-4">
|
||||
<a href="#" class="w-10 h-10 bg-gray-800 rounded-full flex items-center justify-center hover:bg-gray-700">
|
||||
<span>微信</span>
|
||||
</a>
|
||||
<a href="#" class="w-10 h-10 bg-gray-800 rounded-full flex items-center justify-center hover:bg-gray-700">
|
||||
<span>微博</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-t border-gray-800 mt-8 pt-8 text-center text-sm text-gray-400">
|
||||
<p>© 2024 长三角国际新能源汽车与智能交通产业博览会. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
709
web_frontend/exhibition-demo/public/web_result/js/main.js
Normal file
709
web_frontend/exhibition-demo/public/web_result/js/main.js
Normal file
@@ -0,0 +1,709 @@
|
||||
// 2024长三角国际新能源汽车与智能交通产业博览会 - 交互脚本
|
||||
|
||||
// 页面加载完成后初始化
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// 隐藏页面加载器
|
||||
hidePageLoader();
|
||||
|
||||
initNavbar();
|
||||
initAnimations();
|
||||
initCounters();
|
||||
initScrollEffects();
|
||||
initRippleEffect();
|
||||
initLazyLoading();
|
||||
initFormValidation();
|
||||
initCharts();
|
||||
initTimeline();
|
||||
initInteractiveElements();
|
||||
handleImageErrors();
|
||||
});
|
||||
|
||||
// 隐藏页面加载器
|
||||
function hidePageLoader() {
|
||||
const loader = document.getElementById('pageLoader');
|
||||
if (loader) {
|
||||
// 添加淡出动画
|
||||
loader.style.opacity = '0';
|
||||
loader.style.transition = 'opacity 0.5s ease-out';
|
||||
|
||||
// 500ms后完全移除
|
||||
setTimeout(() => {
|
||||
loader.style.display = 'none';
|
||||
// 恢复body滚动
|
||||
document.body.style.overflow = 'auto';
|
||||
document.body.classList.remove('loading');
|
||||
}, 500);
|
||||
} else {
|
||||
// 如果没有找到加载器,也要确保恢复滚动
|
||||
document.body.style.overflow = 'auto';
|
||||
document.body.classList.remove('loading');
|
||||
}
|
||||
}
|
||||
|
||||
// 如果页面加载超过3秒,强制隐藏加载器
|
||||
window.addEventListener('load', function() {
|
||||
setTimeout(() => {
|
||||
hidePageLoader();
|
||||
}, 3000);
|
||||
});
|
||||
|
||||
// 导航栏交互
|
||||
function initNavbar() {
|
||||
const navbar = document.querySelector('.navbar');
|
||||
const navLinks = document.querySelectorAll('.nav-link');
|
||||
const mobileMenuBtn = document.querySelector('.mobile-menu-btn');
|
||||
const mobileMenu = document.querySelector('.mobile-menu');
|
||||
|
||||
// 滚动时改变导航栏样式
|
||||
window.addEventListener('scroll', () => {
|
||||
if (window.scrollY > 100) {
|
||||
navbar?.classList.add('scrolled');
|
||||
} else {
|
||||
navbar?.classList.remove('scrolled');
|
||||
}
|
||||
});
|
||||
|
||||
// 高亮当前页面链接
|
||||
const currentPath = window.location.pathname;
|
||||
navLinks.forEach(link => {
|
||||
if (link.getAttribute('href') === currentPath) {
|
||||
link.classList.add('active');
|
||||
}
|
||||
});
|
||||
|
||||
// 移动端菜单切换
|
||||
mobileMenuBtn?.addEventListener('click', () => {
|
||||
mobileMenu?.classList.toggle('open');
|
||||
mobileMenuBtn.classList.toggle('active');
|
||||
});
|
||||
|
||||
// 平滑滚动到锚点
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
const target = document.querySelector(this.getAttribute('href'));
|
||||
if (target) {
|
||||
target.scrollIntoView({
|
||||
behavior: 'smooth',
|
||||
block: 'start'
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 动画初始化
|
||||
function initAnimations() {
|
||||
// Intersection Observer for fade-in animations
|
||||
const observerOptions = {
|
||||
threshold: 0.1,
|
||||
rootMargin: '0px 0px -50px 0px'
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
entry.target.classList.add('animate-in');
|
||||
observer.unobserve(entry.target);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
// 观察所有需要动画的元素
|
||||
document.querySelectorAll('.fade-in, .slide-in-left, .slide-in-right, .grid-item').forEach(el => {
|
||||
observer.observe(el);
|
||||
});
|
||||
}
|
||||
|
||||
// 数字计数器动画
|
||||
function initCounters() {
|
||||
const counters = document.querySelectorAll('.counter');
|
||||
const speed = 200; // 动画速度
|
||||
|
||||
const countUp = (counter) => {
|
||||
const target = +counter.getAttribute('data-target');
|
||||
const increment = target / speed;
|
||||
|
||||
const updateCount = () => {
|
||||
const count = +counter.innerText.replace(/[^0-9]/g, '');
|
||||
|
||||
if (count < target) {
|
||||
counter.innerText = Math.ceil(count + increment).toLocaleString();
|
||||
setTimeout(updateCount, 1);
|
||||
} else {
|
||||
counter.innerText = target.toLocaleString();
|
||||
|
||||
// 添加单位
|
||||
const unit = counter.getAttribute('data-unit');
|
||||
if (unit) {
|
||||
counter.innerText += unit;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
updateCount();
|
||||
};
|
||||
|
||||
// 使用 Intersection Observer 触发计数
|
||||
const counterObserver = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
countUp(entry.target);
|
||||
counterObserver.unobserve(entry.target);
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.5 });
|
||||
|
||||
counters.forEach(counter => {
|
||||
counter.innerText = '0';
|
||||
counterObserver.observe(counter);
|
||||
});
|
||||
}
|
||||
|
||||
// 滚动效果
|
||||
function initScrollEffects() {
|
||||
let lastScrollTop = 0;
|
||||
const header = document.querySelector('header');
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
|
||||
|
||||
// 隐藏/显示导航栏
|
||||
if (scrollTop > lastScrollTop && scrollTop > 300) {
|
||||
header?.classList.add('hide');
|
||||
} else {
|
||||
header?.classList.remove('hide');
|
||||
}
|
||||
|
||||
lastScrollTop = scrollTop <= 0 ? 0 : scrollTop;
|
||||
|
||||
// 视差效果
|
||||
const parallaxElements = document.querySelectorAll('.parallax');
|
||||
parallaxElements.forEach(el => {
|
||||
const speed = el.getAttribute('data-speed') || 0.5;
|
||||
const yPos = -(scrollTop * speed);
|
||||
el.style.transform = `translateY(${yPos}px)`;
|
||||
});
|
||||
|
||||
// 进度条
|
||||
const progressBar = document.querySelector('.progress-bar');
|
||||
if (progressBar) {
|
||||
const winScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
||||
const height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
|
||||
const scrolled = (winScroll / height) * 100;
|
||||
progressBar.style.width = scrolled + '%';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 波纹效果
|
||||
function initRippleEffect() {
|
||||
document.querySelectorAll('.btn, .card').forEach(element => {
|
||||
element.addEventListener('click', function(e) {
|
||||
const ripple = document.createElement('span');
|
||||
ripple.classList.add('ripple');
|
||||
|
||||
const rect = this.getBoundingClientRect();
|
||||
const size = Math.max(rect.width, rect.height);
|
||||
const x = e.clientX - rect.left - size / 2;
|
||||
const y = e.clientY - rect.top - size / 2;
|
||||
|
||||
ripple.style.width = ripple.style.height = size + 'px';
|
||||
ripple.style.left = x + 'px';
|
||||
ripple.style.top = y + 'px';
|
||||
|
||||
this.appendChild(ripple);
|
||||
|
||||
setTimeout(() => {
|
||||
ripple.remove();
|
||||
}, 600);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 懒加载
|
||||
function initLazyLoading() {
|
||||
const images = document.querySelectorAll('img[data-src]');
|
||||
|
||||
const imageObserver = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const img = entry.target;
|
||||
img.src = img.dataset.src;
|
||||
img.removeAttribute('data-src');
|
||||
imageObserver.unobserve(img);
|
||||
|
||||
// 添加加载完成动画
|
||||
img.addEventListener('load', () => {
|
||||
img.classList.add('loaded');
|
||||
});
|
||||
}
|
||||
});
|
||||
}, {
|
||||
rootMargin: '50px 0px'
|
||||
});
|
||||
|
||||
images.forEach(img => imageObserver.observe(img));
|
||||
}
|
||||
|
||||
// 表单验证
|
||||
function initFormValidation() {
|
||||
const forms = document.querySelectorAll('form');
|
||||
|
||||
forms.forEach(form => {
|
||||
form.addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
let isValid = true;
|
||||
const inputs = form.querySelectorAll('input[required], textarea[required]');
|
||||
|
||||
inputs.forEach(input => {
|
||||
if (!input.value.trim()) {
|
||||
isValid = false;
|
||||
input.classList.add('error');
|
||||
showError(input, '此字段为必填项');
|
||||
} else {
|
||||
input.classList.remove('error');
|
||||
clearError(input);
|
||||
}
|
||||
|
||||
// 邮箱验证
|
||||
if (input.type === 'email' && input.value) {
|
||||
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||
if (!emailRegex.test(input.value)) {
|
||||
isValid = false;
|
||||
input.classList.add('error');
|
||||
showError(input, '请输入有效的邮箱地址');
|
||||
}
|
||||
}
|
||||
|
||||
// 电话验证
|
||||
if (input.type === 'tel' && input.value) {
|
||||
const phoneRegex = /^1[3-9]\d{9}$/;
|
||||
if (!phoneRegex.test(input.value)) {
|
||||
isValid = false;
|
||||
input.classList.add('error');
|
||||
showError(input, '请输入有效的手机号码');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (isValid) {
|
||||
// 显示成功消息
|
||||
showSuccess('表单提交成功!');
|
||||
form.reset();
|
||||
}
|
||||
});
|
||||
|
||||
// 实时验证
|
||||
form.querySelectorAll('input, textarea').forEach(input => {
|
||||
input.addEventListener('blur', function() {
|
||||
validateInput(this);
|
||||
});
|
||||
|
||||
input.addEventListener('input', function() {
|
||||
if (this.classList.contains('error')) {
|
||||
validateInput(this);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 显示错误信息
|
||||
function showError(input, message) {
|
||||
const errorEl = input.nextElementSibling;
|
||||
if (errorEl && errorEl.classList.contains('error-message')) {
|
||||
errorEl.textContent = message;
|
||||
} else {
|
||||
const error = document.createElement('span');
|
||||
error.classList.add('error-message');
|
||||
error.textContent = message;
|
||||
input.parentNode.insertBefore(error, input.nextSibling);
|
||||
}
|
||||
}
|
||||
|
||||
// 清除错误信息
|
||||
function clearError(input) {
|
||||
const errorEl = input.nextElementSibling;
|
||||
if (errorEl && errorEl.classList.contains('error-message')) {
|
||||
errorEl.remove();
|
||||
}
|
||||
}
|
||||
|
||||
// 验证输入
|
||||
function validateInput(input) {
|
||||
if (input.hasAttribute('required') && !input.value.trim()) {
|
||||
input.classList.add('error');
|
||||
showError(input, '此字段为必填项');
|
||||
return false;
|
||||
}
|
||||
|
||||
input.classList.remove('error');
|
||||
clearError(input);
|
||||
return true;
|
||||
}
|
||||
|
||||
// 显示成功消息
|
||||
function showSuccess(message) {
|
||||
const toast = document.createElement('div');
|
||||
toast.classList.add('toast', 'success');
|
||||
toast.textContent = message;
|
||||
document.body.appendChild(toast);
|
||||
|
||||
setTimeout(() => {
|
||||
toast.classList.add('show');
|
||||
}, 100);
|
||||
|
||||
setTimeout(() => {
|
||||
toast.classList.remove('show');
|
||||
setTimeout(() => {
|
||||
toast.remove();
|
||||
}, 300);
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
// 初始化图表
|
||||
function initCharts() {
|
||||
// 预算分配饼图
|
||||
const budgetChart = document.getElementById('budgetChart');
|
||||
if (budgetChart) {
|
||||
const data = [
|
||||
{ label: '场地租赁', value: 35, color: '#10b981' },
|
||||
{ label: '营销推广', value: 25, color: '#3b82f6' },
|
||||
{ label: '运营服务', value: 20, color: '#8b5cf6' },
|
||||
{ label: '人员成本', value: 15, color: '#f59e0b' },
|
||||
{ label: '其他费用', value: 5, color: '#ef4444' }
|
||||
];
|
||||
|
||||
drawPieChart(budgetChart, data);
|
||||
}
|
||||
|
||||
// 参展商类别分布
|
||||
const exhibitorChart = document.getElementById('exhibitorChart');
|
||||
if (exhibitorChart) {
|
||||
const data = [
|
||||
{ label: '整车制造', value: 40 },
|
||||
{ label: '零部件', value: 30 },
|
||||
{ label: '充电设施', value: 15 },
|
||||
{ label: '智能驾驶', value: 10 },
|
||||
{ label: '其他', value: 5 }
|
||||
];
|
||||
|
||||
drawBarChart(exhibitorChart, data);
|
||||
}
|
||||
}
|
||||
|
||||
// 绘制饼图
|
||||
function drawPieChart(canvas, data) {
|
||||
const ctx = canvas.getContext('2d');
|
||||
const centerX = canvas.width / 2;
|
||||
const centerY = canvas.height / 2;
|
||||
const radius = Math.min(centerX, centerY) - 20;
|
||||
|
||||
let currentAngle = -Math.PI / 2;
|
||||
const total = data.reduce((sum, item) => sum + item.value, 0);
|
||||
|
||||
data.forEach(item => {
|
||||
const sliceAngle = (item.value / total) * 2 * Math.PI;
|
||||
|
||||
// 绘制扇形
|
||||
ctx.beginPath();
|
||||
ctx.arc(centerX, centerY, radius, currentAngle, currentAngle + sliceAngle);
|
||||
ctx.lineTo(centerX, centerY);
|
||||
ctx.fillStyle = item.color;
|
||||
ctx.fill();
|
||||
|
||||
// 绘制标签
|
||||
const labelX = centerX + Math.cos(currentAngle + sliceAngle / 2) * (radius * 0.7);
|
||||
const labelY = centerY + Math.sin(currentAngle + sliceAngle / 2) * (radius * 0.7);
|
||||
|
||||
ctx.fillStyle = '#fff';
|
||||
ctx.font = '14px sans-serif';
|
||||
ctx.textAlign = 'center';
|
||||
ctx.fillText(item.value + '%', labelX, labelY);
|
||||
|
||||
currentAngle += sliceAngle;
|
||||
});
|
||||
}
|
||||
|
||||
// 绘制柱状图
|
||||
function drawBarChart(canvas, data) {
|
||||
const ctx = canvas.getContext('2d');
|
||||
const barWidth = canvas.width / (data.length * 2);
|
||||
const maxValue = Math.max(...data.map(item => item.value));
|
||||
const chartHeight = canvas.height - 40;
|
||||
|
||||
data.forEach((item, index) => {
|
||||
const barHeight = (item.value / maxValue) * chartHeight;
|
||||
const x = (index * 2 + 0.5) * barWidth;
|
||||
const y = canvas.height - barHeight - 20;
|
||||
|
||||
// 绘制柱子
|
||||
const gradient = ctx.createLinearGradient(x, y, x, y + barHeight);
|
||||
gradient.addColorStop(0, '#10b981');
|
||||
gradient.addColorStop(1, '#3b82f6');
|
||||
|
||||
ctx.fillStyle = gradient;
|
||||
ctx.fillRect(x, y, barWidth, barHeight);
|
||||
|
||||
// 绘制数值
|
||||
ctx.fillStyle = '#333';
|
||||
ctx.font = '12px sans-serif';
|
||||
ctx.textAlign = 'center';
|
||||
ctx.fillText(item.value + '%', x + barWidth / 2, y - 5);
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化时间线
|
||||
function initTimeline() {
|
||||
const timelineItems = document.querySelectorAll('.timeline-item');
|
||||
|
||||
const timelineObserver = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
entry.target.classList.add('active');
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.5 });
|
||||
|
||||
timelineItems.forEach(item => {
|
||||
timelineObserver.observe(item);
|
||||
});
|
||||
}
|
||||
|
||||
// 交互元素初始化
|
||||
function initInteractiveElements() {
|
||||
// 标签页切换
|
||||
const tabs = document.querySelectorAll('.tab');
|
||||
const tabContents = document.querySelectorAll('.tab-content');
|
||||
|
||||
tabs.forEach(tab => {
|
||||
tab.addEventListener('click', () => {
|
||||
const target = tab.dataset.tab;
|
||||
|
||||
// 切换标签状态
|
||||
tabs.forEach(t => t.classList.remove('active'));
|
||||
tab.classList.add('active');
|
||||
|
||||
// 切换内容显示
|
||||
tabContents.forEach(content => {
|
||||
if (content.id === target) {
|
||||
content.classList.add('active');
|
||||
content.style.display = 'block';
|
||||
} else {
|
||||
content.classList.remove('active');
|
||||
content.style.display = 'none';
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// 手风琴效果
|
||||
const accordionHeaders = document.querySelectorAll('.accordion-header');
|
||||
|
||||
accordionHeaders.forEach(header => {
|
||||
header.addEventListener('click', () => {
|
||||
const content = header.nextElementSibling;
|
||||
const isOpen = header.classList.contains('active');
|
||||
|
||||
// 关闭其他项
|
||||
accordionHeaders.forEach(h => {
|
||||
h.classList.remove('active');
|
||||
h.nextElementSibling.style.maxHeight = null;
|
||||
});
|
||||
|
||||
// 切换当前项
|
||||
if (!isOpen) {
|
||||
header.classList.add('active');
|
||||
content.style.maxHeight = content.scrollHeight + 'px';
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 模态框
|
||||
const modalTriggers = document.querySelectorAll('[data-modal]');
|
||||
const modals = document.querySelectorAll('.modal');
|
||||
const modalCloses = document.querySelectorAll('.modal-close');
|
||||
|
||||
modalTriggers.forEach(trigger => {
|
||||
trigger.addEventListener('click', () => {
|
||||
const modalId = trigger.dataset.modal;
|
||||
const modal = document.getElementById(modalId);
|
||||
if (modal) {
|
||||
modal.classList.add('open');
|
||||
document.body.style.overflow = 'hidden';
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
modalCloses.forEach(close => {
|
||||
close.addEventListener('click', () => {
|
||||
const modal = close.closest('.modal');
|
||||
modal.classList.remove('open');
|
||||
document.body.style.overflow = '';
|
||||
});
|
||||
});
|
||||
|
||||
// 点击背景关闭模态框
|
||||
modals.forEach(modal => {
|
||||
modal.addEventListener('click', (e) => {
|
||||
if (e.target === modal) {
|
||||
modal.classList.remove('open');
|
||||
document.body.style.overflow = '';
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 工具提示
|
||||
const tooltips = document.querySelectorAll('[data-tooltip]');
|
||||
|
||||
tooltips.forEach(element => {
|
||||
const tooltip = document.createElement('div');
|
||||
tooltip.classList.add('tooltip');
|
||||
tooltip.textContent = element.dataset.tooltip;
|
||||
|
||||
element.addEventListener('mouseenter', () => {
|
||||
document.body.appendChild(tooltip);
|
||||
const rect = element.getBoundingClientRect();
|
||||
tooltip.style.left = rect.left + rect.width / 2 - tooltip.offsetWidth / 2 + 'px';
|
||||
tooltip.style.top = rect.top - tooltip.offsetHeight - 10 + 'px';
|
||||
tooltip.classList.add('show');
|
||||
});
|
||||
|
||||
element.addEventListener('mouseleave', () => {
|
||||
tooltip.classList.remove('show');
|
||||
setTimeout(() => {
|
||||
tooltip.remove();
|
||||
}, 300);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 复制到剪贴板
|
||||
function copyToClipboard(text) {
|
||||
const textarea = document.createElement('textarea');
|
||||
textarea.value = text;
|
||||
document.body.appendChild(textarea);
|
||||
textarea.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(textarea);
|
||||
showSuccess('已复制到剪贴板');
|
||||
}
|
||||
|
||||
// 分享功能
|
||||
function shareContent(platform) {
|
||||
const url = encodeURIComponent(window.location.href);
|
||||
const title = encodeURIComponent(document.title);
|
||||
let shareUrl = '';
|
||||
|
||||
switch(platform) {
|
||||
case 'wechat':
|
||||
// 生成微信分享二维码
|
||||
generateQRCode(window.location.href);
|
||||
break;
|
||||
case 'weibo':
|
||||
shareUrl = `https://service.weibo.com/share/share.php?url=${url}&title=${title}`;
|
||||
break;
|
||||
case 'linkedin':
|
||||
shareUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${url}`;
|
||||
break;
|
||||
case 'twitter':
|
||||
shareUrl = `https://twitter.com/intent/tweet?url=${url}&text=${title}`;
|
||||
break;
|
||||
}
|
||||
|
||||
if (shareUrl) {
|
||||
window.open(shareUrl, '_blank', 'width=600,height=400');
|
||||
}
|
||||
}
|
||||
|
||||
// 生成二维码
|
||||
function generateQRCode(text) {
|
||||
const modal = document.createElement('div');
|
||||
modal.classList.add('qr-modal');
|
||||
modal.innerHTML = `
|
||||
<div class="qr-content">
|
||||
<h3>微信扫码分享</h3>
|
||||
<div id="qrcode"></div>
|
||||
<button class="btn btn-secondary" onclick="this.parentElement.parentElement.remove()">关闭</button>
|
||||
</div>
|
||||
`;
|
||||
document.body.appendChild(modal);
|
||||
|
||||
// 这里可以集成实际的二维码生成库
|
||||
document.getElementById('qrcode').innerHTML = '二维码生成区域';
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
function initThemeToggle() {
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const currentTheme = localStorage.getItem('theme') || 'light';
|
||||
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
|
||||
themeToggle?.addEventListener('click', () => {
|
||||
const theme = document.documentElement.getAttribute('data-theme') === 'light' ? 'dark' : 'light';
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
localStorage.setItem('theme', theme);
|
||||
});
|
||||
}
|
||||
|
||||
// 导出为 PDF
|
||||
function exportToPDF() {
|
||||
window.print();
|
||||
}
|
||||
|
||||
// 性能监控
|
||||
function initPerformanceMonitoring() {
|
||||
// 页面加载时间
|
||||
window.addEventListener('load', () => {
|
||||
const loadTime = performance.timing.loadEventEnd - performance.timing.navigationStart;
|
||||
console.log(`页面加载时间: ${loadTime}ms`);
|
||||
|
||||
// 发送到分析服务
|
||||
if (window.gtag) {
|
||||
gtag('event', 'page_load_time', {
|
||||
value: loadTime,
|
||||
page_path: window.location.pathname
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 监控长任务
|
||||
if ('PerformanceObserver' in window) {
|
||||
const observer = new PerformanceObserver((list) => {
|
||||
for (const entry of list.getEntries()) {
|
||||
console.log('Long Task detected:', entry);
|
||||
}
|
||||
});
|
||||
|
||||
observer.observe({ entryTypes: ['longtask'] });
|
||||
}
|
||||
}
|
||||
|
||||
// 处理图片加载错误
|
||||
function handleImageErrors() {
|
||||
const images = document.querySelectorAll('img');
|
||||
const defaultImage = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZTJlOGYwIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxOCIgZmlsbD0iIzk0YTNiOCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPuWbvueJh+WKoOi9veS4rTwvdGV4dD48L3N2Zz4=';
|
||||
|
||||
images.forEach(img => {
|
||||
// 添加错误处理
|
||||
img.addEventListener('error', function() {
|
||||
console.warn('图片加载失败:', this.src);
|
||||
// 设置默认占位图
|
||||
this.src = defaultImage;
|
||||
this.alt = '图片加载失败';
|
||||
this.classList.add('image-error');
|
||||
});
|
||||
|
||||
// 添加加载成功处理
|
||||
img.addEventListener('load', function() {
|
||||
this.classList.add('image-loaded');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化性能监控
|
||||
initPerformanceMonitoring();
|
||||
initThemeToggle();
|
||||
1121
web_frontend/exhibition-demo/public/web_result/pages/budget.html
Normal file
1121
web_frontend/exhibition-demo/public/web_result/pages/budget.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,835 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>展会介绍 - 2024长三角国际新能源汽车展</title>
|
||||
|
||||
<!-- 样式表 -->
|
||||
<link rel="stylesheet" href="../css/animations.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
|
||||
|
||||
<!-- 字体 -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome 图标 -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
* {
|
||||
font-family: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
}
|
||||
|
||||
/* Glass morphism effect */
|
||||
.glass-morphism {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
/* 页面加载动画 */
|
||||
.page-enter {
|
||||
animation: pageEnter 0.8s ease-out;
|
||||
}
|
||||
|
||||
@keyframes pageEnter {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 玻璃态效果 */
|
||||
.glass-card {
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.glass-card:hover {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
|
||||
}
|
||||
.nav-link {
|
||||
position: relative;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
.nav-link::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -2px;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 2px;
|
||||
background: #667eea;
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
.nav-link:hover::after,
|
||||
.nav-link.active::after {
|
||||
width: 100%;
|
||||
}
|
||||
.exhibition-card {
|
||||
transition: all 0.3s ease;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
.exhibition-card:hover {
|
||||
border-color: #667eea;
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
|
||||
}
|
||||
.scale-in {
|
||||
animation: scaleIn 0.5s ease-out;
|
||||
}
|
||||
@keyframes scaleIn {
|
||||
from { transform: scale(0.9); opacity: 0; }
|
||||
to { transform: scale(1); opacity: 1; }
|
||||
}
|
||||
.map-container {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.map-container::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
right: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
|
||||
animation: rotate 20s linear infinite;
|
||||
}
|
||||
@keyframes rotate {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-gray-50">
|
||||
<!-- Navigation -->
|
||||
<nav class="fixed top-0 w-full glass-morphism shadow-md z-50 transition-all duration-300">
|
||||
<div class="container mx-auto px-6 py-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<div class="w-10 h-10 bg-gradient-to-br from-emerald-400 to-blue-500 rounded-lg flex items-center justify-center mr-3">
|
||||
<i class="fas fa-charging-station text-white"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h1 class="text-lg font-bold">NEVIT 2024</h1>
|
||||
<p class="text-xs text-gray-500">新能源汽车产业博览会</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden md:flex space-x-8">
|
||||
<a href="../index.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-home mr-2"></i>首页
|
||||
</a>
|
||||
<a href="overview.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-info-circle mr-2"></i>展会概览
|
||||
</a>
|
||||
<a href="exhibition.html" class="nav-link active text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-th-large mr-2"></i>展览内容
|
||||
</a>
|
||||
<a href="marketing.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-bullhorn mr-2"></i>营销推广
|
||||
</a>
|
||||
<a href="operation.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-cogs mr-2"></i>运营服务
|
||||
</a>
|
||||
<a href="budget.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-chart-pie mr-2"></i>预算分析
|
||||
</a>
|
||||
<a href="risk.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-shield-alt mr-2"></i>风险评估
|
||||
</a>
|
||||
</div>
|
||||
<button class="md:hidden text-gray-700">
|
||||
<i class="fas fa-bars text-2xl"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Page Header -->
|
||||
<section class="relative pt-24 pb-16 overflow-hidden" style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);">
|
||||
<!-- 背景装饰 -->
|
||||
<div class="absolute inset-0">
|
||||
<div class="absolute top-0 left-0 w-96 h-96 bg-white/10 rounded-full filter blur-3xl animate-pulse"></div>
|
||||
<div class="absolute bottom-0 right-0 w-96 h-96 bg-purple-300/20 rounded-full filter blur-3xl animate-pulse animation-delay-2000"></div>
|
||||
</div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10 page-enter">
|
||||
<div class="flex items-center text-white/80 mb-4">
|
||||
<a href="../index.html" class="hover:text-white transition">首页</a>
|
||||
<i class="fas fa-chevron-right mx-2 text-xs"></i>
|
||||
<span>展会介绍</span>
|
||||
</div>
|
||||
<h1 class="text-4xl md:text-6xl font-bold text-white mb-4 animate-fadeInUp">
|
||||
展会介绍与预期效果
|
||||
</h1>
|
||||
<p class="text-xl text-white/90 animate-fadeInUp animation-delay-200">
|
||||
<i class="fas fa-chart-line mr-2"></i>
|
||||
深入了解展会规模、展品范围、参展商与观众构成
|
||||
</p>
|
||||
<div class="mt-8 flex flex-wrap gap-4 animate-fadeInUp animation-delay-400">
|
||||
<div class="bg-white/20 backdrop-blur px-4 py-2 rounded-full text-sm">
|
||||
<i class="fas fa-calendar mr-2"></i>2024年9月12-15日
|
||||
</div>
|
||||
<div class="bg-white/20 backdrop-blur px-4 py-2 rounded-full text-sm">
|
||||
<i class="fas fa-map-marker-alt mr-2"></i>国家会展中心(上海)
|
||||
</div>
|
||||
<div class="bg-white/20 backdrop-blur px-4 py-2 rounded-full text-sm">
|
||||
<i class="fas fa-users mr-2"></i>预计10万+参观者
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Exhibition Theme -->
|
||||
<section class="py-16 bg-white">
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-4xl font-bold text-gray-800 mb-4">智行未来,绿动长三角</h2>
|
||||
<p class="text-xl text-gray-600 max-w-3xl mx-auto">
|
||||
2024长三角国际新能源汽车与智能交通产业博览会,致力于打造全球新能源汽车产业交流合作的重要平台
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<div class="text-center group animate-fadeInUp animation-delay-200">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-blue-100 to-blue-200 rounded-full flex items-center justify-center mx-auto mb-4 group-hover:scale-110 transition-transform shadow-lg">
|
||||
<i class="fas fa-award text-3xl text-blue-600"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2">专业化</h3>
|
||||
<p class="text-gray-600">聚焦新能源汽车全产业链,提供专业展示交流平台</p>
|
||||
</div>
|
||||
<div class="text-center group animate-fadeInUp animation-delay-400">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-green-100 to-green-200 rounded-full flex items-center justify-center mx-auto mb-4 group-hover:scale-110 transition-transform shadow-lg">
|
||||
<i class="fas fa-globe-asia text-3xl text-green-600"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2">国际化</h3>
|
||||
<p class="text-gray-600">汇聚全球领先企业,促进国际技术交流与合作</p>
|
||||
</div>
|
||||
<div class="text-center group animate-fadeInUp animation-delay-600">
|
||||
<div class="w-20 h-20 bg-gradient-to-br from-purple-100 to-purple-200 rounded-full flex items-center justify-center mx-auto mb-4 group-hover:scale-110 transition-transform shadow-lg">
|
||||
<i class="fas fa-star text-3xl text-purple-600"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2">品质化</h3>
|
||||
<p class="text-gray-600">高端展会服务,打造行业标杆展会品牌</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Venue Information -->
|
||||
<section class="py-16 bg-gray-50 relative overflow-hidden">
|
||||
<!-- 背景图片 -->
|
||||
<div class="absolute inset-0 opacity-5" style="background-image: url('../../data/会展策划/image/博览会.jpg'); background-size: cover; background-position: center;"></div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12 animate-fadeInUp">
|
||||
<i class="fas fa-map-marked-alt mr-2 text-purple-600"></i>
|
||||
展会场地
|
||||
</h2>
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<div class="map-container rounded-2xl p-8 text-white relative glass-card hover:scale-[1.02] transition-all duration-300">
|
||||
<h3 class="text-2xl font-bold mb-4 animate-fadeInLeft">
|
||||
<i class="fas fa-building mr-2"></i>
|
||||
国家会展中心(上海)
|
||||
</h3>
|
||||
<div class="space-y-3 relative z-10">
|
||||
<div class="flex items-start animate-fadeInLeft animation-delay-200">
|
||||
<i class="fas fa-map-marker-alt text-xl mr-3 flex-shrink-0 mt-1 animate-pulse"></i>
|
||||
<div>
|
||||
<p class="font-semibold">详细地址</p>
|
||||
<p class="opacity-90">上海市青浦区崧泽大道333号</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start animate-fadeInLeft animation-delay-400">
|
||||
<i class="fas fa-subway text-xl mr-3 flex-shrink-0 mt-1"></i>
|
||||
<div>
|
||||
<p class="font-semibold">交通便利</p>
|
||||
<p class="opacity-90">地铁2号线直达,多条公交线路,充足停车位</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start animate-fadeInLeft animation-delay-600">
|
||||
<i class="fas fa-expand-arrows-alt text-xl mr-3 flex-shrink-0 mt-1"></i>
|
||||
<div>
|
||||
<p class="font-semibold">场馆规模</p>
|
||||
<p class="opacity-90">展览面积50万平方米,亚洲最大会展综合体</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-2xl shadow-lg p-8 glass-card hover:scale-[1.02] transition-all duration-300">
|
||||
<h3 class="text-2xl font-bold text-gray-800 mb-6 animate-fadeInRight">
|
||||
<i class="fas fa-trophy mr-2 text-yellow-500"></i>
|
||||
场馆优势
|
||||
</h3>
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center p-4 bg-blue-50 rounded-lg hover:bg-blue-100 transition-colors animate-fadeInRight animation-delay-200">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-medal text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">世界级展馆设施</h4>
|
||||
<p class="text-sm text-gray-600">配备先进的展览设施和智能化管理系统</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center p-4 bg-green-50 rounded-lg hover:bg-green-100 transition-colors animate-fadeInRight animation-delay-400">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-concierge-bell text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">完善的配套服务</h4>
|
||||
<p class="text-sm text-gray-600">酒店、餐饮、商务中心一应俱全</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center p-4 bg-purple-50 rounded-lg hover:bg-purple-100 transition-colors animate-fadeInRight animation-delay-600">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-hand-holding-heart text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">丰富的办展经验</h4>
|
||||
<p class="text-sm text-gray-600">成功举办进博会等大型国际展会</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center p-4 bg-orange-50 rounded-lg hover:bg-orange-100 transition-colors animate-fadeInRight animation-delay-800">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-orange-500 to-orange-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-leaf text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">绿色环保理念</h4>
|
||||
<p class="text-sm text-gray-600">全馆采用节能环保设计,获得绿色建筑认证</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Exhibition Areas Detail -->
|
||||
<section class="py-16 bg-white relative">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12 animate-fadeInUp">
|
||||
<i class="fas fa-th-large mr-2 text-blue-600"></i>
|
||||
展品范围
|
||||
</h2>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
<!-- 整车展区 -->
|
||||
<div class="exhibition-card bg-gradient-to-br from-blue-50 to-blue-100 rounded-xl p-6 animate-fadeInUp animation-delay-200">
|
||||
<div class="relative overflow-hidden rounded-xl mb-4 h-32 bg-gradient-to-r from-blue-400 to-blue-600">
|
||||
<img src="../../data/会展策划/image/3.小米汽车.jpg" alt="整车展示" class="w-full h-full object-cover opacity-60">
|
||||
<div class="absolute inset-0 flex items-center justify-center">
|
||||
<i class="fas fa-car-side text-5xl text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-car text-xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">整车展区</h3>
|
||||
</div>
|
||||
<ul class="space-y-2 text-gray-700">
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">▸</span>
|
||||
<span>纯电动汽车:轿车、SUV、MPV、商用车</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">▸</span>
|
||||
<span>插电式混合动力汽车:增程式、并联式、混联式</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">▸</span>
|
||||
<span>氢燃料电池汽车:乘用车、商用车、专用车</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">▸</span>
|
||||
<span>智能网联汽车:L2-L4级自动驾驶展示车</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="mt-4 pt-4 border-t border-blue-200">
|
||||
<p class="text-sm text-gray-600">展览面积:20,000平方米 | 预计展商:120家</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 核心零部件展区 -->
|
||||
<div class="exhibition-card bg-gradient-to-br from-green-50 to-green-100 rounded-xl p-6 animate-fadeInUp animation-delay-400">
|
||||
<div class="relative overflow-hidden rounded-xl mb-4 h-32 bg-gradient-to-r from-green-400 to-green-600">
|
||||
<img src="../../data/会展策划/image/Whisk_8236005bb2.jpg" alt="核心零部件" class="w-full h-full object-cover opacity-60">
|
||||
<div class="absolute inset-0 flex items-center justify-center">
|
||||
<i class="fas fa-battery-full text-5xl text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-bolt text-xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">核心零部件展区</h3>
|
||||
</div>
|
||||
<ul class="space-y-2 text-gray-700">
|
||||
<li class="flex items-start">
|
||||
<span class="text-green-600 mr-2">▸</span>
|
||||
<span>动力电池:锂电池、固态电池、钠离子电池</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-green-600 mr-2">▸</span>
|
||||
<span>驱动电机:永磁同步、交流异步、轮毂电机</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-green-600 mr-2">▸</span>
|
||||
<span>电控系统:BMS、VCU、MCU、DC/DC转换器</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-green-600 mr-2">▸</span>
|
||||
<span>智能驾驶:激光雷达、毫米波雷达、摄像头、芯片</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="mt-4 pt-4 border-t border-green-200">
|
||||
<p class="text-sm text-gray-600">展览面积:15,000平方米 | 预计展商:150家</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 智能交通展区 -->
|
||||
<div class="exhibition-card bg-gradient-to-br from-purple-50 to-purple-100 rounded-xl p-6 animate-fadeInUp animation-delay-600">
|
||||
<div class="relative overflow-hidden rounded-xl mb-4 h-32 bg-gradient-to-r from-purple-400 to-purple-600">
|
||||
<img src="../../data/会展策划/image/Whisk_5c4b912ea7.jpg" alt="智能交通" class="w-full h-full object-cover opacity-60">
|
||||
<div class="absolute inset-0 flex items-center justify-center">
|
||||
<i class="fas fa-network-wired text-5xl text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-microchip text-xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">智能交通展区</h3>
|
||||
</div>
|
||||
<ul class="space-y-2 text-gray-700">
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">▸</span>
|
||||
<span>智慧路网:智能交通信号、车路协同系统</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">▸</span>
|
||||
<span>V2X通信:5G-V2X设备、路侧单元RSU</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">▸</span>
|
||||
<span>智能停车:自动泊车系统、智慧停车场解决方案</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">▸</span>
|
||||
<span>出行服务:MaaS平台、共享出行、智能调度</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="mt-4 pt-4 border-t border-purple-200">
|
||||
<p class="text-sm text-gray-600">展览面积:10,000平方米 | 预计展商:60家</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 配套服务展区 -->
|
||||
<div class="exhibition-card bg-gradient-to-br from-orange-50 to-orange-100 rounded-xl p-6 animate-fadeInUp animation-delay-800">
|
||||
<div class="relative overflow-hidden rounded-xl mb-4 h-32 bg-gradient-to-r from-orange-400 to-orange-600">
|
||||
<img src="../../data/会展策划/image/Whisk_2a9b622636.jpg" alt="配套服务" class="w-full h-full object-cover opacity-60">
|
||||
<div class="absolute inset-0 flex items-center justify-center">
|
||||
<i class="fas fa-charging-station text-5xl text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-orange-500 to-orange-600 text-white rounded-lg flex items-center justify-center mr-4 shadow-lg">
|
||||
<i class="fas fa-tools text-xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">配套服务展区</h3>
|
||||
</div>
|
||||
<ul class="space-y-2 text-gray-700">
|
||||
<li class="flex items-start">
|
||||
<span class="text-orange-600 mr-2">▸</span>
|
||||
<span>充电设施:充电桩、换电站、无线充电</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-orange-600 mr-2">▸</span>
|
||||
<span>金融服务:汽车金融、保险、融资租赁</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-orange-600 mr-2">▸</span>
|
||||
<span>检测认证:第三方检测、认证机构、标准制定</span>
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-orange-600 mr-2">▸</span>
|
||||
<span>后市场服务:维修保养、二手车、汽车改装</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="mt-4 pt-4 border-t border-orange-200">
|
||||
<p class="text-sm text-gray-600">展览面积:5,000平方米 | 预计展商:20家</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Exhibition Schedule -->
|
||||
<section class="py-16 bg-gray-50">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">展会日程</h2>
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="bg-white rounded-2xl shadow-lg overflow-hidden">
|
||||
<div class="bg-gradient-to-r from-purple-600 to-blue-600 text-white p-6">
|
||||
<h3 class="text-2xl font-bold">2024年9月12日 - 15日</h3>
|
||||
<p class="opacity-90">为期4天的行业盛会</p>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<!-- Day 1 -->
|
||||
<div class="mb-6 pb-6 border-b">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-24 text-sm font-bold text-purple-600">第一天</div>
|
||||
<div class="text-lg font-semibold">9月12日(周四)</div>
|
||||
</div>
|
||||
<div class="ml-24 space-y-2">
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">09:00</span>
|
||||
<span>开幕典礼 & 领导致辞</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">10:00</span>
|
||||
<span>主题论坛:新能源汽车产业发展高峰论坛</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">14:00</span>
|
||||
<span>专业观众参观 & 商务洽谈</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">16:00</span>
|
||||
<span>新产品发布会(特斯拉、蔚来等)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Day 2 -->
|
||||
<div class="mb-6 pb-6 border-b">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-24 text-sm font-bold text-green-600">第二天</div>
|
||||
<div class="text-lg font-semibold">9月13日(周五)</div>
|
||||
</div>
|
||||
<div class="ml-24 space-y-2">
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">09:30</span>
|
||||
<span>智能网联汽车技术创新峰会</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">10:30</span>
|
||||
<span>自动驾驶体验区开放</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">14:00</span>
|
||||
<span>充电基础设施建设研讨会</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">15:30</span>
|
||||
<span>供需对接会 & 采购洽谈</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Day 3 -->
|
||||
<div class="mb-6 pb-6 border-b">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-24 text-sm font-bold text-blue-600">第三天</div>
|
||||
<div class="text-lg font-semibold">9月14日(周六)</div>
|
||||
</div>
|
||||
<div class="ml-24 space-y-2">
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">09:00</span>
|
||||
<span>公众开放日 - 市民参观体验</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">10:00</span>
|
||||
<span>新能源汽车试乘试驾活动</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">14:00</span>
|
||||
<span>青少年科技创新大赛</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">16:00</span>
|
||||
<span>绿色出行主题活动</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Day 4 -->
|
||||
<div class="mb-0">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-24 text-sm font-bold text-orange-600">第四天</div>
|
||||
<div class="text-lg font-semibold">9月15日(周日)</div>
|
||||
</div>
|
||||
<div class="ml-24 space-y-2">
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">09:00</span>
|
||||
<span>产业投资论坛</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">11:00</span>
|
||||
<span>项目签约仪式</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">14:00</span>
|
||||
<span>行业白皮书发布</span>
|
||||
</div>
|
||||
<div class="flex items-center text-gray-700">
|
||||
<span class="text-sm w-20">16:00</span>
|
||||
<span>闭幕式 & 成果发布</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Target Participants -->
|
||||
<section class="py-16 bg-white">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">目标参与者</h2>
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<!-- Target Exhibitors -->
|
||||
<div>
|
||||
<h3 class="text-2xl font-bold mb-6 text-purple-600">目标参展商</h3>
|
||||
<div class="space-y-4">
|
||||
<div class="bg-gray-50 rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">整车制造企业(30%)</h4>
|
||||
<p class="text-sm text-gray-600">特斯拉、比亚迪、上汽、蔚来、理想、小鹏、吉利、长城、广汽等</p>
|
||||
</div>
|
||||
<div class="bg-gray-50 rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">核心零部件企业(35%)</h4>
|
||||
<p class="text-sm text-gray-600">宁德时代、比亚迪电池、华为智能汽车、百度Apollo、博世、大陆等</p>
|
||||
</div>
|
||||
<div class="bg-gray-50 rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">科技企业(25%)</h4>
|
||||
<p class="text-sm text-gray-600">阿里巴巴、腾讯、美团、滴滴、科大讯飞、商汤科技等</p>
|
||||
</div>
|
||||
<div class="bg-gray-50 rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">服务企业(10%)</h4>
|
||||
<p class="text-sm text-gray-600">国家电网、特来电、星星充电、平安保险、建设银行等</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Target Audience -->
|
||||
<div>
|
||||
<h3 class="text-2xl font-bold mb-6 text-blue-600">目标观众</h3>
|
||||
<div class="bg-gradient-to-br from-blue-50 to-purple-50 rounded-2xl p-6">
|
||||
<div class="mb-6">
|
||||
<h4 class="font-semibold mb-3">专业观众(70%)</h4>
|
||||
<ul class="space-y-2 text-sm text-gray-700">
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">•</span>
|
||||
汽车制造商采购及技术人员
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">•</span>
|
||||
经销商和4S店负责人
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">•</span>
|
||||
政府部门和行业组织代表
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">•</span>
|
||||
投资机构和行业分析师
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-blue-600 mr-2">•</span>
|
||||
科研院所和高校研究人员
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold mb-3">普通观众(30%)</h4>
|
||||
<ul class="space-y-2 text-sm text-gray-700">
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">•</span>
|
||||
新能源汽车潜在消费者
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">•</span>
|
||||
科技爱好者和车迷
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">•</span>
|
||||
大学生和青少年群体
|
||||
</li>
|
||||
<li class="flex items-start">
|
||||
<span class="text-purple-600 mr-2">•</span>
|
||||
媒体记者和自媒体博主
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Expected Results -->
|
||||
<section class="py-16 bg-gray-50">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">预期效果</h2>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<div class="bg-white rounded-xl shadow-lg p-6 text-center">
|
||||
<div class="w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="w-8 h-8 text-green-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M8.433 7.418c.155-.103.346-.196.567-.267v1.698a2.305 2.305 0 01-.567-.267C8.07 8.34 8 8.114 8 8c0-.114.07-.34.433-.582zM11 12.849v-1.698c.22.071.412.164.567.267.364.243.433.468.433.582 0 .114-.07.34-.433.582a2.305 2.305 0 01-.567.267z"/>
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a1 1 0 10-2 0v.092a4.535 4.535 0 00-1.676.662C6.602 6.234 6 7.009 6 8c0 .99.602 1.765 1.324 2.246.48.32 1.054.545 1.676.662v1.941c-.391-.127-.68-.317-.843-.504a1 1 0 10-1.51 1.31c.562.649 1.413 1.076 2.353 1.253V15a1 1 0 102 0v-.092a4.535 4.535 0 001.676-.662C13.398 13.766 14 12.991 14 12c0-.99-.602-1.765-1.324-2.246A4.535 4.535 0 0011 9.092V7.151c.391.127.68.317.843.504a1 1 0 101.511-1.31c-.563-.649-1.413-1.076-2.354-1.253V5z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-3">经济效益</h3>
|
||||
<div class="space-y-2 text-gray-600">
|
||||
<p>现场成交额:<span class="font-bold text-green-600">10亿+</span></p>
|
||||
<p>意向订单:<span class="font-bold text-green-600">8亿+</span></p>
|
||||
<p>带动产业收入:<span class="font-bold text-green-600">30亿+</span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-xl shadow-lg p-6 text-center">
|
||||
<div class="w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="w-8 h-8 text-blue-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-3">社会效益</h3>
|
||||
<div class="space-y-2 text-gray-600">
|
||||
<p>媒体曝光:<span class="font-bold text-blue-600">1亿+次</span></p>
|
||||
<p>专业论坛:<span class="font-bold text-blue-600">20场</span></p>
|
||||
<p>发布白皮书:<span class="font-bold text-blue-600">2份</span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-xl shadow-lg p-6 text-center">
|
||||
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="w-8 h-8 text-purple-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-3">品牌效益</h3>
|
||||
<div class="space-y-2 text-gray-600">
|
||||
<p>参展商满意度:<span class="font-bold text-purple-600">90%+</span></p>
|
||||
<p>观众回访率:<span class="font-bold text-purple-600">85%+</span></p>
|
||||
<p>行业影响力:<span class="font-bold text-purple-600">TOP 3</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="py-16 bg-gradient-to-r from-blue-600 to-green-600 text-white">
|
||||
<div class="container mx-auto px-6 text-center">
|
||||
<h2 class="text-3xl font-bold mb-6">加入我们,共创绿色未来</h2>
|
||||
<p class="text-xl mb-8 opacity-90">立即申请参展,抢占优质展位</p>
|
||||
<div class="flex justify-center gap-4">
|
||||
<a href="marketing.html" class="bg-white text-blue-600 px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 transition">
|
||||
了解营销方案 →
|
||||
</a>
|
||||
<a href="operation.html" class="border-2 border-white text-white px-8 py-3 rounded-lg font-semibold hover:bg-white hover:text-blue-600 transition">
|
||||
查看现场运营 →
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-900 text-white py-12">
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="text-center text-sm text-gray-400">
|
||||
<p>© 2024 长三角国际新能源汽车与智能交通产业博览会. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- JavaScript -->
|
||||
<script src="../js/main.js"></script>
|
||||
<script>
|
||||
// 页面加载动画
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// 添加页面进入动画
|
||||
document.body.classList.add('page-enter');
|
||||
|
||||
// 图片懒加载
|
||||
const images = document.querySelectorAll('img');
|
||||
images.forEach(img => {
|
||||
img.addEventListener('load', function() {
|
||||
this.classList.add('image-loaded');
|
||||
});
|
||||
img.addEventListener('error', function() {
|
||||
this.classList.add('image-error');
|
||||
this.src = '../data/会展策划/image/博览会.jpg'; // 备用图片
|
||||
});
|
||||
});
|
||||
|
||||
// 滚动动画触发
|
||||
const observerOptions = {
|
||||
threshold: 0.1,
|
||||
rootMargin: '0px 0px -100px 0px'
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver(function(entries) {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
entry.target.style.opacity = '1';
|
||||
entry.target.style.transform = 'translateY(0)';
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
// 观察所有带动画的元素
|
||||
document.querySelectorAll('.animate-fadeInUp, .animate-fadeInLeft, .animate-fadeInRight').forEach(el => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// 数字动画
|
||||
function animateNumbers() {
|
||||
const numbers = [
|
||||
{ el: document.querySelector('.economic-number'), target: 10, suffix: '亿+' },
|
||||
{ el: document.querySelector('.social-number'), target: 1, suffix: '亿+次' },
|
||||
{ el: document.querySelector('.brand-number'), target: 90, suffix: '%+' }
|
||||
];
|
||||
|
||||
numbers.forEach(item => {
|
||||
if (item.el) {
|
||||
let current = 0;
|
||||
const increment = item.target / 50;
|
||||
const timer = setInterval(() => {
|
||||
current += increment;
|
||||
if (current >= item.target) {
|
||||
current = item.target;
|
||||
clearInterval(timer);
|
||||
}
|
||||
item.el.textContent = Math.floor(current) + item.suffix;
|
||||
}, 30);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 触发数字动画
|
||||
const resultsSection = document.querySelector('#expected-results');
|
||||
if (resultsSection) {
|
||||
const resultsObserver = new IntersectionObserver(function(entries) {
|
||||
if (entries[0].isIntersecting) {
|
||||
animateNumbers();
|
||||
resultsObserver.disconnect();
|
||||
}
|
||||
});
|
||||
resultsObserver.observe(resultsSection);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,817 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>营销方案 - 2024长三角国际新能源汽车展</title>
|
||||
|
||||
<!-- 样式表 -->
|
||||
<link rel="stylesheet" href="../css/animations.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
|
||||
|
||||
<!-- 字体 -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome 图标 -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
* {
|
||||
font-family: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
}
|
||||
|
||||
/* Glass morphism effect */
|
||||
.glass-morphism {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
/* 玻璃态效果 */
|
||||
.glass-card {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
/* 3D翻转卡片 */
|
||||
.flip-card {
|
||||
perspective: 1000px;
|
||||
}
|
||||
|
||||
.flip-card-inner {
|
||||
transition: transform 0.6s;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.flip-card:hover .flip-card-inner {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
.flip-card-front, .flip-card-back {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
.flip-card-back {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
.nav-link {
|
||||
position: relative;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
.nav-link::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -2px;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 2px;
|
||||
background: #667eea;
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
.nav-link:hover::after,
|
||||
.nav-link.active::after {
|
||||
width: 100%;
|
||||
}
|
||||
.strategy-card {
|
||||
transition: all 0.3s ease;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.strategy-card::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
|
||||
transition: left 0.6s ease;
|
||||
}
|
||||
.strategy-card:hover::before {
|
||||
left: 100%;
|
||||
}
|
||||
.strategy-card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
|
||||
}
|
||||
.progress-bar {
|
||||
animation: progressFill 2s ease-out forwards;
|
||||
}
|
||||
@keyframes progressFill {
|
||||
from { width: 0%; }
|
||||
}
|
||||
.pulse-dot {
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
@keyframes pulse {
|
||||
0%, 100% { transform: scale(1); opacity: 1; }
|
||||
50% { transform: scale(1.2); opacity: 0.7; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-gray-50">
|
||||
<!-- Navigation -->
|
||||
<nav class="fixed top-0 w-full glass-morphism shadow-md z-50 transition-all duration-300">
|
||||
<div class="container mx-auto px-6 py-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<div class="w-10 h-10 bg-gradient-to-br from-emerald-400 to-blue-500 rounded-lg flex items-center justify-center mr-3">
|
||||
<i class="fas fa-charging-station text-white"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h1 class="text-lg font-bold">NEVIT 2024</h1>
|
||||
<p class="text-xs text-gray-500">新能源汽车产业博览会</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden md:flex space-x-8">
|
||||
<a href="../index.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-home mr-2"></i>首页
|
||||
</a>
|
||||
<a href="overview.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-info-circle mr-2"></i>展会概览
|
||||
</a>
|
||||
<a href="exhibition.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-th-large mr-2"></i>展览内容
|
||||
</a>
|
||||
<a href="marketing.html" class="nav-link active text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-bullhorn mr-2"></i>营销推广
|
||||
</a>
|
||||
<a href="operation.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-cogs mr-2"></i>运营服务
|
||||
</a>
|
||||
<a href="budget.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-chart-pie mr-2"></i>预算分析
|
||||
</a>
|
||||
<a href="risk.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-shield-alt mr-2"></i>风险评估
|
||||
</a>
|
||||
</div>
|
||||
<button class="md:hidden text-gray-700">
|
||||
<i class="fas fa-bars text-2xl"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Page Header -->
|
||||
<section class="relative pt-24 pb-16 overflow-hidden" style="background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);">
|
||||
<!-- 背景装饰 -->
|
||||
<div class="absolute inset-0">
|
||||
<div class="absolute top-0 left-0 w-96 h-96 bg-white/10 rounded-full filter blur-3xl animate-pulse"></div>
|
||||
<div class="absolute bottom-0 right-0 w-96 h-96 bg-pink-300/20 rounded-full filter blur-3xl animate-pulse animation-delay-2000"></div>
|
||||
<!-- 背景图片 -->
|
||||
<div class="absolute inset-0 opacity-10" style="background-image: url('../../data/会展策划/image/Whisk_1c05424f7f.jpg'); background-size: cover; background-position: center;"></div>
|
||||
</div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10">
|
||||
<div class="flex items-center text-white/80 mb-4 animate-fadeInUp">
|
||||
<a href="../index.html" class="hover:text-white transition">首页</a>
|
||||
<i class="fas fa-chevron-right mx-2 text-xs"></i>
|
||||
<span>营销方案</span>
|
||||
</div>
|
||||
<h1 class="text-4xl md:text-6xl font-bold text-white mb-4 animate-fadeInUp animation-delay-200">
|
||||
<i class="fas fa-rocket mr-3"></i>
|
||||
营销推广方案
|
||||
</h1>
|
||||
<p class="text-xl text-white/90 animate-fadeInUp animation-delay-400">
|
||||
全方位、多渠道、精准化的营销策略
|
||||
</p>
|
||||
<div class="mt-8 flex flex-wrap gap-4 animate-fadeInUp animation-delay-600">
|
||||
<div class="bg-white/20 backdrop-blur px-4 py-2 rounded-full text-sm">
|
||||
<i class="fas fa-users mr-2"></i>目标观众: 10万+
|
||||
</div>
|
||||
<div class="bg-white/20 backdrop-blur px-4 py-2 rounded-full text-sm">
|
||||
<i class="fas fa-chart-line mr-2"></i>预期转化: 30%
|
||||
</div>
|
||||
<div class="bg-white/20 backdrop-blur px-4 py-2 rounded-full text-sm">
|
||||
<i class="fas fa-globe mr-2"></i>覆盖范围: 全国
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Marketing Strategy Timeline -->
|
||||
<section class="py-16 bg-white relative overflow-hidden">
|
||||
<!-- 背景装饰 -->
|
||||
<div class="absolute inset-0 opacity-5" style="background-image: url('../../data/会展策划/image/Whisk_4aabd94ef3.jpg'); background-size: cover; background-position: center;"></div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12 animate-fadeInUp">
|
||||
<i class="fas fa-calendar-alt mr-2 text-purple-600"></i>
|
||||
整体推广策略
|
||||
</h2>
|
||||
<div class="max-w-5xl mx-auto">
|
||||
<div class="relative">
|
||||
<!-- Timeline Line -->
|
||||
<div class="absolute left-1/2 transform -translate-x-1/2 h-full w-1 bg-gradient-to-b from-purple-600 to-pink-600"></div>
|
||||
|
||||
<!-- Timeline Items -->
|
||||
<div class="space-y-12">
|
||||
<!-- Phase 1 -->
|
||||
<div class="flex items-center">
|
||||
<div class="w-1/2 pr-8 text-right animate-fadeInLeft">
|
||||
<h3 class="text-xl font-bold text-purple-600">
|
||||
<i class="fas fa-fire mr-1"></i>预热期
|
||||
</h3>
|
||||
<p class="text-gray-600 mt-1">展前6个月</p>
|
||||
<div class="mt-3 bg-gradient-to-br from-purple-50 to-purple-100 rounded-lg p-4 text-left glass-card hover:scale-105 transition-transform">
|
||||
<ul class="text-sm text-gray-700 space-y-1">
|
||||
<li><i class="fas fa-check-circle text-purple-500 mr-1"></i> 品牌造势,建立认知</li>
|
||||
<li><i class="fas fa-check-circle text-purple-500 mr-1"></i> 话题营销,引发关注</li>
|
||||
<li><i class="fas fa-check-circle text-purple-500 mr-1"></i> KOL合作,扩大影响</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="relative flex items-center justify-center">
|
||||
<div class="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 text-white rounded-full flex items-center justify-center z-10 shadow-lg pulse-dot">
|
||||
<i class="fas fa-flag text-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-1/2 pl-8"></div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 2 -->
|
||||
<div class="flex items-center">
|
||||
<div class="w-1/2 pr-8"></div>
|
||||
<div class="relative flex items-center justify-center">
|
||||
<div class="w-12 h-12 bg-white border-4 border-pink-600 rounded-full flex items-center justify-center z-10">
|
||||
<span class="text-pink-600 font-bold">2</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-1/2 pl-8">
|
||||
<h3 class="text-xl font-bold text-pink-600">推广期</h3>
|
||||
<p class="text-gray-600 mt-1">展前3个月</p>
|
||||
<div class="mt-3 bg-pink-50 rounded-lg p-4">
|
||||
<ul class="text-sm text-gray-700 space-y-1">
|
||||
<li>• 精准投放,定向推广</li>
|
||||
<li>• 观众组织,团体邀请</li>
|
||||
<li>• 媒体合作,深度报道</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 3 -->
|
||||
<div class="flex items-center">
|
||||
<div class="w-1/2 pr-8 text-right">
|
||||
<h3 class="text-xl font-bold text-blue-600">冲刺期</h3>
|
||||
<p class="text-gray-600 mt-1">展前1个月</p>
|
||||
<div class="mt-3 bg-blue-50 rounded-lg p-4 text-left">
|
||||
<ul class="text-sm text-gray-700 space-y-1">
|
||||
<li>• 密集宣传,全面覆盖</li>
|
||||
<li>• 氛围营造,期待感拉满</li>
|
||||
<li>• 最后召集,确保参与</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="relative flex items-center justify-center">
|
||||
<div class="w-12 h-12 bg-white border-4 border-blue-600 rounded-full flex items-center justify-center z-10">
|
||||
<span class="text-blue-600 font-bold">3</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-1/2 pl-8"></div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 4 -->
|
||||
<div class="flex items-center">
|
||||
<div class="w-1/2 pr-8"></div>
|
||||
<div class="relative flex items-center justify-center">
|
||||
<div class="w-12 h-12 bg-white border-4 border-green-600 rounded-full flex items-center justify-center z-10">
|
||||
<span class="text-green-600 font-bold">4</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-1/2 pl-8">
|
||||
<h3 class="text-xl font-bold text-green-600">展期</h3>
|
||||
<p class="text-gray-600 mt-1">9月12-15日</p>
|
||||
<div class="mt-3 bg-green-50 rounded-lg p-4">
|
||||
<ul class="text-sm text-gray-700 space-y-1">
|
||||
<li>• 现场互动,实时传播</li>
|
||||
<li>• 媒体报道,扩大影响</li>
|
||||
<li>• 直播分享,线上参与</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 5 -->
|
||||
<div class="flex items-center">
|
||||
<div class="w-1/2 pr-8 text-right">
|
||||
<h3 class="text-xl font-bold text-orange-600">展后</h3>
|
||||
<p class="text-gray-600 mt-1">展后1个月</p>
|
||||
<div class="mt-3 bg-orange-50 rounded-lg p-4 text-left">
|
||||
<ul class="text-sm text-gray-700 space-y-1">
|
||||
<li>• 持续发酵,延长热度</li>
|
||||
<li>• 成果展示,价值传递</li>
|
||||
<li>• 下届预热,维系关系</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="relative flex items-center justify-center">
|
||||
<div class="w-12 h-12 bg-white border-4 border-orange-600 rounded-full flex items-center justify-center z-10">
|
||||
<span class="text-orange-600 font-bold">5</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-1/2 pl-8"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Online Marketing -->
|
||||
<section class="py-16 bg-gray-50">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">线上推广方案</h2>
|
||||
|
||||
<!-- Digital Channels Grid -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mb-12">
|
||||
<!-- Official Website -->
|
||||
<div class="strategy-card bg-white rounded-xl shadow-lg p-6">
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mr-4">
|
||||
<svg class="w-6 h-6 text-blue-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">官方网站</h3>
|
||||
</div>
|
||||
<ul class="space-y-2 text-gray-600 text-sm">
|
||||
<li>✓ 在线注册系统</li>
|
||||
<li>✓ 3D展馆导航</li>
|
||||
<li>✓ VR预览体验</li>
|
||||
<li>✓ 展商数据库</li>
|
||||
<li>✓ 活动预约系统</li>
|
||||
</ul>
|
||||
<div class="mt-4 pt-4 border-t">
|
||||
<div class="flex justify-between text-sm">
|
||||
<span class="text-gray-500">预计访问量</span>
|
||||
<span class="font-bold text-blue-600">100万+</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Social Media -->
|
||||
<div class="strategy-card bg-white rounded-xl shadow-lg p-6">
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center mr-4">
|
||||
<svg class="w-6 h-6 text-green-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M2 5a2 2 0 012-2h7a2 2 0 012 2v4a2 2 0 01-2 2H9l-3 3v-3H4a2 2 0 01-2-2V5z"/>
|
||||
<path d="M15 7v2a4 4 0 01-4 4H9.828l-1.766 1.767c.28.149.599.233.938.233h2l3 3v-3h2a2 2 0 002-2V9a2 2 0 00-2-2h-1z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">社交媒体</h3>
|
||||
</div>
|
||||
<div class="space-y-3">
|
||||
<div class="bg-gray-50 rounded-lg p-3">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-sm font-semibold">微信</span>
|
||||
<span class="text-xs text-gray-500">50万粉丝</span>
|
||||
</div>
|
||||
<div class="text-xs text-gray-600">公众号推送、朋友圈广告</div>
|
||||
</div>
|
||||
<div class="bg-gray-50 rounded-lg p-3">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-sm font-semibold">微博</span>
|
||||
<span class="text-xs text-gray-500">30万粉丝</span>
|
||||
</div>
|
||||
<div class="text-xs text-gray-600">#绿色出行看长三角#</div>
|
||||
</div>
|
||||
<div class="bg-gray-50 rounded-lg p-3">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-sm font-semibold">抖音/快手</span>
|
||||
<span class="text-xs text-gray-500">80万粉丝</span>
|
||||
</div>
|
||||
<div class="text-xs text-gray-600">短视频、直播互动</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Digital Advertising -->
|
||||
<div class="strategy-card bg-white rounded-xl shadow-lg p-6">
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mr-4">
|
||||
<svg class="w-6 h-6 text-purple-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11.707 4.293a1 1 0 00-1.414 1.414L14.586 10l-1.293 1.293a1 1 0 101.414 1.414L16 11.414l1.293 1.293a1 1 0 001.414-1.414L17.414 10l1.293-1.293a1 1 0 00-1.414-1.414L16 8.586l-1.293-1.293z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">数字广告</h3>
|
||||
</div>
|
||||
<div class="space-y-2 text-sm">
|
||||
<div class="flex items-center justify-between py-2 border-b">
|
||||
<span class="text-gray-600">搜索引擎SEM</span>
|
||||
<span class="font-semibold">200万预算</span>
|
||||
</div>
|
||||
<div class="flex items-center justify-between py-2 border-b">
|
||||
<span class="text-gray-600">信息流广告</span>
|
||||
<span class="font-semibold">150万预算</span>
|
||||
</div>
|
||||
<div class="flex items-center justify-between py-2">
|
||||
<span class="text-gray-600">垂直媒体</span>
|
||||
<span class="font-semibold">100万预算</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Email Marketing -->
|
||||
<div class="strategy-card bg-white rounded-xl shadow-lg p-6">
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-orange-100 rounded-lg flex items-center justify-center mr-4">
|
||||
<svg class="w-6 h-6 text-orange-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"/>
|
||||
<path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">邮件营销</h3>
|
||||
</div>
|
||||
<div class="bg-gradient-to-r from-orange-50 to-yellow-50 rounded-lg p-4">
|
||||
<div class="grid grid-cols-2 gap-4 text-center">
|
||||
<div>
|
||||
<div class="text-2xl font-bold text-orange-600">10万+</div>
|
||||
<div class="text-xs text-gray-600">数据库联系人</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-2xl font-bold text-orange-600">2期/月</div>
|
||||
<div class="text-xs text-gray-600">发送频次</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="mt-4 space-y-1 text-xs text-gray-600">
|
||||
<li>• 展商推介</li>
|
||||
<li>• 活动预告</li>
|
||||
<li>• 行业资讯</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Live Streaming -->
|
||||
<div class="strategy-card bg-white rounded-xl shadow-lg p-6">
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-red-100 rounded-lg flex items-center justify-center mr-4">
|
||||
<svg class="w-6 h-6 text-red-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M2 6a2 2 0 012-2h6a2 2 0 012 2v8a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM14.553 7.106A1 1 0 0014 8v4a1 1 0 00.553.894l2 1A1 1 0 0018 13V7a1 1 0 00-1.447-.894l-2 1z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">直播营销</h3>
|
||||
</div>
|
||||
<div class="space-y-3">
|
||||
<div class="flex items-center">
|
||||
<div class="w-2 h-2 bg-red-600 rounded-full pulse-dot mr-2"></div>
|
||||
<span class="text-sm">展前预热直播:5场</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-2 h-2 bg-red-600 rounded-full pulse-dot mr-2"></div>
|
||||
<span class="text-sm">展期现场直播:全程</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-2 h-2 bg-red-600 rounded-full pulse-dot mr-2"></div>
|
||||
<span class="text-sm">专家访谈:20场</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- KOL Cooperation -->
|
||||
<div class="strategy-card bg-white rounded-xl shadow-lg p-6">
|
||||
<div class="flex items-center mb-4">
|
||||
<div class="w-12 h-12 bg-pink-100 rounded-lg flex items-center justify-center mr-4">
|
||||
<svg class="w-6 h-6 text-pink-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold">KOL合作</h3>
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<div class="bg-pink-50 rounded-lg p-2 text-center">
|
||||
<div class="text-lg font-bold text-pink-600">50+</div>
|
||||
<div class="text-xs text-gray-600">汽车领域KOL</div>
|
||||
</div>
|
||||
<div class="grid grid-cols-2 gap-2 text-xs">
|
||||
<div class="bg-gray-50 rounded p-2 text-center">
|
||||
<div class="font-semibold">探店视频</div>
|
||||
<div class="text-gray-500">30个</div>
|
||||
</div>
|
||||
<div class="bg-gray-50 rounded p-2 text-center">
|
||||
<div class="font-semibold">测评内容</div>
|
||||
<div class="text-gray-500">50篇</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Online Campaign Performance -->
|
||||
<div class="bg-gradient-to-r from-blue-600 to-purple-600 rounded-2xl p-8 text-white">
|
||||
<h3 class="text-2xl font-bold mb-6">线上推广预期效果</h3>
|
||||
<div class="grid grid-cols-1 md:grid-cols-4 gap-6">
|
||||
<div class="text-center">
|
||||
<div class="text-3xl font-bold mb-2">1亿+</div>
|
||||
<div class="text-blue-100">总曝光量</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="text-3xl font-bold mb-2">500万+</div>
|
||||
<div class="text-blue-100">互动量</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="text-3xl font-bold mb-2">10万+</div>
|
||||
<div class="text-blue-100">注册用户</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="text-3xl font-bold mb-2">85%</div>
|
||||
<div class="text-blue-100">转化率</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Offline Marketing -->
|
||||
<section class="py-16 bg-white">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">线下推广方案</h2>
|
||||
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<!-- Traditional Media -->
|
||||
<div>
|
||||
<h3 class="text-2xl font-bold mb-6 text-purple-600">传统媒体投放</h3>
|
||||
<div class="space-y-4">
|
||||
<div class="bg-gray-50 rounded-lg p-5">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-10 h-10 bg-blue-600 text-white rounded-lg flex items-center justify-center mr-3">
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">平面媒体</h4>
|
||||
<p class="text-sm text-gray-600">行业杂志、报纸广告</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="text-sm text-gray-700 space-y-1 ml-13">
|
||||
<li>• 《中国汽车报》整版广告 x 3期</li>
|
||||
<li>• 《汽车之家》杂志封面广告</li>
|
||||
<li>• 《新能源汽车》专题报道</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="bg-gray-50 rounded-lg p-5">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-10 h-10 bg-green-600 text-white rounded-lg flex items-center justify-center mr-3">
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M9.383 3.076A1 1 0 0110 4v12a1 1 0 01-1.707.707L4.586 13H2a1 1 0 01-1-1V8a1 1 0 011-1h2.586l3.707-3.707a1 1 0 011.09-.217zM14.657 2.929a1 1 0 011.414 0A9.972 9.972 0 0119 10a9.972 9.972 0 01-2.929 7.071 1 1 0 01-1.414-1.414A7.971 7.971 0 0017 10c0-2.21-.894-4.208-2.343-5.657a1 1 0 010-1.414zm-2.829 2.828a1 1 0 011.415 0A5.983 5.983 0 0115 10a5.984 5.984 0 01-1.757 4.243 1 1 0 01-1.415-1.415A3.984 3.984 0 0013 10a3.983 3.983 0 00-1.172-2.828 1 1 0 010-1.415z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">广播电台</h4>
|
||||
<p class="text-sm text-gray-600">交通广播黄金时段</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="text-sm text-gray-700 space-y-1 ml-13">
|
||||
<li>• 上海交通广播早晚高峰广告</li>
|
||||
<li>• 专题访谈节目3期</li>
|
||||
<li>• 路况播报植入</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="bg-gray-50 rounded-lg p-5">
|
||||
<div class="flex items-center mb-3">
|
||||
<div class="w-10 h-10 bg-purple-600 text-white rounded-lg flex items-center justify-center mr-3">
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M2 6a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 100 4v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2a2 2 0 100-4V6z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="font-semibold">行业活动</h4>
|
||||
<p class="text-sm text-gray-600">参展推广、论坛宣传</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="text-sm text-gray-700 space-y-1 ml-13">
|
||||
<li>• 北京车展展位推广</li>
|
||||
<li>• 广州车展路演活动</li>
|
||||
<li>• 行业峰会主题演讲</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Outdoor Advertising -->
|
||||
<div>
|
||||
<h3 class="text-2xl font-bold mb-6 text-blue-600">户外广告投放</h3>
|
||||
<div class="bg-gradient-to-br from-blue-50 to-purple-50 rounded-2xl p-6">
|
||||
<div class="grid grid-cols-2 gap-4 mb-6">
|
||||
<div class="bg-white rounded-lg p-4 text-center">
|
||||
<div class="text-2xl font-bold text-blue-600 mb-1">50块</div>
|
||||
<div class="text-sm text-gray-600">LED大屏广告</div>
|
||||
<div class="text-xs text-gray-500 mt-1">核心商圈覆盖</div>
|
||||
</div>
|
||||
<div class="bg-white rounded-lg p-4 text-center">
|
||||
<div class="text-2xl font-bold text-purple-600 mb-1">200个</div>
|
||||
<div class="text-sm text-gray-600">地铁灯箱</div>
|
||||
<div class="text-xs text-gray-500 mt-1">2/10/17号线</div>
|
||||
</div>
|
||||
<div class="bg-white rounded-lg p-4 text-center">
|
||||
<div class="text-2xl font-bold text-green-600 mb-1">30块</div>
|
||||
<div class="text-sm text-gray-600">高速广告牌</div>
|
||||
<div class="text-xs text-gray-500 mt-1">沪宁、沪杭高速</div>
|
||||
</div>
|
||||
<div class="bg-white rounded-lg p-4 text-center">
|
||||
<div class="text-2xl font-bold text-orange-600 mb-1">100辆</div>
|
||||
<div class="text-sm text-gray-600">公交车身</div>
|
||||
<div class="text-xs text-gray-500 mt-1">主要线路</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-3">投放策略</h4>
|
||||
<div class="space-y-2 text-sm">
|
||||
<div class="flex items-center">
|
||||
<div class="w-4 h-4 bg-blue-600 rounded-full mr-2"></div>
|
||||
<span>展前3个月开始投放</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-4 h-4 bg-purple-600 rounded-full mr-2"></div>
|
||||
<span>重点覆盖长三角核心城市</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-4 h-4 bg-green-600 rounded-full mr-2"></div>
|
||||
<span>高频次、多触点接触</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Precision Invitation -->
|
||||
<section class="py-16 bg-gray-50">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">精准邀请方案</h2>
|
||||
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<!-- Invitation Process -->
|
||||
<div class="bg-white rounded-2xl shadow-lg overflow-hidden mb-8">
|
||||
<div class="bg-gradient-to-r from-green-600 to-teal-600 text-white p-6">
|
||||
<h3 class="text-2xl font-bold">专业观众邀请体系</h3>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
<div class="text-center">
|
||||
<div class="w-20 h-20 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="w-10 h-10 text-green-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h4 class="font-semibold mb-2">呼叫中心</h4>
|
||||
<p class="text-sm text-gray-600">20人专业团队</p>
|
||||
<p class="text-xs text-gray-500 mt-1">日均呼叫1000+</p>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="w-20 h-20 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="w-10 h-10 text-blue-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h4 class="font-semibold mb-2">一对一邀请</h4>
|
||||
<p class="text-sm text-gray-600">VIP客户定制</p>
|
||||
<p class="text-xs text-gray-500 mt-1">500+重点客户</p>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="w-20 h-20 bg-purple-100 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="w-10 h-10 text-purple-600" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h4 class="font-semibold mb-2">团体邀请</h4>
|
||||
<p class="text-sm text-gray-600">协会组织参观</p>
|
||||
<p class="text-xs text-gray-500 mt-1">50+团体</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Buyer Matching Service -->
|
||||
<div class="bg-gradient-to-r from-purple-600 to-pink-600 rounded-2xl p-8 text-white">
|
||||
<h3 class="text-2xl font-bold mb-6">买家匹配服务</h3>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
<div class="bg-white/10 backdrop-blur rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">会前</h4>
|
||||
<ul class="text-sm space-y-1 opacity-90">
|
||||
<li>• 在线预约系统</li>
|
||||
<li>• AI智能匹配</li>
|
||||
<li>• 需求精准对接</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bg-white/10 backdrop-blur rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">展中</h4>
|
||||
<ul class="text-sm space-y-1 opacity-90">
|
||||
<li>• 商务洽谈区</li>
|
||||
<li>• 专场对接会</li>
|
||||
<li>• 现场撮合服务</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bg-white/10 backdrop-blur rounded-lg p-4">
|
||||
<h4 class="font-semibold mb-2">展后</h4>
|
||||
<ul class="text-sm space-y-1 opacity-90">
|
||||
<li>• 持续跟进</li>
|
||||
<li>• 促成交易</li>
|
||||
<li>• 效果评估</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Marketing Budget -->
|
||||
<section class="py-16 bg-white">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">营销预算分配</h2>
|
||||
|
||||
<div class="max-w-3xl mx-auto">
|
||||
<div class="bg-gray-50 rounded-2xl p-8">
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center">
|
||||
<div class="flex-1">
|
||||
<div class="flex justify-between mb-2">
|
||||
<span class="font-semibold">线上推广</span>
|
||||
<span class="text-purple-600 font-bold">80万</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-4">
|
||||
<div class="bg-purple-600 h-4 rounded-full progress-bar" style="width: 40%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center">
|
||||
<div class="flex-1">
|
||||
<div class="flex justify-between mb-2">
|
||||
<span class="font-semibold">线下推广</span>
|
||||
<span class="text-blue-600 font-bold">60万</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-4">
|
||||
<div class="bg-blue-600 h-4 rounded-full progress-bar" style="width: 30%; animation-delay: 0.2s"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center">
|
||||
<div class="flex-1">
|
||||
<div class="flex justify-between mb-2">
|
||||
<span class="font-semibold">媒体合作</span>
|
||||
<span class="text-green-600 font-bold">40万</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-4">
|
||||
<div class="bg-green-600 h-4 rounded-full progress-bar" style="width: 20%; animation-delay: 0.4s"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center">
|
||||
<div class="flex-1">
|
||||
<div class="flex justify-between mb-2">
|
||||
<span class="font-semibold">精准邀请</span>
|
||||
<span class="text-orange-600 font-bold">20万</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-4">
|
||||
<div class="bg-orange-600 h-4 rounded-full progress-bar" style="width: 10%; animation-delay: 0.6s"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-6 pt-6 border-t text-center">
|
||||
<div class="text-3xl font-bold text-gray-800">总预算:200万元</div>
|
||||
<div class="text-gray-600 mt-2">预期ROI:500%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="py-16 bg-gradient-to-r from-pink-600 to-purple-600 text-white">
|
||||
<div class="container mx-auto px-6 text-center">
|
||||
<h2 class="text-3xl font-bold mb-6">全方位营销,确保展会成功</h2>
|
||||
<p class="text-xl mb-8 opacity-90">了解现场运营方案,体验展会精彩</p>
|
||||
<a href="operation.html" class="inline-block bg-white text-purple-600 px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 transition">
|
||||
查看现场运营 →
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-900 text-white py-12">
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="text-center text-sm text-gray-400">
|
||||
<p>© 2024 长三角国际新能源汽车与智能交通产业博览会. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
1417
web_frontend/exhibition-demo/public/web_result/pages/operation.html
Normal file
1417
web_frontend/exhibition-demo/public/web_result/pages/operation.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,523 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>策划概述 - 2024长三角国际新能源汽车展</title>
|
||||
<link rel="stylesheet" href="../css/styles.css">
|
||||
<link rel="stylesheet" href="../css/animations.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
* {
|
||||
font-family: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
}
|
||||
|
||||
/* Glass morphism effect */
|
||||
.glass-morphism {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
position: relative;
|
||||
padding-left: 40px;
|
||||
}
|
||||
.timeline-item::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 9px;
|
||||
top: 40px;
|
||||
height: calc(100% - 40px);
|
||||
width: 2px;
|
||||
background: linear-gradient(to bottom, #667eea, #a78bfa);
|
||||
}
|
||||
.timeline-item:last-child::before {
|
||||
display: none;
|
||||
}
|
||||
.timeline-dot {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 8px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
background: white;
|
||||
border: 3px solid #667eea;
|
||||
box-shadow: 0 0 0 6px rgba(102, 126, 234, 0.1);
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
@keyframes pulse {
|
||||
0% { box-shadow: 0 0 0 6px rgba(102, 126, 234, 0.1); }
|
||||
50% { box-shadow: 0 0 0 12px rgba(102, 126, 234, 0); }
|
||||
100% { box-shadow: 0 0 0 6px rgba(102, 126, 234, 0.1); }
|
||||
}
|
||||
.gradient-text {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
}
|
||||
.stat-card {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.stat-card::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
right: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
|
||||
animation: rotate 20s linear infinite;
|
||||
}
|
||||
@keyframes rotate {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-gray-50">
|
||||
<!-- Navigation -->
|
||||
<nav class="fixed top-0 w-full glass-morphism shadow-md z-50 transition-all duration-300">
|
||||
<div class="container mx-auto px-6 py-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<div class="w-10 h-10 bg-gradient-to-br from-emerald-400 to-blue-500 rounded-lg flex items-center justify-center mr-3">
|
||||
<i class="fas fa-charging-station text-white"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h1 class="text-lg font-bold">NEVIT 2024</h1>
|
||||
<p class="text-xs text-gray-500">新能源汽车产业博览会</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden md:flex space-x-8">
|
||||
<a href="../index.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-home mr-2"></i>首页
|
||||
</a>
|
||||
<a href="overview.html" class="nav-link active text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-info-circle mr-2"></i>展会概览
|
||||
</a>
|
||||
<a href="exhibition.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-th-large mr-2"></i>展览内容
|
||||
</a>
|
||||
<a href="marketing.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-bullhorn mr-2"></i>营销推广
|
||||
</a>
|
||||
<a href="operation.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-cogs mr-2"></i>运营服务
|
||||
</a>
|
||||
<a href="budget.html" class="nav-link text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-chart-pie mr-2"></i>预算分析
|
||||
</a>
|
||||
<a href="risk.html" class="text-gray-700 hover:text-emerald-500 transition-colors">
|
||||
<i class="fas fa-shield-alt mr-2"></i>风险评估
|
||||
</a>
|
||||
</div>
|
||||
<button class="md:hidden text-gray-700">
|
||||
<i class="fas fa-bars text-2xl"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Page Header -->
|
||||
<section class="relative bg-gradient-to-br from-purple-600 via-indigo-600 to-blue-600 text-white pt-24 pb-16 overflow-hidden">
|
||||
<div class="absolute inset-0">
|
||||
<img src="../../data/会展策划/image/博览会.jpg" alt="博览会背景" class="w-full h-full object-cover opacity-20">
|
||||
<div class="absolute inset-0 bg-gradient-to-b from-transparent to-purple-900/50"></div>
|
||||
</div>
|
||||
<div class="absolute top-20 left-10 w-32 h-32 bg-white/10 rounded-full blur-3xl animate-float"></div>
|
||||
<div class="absolute bottom-10 right-10 w-40 h-40 bg-blue-400/20 rounded-full blur-3xl animate-float animation-delay-2000"></div>
|
||||
|
||||
<div class="container mx-auto px-6 relative z-10">
|
||||
<div class="animate-fadeInUp">
|
||||
<div class="inline-flex items-center px-4 py-2 bg-white/20 backdrop-blur rounded-full mb-6">
|
||||
<span class="animate-pulse w-2 h-2 bg-white rounded-full mr-2"></span>
|
||||
<span class="text-sm font-semibold">全方位展会规划</span>
|
||||
</div>
|
||||
<h1 class="text-5xl md:text-6xl font-bold mb-4">
|
||||
<span class="block">策划概述</span>
|
||||
</h1>
|
||||
<p class="text-xl opacity-90 max-w-3xl">
|
||||
<i class="fas fa-quote-left mr-2"></i>
|
||||
全面了解展会策划背景、目标与核心价值,打造长三角地区最具影响力的新能源汽车产业盛会
|
||||
<i class="fas fa-quote-right ml-2"></i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Key Stats -->
|
||||
<section class="py-12 -mt-8 relative z-20">
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="grid grid-cols-1 md:grid-cols-4 gap-6">
|
||||
<div class="stat-card text-white p-6 rounded-2xl shadow-2xl animate-fadeInUp animation-delay-200">
|
||||
<div class="relative z-10">
|
||||
<i class="fas fa-industry text-3xl mb-3 opacity-80"></i>
|
||||
<div class="text-3xl font-bold mb-1">3000+</div>
|
||||
<div class="text-sm opacity-90">产业链企业</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat-card text-white p-6 rounded-2xl shadow-2xl animate-fadeInUp animation-delay-400">
|
||||
<div class="relative z-10">
|
||||
<i class="fas fa-coins text-3xl mb-3 opacity-80"></i>
|
||||
<div class="text-3xl font-bold mb-1">8000亿</div>
|
||||
<div class="text-sm opacity-90">2023年产值</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat-card text-white p-6 rounded-2xl shadow-2xl animate-fadeInUp animation-delay-600">
|
||||
<div class="relative z-10">
|
||||
<i class="fas fa-car text-3xl mb-3 opacity-80"></i>
|
||||
<div class="text-3xl font-bold mb-1">900万+</div>
|
||||
<div class="text-sm opacity-90">年产销量</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat-card text-white p-6 rounded-2xl shadow-2xl animate-fadeInUp animation-delay-800">
|
||||
<div class="relative z-10">
|
||||
<i class="fas fa-percentage text-3xl mb-3 opacity-80"></i>
|
||||
<div class="text-3xl font-bold mb-1">40%</div>
|
||||
<div class="text-sm opacity-90">全国占比</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Background Section -->
|
||||
<section class="py-16 bg-white">
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
|
||||
<div class="animate-fadeInLeft">
|
||||
<h2 class="text-3xl font-bold text-gray-800 mb-6">
|
||||
<i class="fas fa-globe-asia mr-3 text-purple-600"></i>策划背景
|
||||
</h2>
|
||||
<div class="space-y-4 text-gray-600">
|
||||
<p>
|
||||
在全球碳中和目标的大背景下,新能源汽车产业正经历前所未有的发展机遇。中国作为全球最大的新能源汽车市场,2023年产销量均突破900万辆,同比增长超过35%。
|
||||
</p>
|
||||
<p>
|
||||
长三角地区作为中国经济最发达、创新能力最强的区域之一,在新能源汽车产业发展中占据举足轻重的地位。该地区聚集了特斯拉、上汽、蔚来、理想、小鹏等众多知名车企,以及宁德时代、华为等核心零部件供应商。
|
||||
</p>
|
||||
<div class="bg-purple-50 border-l-4 border-purple-600 p-4 rounded">
|
||||
<p class="font-semibold mb-2">核心数据:</p>
|
||||
<ul class="space-y-2">
|
||||
<li>• 长三角新能源汽车产量占全国40%以上</li>
|
||||
<li>• 区域内新能源汽车产业链企业超过3000家</li>
|
||||
<li>• 2023年产值突破8000亿元</li>
|
||||
<li>• 智能网联汽车测试里程超过500万公里</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="animate-fadeInRight">
|
||||
<div class="bg-gradient-to-br from-purple-100 to-blue-100 rounded-2xl p-8 relative overflow-hidden">
|
||||
<div class="absolute top-0 right-0 w-32 h-32 bg-purple-200/30 rounded-full blur-2xl"></div>
|
||||
<h3 class="text-2xl font-bold text-gray-800 mb-4 relative z-10">
|
||||
<i class="fas fa-rocket mr-2 text-purple-600"></i>产业发展机遇
|
||||
</h3>
|
||||
<div class="space-y-3 relative z-10">
|
||||
<div class="flex items-start group hover:transform hover:translate-x-2 transition-all duration-300">
|
||||
<div class="w-8 h-8 bg-gradient-to-br from-purple-500 to-purple-700 text-white rounded-full flex items-center justify-center flex-shrink-0 mt-1 group-hover:scale-110 transition-transform">1</div>
|
||||
<div class="ml-3">
|
||||
<h4 class="font-semibold">政策支持力度空前</h4>
|
||||
<p class="text-sm text-gray-600">国家及地方政府出台多项扶持政策,推动产业快速发展</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start group hover:transform hover:translate-x-2 transition-all duration-300">
|
||||
<div class="w-8 h-8 bg-gradient-to-br from-purple-500 to-purple-700 text-white rounded-full flex items-center justify-center flex-shrink-0 mt-1 group-hover:scale-110 transition-transform">2</div>
|
||||
<div class="ml-3">
|
||||
<h4 class="font-semibold">技术创新加速突破</h4>
|
||||
<p class="text-sm text-gray-600">电池技术、自动驾驶、车联网等关键技术不断革新</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start group hover:transform hover:translate-x-2 transition-all duration-300">
|
||||
<div class="w-8 h-8 bg-gradient-to-br from-purple-500 to-purple-700 text-white rounded-full flex items-center justify-center flex-shrink-0 mt-1 group-hover:scale-110 transition-transform">3</div>
|
||||
<div class="ml-3">
|
||||
<h4 class="font-semibold">市场需求持续增长</h4>
|
||||
<p class="text-sm text-gray-600">消费者对新能源汽车接受度不断提高,市场潜力巨大</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start group hover:transform hover:translate-x-2 transition-all duration-300">
|
||||
<div class="w-8 h-8 bg-gradient-to-br from-purple-500 to-purple-700 text-white rounded-full flex items-center justify-center flex-shrink-0 mt-1 group-hover:scale-110 transition-transform">4</div>
|
||||
<div class="ml-3">
|
||||
<h4 class="font-semibold">产业链日趋完善</h4>
|
||||
<p class="text-sm text-gray-600">从研发到制造,从销售到服务,产业生态系统不断成熟</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Objectives Section -->
|
||||
<section class="py-16 bg-gradient-to-br from-gray-50 via-purple-50 to-indigo-50 relative overflow-hidden">
|
||||
<div class="absolute inset-0 opacity-5">
|
||||
<img src="../../data/会展策划/image/展馆布置图.jpeg" alt="展馆布置" class="w-full h-full object-cover">
|
||||
</div>
|
||||
<div class="container mx-auto px-6 relative z-10">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-4 animate-fadeInUp">
|
||||
<i class="fas fa-bullseye mr-3 text-purple-600"></i>策划目标
|
||||
</h2>
|
||||
<p class="text-center text-gray-600 mb-12 animate-fadeInUp animation-delay-200">明确的目标引领,打造专业高效的展会平台</p>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 group animate-fadeInUp animation-delay-300">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-blue-400 to-blue-600 rounded-2xl flex items-center justify-center mb-4 group-hover:rotate-6 transition-transform">
|
||||
<i class="fas fa-award text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2 text-gray-800 group-hover:text-blue-600 transition-colors">品牌建设</h3>
|
||||
<p class="text-gray-600">打造长三角地区新能源汽车与智能交通领域第一展会品牌,成为行业风向标</p>
|
||||
<div class="mt-4 pt-4 border-t">
|
||||
<ul class="text-sm text-gray-500 space-y-1">
|
||||
<li>• 品牌知名度提升50%</li>
|
||||
<li>• 媒体曝光量超1亿次</li>
|
||||
<li>• 行业认可度达90%</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 group animate-fadeInUp animation-delay-400">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-emerald-400 to-green-600 rounded-2xl flex items-center justify-center mb-4 group-hover:rotate-6 transition-transform">
|
||||
<i class="fas fa-chart-line text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2 text-gray-800 group-hover:text-emerald-600 transition-colors">商业价值</h3>
|
||||
<p class="text-gray-600">吸引300家优质展商参展,促进产业链上下游合作,实现商业价值最大化</p>
|
||||
<div class="mt-4 pt-4 border-t">
|
||||
<ul class="text-sm text-gray-500 space-y-1">
|
||||
<li>• 现场成交额超10亿元</li>
|
||||
<li>• 意向订单8亿元</li>
|
||||
<li>• 投资回报率33.3%</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 group animate-fadeInUp animation-delay-500">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-purple-400 to-purple-600 rounded-2xl flex items-center justify-center mb-4 group-hover:rotate-6 transition-transform">
|
||||
<i class="fas fa-users text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2 text-gray-800 group-hover:text-purple-600 transition-colors">行业推动</h3>
|
||||
<p class="text-gray-600">促进技术创新和产业升级,推动新能源汽车产业高质量发展</p>
|
||||
<div class="mt-4 pt-4 border-t">
|
||||
<ul class="text-sm text-gray-500 space-y-1">
|
||||
<li>• 发布行业白皮书2份</li>
|
||||
<li>• 专业论坛20场</li>
|
||||
<li>• 技术成果发布50项</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 group animate-fadeInUp animation-delay-600">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-orange-400 to-pink-600 rounded-2xl flex items-center justify-center mb-4 group-hover:rotate-6 transition-transform">
|
||||
<i class="fas fa-leaf text-white text-2xl"></i>
|
||||
</div>
|
||||
<h3 class="text-xl font-bold mb-2 text-gray-800 group-hover:text-orange-600 transition-colors">社会责任</h3>
|
||||
<p class="text-gray-600">推广绿色出行理念,助力碳中和目标实现,促进可持续发展</p>
|
||||
<div class="mt-4 pt-4 border-t">
|
||||
<ul class="text-sm text-gray-500 space-y-1">
|
||||
<li>• 碳减排宣传覆盖10万人</li>
|
||||
<li>• 绿色出行体验5万人次</li>
|
||||
<li>• 环保倡议签名3万人</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Policy Support Section -->
|
||||
<section class="py-16 bg-white">
|
||||
<div class="container mx-auto px-6">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">政策依据</h2>
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="space-y-6">
|
||||
<div class="timeline-item">
|
||||
<div class="timeline-dot"></div>
|
||||
<div class="bg-gray-50 rounded-lg p-6">
|
||||
<h3 class="text-xl font-bold mb-2">《新能源汽车产业发展规划(2021-2035年)》</h3>
|
||||
<p class="text-gray-600 mb-3">国务院办公厅发布,明确了新能源汽车产业发展的指导思想、基本原则和发展愿景。</p>
|
||||
<div class="bg-white rounded p-3">
|
||||
<p class="text-sm text-gray-500">
|
||||
<strong>核心目标:</strong>到2025年,新能源汽车新车销售量达到汽车新车销售总量的20%左右;到2035年,纯电动汽车成为新销售车辆的主流。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeline-item">
|
||||
<div class="timeline-dot"></div>
|
||||
<div class="bg-gray-50 rounded-lg p-6">
|
||||
<h3 class="text-xl font-bold mb-2">《上海市加快新能源汽车产业发展实施计划》</h3>
|
||||
<p class="text-gray-600 mb-3">上海市人民政府印发,提出打造国际新能源汽车发展高地的具体措施。</p>
|
||||
<div class="bg-white rounded p-3">
|
||||
<p class="text-sm text-gray-500">
|
||||
<strong>发展目标:</strong>到2025年,上海新能源汽车年产量超过120万辆,产值突破3500亿元,打造3-5家具有国际竞争力的整车企业。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeline-item">
|
||||
<div class="timeline-dot"></div>
|
||||
<div class="bg-gray-50 rounded-lg p-6">
|
||||
<h3 class="text-xl font-bold mb-2">《长三角地区新能源汽车产业链协同发展规划》</h3>
|
||||
<p class="text-gray-600 mb-3">长三角一体化示范区执委会发布,推动区域产业协同发展。</p>
|
||||
<div class="bg-white rounded p-3">
|
||||
<p class="text-sm text-gray-500">
|
||||
<strong>协同重点:</strong>建立跨区域产业协作机制,共建新能源汽车产业创新平台,推动充电基础设施互联互通。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeline-item">
|
||||
<div class="timeline-dot"></div>
|
||||
<div class="bg-gray-50 rounded-lg p-6">
|
||||
<h3 class="text-xl font-bold mb-2">《智能网联汽车道路测试与示范应用管理规范》</h3>
|
||||
<p class="text-gray-600 mb-3">工业和信息化部、公安部、交通运输部联合发布,规范智能网联汽车测试与应用。</p>
|
||||
<div class="bg-white rounded p-3">
|
||||
<p class="text-sm text-gray-500">
|
||||
<strong>示范应用:</strong>在长三角地区建设5个国家级智能网联汽车测试示范区,累计开放测试道路超过1000公里。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Market Analysis -->
|
||||
<section class="py-16 bg-gradient-to-br from-gray-50 to-white relative overflow-hidden">
|
||||
<div class="absolute top-0 right-0 w-96 h-96 bg-purple-200/20 rounded-full blur-3xl"></div>
|
||||
<div class="absolute bottom-0 left-0 w-96 h-96 bg-blue-200/20 rounded-full blur-3xl"></div>
|
||||
<div class="container mx-auto px-6 relative z-10">
|
||||
<h2 class="text-3xl font-bold text-center text-gray-800 mb-4 animate-fadeInUp">
|
||||
<i class="fas fa-chart-bar mr-3 text-purple-600"></i>市场分析
|
||||
</h2>
|
||||
<p class="text-center text-gray-600 mb-12 animate-fadeInUp animation-delay-200">深入洞察产业发展趋势,精准把握市场机遇</p>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 animate-fadeInUp animation-delay-300">
|
||||
<h3 class="text-xl font-bold mb-4 text-purple-600">
|
||||
<i class="fas fa-expand-arrows-alt mr-2"></i>市场规模
|
||||
</h3>
|
||||
<div class="space-y-3">
|
||||
<div class="flex justify-between items-center py-2 border-b">
|
||||
<span class="text-gray-600">2023年销量</span>
|
||||
<span class="font-bold">949.5万辆</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center py-2 border-b">
|
||||
<span class="text-gray-600">同比增长</span>
|
||||
<span class="font-bold text-green-600">+37.9%</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center py-2 border-b">
|
||||
<span class="text-gray-600">市场渗透率</span>
|
||||
<span class="font-bold">31.6%</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center py-2">
|
||||
<span class="text-gray-600">2025年预测</span>
|
||||
<span class="font-bold">1500万辆</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 animate-fadeInUp animation-delay-400">
|
||||
<h3 class="text-xl font-bold mb-4 text-indigo-600">
|
||||
<i class="fas fa-sitemap mr-2"></i>产业链分布
|
||||
</h3>
|
||||
<div class="space-y-3">
|
||||
<div class="flex items-center">
|
||||
<div class="w-24 text-sm text-gray-600">整车制造</div>
|
||||
<div class="flex-1 bg-gray-200 rounded-full h-4 ml-3">
|
||||
<div class="bg-purple-600 h-4 rounded-full" style="width: 85%"></div>
|
||||
</div>
|
||||
<span class="ml-2 text-sm font-bold">85家</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-24 text-sm text-gray-600">电池电机</div>
|
||||
<div class="flex-1 bg-gray-200 rounded-full h-4 ml-3">
|
||||
<div class="bg-purple-600 h-4 rounded-full" style="width: 70%"></div>
|
||||
</div>
|
||||
<span class="ml-2 text-sm font-bold">156家</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-24 text-sm text-gray-600">智能网联</div>
|
||||
<div class="flex-1 bg-gray-200 rounded-full h-4 ml-3">
|
||||
<div class="bg-purple-600 h-4 rounded-full" style="width: 60%"></div>
|
||||
</div>
|
||||
<span class="ml-2 text-sm font-bold">234家</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-24 text-sm text-gray-600">充电设施</div>
|
||||
<div class="flex-1 bg-gray-200 rounded-full h-4 ml-3">
|
||||
<div class="bg-purple-600 h-4 rounded-full" style="width: 50%"></div>
|
||||
</div>
|
||||
<span class="ml-2 text-sm font-bold">189家</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white/90 backdrop-blur rounded-xl shadow-xl p-6 hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 animate-fadeInUp animation-delay-500">
|
||||
<h3 class="text-xl font-bold mb-4 text-emerald-600">
|
||||
<i class="fas fa-poll mr-2"></i>展会需求调研
|
||||
</h3>
|
||||
<div class="space-y-3">
|
||||
<div class="bg-green-50 rounded-lg p-3">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-sm text-gray-600">有参展意向</span>
|
||||
<span class="font-bold text-green-600">89%</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-2">
|
||||
<div class="bg-green-600 h-2 rounded-full" style="width: 89%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-blue-50 rounded-lg p-3">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-sm text-gray-600">需要B2B对接</span>
|
||||
<span class="font-bold text-blue-600">76%</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-2">
|
||||
<div class="bg-blue-600 h-2 rounded-full" style="width: 76%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-purple-50 rounded-lg p-3">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-sm text-gray-600">关注技术交流</span>
|
||||
<span class="font-bold text-purple-600">82%</span>
|
||||
</div>
|
||||
<div class="bg-gray-200 rounded-full h-2">
|
||||
<div class="bg-purple-600 h-2 rounded-full" style="width: 82%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="py-16 bg-gradient-to-r from-purple-600 to-blue-600 text-white">
|
||||
<div class="container mx-auto px-6 text-center">
|
||||
<h2 class="text-3xl font-bold mb-6">了解更多展会详情</h2>
|
||||
<p class="text-xl mb-8 opacity-90">深入了解展会规划、参展范围和预期效果</p>
|
||||
<a href="exhibition.html" class="inline-block bg-white text-purple-600 px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 transition">
|
||||
查看展会介绍 →
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-900 text-white py-12">
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="text-center text-sm text-gray-400">
|
||||
<p>© 2024 长三角国际新能源汽车与智能交通产业博览会. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
1076
web_frontend/exhibition-demo/public/web_result/pages/risk.html
Normal file
1076
web_frontend/exhibition-demo/public/web_result/pages/risk.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -141,15 +141,13 @@ const ResultModal: React.FC<ResultModalProps> = ({ isOpen, onClose, onViewDetail
|
||||
|
||||
{/* 操作按钮 */}
|
||||
<div className="flex gap-3">
|
||||
<a
|
||||
href="../web_result/index.html"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
<button
|
||||
onClick={() => window.open('http://localhost:4155', '_blank')}
|
||||
className="flex-1 px-6 py-3 bg-gradient-to-r from-blue-600 to-purple-600 text-white rounded-xl font-medium hover:shadow-lg transform hover:scale-105 transition-all flex items-center justify-center gap-2"
|
||||
>
|
||||
<Eye className="w-5 h-5" />
|
||||
查看详细方案
|
||||
</a>
|
||||
</button>
|
||||
<button
|
||||
className="flex-1 px-6 py-3 bg-gray-100 text-gray-700 rounded-xl font-medium hover:bg-gray-200 transition-colors flex items-center justify-center gap-2"
|
||||
>
|
||||
|
||||
@@ -14,6 +14,8 @@ interface TerminalLine {
|
||||
progress?: number;
|
||||
}
|
||||
|
||||
type TerminalLineType = TerminalLine['type'];
|
||||
|
||||
// 生成随机延迟
|
||||
const getRandomDelay = (min: number, max: number) => {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
@@ -34,7 +36,6 @@ const WorkflowPageV3 = () => {
|
||||
const [isExecuting, setIsExecuting] = useState(false);
|
||||
const terminalRef = useRef<HTMLDivElement>(null);
|
||||
const intervalRef = useRef<number | null>(null);
|
||||
const executionTimeoutRef = useRef<number | null>(null);
|
||||
|
||||
// 启动序列
|
||||
const startupSequence = [
|
||||
@@ -58,7 +59,10 @@ const WorkflowPageV3 = () => {
|
||||
];
|
||||
|
||||
// Agent执行序列 - 更丰富的输出
|
||||
const agentSequence = [
|
||||
const agentSequence: Array<{
|
||||
agent: typeof agents[0];
|
||||
outputs: Array<{ type: TerminalLineType; content: string; progress?: number }>
|
||||
}> = [
|
||||
{
|
||||
agent: agents[0], // 信息检索
|
||||
outputs: [
|
||||
@@ -329,7 +333,7 @@ const WorkflowPageV3 = () => {
|
||||
|
||||
setTerminalLines(prev => [...prev, {
|
||||
...line,
|
||||
id: Math.random().toString(36).substr(2, 9),
|
||||
id: Math.random().toString(36).substring(2, 11),
|
||||
timestamp
|
||||
}]);
|
||||
|
||||
@@ -561,7 +565,7 @@ const WorkflowPageV3 = () => {
|
||||
maxHeight: 'calc(100vh - 200px)'
|
||||
}}
|
||||
>
|
||||
<style jsx>{`
|
||||
<style>{`
|
||||
.custom-scrollbar::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
99
web_frontend/web_result/server.js
Normal file
99
web_frontend/web_result/server.js
Normal file
@@ -0,0 +1,99 @@
|
||||
const http = require('http');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const url = require('url');
|
||||
|
||||
const PORT = 4155;
|
||||
const HOST = '0.0.0.0';
|
||||
|
||||
// MIME 类型映射
|
||||
const mimeTypes = {
|
||||
'.html': 'text/html; charset=utf-8',
|
||||
'.css': 'text/css',
|
||||
'.js': 'text/javascript',
|
||||
'.json': 'application/json',
|
||||
'.png': 'image/png',
|
||||
'.jpg': 'image/jpeg',
|
||||
'.jpeg': 'image/jpeg',
|
||||
'.gif': 'image/gif',
|
||||
'.svg': 'image/svg+xml',
|
||||
'.ico': 'image/x-icon',
|
||||
'.woff': 'font/woff',
|
||||
'.woff2': 'font/woff2',
|
||||
'.ttf': 'font/ttf',
|
||||
'.eot': 'font/eot'
|
||||
};
|
||||
|
||||
// 创建服务器
|
||||
const server = http.createServer((req, res) => {
|
||||
// 解析 URL
|
||||
const parsedUrl = url.parse(req.url);
|
||||
let pathname = decodeURIComponent(parsedUrl.pathname);
|
||||
|
||||
// 默认文件
|
||||
if (pathname === '/') {
|
||||
pathname = '/index.html';
|
||||
}
|
||||
|
||||
// 构建文件路径
|
||||
const filePath = path.join(__dirname, pathname);
|
||||
|
||||
// 安全检查:确保文件路径在当前目录内
|
||||
if (!filePath.startsWith(__dirname)) {
|
||||
res.writeHead(403);
|
||||
res.end('Forbidden');
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查文件是否存在
|
||||
fs.stat(filePath, (err, stats) => {
|
||||
if (err) {
|
||||
// 文件不存在
|
||||
res.writeHead(404);
|
||||
res.end('Not Found');
|
||||
return;
|
||||
}
|
||||
|
||||
if (stats.isDirectory()) {
|
||||
// 如果是目录,尝试加载 index.html
|
||||
const indexPath = path.join(filePath, 'index.html');
|
||||
fs.stat(indexPath, (err, stats) => {
|
||||
if (err) {
|
||||
res.writeHead(404);
|
||||
res.end('Not Found');
|
||||
return;
|
||||
}
|
||||
serveFile(indexPath, res);
|
||||
});
|
||||
} else {
|
||||
// 提供文件
|
||||
serveFile(filePath, res);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 提供文件的函数
|
||||
function serveFile(filePath, res) {
|
||||
const ext = path.extname(filePath);
|
||||
const contentType = mimeTypes[ext] || 'application/octet-stream';
|
||||
|
||||
fs.readFile(filePath, (err, content) => {
|
||||
if (err) {
|
||||
res.writeHead(500);
|
||||
res.end('Internal Server Error');
|
||||
return;
|
||||
}
|
||||
|
||||
res.writeHead(200, { 'Content-Type': contentType });
|
||||
res.end(content);
|
||||
});
|
||||
}
|
||||
|
||||
// 启动服务器
|
||||
server.listen(PORT, HOST, () => {
|
||||
console.log('======================================');
|
||||
console.log(' Web Result 静态服务器');
|
||||
console.log(` 运行地址: http://localhost:${PORT}`);
|
||||
console.log(' 按 Ctrl+C 停止服务器');
|
||||
console.log('======================================');
|
||||
});
|
||||
67
web_frontend/web_result/start.bat
Normal file
67
web_frontend/web_result/start.bat
Normal file
@@ -0,0 +1,67 @@
|
||||
@echo off
|
||||
chcp 65001 >nul 2>&1
|
||||
REM Web Result 静态服务器启动脚本 (Node.js版)
|
||||
REM 端口: 4155
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
REM 显示启动横幅
|
||||
echo ======================================
|
||||
echo Web Result 静态服务器
|
||||
echo 端口: 4155
|
||||
echo ======================================
|
||||
echo.
|
||||
|
||||
REM 获取脚本所在目录
|
||||
set "SCRIPT_DIR=%~dp0"
|
||||
set "SCRIPT_DIR=%SCRIPT_DIR:~0,-1%"
|
||||
|
||||
REM 切换到脚本所在目录
|
||||
cd /d "%SCRIPT_DIR%"
|
||||
|
||||
REM 检查 Node.js
|
||||
where node >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo [错误] Node.js 未安装
|
||||
echo 请先安装 Node.js: https://nodejs.org
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [信息] Node.js 版本:
|
||||
node --version
|
||||
echo.
|
||||
|
||||
REM 检查端口 4155 是否被占用
|
||||
netstat -ano | findstr :4155 >nul 2>&1
|
||||
if not errorlevel 1 (
|
||||
echo [警告] 端口 4155 已被占用
|
||||
echo [信息] 正在查看占用进程...
|
||||
netstat -ano | findstr :4155
|
||||
echo.
|
||||
|
||||
set /p "kill_process=是否终止占用进程?(y/N): "
|
||||
if /I "!kill_process!"=="y" (
|
||||
echo [信息] 正在终止占用进程...
|
||||
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :4155') do (
|
||||
taskkill /PID %%a /F >nul 2>&1
|
||||
)
|
||||
echo [成功] 进程已终止
|
||||
timeout /t 1 /nobreak >nul
|
||||
) else (
|
||||
echo [错误] 无法启动服务器,端口被占用
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
REM 启动服务器
|
||||
echo [信息] 正在启动服务器...
|
||||
echo [信息] 访问地址: http://localhost:4155
|
||||
echo [提示] 按 Ctrl+C 停止服务器
|
||||
echo.
|
||||
|
||||
REM 使用 Node.js 启动服务器
|
||||
node server.js
|
||||
|
||||
pause
|
||||
59
web_frontend/web_result/start.sh
Executable file
59
web_frontend/web_result/start.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Web Result 静态服务器启动脚本 (Node.js版)
|
||||
# 端口: 4155
|
||||
|
||||
# 颜色定义
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
# 获取脚本所在目录
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
echo -e "${BLUE}======================================${NC}"
|
||||
echo -e "${BLUE} Web Result 静态服务器${NC}"
|
||||
echo -e "${BLUE} 端口: 4155${NC}"
|
||||
echo -e "${BLUE}======================================${NC}"
|
||||
echo
|
||||
|
||||
# 切换到脚本所在目录
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
# 检查 Node.js
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo -e "${RED}[错误] Node.js 未安装${NC}"
|
||||
echo -e "${YELLOW}请先安装 Node.js: https://nodejs.org${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}[信息] Node.js 版本: $(node --version)${NC}"
|
||||
|
||||
# 检查端口是否被占用
|
||||
if lsof -Pi :4155 -sTCP:LISTEN -t >/dev/null 2>&1; then
|
||||
echo -e "${YELLOW}[警告] 端口 4155 已被占用${NC}"
|
||||
echo -e "${BLUE}[信息] 正在查看占用进程...${NC}"
|
||||
lsof -i :4155
|
||||
|
||||
read -p "是否终止占用进程?(y/N): " kill_process
|
||||
if [[ $kill_process =~ ^[Yy]$ ]]; then
|
||||
echo -e "${BLUE}[信息] 正在终止占用进程...${NC}"
|
||||
lsof -ti:4155 | xargs kill -9
|
||||
echo -e "${GREEN}[成功] 进程已终止${NC}"
|
||||
sleep 1
|
||||
else
|
||||
echo -e "${RED}[错误] 无法启动服务器,端口被占用${NC}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# 启动服务器
|
||||
echo -e "${GREEN}[信息] 正在启动服务器...${NC}"
|
||||
echo -e "${GREEN}[信息] 访问地址: http://localhost:4155${NC}"
|
||||
echo -e "${YELLOW}[提示] 按 Ctrl+C 停止服务器${NC}"
|
||||
echo
|
||||
|
||||
# 使用 Node.js 启动服务器
|
||||
node server.js
|
||||
Reference in New Issue
Block a user