Compare commits

...

2 Commits

Author SHA1 Message Date
jeremygan2021
da2ded71ad new
All checks were successful
构建并部署 / build-and-deploy (push) Successful in 1h13m18s
2026-02-13 21:55:48 +08:00
jeremygan2021
4cdcafa01c test 2026-02-13 21:48:12 +08:00
4 changed files with 111 additions and 50 deletions

View File

@@ -1262,27 +1262,27 @@ body, html {
.team-detail-mask { .team-detail-mask {
position: fixed; position: fixed;
inset: 0; inset: 0;
background: #000; background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(4px);
z-index: 980; z-index: 980;
} }
/* //// / */ /* //// / */
.team-detail-panel { .team-detail-panel {
position: fixed; position: fixed;
right: 84px; right: 0;
top: 10%; top: 0;
transform: translateY(-50%); height: 100vh;
width: min(420px, 40vw); transform: none;
max-width: 92vw; width: 500px;
background: rgba(10, 15, 28, 0.9); max-width: 90vw;
border: 1px solid rgba(255,255,255,0.1); background: rgba(10, 15, 28, 0.95);
border-radius: 16px; border-left: 1px solid rgba(255,255,255,0.1);
box-shadow: 0 20px 50px rgba(0,0,0,0.5); box-shadow: -10px 0 40px rgba(0,0,0,0.5);
z-index: 990; z-index: 990;
backdrop-filter: blur(16px); backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(20px);
padding: 1.2rem; padding: 2.5rem;
color: var(--text-primary); color: var(--text-primary);
max-height: calc(100vh - 96px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
@@ -1290,56 +1290,75 @@ body, html {
.detail-close { .detail-close {
position: absolute; position: absolute;
right: 10px; right: 20px;
top: 8px; top: 20px;
width: 32px; width: 36px;
height: 32px; height: 36px;
border-radius: 50%; border-radius: 50%;
border: 1px solid rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.2);
background: rgba(255,255,255,0.06); background: rgba(255,255,255,0.06);
color: var(--text-primary); color: var(--text-primary);
cursor: pointer; cursor: pointer;
transition: all 0.3s ease;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
}
.detail-close:hover {
background: rgba(255, 255, 255, 0.15);
transform: rotate(90deg);
} }
.detail-header { .detail-header {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12px; gap: 16px;
margin-bottom: 0.8rem; margin-bottom: 2rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
} }
.detail-brand { .detail-brand {
width: 28px; width: 48px;
height: 28px; height: 48px;
object-fit: contain; object-fit: contain;
opacity: 0.9; opacity: 1;
background: rgba(255, 255, 255, 0.05);
padding: 8px;
border-radius: 12px;
} }
.detail-portrait { .detail-meta {
width: 100%; display: flex;
height: auto; flex-direction: column;
object-fit: contain; gap: 4px;
background: transparent;
margin: 6px 0 10px 0;
}
.detail-photo {
width: 64px;
height: 64px;
object-fit: contain;
border-radius: 10px;
background: rgba(255,255,255,0.06);
} }
.detail-name { .detail-name {
font-size: 1.2rem; font-size: 1.8rem;
font-weight: 700; font-weight: 700;
letter-spacing: 0.02em;
} }
.detail-role { .detail-role {
color: var(--primary-color); color: var(--primary-color);
font-weight: 600; font-weight: 600;
margin-top: 2px; font-size: 1rem;
opacity: 0.9;
}
.detail-portrait {
width: auto;
max-width: 100%;
max-height: 280px;
object-fit: contain;
background: transparent;
margin: 0 auto 2rem auto;
filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3));
display: block;
} }
.detail-body p { .detail-body p {
@@ -1375,8 +1394,8 @@ body, html {
background: rgba(255,255,255,0.04); background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.08);
border-radius: 12px; border-radius: 12px;
padding: 0.9rem 1rem; padding: 1.2rem;
margin-bottom: 0.8rem; margin-bottom: 1.2rem;
} }
.detail-card h5 { .detail-card h5 {
font-size: 0.95rem; font-size: 0.95rem;
@@ -2510,6 +2529,7 @@ body, html {
transform: translateY(0); transform: translateY(0);
bottom: 0; bottom: 0;
top: auto; top: auto;
height: auto;
width: 100vw; width: 100vw;
max-width: 100vw; max-width: 100vw;
border-radius: 18px 18px 0 0; border-radius: 18px 18px 0 0;
@@ -2518,6 +2538,10 @@ body, html {
overflow: hidden; overflow: hidden;
} }
.team-detail-mask { opacity: 0.7; } .team-detail-mask { opacity: 0.7; }
.detail-portrait {
margin: 0 auto 1rem auto;
}
} }
/* 小屏幕设备额外优化 */ /* 小屏幕设备额外优化 */

View File

@@ -12,7 +12,7 @@ const CaseSection = ({ isActive }) => {
category: '餐饮场景', category: '餐饮场景',
description: '定制小盖3D立体IP茶宠硬件搭载声识WiFi语音交互与2寸显示屏实现语音问答点餐、多语言支持与菜品推荐。', description: '定制小盖3D立体IP茶宠硬件搭载声识WiFi语音交互与2寸显示屏实现语音问答点餐、多语言支持与菜品推荐。',
results: ['兼顾情绪价值与实用价值', '硬件成本低至200元/个', '实现“交互-解决-沉淀”闭环'], results: ['兼顾情绪价值与实用价值', '硬件成本低至200元/个', '实现“交互-解决-沉淀”闭环'],
image: '<EFBFBD>', image: '',
technologies: ['声识WiFi语音交互', '3D打印IP', '硬件电量管理'] technologies: ['声识WiFi语音交互', '3D打印IP', '硬件电量管理']
}, },
{ {
@@ -42,7 +42,7 @@ const CaseSection = ({ isActive }) => {
category: '政务场景', category: '政务场景',
description: '定制政务人偶硬件,搭载麦克风与显示屏,实现直接语音唤醒与服务器直连,简化政务查询操作。', description: '定制政务人偶硬件,搭载麦克风与显示屏,实现直接语音唤醒与服务器直连,简化政务查询操作。',
results: ['对老年人友好', '短询问链路响应快', '支持扫码通话/软件访问'], results: ['对老年人友好', '短询问链路响应快', '支持扫码通话/软件访问'],
image: '<EFBFBD>', image: '🏛',
technologies: ['语音唤醒', '服务器直连', 'AI大模型'] technologies: ['语音唤醒', '服务器直连', 'AI大模型']
} }
]; ];
@@ -136,8 +136,9 @@ const CaseSection = ({ isActive }) => {
className="case-cta" className="case-cta"
whileHover={{ scale: 1.05 }} whileHover={{ scale: 1.05 }}
whileTap={{ scale: 0.95 }} whileTap={{ scale: 0.95 }}
onClick={() => window.location.href = 'https://market.quant-speed.com'}
> >
查看详细案例 加入量迹商城
</motion.button> </motion.button>
</motion.div> </motion.div>
</AnimatePresence> </AnimatePresence>

View File

@@ -58,10 +58,25 @@ const HeroSection = ({ isActive }) => {
boxShadow: "0 10px 30px rgba(0, 245, 212, 0.3)" boxShadow: "0 10px 30px rgba(0, 245, 212, 0.3)"
}} }}
whileTap={{ scale: 0.95 }} whileTap={{ scale: 0.95 }}
onClick={(e) => {
e.stopPropagation();
window.open('https://market.quant-speed.com', '_blank');
}}
> >
<span className="btn-text">了解更多</span> <img
<div className="btn-glow"></div> src="/logo.svg"
<div className="btn-arrow"></div> alt="logo"
style={{
height: '20px',
marginRight: '8px',
filter: 'brightness(0) invert(1)',
position: 'relative',
zIndex: 2
}}
/>
<span className="btn-text" style={{ position: 'relative', zIndex: 2 }}>量迹商城</span>
<div className="btn-glow" style={{ pointerEvents: 'none' }}></div>
<div className="btn-arrow" style={{ position: 'relative', zIndex: 2 }}></div>
</motion.button> </motion.button>
</motion.div> </motion.div>

