(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-36afbef8"],{"2d9d":function(e,t,s){},"5cb5":function(e,t,s){"use strict";s.r(t);var n,a=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"chat-container"},[s("div",{staticClass:"content"},[s("div",{staticClass:"messages"},[s("ul",e._l(e.messages,(function(t){return s("li",{key:t.id,class:[t.user,"user"===t.user?"user-message":""]},[s("div",{staticClass:"message_name"},[s("div",{staticClass:"avatar",class:{"user-avatar":"user"===t.user,"bot-avatar":"bot"===t.user}}),s("div",{staticClass:"name"},["user"===t.user?s("span",{staticClass:"sender-name",staticStyle:{color:"#666666"}},[e._v("你")]):e._e(),"bot"===t.user?s("span",{staticClass:"sender-name"},[e._v("轻良AI助理")]):e._e()])]),s("div",{staticClass:"message-content"},[s("div",{staticClass:"message-text",domProps:{innerHTML:e._s(e.renderMarkdown(t.message))},on:{click:e.handleLinkClick}})])])})),0)]),s("div",{staticClass:"input-container"},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:e.userInput,expression:"userInput"}],attrs:{rows:"4",placeholder:"发送消息..."},domProps:{value:e.userInput},on:{keydown:e.handleKeydown,input:function(t){t.target.composing||(e.userInput=t.target.value)}}}),s("button",{staticClass:"btn",on:{click:e.sendMessage}},[e._v("发送")])])]),s("LoginModal",{attrs:{visible:e.showLoginModal},on:{"update:visible":function(t){e.showLoginModal=t},close:function(t){e.showLoginModal=!1},"login-success":e.handleLoginSuccess}})],1)},r=[],o=s("ade3"),i=s("c7eb"),c=s("1da1"),l=(s("99af"),s("fb6a"),s("b0c0"),s("e9c4"),s("b64b"),s("d3b7"),s("ac1f"),s("25f0"),s("5319"),s("498a"),s("159b"),s("c3b3")),u=s("ecd9"),d=s("d4cd"),h=s.n(d),g=s("4ec3"),m=s("db6a"),f=s("bc3a"),p=s.n(f),b=(new h.a,{components:{ChatBox:l["default"],LoginModal:u["default"]},data:function(){return{showLoginModal:!1,isThinking:!1,thinkingDots:"",messages:[{user:"bot",messageType:"TEXT",message:"欢迎使用智能AI助理",html:"",time:"",done:!0}],generating:!1,userInput:"",websocket:null,wsUrl:"http://58.246.234.210:7860/api/v1/run/3ef7369e-b617-40d2-9e2e-54f3ee76ed2e?stream=false",tweaks:{},isLoggedIn:!1,idArray:[],minioUrls:[],AImodel:"1",AIknowledgeBase:"1",AIFile:"1",AIform:{modelLibrary:"ollama",modelType:"",modelName:"",knowledgeBase:"",documentDirectory:"",document:""},currentChat_id:"",phone:""}},mounted:function(){var e=this;if(this.checkAIData(),"ai"==this.$route.name){var t=localStorage.getItem("AIData");if(!t)return void(this.showLoginModal=!0);try{var s=JSON.parse(t);s&&s.data?(console.log(s),this.wsUrl=s.data.url||"",this.phone=s.data.phone||"",this.tweaks=s.data.tweaks||{}):(console.error("Invalid AIData structure"),this.showLoginModal=!0)}catch(n){console.error("Error parsing AIData:",n),this.showLoginModal=!0}}else Object(g["c"])().then((function(t){200===t.status&&(e.wsUrl=t.data.url,e.tweaks=t.data.tweaks)}));this.init()},methods:(n={checkAIData:function(){var e=localStorage.getItem("AIData");this.showLoginModal=!e},handleLoginSuccess:function(){this.showLoginModal=!1},selectChat:function(e){this.currentChatIndex=e},newChat:function(){this.chatHistory.push({title:"聊天 ".concat(this.chatHistory.length+1),preview:"新的聊天..."}),this.currentChatIndex=this.chatHistory.length-1,this.messages=[]},handleLinkClick:function(e){if("a"===e.target.tagName.toLowerCase()){e.preventDefault();var t=e.target.textContent.trim(),s=t.lastIndexOf("."),n=s>-1?t.slice(0,s):t,a=s>-1?t.slice(s+1):"",r=encodeURIComponent(n),o=encodeURIComponent(a),i="#/preview?fileName=".concat(r,"&fileExtension=").concat(o);try{localStorage.setItem("href",e.target.href)}catch(l){console.warn("无法存储 URL 到 localStorage:",l)}var c=window.open(i,"_blank");c?c.focus():alert("弹出窗口被阻止,请允许此网站的弹出窗口。")}}},Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(Object(o["a"])(n,"handleLoginSuccess",(function(){this.showLoginModal=!1,this.isLoggedIn=!0,this.sendMessage()})),"getUuid",(function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0,s="x"==e?t:3&t|8;return s.toString(16)}))})),"connectWebSocket",(function(){var e=this,t="http://58.246.234.210:7860/api/v1/run/2f1faff2-99df-4821-87d6-43d693084c4b?stream=false";this.websocket=new WebSocket(t),this.websocket.onclose=function(e){console.log("WebSocket 连接关闭:",e)},this.websocket.onopen=function(e){console.log("WebSocket 连接已建立:",e)},this.websocket.onmessage=function(t){var s=JSON.parse(t.data);if(s.done)e.messages[e.messages.length-1].done=!0;else if(e.messages[e.messages.length-1].done)e.messages.push({time:Date.now(),message:s.content,messageType:"TEXT",user:"bot",done:!1});else{var n=e.messages[e.messages.length-1];n.message+=s.content,e.messages[e.messages.length-1]=n}}})),"sendMessage",(function(){var e=this;return Object(c["a"])(Object(i["a"])().mark((function t(){var s,n,a,r,o,c,l,u,d,h;return Object(i["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if("ai"!=e.$route.name){t.next=4;break}if(localStorage.getItem("AIData")){t.next=4;break}return e.showLoginModal=!0,t.abrupt("return");case 4:if(e.getUuid(),s="".concat("http://58.246.234.210:8084","/chatbot/chat"),n=e.userInput.trim(),n){t.next=9;break}return t.abrupt("return");case 9:return e.messages.push({time:Date.now(),message:n.replace(/(\r\n|\r|\n)/g," \n"),messageType:"TEXT",user:"user",done:!0}),e.userInput="",a={user:"bot",messageType:"TEXT",message:"",html:"",time:Date.now(),done:!1},e.messages.push(a),r=new AbortController,o=e.simulateThinking(a,r.signal),t.prev=15,t.next=18,fetch("".concat(s),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:n,chat_config_id:"3",user_id:e.phone,session_id:e.session_id||""})});case 18:return c=t.sent,r.abort(),t.next=22,o;case 22:return t.next=24,c.json();case 24:if(l=t.sent,e.session_id=l.data.session_id,console.log(l),200===l.code){t.next=32;break}return t.next=30,c.text();case 30:throw u=t.sent,new Error("HTTP error! status: ".concat(c.status,", message: ").concat(u));case 32:return t.next=34,o;case 34:if("ai"===e.$route.name){t.next=41;break}return d=l.data.milvus_ids,e.idArray=d,h={ids:e.idArray},console.log("ID Object:",h),t.next=41,e.getMinioUrls(h);case 41:e.handleResponse(l,a),t.next=52;break;case 44:return t.prev=44,t.t0=t["catch"](15),console.error("Error sending message:",t.t0),r.abort(),t.next=50,o;case 50:a.done=!0,a.message="抱歉,发生了错误,请稍后再试。";case 52:case"end":return t.stop()}}),t,null,[[15,44]])})))()})),"getMinioUrls",(function(e){var t=this;return Object(c["a"])(Object(i["a"])().mark((function s(){var n;return Object(i["a"])().wrap((function(s){while(1)switch(s.prev=s.next){case 0:return t.minioUrls=[],s.prev=1,console.log("Sending to backend:",JSON.stringify(e)),s.next=5,p.a.post("http://58.246.234.210:8084/milvus/getMinioURl",e,{headers:{"Content-Type":"application/json"}});case 5:n=s.sent,200===n.status&&n.data?(t.minioUrls=n.data.data,console.log("Received Minio URLs:",t.minioUrls)):console.error("Failed to get Minio URLs"),s.next=13;break;case 9:s.prev=9,s.t0=s["catch"](1),console.error("Error fetching Minio URLs:",s.t0),s.t0.response?(console.error("Response data:",s.t0.response.data),console.error("Response status:",s.t0.response.status),console.error("Response headers:",s.t0.response.headers)):s.t0.request?console.error("No response received:",s.t0.request):console.error("Error message:",s.t0.message);case 13:case"end":return s.stop()}}),s,null,[[1,9]])})))()})),"simulateThinking",(function(e,t){var s=this;return Object(c["a"])(Object(i["a"])().mark((function n(){var a;return Object(i["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return s.isThinking=!0,a=200,n.abrupt("return",new Promise((function(n){var r=function(){if(t.aborted)return clearInterval(o),s.isThinking=!1,s.thinkingDots="",e.message="",void n();s.thinkingDots+=".",s.thinkingDots.length>3&&(s.thinkingDots=""),e.message="思考中"+s.thinkingDots},o=setInterval(r,a);t.addEventListener("abort",(function(){clearInterval(o),s.isThinking=!1,s.thinkingDots="",e.message="",n()}))})));case 3:case"end":return n.stop()}}),n)})))()})),"handleResponse",(function(e,t){var s=this;return Object(c["a"])(Object(i["a"])().mark((function n(){var a,r,o;return Object(i["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a=e.data.answer,t.messageType=a,t.message="",r=a,o="","ai"!==s.$route.name&&s.minioUrls&&s.minioUrls.length>0&&(o="\n\n