尊敬的用户,目前您的token余额为0,系统将无法处理您的搜索请求,您可以补充token后再进行搜索。token兑换的入口在右上角“获取token次数”,点击即可操作哦~
');const l={class:"ing",type:"ing",flag:h,content:n};t.messages.push(l),t.isLoading=!1,t.chatInput=!1,t.firstAPICall=!1,console.log("历史记录可以点击"),W("enableInput")}}catch(p){if(m){const e=t.messages.indexOf(m);e>-1&&t.messages.splice(e,1)}console.log(p,"意图识别失败"),t.messages.push({class:"ing",type:"ing",flag:!1,content:"系统正在为您努力加载中,请稍后再试"}),t.isLoading=!1,t.chatInput=!1,t.firstAPICall=!1,console.log("历史记录可以点击"),W("enableInput")}if(h){const e={language:"cn",token:localStorage.getItem("localToken"),parentId:v.value.parentId,stockId:v.value.stockId,recordId:v.value.recordId};try{const n="development",o=await i({token:"development"==n||"test"==n?"8Csj5VVX1UbIb4C3oxrnbZi0+fEeMx8pywnIlrmTm45Cb/EllzWACLto9J9+fCFsfdgBOvKvyY94FvqlvM0":"8nkj4QBV1RPIb4CzoRTnbZi0+fEeMx8pywnIlrmTxdwROKkuwWqAWu9orpkpeXVqL98DPfeonNYpHv+mucA",market:v.value.market,code:v.value.code,language:"cn",brainPrivilegeState:1,swordPrivilegeState:1,stockForecastPrivilegeState:1,spaceForecastPrivilegeState:1,aibullPrivilegeState:1,aigoldBullPrivilegeState:1,airadarPrivilegeState:1,marketList:"usa,sg,my,hk,cn,can,vi,th,in,gb"}),l=(null==(r=o.data)?void 0:r.HomePage)||null,p=(null==(a=o.data)?void 0:a.AIGoldBull)||null,h=!!l,m=!!(p&&p.DNC&&p.FCX&&p.JN&&p.KLine20&&p.QSXH),y=/\$\$(.*?)\$\$/g;let w,b,_,k;K={one:{completed:!1,result:null,error:null,isError:!1,isEnd:!1},two:{completed:!1,result:null,error:null,isError:!1,isEnd:!1},three:{completed:!1,result:null,error:null,isError:!1,isEnd:!1},four:{completed:!1,result:null,error:null,isError:!1,isEnd:!1}};C.togglePlayPause;const I=(e,n)=>e&&C.isVoiceEnabled?(j[n].url=e,console.log(`设置音频${n}的URL:`,e),new Promise((t=>{new Q.Howl({src:[e],html5:!0,format:["mp3","acc"],rate:1.2,preload:!0,onload:()=>{console.log(`音频${n}预加载完成:`,e),j[n].loaded=!0,t()},onloaderror:(e,o)=>{console.error(`音频${n}预加载失败:`,o),j[n].loaded=!0,t()}})}))):(j[n].loaded=!0,Promise.resolve()),x=()=>K.one.completed&&j.one.loaded,A=()=>{if(x()&&!K.one.executed)if(K.one.result){K.one.executed=!0,console.log("执行OneAPI代码(文本和音频同步开始):",K.one.result),j.one.url&&(t.messages[t.inputUserIndex].audioArray.push(j.one.url),t.currentUserIndex==t.inputUserIndex?(t.messages[t.inputUserIndex].audioStatus=!0,R(j.one.url,"API1-第一个")):t.messages[t.inputUserIndex].audioStatus=!1,console.log("音频队列:添加API1音频,当前队列长度:",P.value.length)),t.messages.pop(),q({sender:"ai",class:"title1",type:"title1",content:v.value.name+"全景作战报告",date:w.data.date},"",50),t.firstAPICall=!1,console.log("历史记录可以点击");const e=Z(w.data.name+"\n"+w.data.price+"\n"+w.data.date).replace(y,((e,n)=>{try{return ie.renderToString(n,{throwOnError:!1})}catch(t){return console.error("KaTeX 渲染错误:",t),e}})),n=s({sender:"ai",class:"content1",type:"content1",content:"",isTyping:!0});if(q(n,["",e],130),l){const e=JSON.parse(JSON.stringify(u(l))),n=V(e);n&&(Y.value=!0,console.log("hasValidData设置为:",Y.value));const t=`kline-${Date.now()}`;console.log("生成K线消息ID:",t),q({sender:"ai",class:"content1",type:"content1",kline:!0,chartData:n,messageId:t,hasValidData:!0,klineType:1},"",50)}if(p&&p.DNC&&p.FCX&&p.JN&&p.KLine20&&p.QSXH){const e=JSON.parse(JSON.stringify(u(p))),n=JSON.parse(JSON.stringify(u(l)));console.log("处理 K 线数据 - 开始"),console.log("AIGoldBullData",e),console.log("HomePageData",n);const t={name:n.StockInformation.Name,Kline:e};console.log("K线数据结构:",t),console.log("K线数据名称:",t.name),console.log("K线数据:",t.Kline?t.Kline:null),Y.value=!0,console.log("hasValidData设置为:",Y.value);const o=`kline-${Date.now()+1}`;console.log("生成K线消息ID:",o),q({sender:"ai",class:"content2",type:"content2",kline:!0,chartData:t,messageId:o,hasValidData:!0,klineType:2,error:K.two.error?"2":"",isEnd:"1"},"",50)}}else t.messages.push({class:"ing",type:"ing",flag:!1,content:"系统正在为您努力加载中,请稍后再试"}),t.isLoading=!1,t.chatInput=!1,W("enableInput");if(K.one.executed&&K.two.completed&&!K.two.executed)if(K.two.result){K.two.executed=!0,console.log("执行TwoAPI代码:",K.two.result),j.two.url&&(t.messages[t.inputUserIndex].audioArray.push(j.two.url),t.currentUserIndex==t.inputUserIndex?R(j.two.url,"API2-第二个"):t.messages[t.inputUserIndex].audioStatus=!1,console.log("音频队列:添加API2音频,当前队列长度:",P.value.length)),q({sender:"ai",class:"title2",type:"title2",content:""},"",50);const e=Z(b.data.hxjzpg);console.log(e,"pc2");const n=e.replace(y,((e,n)=>{try{return ie.renderToString(n,{throwOnError:!1})}catch(t){return console.error("KaTeX 渲染错误:",t),e}})),o=s({sender:"ai",class:"content3",type:"content3",content:"",isTyping:!0,error:K.three.error?"3":"",isEnd:"2"});q(o,["",n],130)}else console.log("1111111111111111111"),K.one.isEnd&&K.two.error&&!K.two.isError&&(K.two.isError=!0,t.messages.push({class:"ing",type:"ing",flag:!1,content:"系统正在为您努力加载中,请稍后再试"}),t.isLoading=!1,t.chatInput=!1,W("enableInput"));if(K.two.executed&&K.three.completed&&!K.three.executed)if(K.three.result){K.three.executed=!0,console.log("执行ThreeAPI代码:",K.three.result),j.three.url&&(t.messages[t.inputUserIndex].audioArray.push(j.three.url),t.currentUserIndex==t.inputUserIndex?R(j.three.url,"API3-第三个"):t.messages[t.inputUserIndex].audioStatus=!1,console.log("音频队列:添加API3音频,当前队列长度:",P.value.length)),q({sender:"ai",class:"title3",type:"title3",content:ye},"",50);const e='【主力行为】
',n=`${_.data.zhuli1}
${_.data.zhuli2}
${_.data.zhuli3}
`,o=(_.data.zhuli1,_.data.zhuli2,_.data.zhuli3,s({sender:"ai",class:"content3",type:"content3",content:"",isTyping:!0}));q(o,[e,n],200),q({sender:"ai",class:"title3",type:"title3",content:we},"",50);const r=_.data.kongjian.split(","),a=(r[0],r[1],r[2],r[3],_.data.shijian,_.data.nengliang,'【空间维度】
'),l=`${r[0]},${r[1]}`,i='
',u=`${r[2]},${r[3]}
`,c='【时间维度】
',d=`${_.data.shijian}
`,f='【能量维度】
',g=`${_.data.nengliang}
`,p=s({sender:"ai",class:"content3",type:"content3",content:"",isTyping:!0,error:K.four.error?"4":"",isEnd:"3"});q(p,[a,l,i,u,c,d,f,g],200)}else K.two.isEnd&&K.three.error&&!K.three.isError&&(K.three.isError=!0,t.messages.push({class:"ing",type:"ing",flag:!1,content:"系统正在为您努力加载中,请稍后再试"}),t.isLoading=!1,t.chatInput=!1,W("enableInput"));if(K.three.executed&&K.four.completed&&!K.four.executed)if(K.four.result){K.four.executed=!0,console.log("执行FourAPI代码:",K.four.result),j.four.url&&(t.messages[t.inputUserIndex].audioArray.push(j.four.url),t.currentUserIndex==t.inputUserIndex?R(j.four.url,"API4-第四个"):t.messages[t.inputUserIndex].audioStatus=!1,console.log("音频队列:添加API4音频,当前队列长度:",P.value.length)),q({sender:"ai",class:"title3",type:"title3",content:be},"",50);k.data.cftl,k.data.gfzl;const e='【触发条件】
',n=`${k.data.cftl}
`,o='【攻防指令】
',r=`${k.data.gfzl}
`,a=s({sender:"ai",class:"content3",type:"content3",content:"",isTyping:!0});q(a,[e,n,o,r],240);const l="该内容由AI生成,请注意甄别",i=s({sender:"ai",class:"mianze",type:"mianze",content:"",isTyping:!0,end:!0});q(i,["",l],210)}else K.three.isEnd&&K.four.error&&!K.four.isError&&(K.four.isError=!0,t.messages.push({class:"ing",type:"ing",flag:!1,content:"系统正在为您努力加载中,请稍后再试"}),t.isLoading=!1,t.chatInput=!1,W("enableInput"));if(K.one.completed&&K.two.completed&&K.three.completed&&K.four.completed&&K.four.executed){console.log("所有API已完成,开始收集预加载的音频URL");const e=[];console.log("预加载音频状态检查:"),console.log("audioPreloadStatus:",j),j.one.url&&(console.log("添加预加载音频URL one:",j.one.url),e.push(j.one.url)),j.two.url&&(console.log("添加预加载音频URL two:",j.two.url),e.push(j.two.url)),j.three.url&&(console.log("添加预加载音频URL three:",j.three.url),e.push(j.three.url)),j.four.url&&(console.log("添加预加载音频URL four:",j.four.url),e.push(j.four.url)),console.log("收集到的预加载音频URLs:",e),console.log("语音是否启用:",C.isVoiceEnabled),console.log("所有接口执行完成,音频已在各接口中单独播放")}},S=async()=>{var n;try{if(w=await c(e),400==w.code)throw new Error("API返回错误码400,请求失败");console.log("OneAPI成功返回:",w),K.one.completed=!0,K.one.result=w,(null==(n=null==w?void 0:w.data)?void 0:n.url)?await I(w.data.url.trim(),"one"):j.one.loaded=!0,A()}catch(t){console.error("OneAPI失败:",t),K.one.completed=!0,K.one.error=t,j.one.loaded=!0,A()}},T=async()=>{var n;try{if(b=await d(e),400==b.code)throw new Error("API返回错误码400,请求失败");console.log("TwoAPI成功返回:",b),K.two.completed=!0,K.two.result=b,(null==(n=null==b?void 0:b.data)?void 0:n.url)?await I(b.data.url.trim(),"two"):j.two.loaded=!0,A()}catch(t){console.error("TwoAPI失败:",t),K.two.completed=!0,K.two.error=t,j.two.loaded=!0,A()}},E=async()=>{var n;try{if(_=await f(e),400==_.code)throw new Error("API返回错误码400,请求失败");console.log("ThreeAPI成功返回:",_),K.three.completed=!0,K.three.result=_,(null==(n=null==_?void 0:_.data)?void 0:n.url)?await I(_.data.url.trim(),"three"):j.three.loaded=!0,A()}catch(t){console.error("ThreeAPI失败:",t),K.three.completed=!0,K.three.error=t,j.three.loaded=!0,A()}},z=async()=>{var n;try{if(k=await g(e),400==k.code)throw new Error("API返回错误码400,请求失败");console.log("FourAPI成功返回:",k),K.four.completed=!0,K.four.result=k,(null==(n=null==k?void 0:k.data)?void 0:n.url)?await I(k.data.url.trim(),"four"):j.four.loaded=!0,A()}catch(t){console.error("FourAPI失败:",t),K.four.completed=!0,K.four.error=t,j.four.loaded=!0,A()}};h&&m?(S(),T(),E(),z()):(t.messages.pop(),t.messages.push({class:"ing",type:"ing",flag:!1,content:"数据缺失,请稍后重试"}),t.isLoading=!1,t.chatInput=!1,t.firstAPICall=!1,W("enableInput"))}catch(p){console.error("请求失败:",p),t.firstAPICall=!1,Y.value=!1}finally{await t.getUserCount()}}}}),{deep:!1}),a((()=>t.dbqbClickRecord),((e,n)=>{if(console.log("new",e),!e||0===Object.keys(e).length)return;const r=o(e);console.log("dbqbClickRecord 发生变化:",r.value);try{t.currentUserIndex=null,C.stop(),P.value=[],z.value=!1,D=0,L=!1,j.one={loaded:!1,url:null},j.two={loaded:!1,url:null},j.three={loaded:!1,url:null},j.four={loaded:!1,url:null},C.soundInstance&&(C.soundInstance.stop(),C.soundInstance.unload(),C.soundInstance=null),C.nowSound=null,K.one={completed:!1,result:null,error:null,isError:!1,isEnd:!1},K.two={completed:!1,result:null,error:null,isError:!1,isEnd:!1},K.three={completed:!1,result:null,error:null,isError:!1,isEnd:!1},K.four={completed:!1,result:null,error:null,isError:!1,isEnd:!1},Y.value=!1,H.value=[],N.value=!1,t.isLoading=!1,t.chatInput=!1,W("enableInput"),setTimeout((()=>{t.dbqbClickRecord={},console.log("dbqbClickRecord 已清空")}),0)}catch(a){console.error("停止任务时发生错误:",a)}if(r.value.wokeFlowData.One&&r.value.wokeFlowData.Two&&r.value.wokeFlowData.Three&&r.value.wokeFlowData.Four)try{t.messages=[],t.messages.push({sender:"user",timestamp:r.value.createdTime,content:r.value.keyword,audioArray:[r.value.wokeFlowData.One.url,r.value.wokeFlowData.Two.url,r.value.wokeFlowData.Three.url,r.value.wokeFlowData.Four.url],audioStatus:!1}),t.messages.push({sender:"ai",class:"title1",type:"title1",content:r.value.stockName+"全景作战报告",date:r.value.wokeFlowData.One.date});const e=Z(r.value.wokeFlowData.One.name+"\n"+r.value.wokeFlowData.One.price+"\n"+r.value.wokeFlowData.One.date);t.messages.push({sender:"ai",class:"content1",type:"content1",content:e});const n=r.value.stockData.HomePage;if(n){const e=JSON.parse(JSON.stringify(u(n))),o=V(e);o&&(Y.value=!0,console.log("hasValidData设置为:",Y.value));const r=`kline-${Date.now()}`;console.log("生成K线消息ID:",r),t.messages.push({sender:"ai",class:"content1",type:"content1",kline:!0,chartData:o,messageId:r,hasValidData:!0,klineType:1}),p((()=>{console.log("nextTick开始 - 准备渲染图表"),console.log("消息列表:",t.messages);let e=-1;for(let n=0;n【主力行为】
${r.value.wokeFlowData.Three.zhuli1}
${r.value.wokeFlowData.Three.zhuli2}
${r.value.wokeFlowData.Three.zhuli3}
`;t.messages.push({sender:"ai",class:"content3",type:"content3",content:l,isTyping:!0}),t.messages.push({sender:"ai",class:"title3",type:"title3",content:we});const i=r.value.wokeFlowData.Three.kongjian.split(","),s=`【空间维度】
${i[0]},${i[1]}
${i[2]},${i[3]}
`,c=`【时间维度】
${r.value.wokeFlowData.Three.shijian}
`,d=s+c+`【能量维度】
${r.value.wokeFlowData.Three.nengliang}
`;t.messages.push({sender:"ai",class:"content3",type:"content3",content:d}),t.messages.push({sender:"ai",class:"title3",type:"title3",content:be});const f=`【触发条件】
${r.value.wokeFlowData.Four.cftl}
`,g=f+`【攻防指令】
${r.value.wokeFlowData.Four.gfzl}
`;t.messages.push({sender:"ai",class:"content3",type:"content3",content:g}),t.messages.push({sender:"ai",class:"mianze",type:"mianze",content:"该内容由AI生成,请注意甄别",end:!0})}catch(l){h.error("历史数据获取出错!"),console.error("e",l)}}),{deep:!0,immediate:!0}),a((()=>C.isVoiceEnabled),(e=>{if(e!==C.lastVoiceState)if(C.lastVoiceState=e,e){console.log("开启语音播放");(()=>{var e;C.ttsUrl&&((null==(e=C.soundInstance)?void 0:e.playing())||((e=>{if(!e)return console.warn("音频URL为空,跳过播放"),void(C.isPlaying=!1);(()=>{if(C.isNewInstance){const n=new Q.Howl({src:[e],html5:!0,format:["mp3","acc"],rate:1.2,onplay:()=>{C.isPlaying=!0,n.volume(1)},onend:()=>C.isPlaying=!1,onstop:()=>C.isPlaying=!1,onloaderror:(e,n)=>{console.error("音频加载失败:",n),h.error("音频播放失败,请检查网络连接")}});C.nowSound&&C.nowSound.stop(),C.nowSound=n,C.isNewInstance=!1,console.log("新音频")}else console.log("已经有音频");const n=C.nowSound;n.play(),C.setAudioInstance(n),Q.Howler._howls.push(n)})()})(C.ttsUrl),setTimeout((()=>{var e;(null==(e=C.soundInstance)?void 0:e.playing())||Q.Howler.unload()}),1e3)))})()}else console.log("关闭语音播放"),C.soundInstance&&(C.soundInstance.pause(),C.isPlaying=!1)}),{immediate:!0}),a((()=>E.activeTabIndex),(e=>{setTimeout((()=>{console.log("activeTabIndex变化:",e),0===e&&(console.log("切换到AI聊天页,重新渲染图表"),fe())}),1e3)}),{immediate:!0});const de=()=>{t.dbqbScrollToTop=!t.dbqbScrollToTop};function fe(){console.log("重新渲染所有K线图");const e=t.messages;for(let n=0;n