View File

@@ -245,10 +245,31 @@ const ProductSection = ({ isActive }) => {
boxShadow: "0 10px 30px rgba(0, 245, 212, 0.3)" boxShadow: "0 10px 30px rgba(0, 245, 212, 0.3)"
}} }}
whileTap={{ scale: 0.95 }} whileTap={{ scale: 0.95 }}
onClick={(e) => {
e.stopPropagation();
const urls = {
v3: 'https://market.quant-speed.com/product/2',
mini: 'https://market.quant-speed.com/product/1',
v2: 'https://market.quant-speed.com/product/3'
};
const targetUrl = urls[modelKey] || 'https://market.quant-speed.com';
window.open(targetUrl, '_blank');
}}
> >
<span className="btn-text">了解更多</span> <img
<div className="btn-glow"></div> src="/logo.svg"
<div className="btn-arrow"></div> alt="logo"
style={{
height: '20px',
marginRight: '8px',
filter: 'brightness(0) invert(1)',
position: 'relative',
zIndex: 2
}}
/>
<span className="btn-text" style={{ position: 'relative', zIndex: 2 }}>量迹商城</span>
<div className="btn-glow" style={{ pointerEvents: 'none' }}></div>
<div className="btn-arrow" style={{ position: 'relative', zIndex: 2 }}></div>
</motion.button> </motion.button>
</motion.div> </motion.div>