Files
qhmes/deploy-qhmes/frontend/js/AiChat-iustuOgW.js
2026-05-15 11:34:12 +08:00

2 lines
6.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var Z=(F,E,c)=>new Promise((_,A)=>{var L=s=>{try{o(c.next(s))}catch(n){A(n)}},p=s=>{try{o(c.throw(s))}catch(n){A(n)}},o=s=>s.done?_(s.value):Promise.resolve(s.value).then(L,p);o((c=c.apply(F,E)).next())});import{d as re,aq as ce,w as b,f as a,o as ve,b as $,ar as M,as as C,aB as pe,ag as x,k as W,F as fe,au as g,at as X,aC as ee,e as B,n as N}from"./vue-vendor-C7Zq48Yl.js";import de from"./slide-QWIorwJ5.js";import me from"./chat-DuCSnM5H.js";import ge from"./ConversationSettingsModal-C9dYR5vb.js";import{f as he}from"./antd-vue-vendor-BPnV8VqP.js";import{ap as Ce,av as ye,f as O,bk as Ie,bl as Se,d as we}from"./index-BI6CMai0.js";import"./ailogo-D9r5yA-q.js";import"./chatMessage-CDt25ZTi.js";import"./chatText-C4gWoDxb.js";import"./style-B73oiFPg.js";import"./ImageViewer-CG7dKb6F.js";import"./JeecgToolExec-CmPLPOlm.js";import"./ChartRender-CBSgK0U5.js";import"./LineMulti-CtYwss5s.js";import"./useECharts-9qzd7Dce.js";import"./useTimeout-DDl4l82I.js";import"./vxe-table-vendor-B88kchpX.js";import"./echarts-6xk1er_c.js";import"./Gauge-B_IiN0XO.js";import"./Pie-Css2jUUJ.js";import"./BarAndLine-TnM25Vnx.js";import"./SingleLine-Bu7dNANj.js";import"./knowledge-CcZcIqwT.js";import"./ThinkText-C0AjwXgL.js";import"./index-Dg4HCEvo.js";import"./CardTemplate-DbIZYbq2.js";import"./presetQuestion-Dc2H1JYo.js";const ke={class:"content"},xe=re({__name:"AiChat",setup(F,{expose:E}){var Y;const c=ce(),_=(Y=Ce().getUserInfo)==null?void 0:Y.id,A=Se+_;let L=null,p=null;const o=a({}),s=a(""),n=a([]),f=a(!0),d=a(!0),y=a(null),G=a({}),r=a(""),m=a(0),J=a(""),R=a(!0),te=()=>{f.value=!f.value},Q=a(""),l=a({}),I=a(""),S=a([]),q=a(!1),v=a(),w=a([]),h=a({}),H=()=>{o.value={active:"1002",usingContext:!0,history:[{id:"1002",title:"新建聊天",isEdit:!1,disabled:!0}]},r.value="新建聊天",m.value=0},V=()=>{setTimeout(()=>{},50)},ae=B(()=>{if(!l.value||!l.value.metadata)return!1;try{const e=(typeof l.value.metadata=="string"?JSON.parse(l.value.metadata):l.value.metadata).flowInputs||[],i=["history","content","images"];return e.filter(u=>!i.includes(u.field)).length>0}catch(t){return!1}}),K=B(()=>{if(!l.value||!l.value.metadata)return!1;try{const e=(typeof l.value.metadata=="string"?JSON.parse(l.value.metadata):l.value.metadata).flowInputs||[],i=["history","content","images"];return e.filter(u=>!i.includes(u.field)&&u.required).length>0}catch(t){return!1}});b(()=>l.value,t=>{if(!t||!t.metadata){w.value=[];return}try{const e=typeof t.metadata=="string"?JSON.parse(t.metadata):t.metadata;w.value=e.flowInputs||[]}catch(e){w.value=[]}},{immediate:!0,deep:!0});const U=B(()=>h.value[s.value]||{});function se(){v.value&&v.value.open()}function le(t){h.value[s.value]=t,he.success("对话设置已保存"),N(()=>{d.value=!0})}const ue=()=>{p=b(()=>o.value.active,t=>{var e;if(t){if(t=="1002"){s.value="1002",n.value=[],r.value="新建聊天",d.value=!1,N(()=>{d.value=!0,K.value&&!h.value[1002]&&v.value&&v.value.open()});return}let i=o.value.history.filter(u=>u.id===t);i&&i.length>0&&(r.value=(e=i[0])==null?void 0:e.title);let D={conversationId:t};s.value=t,O.get({url:"/airag/chat/messages",params:D},{isTransformResponse:!1}).then(u=>{u.success?u.result&&u.result.messages?(n.value=u.result.messages,u.result.flowInputs&&(h.value[t]=u.result.flowInputs)):Array.isArray(u.result)?n.value=u.result:n.value=[]:n.value=[],d.value=!1,K.value&&!h.value[t]?v.value&&v.value.open():N(()=>{d.value=!0})})}else n.value=[],r.value=""},{immediate:!0})},k=a(!0),{getIsMobile:z}=ye(),P=a("");function T(t=""){O.get({url:"/airag/chat/conversations",params:{appId:t}},{isTransformResponse:!1}).then(e=>{e.success&&e.result&&e.result.length>0?(o.value.history=e.result,o.value.active=e.result[0].id,r.value=e.result[0].title,m.value=0):H(),!p&&ue()}).catch(()=>{H()}).finally(()=>{R.value=!1})}ve(()=>{R.value=!0;let t=c.currentRoute.value.params;t.appId?(Q.value=t.appId,j(t.appId),T(t.appId)):(T(),S.value=[{name:"请介绍一下JeecgBoot",descr:"请介绍一下JeecgBoot"},{name:"JEECG有哪些优势",descr:"JEECG有哪些优势"},{name:"JEECG可以做哪些事情",descr:"JEECG可以做哪些事情"}]);let e=c.currentRoute.value.query;P.value=e.source,e.source?q.value=e.source==="chatJs":q.value=!1}),$(()=>{n.value=[],r.value="",I.value="",J.value="",S.value=[]});function j(t){return Z(this,null,function*(){yield O.get({url:"/airag/chat/init",params:{id:t}},{isTransformResponse:!1}).then(e=>{if(e.success){if(l.value=e.result,e.result&&e.result.prologue&&(I.value=e.result.prologue),e.result&&e.result.quickCommand&&(S.value=JSON.parse(e.result.quickCommand)),e.result&&e.result.presetQuestion&&(J.value=e.result.presetQuestion),e.result&&e.result.metadata){let i=JSON.parse(e.result.metadata);z.value||(i.multiSession&&i.multiSession==="1"||!i.multiSession?k.value=!0:(k.value=!1,f.value=!1))}z.value&&(k.value=!1,f.value=!1)}else l.value={}})})}function oe(t,e){r.value=t,m.value=e}function ne(t){o.value.history[m.value].title==="新建聊天"&&(o.value.history[m.value].title=t,o.value.history[m.value].disabled=!1)}function ie(t){Q.value=t,j(t),T(t)}return E({initChat:ie}),$(()=>{p&&p()}),b(()=>y.value,()=>{y.value.offsetHeight&&(G.value={height:`${y.value.offsetHeight} px`})}),(t,e)=>(C(),M("div",{ref_key:"chatContainerRef",ref:y,class:"chat-container",style:pe(G.value)},[o.value?(C(),M(fe,{key:0},[k.value?(C(),M("div",{key:0,class:X(["leftArea",[f.value?"expand":"shrink"]])},[g("div",ke,[s.value?(C(),ee(de,{key:0,source:P.value,dataSource:o.value,onSave:V,prologue:I.value,appData:l.value,onClick:oe},null,8,["source","dataSource","prologue","appData"])):x("",!0)]),g("div",{class:"toggle-btn",onClick:te},[...e[0]||(e[0]=[g("span",{class:"icon"},[g("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[g("path",{d:"M5.64645 3.14645C5.45118 3.34171 5.45118 3.65829 5.64645 3.85355L9.79289 8L5.64645 12.1464C5.45118 12.3417 5.45118 12.6583 5.64645 12.8536C5.84171 13.0488 6.15829 13.0488 6.35355 12.8536L10.8536 8.35355C11.0488 8.15829 11.0488 7.84171 10.8536 7.64645L6.35355 3.14645C6.15829 2.95118 5.84171 2.95118 5.64645 3.14645Z",fill:"currentColor"})])],-1)])])],2)):x("",!0),g("div",{class:X(["rightArea",[f.value?"expand":"shrink"]])},[s.value&&d.value?(C(),ee(me,{key:0,url:"/airag/chat/send",uuid:s.value,historyData:n.value,type:"view",onSave:V,formState:l.value,prologue:I.value,presetQuestion:J.value,onReloadMessageTitle:ne,chatTitle:r.value,quickCommandData:S.value,showAdvertising:q.value,hasExtraFlowInputs:ae.value,conversationSettings:U.value,onEditSettings:se,ref:"chatRef"},null,8,["uuid","historyData","formState","prologue","presetQuestion","chatTitle","quickCommandData","showAdvertising","hasExtraFlowInputs","conversationSettings"])):x("",!0)],2),W(ge,{ref_key:"settingsModalRef",ref:v,flowInputs:w.value,conversationId:s.value,existingSettings:U.value,onOk:le},null,8,["flowInputs","conversationId","existingSettings"])],64)):x("",!0),W(Ie,{loading:R.value,tip:"加载中,请稍后"},null,8,["loading"])],4))}}),Xe=we(xe,[["__scopeId","data-v-0441d9ba"]]);export{Xe as default};