PageSourceSearch

https://battcn.com/js/ChatMessages-DijQlorW.js

js battcn.com collected 2026-09-25 22:12:09 UTC 2,517 bytes, 1 lines download raw bytes

1var w=Object.defineProperty;var g=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var y=(o,s,t)=>s in o?w(o,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[s]=t,k=(o,s)=>{for(var t in s||(s={}))z.call(s,t)&&y(o,t,s[t]);if(g)for(var t of g(s))F.call(s,t)&&y(o,t,s[t]);return o};import{m as N,p as S,a as V}from"./exports-BF4oPAn9.js";import{a9 as A,B as v,aF as L,c as M,_ as j}from"./bootstrap-CDQbDWFJ.js";import{U as q}from"./UserOutlined-C1lUXPey.js";import{R as D}from"./RobotOutlined-jIX5fZVx.js";import{C as E}from"./CopyOutlined-B3rpHmX9.js";import{d as H,e as U,f as $,b as h,j as m,o as r,q as d,F as C,k as G,A as I,s as c,w as _,c as x,u as n,t as J,a as b,x as K}from"../jse/index-index-CFRszfxt.js";const P={class:"message-list"},Q={class:"message-content"},W={key:0,class:"message-bubble user"},X={class:"message-bubble ai"},Y={class:"message-actions"},Z=H({__name:"ChatMessages",props:{isStreaming:{type:Boolean},messages:{},streamingContent:{}},emits:["retry"],setup(o,{expose:s,emit:t}){const l=o,B=t;S("ai-chat",{code_block:V});const u=U(null);function T(a){navigator.clipboard.writeText(a),M.success("已复制到剪贴板")}function R(){const a=l.messages.findLast(e=>e.role==="user");a!=null&&a.content&&B("retry",a.content)}const O=$(()=>{const a=l.messages.map(e=>k({},e));if(l.isStreaming&&a.length>0){const e=a[a.length-1];(e==null?void 0:e.role)==="ai"&&(e.content=l.streamingContent||"思考中...")}return a});let p=null;function f(){p||(p=setTimeout(()=>{p=null,K(()=>{u.value&&(u.value.scrollTop=u.value.scrollHeight)})},50))}return h(()=>l.messages.length,f),h(()=>l.streamingContent,f),s({scrollToBottom:f}),(a,e)=>(r(),m("div",{ref_key:"containerRef",ref:u,class:"chat-messages"},[d("div",P,[(r(!0),m(C,null,G(O.value,i=>(r(),m("div",{key:i.key,class:I(["message-item",i.role])},[c(n(A),{size:36,class:"message-avatar"},{icon:_(()=>[i.role==="user"?(r(),x(n(q),{key:0})):(r(),x(n(D),{key:1}))]),_:2},1024),d("div",Q,[i.role==="user"?(r(),m("div",W,J(i.content),1)):(r(),m(C,{key:1},[d("div",X,[c(n(N),{"custom-id":"ai-chat",content:i.content},null,8,["content"])]),d("div",Y,[c(n(v),{type:"text",size:"small",onClick:ee=>T(i.content)},{default:_(()=>[c(n(E)),e[0]||(e[0]=b(" 复制 ",-1))]),_:1},8,["onClick"]),c(n(v),{type:"text",size:"small",onClick:R},{default:_(()=>[c(n(L)),e[1]||(e[1]=b(" 重试 ",-1))]),_:1})])],64))])],2))),128))])],512))}}),le=j(Z,[["__scopeId","data-v-43a20f98"]]);export{le as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.