Browse Source

去除模糊文本效果;去除图标

songjie/feature-20250628160649-上线前优化
宋杰 3 days ago
parent
commit
e592e04c0a
  1. 163
      src/views/AiEmotion.vue

163
src/views/AiEmotion.vue

@ -108,16 +108,16 @@
</div>
<div class="bk-image">
<div class="text-container">
<p><span class="title">🔍 情绪监控-金融宇宙的量子检测网络</span>
<p><span class="title">情绪监控-金融宇宙的量子检测网络</span>
<span class="content">核心任务:构建全市场情绪引力场雷达实时监测资金流向和情绪波动</span>
</p>
<p><span class="title">🧠 情绪解码-主力思维的神经破译矩阵</span>
<p><span class="title">情绪解码-主力思维的神经破译矩阵</span>
<span class="content">核心任务:解构资金行为的量子密码破译主力操盘意图和策略布局</span>
</p>
<p><span class="title">🔮 情绪推演-未来战争的时空推演舱</span>
<p><span class="title">情绪推演-未来战争的时空推演舱</span>
<span class="content">核心任务:基于情绪数据推演未来走势预测市场转折点和机会窗口</span>
</p>
<p><span class="title">💰 情绪套利-财富裂变的粒子对撞机</span>
<p><span class="title">情绪套利-财富裂变的粒子对撞机</span>
<span class="content">核心任务:将情绪差转化为收益粒子流实现情绪能量的价值转换</span>
</p>
</div>
@ -494,75 +494,75 @@ watch(currentStock, (newStock) => {
renderCharts(newStock.apiData);
console.log('图表数据已准备完成,开始渲染:', newStock.apiData)
//
setTimeout(() => {
if (scenarioApplicationRef.value && parsedConclusion.value) {
const stockCode = newStock.stockInfo?.code || newStock.stockInfo?.symbol;
setTimeout(() => {
if (scenarioApplicationRef.value && parsedConclusion.value) {
const stockCode = newStock.stockInfo?.code || newStock.stockInfo?.symbol;
//
if (stockCode && stockTypewriterShown.value.has(stockCode)) {
return;
}
const rect = scenarioApplicationRef.value.getBoundingClientRect();
const isInViewport = rect.top < window.innerHeight && rect.bottom > 0;
if (isInViewport) {
console.log('股票切换后检测到场景应用部分在视口中');
if (stockCode) {
//
if (!stockTypewriterShown.value.has(stockCode)) {
//
if (audioUrl.value) {
console.log('该股票第一次进入场景应用,开始打字机效果和音频播放');
hasTriggeredTypewriter.value = true;
hasTriggeredAudio.value = true;
startTypewriterEffect(parsedConclusion.value);
//
if (stockCode && stockTypewriterShown.value.has(stockCode)) {
return;
}
if (!stockAudioPlayed.value.has(stockCode)) {
console.log('开始音频播放');
stockAudioPlayed.value.set(stockCode, true);
playAudio(audioUrl.value);
const rect = scenarioApplicationRef.value.getBoundingClientRect();
const isInViewport = rect.top < window.innerHeight && rect.bottom > 0;
if (isInViewport) {
console.log('股票切换后检测到场景应用部分在视口中');
if (stockCode) {
//
if (!stockTypewriterShown.value.has(stockCode)) {
//
if (audioUrl.value) {
console.log('该股票第一次进入场景应用,开始打字机效果和音频播放');
hasTriggeredTypewriter.value = true;
hasTriggeredAudio.value = true;
startTypewriterEffect(parsedConclusion.value);
if (!stockAudioPlayed.value.has(stockCode)) {
console.log('开始音频播放');
stockAudioPlayed.value.set(stockCode, true);
playAudio(audioUrl.value);
}
stockTypewriterShown.value.set(stockCode, true);
} else {
console.log('音频尚未准备好,等待音频加载完成后再触发效果(股票切换后)');
return;
}
stockTypewriterShown.value.set(stockCode, true);
} else {
console.log('音频尚未准备好,等待音频加载完成后再触发效果(股票切换后)');
return;
//
console.log('非第一次股票切换或已触发过,直接显示完整内容');
//
const conclusion = parsedConclusion.value;
displayedTexts.value = {
one1: conclusion.one1 || '',
one2: conclusion.one2 || '',
two: conclusion.two || '',
three: conclusion.three || '',
four: conclusion.four || '',
disclaimer: '该内容由AI生成,请注意甄别'
};
displayedTitles.value = {
one: 'L1: 情绪监控',
two: 'L2: 情绪解码',
three: 'L3: 情绪推演',
four: 'L4: 情绪套利'
};
moduleVisibility.value = {
one: !!(conclusion.one1 || conclusion.one2),
two: !!conclusion.two,
three: !!conclusion.three,
four: !!conclusion.four,
disclaimer: true
};
}
} else {
//
console.log('非第一次股票切换或已触发过,直接显示完整内容');
//
const conclusion = parsedConclusion.value;
displayedTexts.value = {
one1: conclusion.one1 || '',
one2: conclusion.one2 || '',
two: conclusion.two || '',
three: conclusion.three || '',
four: conclusion.four || '',
disclaimer: '该内容由AI生成,请注意甄别'
};
displayedTitles.value = {
one: 'L1: 情绪监控',
two: 'L2: 情绪解码',
three: 'L3: 情绪推演',
four: 'L4: 情绪套利'
};
moduleVisibility.value = {
one: !!(conclusion.one1 || conclusion.one2),
two: !!conclusion.two,
three: !!conclusion.three,
four: !!conclusion.four,
disclaimer: true
};
}
}
}
}
}, 500); // 500ms
}, 500); // 500ms
});
} else {
console.log('页面尚未加载完成,等待数据加载完成后再渲染图表');
@ -1552,16 +1552,12 @@ defineExpose({
margin: 20px;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.15) 0%, rgba(0, 100, 200, 0.15) 100%);
border: 2px solid rgba(0, 212, 255, 0.4);
box-shadow: 0 8px 25px rgba(0, 212, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
.conclusion-item {
margin-bottom: 20px;
padding: 20px;
border-radius: 12px;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.2) 0%, rgba(0, 150, 255, 0.1) 100%);
border: 1px solid rgba(0, 212, 255, 0.5);
border-left: 5px solid #00d4ff;
box-shadow: 0 4px 15px rgba(0, 212, 255, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
@ -1589,9 +1585,7 @@ defineExpose({
font-weight: bold;
margin: 0 0 15px 0;
text-align: center;
text-shadow: 0 2px 8px rgba(0, 212, 255, 0.5), 0 0 20px rgba(0, 212, 255, 0.3);
letter-spacing: 2px;
position: relative;
&::after {
content: '';
@ -1612,19 +1606,10 @@ defineExpose({
margin: 0 0 12px 0;
text-align: left;
word-wrap: break-word;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
padding-left: 15px;
position: relative;
&::before {
content: '▶';
position: absolute;
left: 0;
top: 0;
color: #00d4ff;
font-size: 12px;
opacity: 0.7;
}
&:last-child {
margin-bottom: 0;
@ -1659,7 +1644,6 @@ defineExpose({
margin: 20px;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.15) 0%, rgba(0, 100, 200, 0.15) 100%);
border: 2px solid rgba(0, 212, 255, 0.4);
box-shadow: 0 8px 25px rgba(0, 212, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.text-container p {
@ -1668,15 +1652,11 @@ defineExpose({
margin-left: 0%;
padding: 20px;
border-radius: 12px;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.2) 0%, rgba(0, 150, 255, 0.1) 100%);
border: 1px solid rgba(0, 212, 255, 0.5);
border-left: 5px solid #00d4ff;
box-shadow: 0 4px 15px rgba(0, 212, 255, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
text-shadow: 0 2px 8px rgba(0, 212, 255, 0.5), 0 0 20px rgba(0, 212, 255, 0.3);
letter-spacing: 2px;
border: 1px solid rgba(0, 212, 255, 0.5);
}
.text-container p::before {
@ -2536,7 +2516,6 @@ defineExpose({
background: linear-gradient(135deg, rgba(0, 212, 255, 0.15) 0%, rgba(0, 100, 200, 0.15) 100%);
border: 2px solid rgba(0, 212, 255, 0.4);
box-shadow: 0 8px 25px rgba(0, 212, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
backdrop-filter: blur(15px);
.conclusion-item {
margin-bottom: 20px;
@ -2573,9 +2552,7 @@ defineExpose({
font-weight: bold;
margin: 0 0 15px 0;
text-align: center;
text-shadow: 0 2px 8px rgba(0, 212, 255, 0.5), 0 0 20px rgba(0, 212, 255, 0.3);
letter-spacing: 2px;
position: relative;
&::after {
content: '';
@ -2596,7 +2573,6 @@ defineExpose({
margin: 0 0 12px 0;
text-align: left;
word-wrap: break-word;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
padding-left: 15px;
position: relative;
@ -2765,7 +2741,10 @@ defineExpose({
margin-top: -3%;
}
.title1, .title2, .title3, .title4 {
.title1,
.title2,
.title3,
.title4 {
font-size: 18px;
margin-left: 0;
}

Loading…
Cancel
Save