2 lines
9.3 KiB
Java
2 lines
9.3 KiB
Java
var j=(B,E,v)=>new Promise((f,s)=>{var u=r=>{try{p(v.next(r))}catch(m){s(m)}},n=r=>{try{p(v.throw(r))}catch(m){s(m)}},p=r=>r.done?f(r.value):Promise.resolve(r.value).then(u,n);p((v=v.apply(B,E)).next())});import st from"./slide-nomv50kA.js";import lt from"./chat-Crh_UHOs.js";import ut from"./ConversationSettingsModal-BjDvf4-T.js";import{u as nt,d as T,b6 as pt,bn as mt,au as ct}from"./index-X7Y8jykP.js";import{e as vt,h as q,o as dt,r as a,p as ft,d as K,C as M,z as C,H as x,f as Z,F as gt,Q as h,J as $,y as W,c as b,T as ht,n as N}from"./vue-vendor-DNhG1Cve.js";import{useAppInject as yt}from"./useAppInject-DPZGPcR3.js";import"./ailogo-D9r5yA-q.js";import"./chatMessage-DisgslK5.js";import"./chatText-BThjKjwf.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./style-D_IZwlkj.js";import"./ImageViewer-DC0qDdlD.js";import"./JeecgToolExec-BHDyoRDJ.js";import"./ChartRender-BJHDCEwg.js";import"./BasicTable-C6eG0bgK.js";import"./BasicTable.vue_vue_type_style_index_0_lang-B9DxrWas.js";import"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import"./index-BzChaRPg.js";import"./BasicForm.vue_vue_type_style_index_0_lang-B29PWQy0.js";import"./index-DO7ZhK45.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./useTimeout-D5AmIBZw.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./index-saD4h7VJ.js";import"./useBreakpoint-DXhPW7nV.js";import"./useEventListener-BRXjwk7A.js";import"./breakpointEnum-BhAg6bcX.js";import"./uniqBy--vsL0WVB.js";import"./index-BDvqZ5j4.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-CuWaQdlK.js";import"./useForm-D61zovon.js";import"./injectionKey-DPVn4AgL.js";import"./index-DSsDi_fL.js";import"./Group-UHkub2tu.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";import"./FormOutlined-Y84itqS0.js";import"./useTableContext-CncNVXgp.js";import"./index-DTjkSGYl.js";import"./eagerComputed-BTlOruLW.js";import"./fromPairs-Dx9PT-t0.js";import"./useMaxLevel-DE205ncc.js";import"./index-CfNJyBRj.js";import"./dropdown-jkliuVyN.js";import"./index-DfHu-LAS.js";import"./Group-DBzJABA_.js";import"./RadioButton-DRBix2Fq.js";import"./index-C7ckZv9Z.js";import"./DirectoryTree-nk_YTTIy.js";import"./FolderOpenOutlined-SzIPA7z0.js";import"./index-Cl-8Hzo4.js";import"./scrollTo-D49dA-9c.js";import"./operationUnit-vCu2co3e.js";import"./index-C69VKHba.js";import"./index-DklMb9Qc.js";import"./UpOutlined-B1UMbtrP.js";import"./index-DsixALRt.js";import"./dayjs-jnKD3YGS.js";import"./index-aCD42OrZ.js";import"./quarterOfYear-BU2sPnff.js";import"./index-J2mOtM3w.js";import"./dayjs-ALi1pEeb.js";import"./clickOutside-DHfwTU6R.js";import"./onMountedOrActivated-DhSdLlqP.js";import"./throttle-De_jAmBh.js";import"./uuid-CODpppBC.js";import"./sortable.esm-DJNoJSdJ.js";import"./RedoOutlined-Cq2g4Slp.js";import"./index-CeNCCWzL.js";import"./TableAction.vue_vue_type_style_index_0_lang-BIWZ0bGo.js";import"./index-fAAIzD3j.js";import"./TableImg.vue_vue_type_style_index_0_lang-65ZOQtFn.js";import"./index-DfX9t4DO.js";import"./isNumeric-DjvBa-1E.js";import"./useTable-DbHE4FHE.js";import"./LineMulti-0TfPtS_j.js";import"./useECharts-BKJWOWs-.js";import"./echarts-O0zoDaFZ.js";import"./BarMulti--ZxpkIeN.js";import"./Pie-BfX96_-a.js";import"./BarAndLine-Cy2lhk5K.js";import"./Gauge-CBy9T31s.js";import"./install-65EkHmmZ.js";import"./SingleLine-B5ta_7LT.js";import"./knowledge-DLJt8V8a.js";import"./ThinkText-Dnh5CAci.js";import"./CardTemplate-C-Ne-n7_.js";import"./index-DcKuz4s3.js";import"./index-BwqG9R3y.js";import"./presetQuestion-CMGxrUpr.js";const Ct={class:"content"},It=vt({__name:"AiChat",setup(B,{expose:E}){var P;const v=ft();(P=nt().getUserInfo)==null||P.id;let f=null;const s=a({}),u=a(""),n=a([]),p=a(!0),r=a(!0),m=a(null),L=a({}),c=a(""),g=a(0),_=a(""),J=a(!0),X=()=>{p.value=!p.value},O=a(""),o=a({}),I=a(""),S=a([]),R=a(!1),d=a(),w=a([]),y=a({}),F=()=>{s.value={active:"1002",usingContext:!0,history:[{id:"1002",title:"新建聊天",isEdit:!1,disabled:!0}]},c.value="新建聊天",g.value=0},Q=()=>{setTimeout(()=>{},50)},Y=b(()=>{if(!o.value||!o.value.metadata)return!1;try{const t=(typeof o.value.metadata=="string"?JSON.parse(o.value.metadata):o.value.metadata).flowInputs||[],l=["history","content","images"];return t.filter(i=>!l.includes(i.field)).length>0}catch(e){return!1}}),z=b(()=>{if(!o.value||!o.value.metadata)return!1;try{const t=(typeof o.value.metadata=="string"?JSON.parse(o.value.metadata):o.value.metadata).flowInputs||[],l=["history","content","images"];return t.filter(i=>!l.includes(i.field)&&i.required).length>0}catch(e){return!1}});q(()=>o.value,e=>{if(!e||!e.metadata){w.value=[];return}try{const t=typeof e.metadata=="string"?JSON.parse(e.metadata):e.metadata;w.value=t.flowInputs||[]}catch(t){w.value=[]}},{immediate:!0,deep:!0});const G=b(()=>y.value[u.value]||{});function tt(){d.value&&d.value.open()}function et(e){y.value[u.value]=e,mt.success("对话设置已保存"),N(()=>{r.value=!0})}const at=()=>{f=q(()=>s.value.active,e=>{var t;if(e){if(e=="1002"){u.value="1002",n.value=[],c.value="新建聊天",r.value=!1,N(()=>{r.value=!0,z.value&&!y.value[1002]&&d.value&&d.value.open()});return}let l=s.value.history.filter(i=>i.id===e);l&&l.length>0&&(c.value=(t=l[0])==null?void 0:t.title);let D={conversationId:e};u.value=e,T.get({url:"/airag/chat/messages",params:D},{isTransformResponse:!1}).then(i=>{i.success?i.result&&i.result.messages?(n.value=i.result.messages,i.result.flowInputs&&(y.value[e]=i.result.flowInputs)):Array.isArray(i.result)?n.value=i.result:n.value=[]:n.value=[],r.value=!1,z.value&&!y.value[e]?d.value&&d.value.open():N(()=>{r.value=!0})})}else n.value=[],c.value=""},{immediate:!0})},k=a(!0),{getIsMobile:H}=yt(),V=a("");function A(e=""){T.get({url:"/airag/chat/conversations",params:{appId:e}},{isTransformResponse:!1}).then(t=>{t.success&&t.result&&t.result.length>0?(s.value.history=t.result,s.value.active=t.result[0].id,c.value=t.result[0].title,g.value=0):F(),!f&&at()}).catch(()=>{F()}).finally(()=>{J.value=!1})}dt(()=>{J.value=!0;let e=v.currentRoute.value.params;e.appId?(O.value=e.appId,U(e.appId),A(e.appId)):(A(),o.value.metadata={izDraw:"1",defaultSelect:"0"},S.value=[{name:"请介绍一下JeecgBoot",descr:"请介绍一下JeecgBoot"},{name:"JEECG有哪些优势?",descr:"JEECG有哪些优势?"},{name:"JEECG可以做哪些事情?",descr:"JEECG可以做哪些事情?"}]);let t=v.currentRoute.value.query;V.value=t.source,t.source?R.value=t.source==="chatJs":R.value=!1}),K(()=>{n.value=[],c.value="",I.value="",_.value="",S.value=[]});function U(e){return j(this,null,function*(){yield T.get({url:"/airag/chat/init",params:{id:e}},{isTransformResponse:!1}).then(t=>{if(t.success){if(o.value=t.result,t.result&&t.result.prologue&&(I.value=t.result.prologue),t.result&&t.result.quickCommand&&(S.value=JSON.parse(t.result.quickCommand)),t.result&&t.result.presetQuestion&&(_.value=t.result.presetQuestion),t.result&&t.result.metadata){let l=JSON.parse(t.result.metadata);H.value||(l.multiSession&&l.multiSession==="1"||!l.multiSession?k.value=!0:(k.value=!1,p.value=!1))}H.value&&(k.value=!1,p.value=!1)}else o.value={}})})}function ot(e,t){c.value=e,g.value=t}function it(e){s.value.history[g.value].title==="新建聊天"&&(s.value.history[g.value].title=e,s.value.history[g.value].disabled=!1)}function rt(e){O.value=e,U(e),A(e)}return E({initChat:rt}),K(()=>{f&&f()}),q(()=>m.value,()=>{m.value.offsetHeight&&(L.value={height:`${m.value.offsetHeight} px`})}),(e,t)=>(C(),M("div",{ref_key:"chatContainerRef",ref:m,class:"chat-container",style:ht(L.value)},[s.value?(C(),M(gt,{key:0},[k.value?(C(),M("div",{key:0,class:$(["leftArea",[p.value?"expand":"shrink"]])},[h("div",Ct,[u.value?(C(),W(st,{key:0,source:V.value,dataSource:s.value,onSave:Q,prologue:I.value,appData:o.value,onClick:ot},null,8,["source","dataSource","prologue","appData"])):x("",!0)]),h("div",{class:"toggle-btn",onClick:X},[...t[0]||(t[0]=[h("span",{class:"icon"},[h("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[h("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),h("div",{class:$(["rightArea",[p.value?"expand":"shrink"]])},[u.value&&r.value?(C(),W(lt,{key:0,url:"/airag/chat/send",uuid:u.value,historyData:n.value,type:"view",onSave:Q,formState:o.value,prologue:I.value,presetQuestion:_.value,onReloadMessageTitle:it,chatTitle:c.value,quickCommandData:S.value,showAdvertising:R.value,hasExtraFlowInputs:Y.value,conversationSettings:G.value,onEditSettings:tt,ref:"chatRef"},null,8,["uuid","historyData","formState","prologue","presetQuestion","chatTitle","quickCommandData","showAdvertising","hasExtraFlowInputs","conversationSettings"])):x("",!0)],2),Z(ut,{ref_key:"settingsModalRef",ref:d,flowInputs:w.value,conversationId:u.value,existingSettings:G.value,onOk:et},null,8,["flowInputs","conversationId","existingSettings"])],64)):x("",!0),Z(pt,{loading:J.value,tip:"加载中,请稍后"},null,8,["loading"])],4))}}),va=ct(It,[["__scopeId","data-v-e99431b3"]]);export{va as default};
|