+
@@ -30,7 +34,7 @@
- {{ stockName }}
+ {{ stockName }}{{ stockName ? '量子四维矩阵图' : '' }}
{{ displayDate }}
@@ -135,7 +139,17 @@ const userInput = ref('');
const messages = ref([]);
const displayDate = ref(''); // 用于存储显示的日期
const isPageLoaded = ref(false); // 控制页面是否显示
+const isRotating = ref(false);//控制旋转
+const userInputDisplayRef = ref(null);//消息区域的引用
+// 触发图片旋转的方法
+function startImageRotation() {
+ isRotating.value = true;
+ // 如果你想在一段时间后停止旋转,可以添加以下代码
+ setTimeout(() => {
+ isRotating.value = false;
+ }, 5000); // 5 秒后停止旋转
+}
// 更新 span01 中股票名字的方法
function updateSpan01() {
nextTick(() => {
@@ -147,7 +161,7 @@ function updateSpan01() {
}
-// 请求工作流接口
+// 发送消息方法
async function sendMessage() {
console.log('发送内容:', userInput.value);
@@ -163,6 +177,16 @@ async function sendMessage() {
text: '数据加载中,请稍候...'
});
+ // 滚动到最新消息
+ nextTick(() => {
+ if (userInputDisplayRef.value) {
+ userInputDisplayRef.value.scrollTop = userInputDisplayRef.value.scrollHeight;
+ }
+ });
+
+ // 触发图片旋转
+ isRotating.value = true;
+
try {
// 调用工作流接口
const params = {
@@ -212,13 +236,22 @@ async function sendMessage() {
sender: 'ai',
text: '工作流接口请求失败,请稍后再试。',
});
+ } finally {
+ // 停止图片旋转
+ isRotating.value = false;
}
} else {
- console.warn('用户输入内容为空,无法发送请求');
messages.value.push({
sender: 'ai',
text: '请输入内容后再发送。',
});
+
+ // 滚动到最新消息
+ nextTick(() => {
+ if (userInputDisplayRef.value) {
+ userInputDisplayRef.value.scrollTop = userInputDisplayRef.value.scrollHeight;
+ }
+ });
}
}
@@ -245,19 +278,24 @@ async function fetchData(code, market) {
);
const stockDataResponse = stockDataResult.data; // 获取返回的数据
- console.log('图表数据接口返回数据:', stockDataResponse);
+ console.log('图表数据接口返回数据:', stockDataResponse.data);
- if (stockDataResponse.data) {
+ if (stockDataResponse.code === 200 && stockDataResponse.data) {
messages.value.push({
sender: 'ai',
- text: `股票数据已成功获取: ${JSON.stringify(stockDataResponse.data)}`,
+ text: `股票数据已成功获取`,
+ });
+
+ // 滚动到最新消息
+ nextTick(() => {
+ if (userInputDisplayRef.value) {
+ userInputDisplayRef.value.scrollTop = userInputDisplayRef.value.scrollHeight;
+ }
});
console.log('1111111111111111111111')
// 调用渲染图表的方法
renderCharts(stockDataResponse.data);
console.log('2222222222222222222222')
-
-
// 设置当天日期
const today = new Date();
const year = today.getFullYear();
@@ -268,14 +306,18 @@ async function fetchData(code, market) {
// 数据和图表加载完成,显示页面
isPageLoaded.value = true;
} else {
- console.error('图表数据接口返回数据不完整');
messages.value.push({
sender: 'ai',
text: '图表数据接口返回数据不完整,请稍后再试。',
});
+ // 滚动到最新消息
+ nextTick(() => {
+ if (userInputDisplayRef.value) {
+ userInputDisplayRef.value.scrollTop = userInputDisplayRef.value.scrollHeight;
+ }
+ });
}
} catch (error) {
- console.error('请求图表数据接口失败:', error);
messages.value.push({
sender: 'ai',
text: '图表数据接口请求失败,请稍后再试。',
@@ -284,78 +326,81 @@ async function fetchData(code, market) {
}
// 渲染组件图表的方法
-// function renderCharts(data) {
-// nextTick(() => {
-// // 渲染股市温度计图表
-// if (marketTemperatureRef.value && data.GSWDJ) {
-// console.log('开始渲染股市温度计图表');
-// console.log('股市温度计数据', data.GSWDJ)
-// marketTemperatureRef.value.initChart(data.GSWDJ, data.KLine20, data.WDRL);
-// console.log('股市温度计图表已渲染');
-// }
-// // 渲染情绪解码器图表
-// if (emotionDecodRef.value && data.QXJMQ) {
-// console.log('开始渲染情绪解码器图表');
-// console.log('情绪解码器数据', data.QXJMQ)
-// emotionDecodRef.value.initQXNLZHEcharts(data.KLine20, data.QXJMQ);
-// console.log('情绪解码器图表已渲染');
-// }
-// // 渲染情绪探底雷达图表
-// if (emotionalBottomRadarRef.value && data.QXTDLD) {
-// console.log('开始渲染情绪探底雷达图表');
-// console.log('数据', data.QXTDLD)
-// emotionalBottomRadarRef.value.initEmotionalBottomRadar(data.KLine20, data.QXTDLD);
-// console.log('情绪探底雷达图表已渲染');
-// }
-// // 渲染情绪能量转化器图表
-// if (emoEnergyConverterRef.value && data.QXNLZHQ) {
-// console.log('开始渲染情绪能量转化器图表');
-// console.log('KLine20:', data.KLine20);
-// console.log('QXNLZHQ:', data.QXNLZHQ);
-// emoEnergyConverterRef.value.initQXNLZHEcharts(data.KLine20, data.QXNLZHQ);
-// console.log('情绪能量转化器图表已渲染');
-// }
-
-// });
-// }
function renderCharts(data) {
- return new Promise((resolve) => {
- nextTick(() => {
- // 渲染股市温度计图表
- if (marketTemperatureRef.value && data.GSWDJ) {
- console.log('开始渲染股市温度计图表');
- console.log('股市温度计数据', data.GSWDJ)
- marketTemperatureRef.value.initChart(data.GSWDJ, data.KLine20, data.WDRL);
- console.log('股市温度计图表已渲染');
- }
- // 渲染情绪解码器图表
- if (emotionDecodRef.value && data.QXJMQ) {
- console.log('开始渲染情绪解码器图表');
- console.log('情绪解码器数据', data.QXJMQ)
- emotionDecodRef.value.initQXNLZHEcharts(data.KLine20, data.QXJMQ);
- console.log('情绪解码器图表已渲染');
- }
- // 渲染情绪探底雷达图表
- if (emotionalBottomRadarRef.value && data.QXTDLD) {
- console.log('开始渲染情绪探底雷达图表');
- console.log('数据', data.QXTDLD)
- emotionalBottomRadarRef.value.initEmotionalBottomRadar(data.KLine20, data.QXTDLD);
- console.log('情绪探底雷达图表已渲染');
- }
- // 渲染情绪能量转化器图表
- if (emoEnergyConverterRef.value && data.QXNLZHQ) {
- console.log('开始渲染情绪能量转化器图表');
- console.log('KLine20:', data.KLine20);
- console.log('QXNLZHQ:', data.QXNLZHQ);
- emoEnergyConverterRef.value.initQXNLZHEcharts(data.KLine20, data.QXNLZHQ);
- console.log('情绪能量转化器图表已渲染');
- }
- // 图表渲染完成,resolve 承诺
- resolve();
- });
+ nextTick(() => {
+ // 渲染股市温度计图表
+ if (marketTemperatureRef.value && data.GSWDJ) {
+ console.log('开始渲染股市温度计图表');
+ console.log('股市温度计数据', data.GSWDJ)
+ marketTemperatureRef.value.initChart(data.GSWDJ, data.KLine20, data.WDRL);
+ console.log('股市温度计图表已渲染');
+ }
+ // 渲染情绪解码器图表
+ if (emotionDecodRef.value && data.QXJMQ) {
+ console.log('开始渲染情绪解码器图表');
+ console.log('情绪解码器数据', data.QXJMQ)
+ emotionDecodRef.value.initQXNLZHEcharts(data.KLine20, data.QXJMQ);
+ console.log('情绪解码器图表已渲染');
+ }
+ // 渲染情绪探底雷达图表
+ if (emotionalBottomRadarRef.value && data.QXTDLD) {
+ console.log('开始渲染情绪探底雷达图表');
+ console.log('数据', data.QXTDLD)
+ emotionalBottomRadarRef.value.initEmotionalBottomRadar(data.KLine20, data.QXTDLD);
+ console.log('情绪探底雷达图表已渲染');
+ }
+ // 渲染情绪能量转化器图表
+ if (emoEnergyConverterRef.value && data.QXNLZHQ) {
+ console.log('开始渲染情绪能量转化器图表');
+ console.log('KLine20:', data.KLine20);
+ console.log('QXNLZHQ:', data.QXNLZHQ);
+ emoEnergyConverterRef.value.initQXNLZHEcharts(data.KLine20, data.QXNLZHQ);
+ console.log('情绪能量转化器图表已渲染');
+ }
+
});
}
-
+// function renderCharts(data) {
+// return new Promise((resolve) => {
+// nextTick(() => {
+// // 渲染股市温度计图表
+// if (marketTemperatureRef.value && data.GSWDJ) {
+// console.log('开始渲染股市温度计图表');
+// console.log('股市温度计数据', data.GSWDJ)
+// marketTemperatureRef.value.initChart(data.GSWDJ, data.KLine20, data.WDRL);
+// console.log('股市温度计图表已渲染');
+// }
+// // 渲染情绪解码器图表
+// if (emotionDecodRef.value && data.QXJMQ) {
+// console.log('开始渲染情绪解码器图表');
+// console.log('情绪解码器数据', data.QXJMQ)
+// emotionDecodRef.value.initQXNLZHEcharts(data.KLine20, data.QXJMQ);
+// console.log('情绪解码器图表已渲染');
+// }
+// // 渲染情绪探底雷达图表
+// if (emotionalBottomRadarRef.value && data.QXTDLD) {
+// console.log('开始渲染情绪探底雷达图表');
+// console.log('数据', data.QXTDLD)
+// emotionalBottomRadarRef.value.initEmotionalBottomRadar(data.KLine20, data.QXTDLD);
+// console.log('情绪探底雷达图表已渲染');
+// }
+// // 渲染情绪能量转化器图表
+// if (emoEnergyConverterRef.value && data.QXNLZHQ) {
+// console.log('开始渲染情绪能量转化器图表');
+// console.log('KLine20:', data.KLine20);
+// console.log('QXNLZHQ:', data.QXNLZHQ);
+// emoEnergyConverterRef.value.initQXNLZHEcharts(data.KLine20, data.QXNLZHQ);
+// console.log('情绪能量转化器图表已渲染');
+// }
+// // 图表渲染完成,resolve 承诺
+// resolve();
+// });
+// });
+// }
+// 页面挂载完成后触发图片旋转
+onMounted(() => {
+ startImageRotation();
+});
@@ -578,9 +623,9 @@ function renderCharts(data) {
}
.span02 {
- margin-left: 500px;
font-size: 1.5rem;
color: white;
+ float: right;
}
.span01 {