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

3 lines
3.3 KiB
Java

import{d as S,o as U,a as M,b as R,ar as $,ag as q,e as w,as as H,f as c,at as x,au as b,aB as E,u as z}from"./vue-vendor-C7Zq48Yl.js";import{M as K,m as j,a as F,H as m}from"./style-B73oiFPg.js";import{av as N,q as V,d as D}from"./index-BI6CMai0.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";const G=["innerHTML"],J=S({__name:"ThinkText",props:["dateTime","text","inversion","error","loading","referenceKnowledge"],setup(i){const s=c(),{getIsMobile:C}=N(),l=i,o=c(),d=new K({html:!0,linkify:!0,highlight(t,e){if(!!(e&&m.getLanguage(e))){const n=e!=null?e:"";return g(m.highlight(t,{language:n}).value,n)}return g(m.highlightAuto(t).value,"")}});d.use(j,{attrs:{target:"_blank",rel:"noopener"}}),d.use(F,{blockClass:"katexmath-block rounded-md p-[10px]",errorColor:" #cc0000"});const p=w(()=>{var e;let t=(e=l.text)!=null?e:"";return l.inversion!="user"?(t=_(t),t=L(t),d.render(t)):t.replace(`
`,"<br>")}),P=w(()=>{const{loading:t,referenceKnowledge:e}=l;return t?!1:Array.isArray(e)&&e.length>0}),_=t=>{const e=/!\[([^\]]*)\]\(([^)]+)=([0-9]+)\)/g;return t.replace(e,(r,n,a,W)=>{let I=/#\s*{\s*domainURL\s*}/g;return a=a.replace(I,v),`<div><img src='${a}' alt='${n}' width='${W}' /></div>`})},{domainUrl:v}=V(),L=t=>{const e=/!\[([^\]]*)\]\(.*?#\s*{\s*domainURL\s*}.*?\)/g;return t.replace(e,r=>{let n=/#\s*{\s*domainURL\s*}/g;return r.replace(n,v)})},f=c(!1),h=c("");function g(t,e){return`<pre class="code-block-wrapper"><div class="code-block-header"><span class="code-block-header__lang">${e}</span><span class="code-block-header__copy">复制代码</span></div><code class="hljs code-block-body ${e}">${t}</code></pre>`}function y(){o.value&&o.value.querySelectorAll(".code-block-header__copy").forEach(e=>{e.addEventListener("click",()=>{var n,a;const r=(a=(n=e.parentElement)==null?void 0:n.nextElementSibling)==null?void 0:a.textContent;r&&T(r).then(()=>{e.textContent="复制成功",setTimeout(()=>{e.textContent="复制代码"},1e3)})})})}function B(){o.value&&o.value.querySelectorAll(".code-block-header__copy").forEach(e=>{e.removeEventListener("click",()=>{})})}function k(){o.value&&o.value.querySelectorAll("img").forEach(e=>{e.addEventListener("click",()=>{h.value=e.src,f.value=!0})})}function A(){o.value&&o.value.querySelectorAll("img").forEach(e=>{e.removeEventListener("click",()=>{})})}function O(){f.value=!1,h.value=""}function u(){window.innerWidth>600&&window.innerWidth<1024?s.value=window.innerWidth-120+"px":window.innerWidth<600&&(s.value=window.innerWidth-60+"px")}U(()=>{y(),k(),u(),window.addEventListener("resize",u)}),M(()=>{y(),k()}),R(()=>{B(),A(),window.removeEventListener("resize",u)});function T(t){return new Promise((e,r)=>{try{const n=document.createElement("textarea");n.setAttribute("readonly","readonly"),n.value=t,document.body.appendChild(n),n.select(),document.execCommand("copy")&&document.execCommand("copy"),document.body.removeChild(n),e(t)}catch(n){r(n)}})}return(t,e)=>p.value!=""?(H(),$("div",{key:0,class:x(["textWrap",[i.inversion==="user"?"self":"chatgpt"]]),ref_key:"textRef",ref:o},[b("div",{style:E({width:z(C)?s.value:"auto"})},[b("div",{class:x(["markdown-body",{"markdown-body-generate":i.loading}]),style:E({color:i.error?"#FF4444 !important":""}),innerHTML:p.value},null,14,G)],4)],2)):q("",!0)}}),te=D(J,[["__scopeId","data-v-2f6ff381"]]);export{te as default};