From 1e6f9bc1fa403ba7194f52cd1082cee495f53de6 Mon Sep 17 00:00:00 2001 From: no99 <17663930442@163.com> Date: Tue, 8 Jul 2025 15:51:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E6=B2=A1=E6=9C=89=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=8D=E6=98=BE=E7=A4=BA=E5=9B=BE=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/AIchat.vue | 317 ++++++++++++++++++++++++++------------------------- 1 file changed, 163 insertions(+), 154 deletions(-) diff --git a/src/views/AIchat.vue b/src/views/AIchat.vue index 9b122bd..041c95d 100644 --- a/src/views/AIchat.vue +++ b/src/views/AIchat.vue @@ -580,8 +580,8 @@ watch( const env = import.meta.env.VITE_ENV; const result20 = await dataListAPI({ token: - '8Csj5VVX1UbIb4C3oxrnbZi0+fEeMx8pywnIlrmTm45Cb/EllzWACLto9J9+fCFsfdgBOvKvyY94FvqlvM0', - // "8nkj4QBV1RPIb4CzoRTnbZi0+fEeMx8pywnIlrmTxdwROKkuwWqAWu9orpkpeXVqL98DPfeonNYpHv+mucA", + "8Csj5VVX1UbIb4C3oxrnbZi0+fEeMx8pywnIlrmTm45Cb/EllzWACLto9J9+fCFsfdgBOvKvyY94FvqlvM0", + // "8nkj4QBV1RPIb4CzoRTnbZi0+fEeMx8pywnIlrmTxdwROKkuwWqAWu9orpkpeXVqL98DPfeonNYpHv+mucA", market: codeData.value.market, code: codeData.value.code, language: "cn", //t.value.suoxie, @@ -699,161 +699,170 @@ watch( // content: ac1, // }); // 添加六色罗盘 - const LiuSeData = JSON.parse(JSON.stringify(toRaw(HomePage))); - const sz = fnGetData(LiuSeData); - if (sz) { - hasValidData.value = true; - console.log("hasValidData设置为:", hasValidData.value); + if (HomePage) { + const LiuSeData = JSON.parse(JSON.stringify(toRaw(HomePage))); + const sz = fnGetData(LiuSeData); + if (sz) { + hasValidData.value = true; + console.log("hasValidData设置为:", hasValidData.value); + } + // 先推送K线图消息 + const klineMessageId1 = `kline-${Date.now()}`; + console.log("生成K线消息ID:", klineMessageId1); + + addTypingTask( + { + sender: "ai", + class: "content1", + type: "content1", + kline: true, + chartData: sz, + messageId: klineMessageId1, + hasValidData: true, + klineType: 1, + }, + "", + 50 + ); + // chatStore.messages.push({ + // sender: "ai", + // class: "content1", + // type: "content1", + // kline: true, + // chartData: sz, + // messageId: klineMessageId1, + // hasValidData: true, + // klineType: 1, + // }); + + // console.log("六色罗盘消息已添加到聊天列表"); + + // // 在渲染完成后初始化图表 + // nextTick(() => { + // console.log("nextTick开始 - 准备渲染图表"); + // console.log("消息列表:", chatStore.messages); + + // // 寻找最新添加的K线消息索引 + // let klineIndex = -1; + // for (let i = 0; i < chatStore.messages.length; i++) { + // if (chatStore.messages[i].messageId === klineMessageId1) { + // klineIndex = i; + // break; + // } + // } + + // console.log("找到的K线消息索引:", klineIndex); + + // if (klineIndex !== -1) { + // const containerId = `kline-container-${klineIndex}`; + // console.log("图表容器ID:", containerId); + + // // 确保DOM已经渲染完成 + // setTimeout(() => { + // console.log("延时执行,确保DOM已渲染"); + // KlineCanvsEcharts(containerId); + // }, 100); // 短暂延时确保DOM已渲染 + // } else { + // console.warn("未找到K线消息"); + // } + // }); } - // 先推送K线图消息 - const klineMessageId1 = `kline-${Date.now()}`; - console.log("生成K线消息ID:", klineMessageId1); - - addTypingTask( - { - sender: "ai", - class: "content1", - type: "content1", - kline: true, - chartData: sz, - messageId: klineMessageId1, - hasValidData: true, - klineType: 1, - }, - "", - 50 - ); - // chatStore.messages.push({ - // sender: "ai", - // class: "content1", - // type: "content1", - // kline: true, - // chartData: sz, - // messageId: klineMessageId1, - // hasValidData: true, - // klineType: 1, - // }); - - // console.log("六色罗盘消息已添加到聊天列表"); - - // // 在渲染完成后初始化图表 - // nextTick(() => { - // console.log("nextTick开始 - 准备渲染图表"); - // console.log("消息列表:", chatStore.messages); - - // // 寻找最新添加的K线消息索引 - // let klineIndex = -1; - // for (let i = 0; i < chatStore.messages.length; i++) { - // if (chatStore.messages[i].messageId === klineMessageId1) { - // klineIndex = i; - // break; - // } - // } - - // console.log("找到的K线消息索引:", klineIndex); - - // if (klineIndex !== -1) { - // const containerId = `kline-container-${klineIndex}`; - // console.log("图表容器ID:", containerId); - - // // 确保DOM已经渲染完成 - // setTimeout(() => { - // console.log("延时执行,确保DOM已渲染"); - // KlineCanvsEcharts(containerId); - // }, 100); // 短暂延时确保DOM已渲染 - // } else { - // console.warn("未找到K线消息"); - // } - // }); - // 度牛尺K线图 - const AIGoldBullData = JSON.parse( - JSON.stringify(toRaw(AIGoldBull)) - ); - const HomePageData = JSON.parse( - JSON.stringify(toRaw(HomePage)) - ); - console.log("处理 K 线数据 - 开始"); - console.log("AIGoldBullData", AIGoldBullData); - console.log("HomePageData", HomePageData); - - const Kline20 = { - name: HomePageData.StockInformation.Name, - Kline: AIGoldBullData, - }; - - // 打印K线数据结构 - console.log("K线数据结构:", Kline20); - console.log("K线数据名称:", Kline20.name); - console.log("K线数据:", Kline20.Kline ? Kline20.Kline : null); - - // 设置数据有效标志 - hasValidData.value = true; - console.log("hasValidData设置为:", hasValidData.value); - - // chatStore.messages.pop(); - - // 先推送K线图消息 - const klineMessageId2 = `kline-${Date.now() + 1}`; - console.log("生成K线消息ID:", klineMessageId2); - - // chatStore.messages.push({ - // sender: "ai", - // class: "content2", - // type: "content2", - // kline: true, - // chartData: Kline20, - // messageId: klineMessageId2, - // hasValidData: true, // 添加hasValidData标志 - // klineType: 2, - // }); - - addTypingTask( - { - sender: "ai", - class: "content2", - type: "content2", - kline: true, - chartData: Kline20, - messageId: klineMessageId2, - hasValidData: true, // 添加hasValidData标志 - klineType: 2, - }, - "", - 50 - ); - - // console.log("K线消息已添加到聊天列表"); - - // // 在渲染完成后初始化图表 - // nextTick(() => { - // console.log("nextTick开始 - 准备渲染图表"); - // console.log("消息列表:", chatStore.messages); - - // // 寻找最新添加的K线消息索引 - // let klineIndex = -1; - // for (let i = 0; i < chatStore.messages.length; i++) { - // if (chatStore.messages[i].messageId === klineMessageId2) { - // klineIndex = i; - // break; - // } - // } - - // console.log("找到的K线消息索引:", klineIndex); - - // if (klineIndex !== -1) { - // const containerId = `kline-container-${klineIndex}`; - // console.log("图表容器ID:", containerId); + if ( + AIGoldBull.DNC && + AIGoldBull.FCX && + AIGoldBull.JN && + AIGoldBull.KLine20 && + AIGoldBull.QSXH + ) { + const AIGoldBullData = JSON.parse( + JSON.stringify(toRaw(AIGoldBull)) + ); + const HomePageData = JSON.parse( + JSON.stringify(toRaw(HomePage)) + ); + console.log("处理 K 线数据 - 开始"); + console.log("AIGoldBullData", AIGoldBullData); + console.log("HomePageData", HomePageData); + + const Kline20 = { + name: HomePageData.StockInformation.Name, + Kline: AIGoldBullData, + }; + + // 打印K线数据结构 + console.log("K线数据结构:", Kline20); + console.log("K线数据名称:", Kline20.name); + console.log("K线数据:", Kline20.Kline ? Kline20.Kline : null); + + // 设置数据有效标志 + hasValidData.value = true; + console.log("hasValidData设置为:", hasValidData.value); - // // 确保DOM已经渲染完成 - // setTimeout(() => { - // console.log("延时执行,确保DOM已渲染"); - // KlineCanvsEcharts(containerId); - // }, 100); // 短暂延时确保DOM已渲染 - // } else { - // console.warn("未找到K线消息"); - // } - // }); + // chatStore.messages.pop(); + + // 先推送K线图消息 + const klineMessageId2 = `kline-${Date.now() + 1}`; + console.log("生成K线消息ID:", klineMessageId2); + + // chatStore.messages.push({ + // sender: "ai", + // class: "content2", + // type: "content2", + // kline: true, + // chartData: Kline20, + // messageId: klineMessageId2, + // hasValidData: true, // 添加hasValidData标志 + // klineType: 2, + // }); + + addTypingTask( + { + sender: "ai", + class: "content2", + type: "content2", + kline: true, + chartData: Kline20, + messageId: klineMessageId2, + hasValidData: true, // 添加hasValidData标志 + klineType: 2, + }, + "", + 50 + ); + + // console.log("K线消息已添加到聊天列表"); + + // // 在渲染完成后初始化图表 + // nextTick(() => { + // console.log("nextTick开始 - 准备渲染图表"); + // console.log("消息列表:", chatStore.messages); + + // // 寻找最新添加的K线消息索引 + // let klineIndex = -1; + // for (let i = 0; i < chatStore.messages.length; i++) { + // if (chatStore.messages[i].messageId === klineMessageId2) { + // klineIndex = i; + // break; + // } + // } + + // console.log("找到的K线消息索引:", klineIndex); + + // if (klineIndex !== -1) { + // const containerId = `kline-container-${klineIndex}`; + // console.log("图表容器ID:", containerId); + + // // 确保DOM已经渲染完成 + // setTimeout(() => { + // console.log("延时执行,确保DOM已渲染"); + // KlineCanvsEcharts(containerId); + // }, 100); // 短暂延时确保DOM已渲染 + // } else { + // console.warn("未找到K线消息"); + // } + // }); + } } }