if("undefined"==typeof Promise||Promise.prototype.finally||(Promise.prototype.finally=function(e){const t=this.constructor;return this.then((a=>t.resolve(e()).then((()=>a))),(a=>t.resolve(e()).then((()=>{throw a}))))}),"undefined"!=typeof uni&&uni&&uni.requireGlobal){const e=uni.requireGlobal();ArrayBuffer=e.ArrayBuffer,Int8Array=e.Int8Array,Uint8Array=e.Uint8Array,Uint8ClampedArray=e.Uint8ClampedArray,Int16Array=e.Int16Array,Uint16Array=e.Uint16Array,Int32Array=e.Int32Array,Uint32Array=e.Uint32Array,Float32Array=e.Float32Array,Float64Array=e.Float64Array,BigInt64Array=e.BigInt64Array,BigUint64Array=e.BigUint64Array}uni.restoreGlobal&&uni.restoreGlobal(Vue,weex,plus,setTimeout,clearTimeout,setInterval,clearInterval),function(e){"use strict";function t(e,t,...a){uni.__log__?uni.__log__(e,t,...a):console[e].apply(console,[...a,t])}function a(e,t){return"string"==typeof e?t:e}const n=((t,a=0)=>(a,n=e.getCurrentInstance())=>{!e.isInSSRComponentSetup&&e.injectHook(t,a,n)})("onShow",3),o="https://cloud.yuxindazhineng.com",l=async e=>new Promise(((t,a)=>{uni.request({url:`${o}/get_user_info`,method:"POST",header:{"Content-Type":"application/json"},data:{access_token:e},success:e=>{var n,o;if(200===e.statusCode){const l=e.data;if(null==l?void 0:l._id)uni.setStorageSync("userId",l._id),t(l);else{const e=(null==(o=null==(n=null==l?void 0:l.detail)?void 0:n[0])?void 0:o.msg)||"获取用户信息出错啦";a(e)}}else a(`获取用户信息失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";a(t)}})})),s=(e,t)=>new Promise(((a,n)=>{uni.request({url:`${o}/cloud_api/get_user_avatar`,method:"POST",header:{"Content-Type":"application/json"},data:{access_token:e,user_ids:t},success:e=>{if(200===e.statusCode){const t=e.data;if(t.success)a(t.users);else{const e=(null==t?void 0:t.error)||"获取用户头像出错啦";n(e)}}else n(`获取用户头像失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})})),c=(e,t)=>{const a=e.__vccOpts||e;for(const[n,o]of t)a[n]=o;return a},i=c({__name:"Login",setup(a){const n=e.ref(""),l=e.ref(!1),s=e.ref(!1),c=()=>{l.value=!0,h.value=!1},i=()=>{l.value=!1},r=()=>{},d=e.ref(""),u=e.ref(!1),m=e.ref(!1),v=()=>{u.value=!0,h.value=!1},p=()=>{u.value=!1},f=e.reactive({username:e.computed((()=>n.value)),password:e.computed((()=>d.value)),remember:!0}),g=e.ref(!1),h=e.ref(!1),w=async()=>{if(k(),!h.value){g.value=!0;try{await(async(e,t)=>new Promise(((a,n)=>{uni.request({url:`${o}/login`,method:"POST",data:{username:e,password:t},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const t=e.data.access_token;if(t)uni.setStorageSync("token",t),a(t);else{const t=e.data.error||"检查用户名和密码";n(t)}}else n(`请求失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})})))(n.value,d.value);y(),uni.reLaunch({url:"/pages/Chat/Chat"})}catch(e){t("log","at pages/Login/Login.vue:124","登录失败",e),uni.showToast({title:e||"失败",icon:"error"})}finally{g.value=!1}}},k=()=>{n.value&&d.value||(h.value=!0)},y=()=>{if(f.remember){const e={username:f.username,password:f.password,remember:!0};uni.setStorageSync("login_info",e),uni.setStorageSync("chatType",0)}else uni.removeStorageSync("login_info")};return e.onMounted((()=>{(()=>{try{const e=uni.getStorageSync("login_info");e&&(n.value=e.username||"",d.value=e.password||"",f.remember=e.remember??!0)}catch(e){t("error","at pages/Login/Login.vue:168","读取登录信息失败",e)}})()})),(t,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("view",{class:"status-bar"}),e.createElementVNode("view",{class:"login-container page-container"},[e.createElementVNode("view",{class:"login-card"},[e.createElementVNode("view",{class:"login-header"},[e.createElementVNode("view",{class:"login-header-logo"},[e.createElementVNode("view",{class:"icon-wrapper"},[e.createElementVNode("view",{class:"iconfont icon-brain-2-fill danao-style"})]),e.createElementVNode("text",null,"YXD")]),e.createElementVNode("view",{class:"sub-title"},"File Handling Chat")]),e.createElementVNode("view",{class:"form-wrapper"},[e.createElementVNode("view",{class:"form-item"},[e.createElementVNode("view",{class:"form-label"},[e.createElementVNode("text",null,"用户名")]),e.withDirectives(e.createElementVNode("input",{class:e.normalizeClass(["form-input",{focused:l.value,error:s.value}]),"onUpdate:modelValue":a[0]||(a[0]=e=>n.value=e),onFocus:c,onBlur:i,onInput:r,placeholder:"请输入用户名"},null,34),[[e.vModelText,n.value]])]),e.createElementVNode("view",{class:"form-item"},[e.createElementVNode("view",{class:"form-label"},[e.createElementVNode("text",null,"密码")]),e.withDirectives(e.createElementVNode("input",{type:"password",class:e.normalizeClass(["form-input",{focused:u.value,error:m.value}]),"onUpdate:modelValue":a[1]||(a[1]=e=>d.value=e),onFocus:v,onBlur:p,placeholder:"请输入密码"},null,34),[[e.vModelText,d.value]])]),h.value?(e.openBlock(),e.createElementBlock("text",{key:0,class:"error-info"},"用户名或密码不能为空")):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"form-option"},[e.createElementVNode("view",{class:"checkbox-wrapper",onClick:a[2]||(a[2]=e=>f.remember=!f.remember)},[e.createElementVNode("view",{class:e.normalizeClass(["checkbox",{checked:f.remember}])},[f.remember?(e.openBlock(),e.createElementBlock("text",{key:0},"✓")):e.createCommentVNode("",!0)],2),e.createElementVNode("text",{class:"checkbox-text"},"记住密码")]),e.createElementVNode("text",{class:"forget-pwd"},"忘记密码?")]),e.createElementVNode("button",{class:"login-btn",disabled:g.value,loading:g.value,onClick:w},e.toDisplayString(g.value?"Loading...":"登录"),9,["disabled","loading"])])])])],64))}},[["__scopeId","data-v-d4b9d5ac"]]),r=[{font_class:"arrow-down",unicode:""},{font_class:"arrow-left",unicode:""},{font_class:"arrow-right",unicode:""},{font_class:"arrow-up",unicode:""},{font_class:"auth",unicode:""},{font_class:"auth-filled",unicode:""},{font_class:"back",unicode:""},{font_class:"bars",unicode:""},{font_class:"calendar",unicode:""},{font_class:"calendar-filled",unicode:""},{font_class:"camera",unicode:""},{font_class:"camera-filled",unicode:""},{font_class:"cart",unicode:""},{font_class:"cart-filled",unicode:""},{font_class:"chat",unicode:""},{font_class:"chat-filled",unicode:""},{font_class:"chatboxes",unicode:""},{font_class:"chatboxes-filled",unicode:""},{font_class:"chatbubble",unicode:""},{font_class:"chatbubble-filled",unicode:""},{font_class:"checkbox",unicode:""},{font_class:"checkbox-filled",unicode:""},{font_class:"checkmarkempty",unicode:""},{font_class:"circle",unicode:""},{font_class:"circle-filled",unicode:""},{font_class:"clear",unicode:""},{font_class:"close",unicode:""},{font_class:"closeempty",unicode:""},{font_class:"cloud-download",unicode:""},{font_class:"cloud-download-filled",unicode:""},{font_class:"cloud-upload",unicode:""},{font_class:"cloud-upload-filled",unicode:""},{font_class:"color",unicode:""},{font_class:"color-filled",unicode:""},{font_class:"compose",unicode:""},{font_class:"contact",unicode:""},{font_class:"contact-filled",unicode:""},{font_class:"down",unicode:""},{font_class:"bottom",unicode:""},{font_class:"download",unicode:""},{font_class:"download-filled",unicode:""},{font_class:"email",unicode:""},{font_class:"email-filled",unicode:""},{font_class:"eye",unicode:""},{font_class:"eye-filled",unicode:""},{font_class:"eye-slash",unicode:""},{font_class:"eye-slash-filled",unicode:""},{font_class:"fire",unicode:""},{font_class:"fire-filled",unicode:""},{font_class:"flag",unicode:""},{font_class:"flag-filled",unicode:""},{font_class:"folder-add",unicode:""},{font_class:"folder-add-filled",unicode:""},{font_class:"font",unicode:""},{font_class:"forward",unicode:""},{font_class:"gear",unicode:""},{font_class:"gear-filled",unicode:""},{font_class:"gift",unicode:""},{font_class:"gift-filled",unicode:""},{font_class:"hand-down",unicode:""},{font_class:"hand-down-filled",unicode:""},{font_class:"hand-up",unicode:""},{font_class:"hand-up-filled",unicode:""},{font_class:"headphones",unicode:""},{font_class:"heart",unicode:""},{font_class:"heart-filled",unicode:""},{font_class:"help",unicode:""},{font_class:"help-filled",unicode:""},{font_class:"home",unicode:""},{font_class:"home-filled",unicode:""},{font_class:"image",unicode:""},{font_class:"image-filled",unicode:""},{font_class:"images",unicode:""},{font_class:"images-filled",unicode:""},{font_class:"info",unicode:""},{font_class:"info-filled",unicode:""},{font_class:"left",unicode:""},{font_class:"link",unicode:""},{font_class:"list",unicode:""},{font_class:"location",unicode:""},{font_class:"location-filled",unicode:""},{font_class:"locked",unicode:""},{font_class:"locked-filled",unicode:""},{font_class:"loop",unicode:""},{font_class:"mail-open",unicode:""},{font_class:"mail-open-filled",unicode:""},{font_class:"map",unicode:""},{font_class:"map-filled",unicode:""},{font_class:"map-pin",unicode:""},{font_class:"map-pin-ellipse",unicode:""},{font_class:"medal",unicode:""},{font_class:"medal-filled",unicode:""},{font_class:"mic",unicode:""},{font_class:"mic-filled",unicode:""},{font_class:"micoff",unicode:""},{font_class:"micoff-filled",unicode:""},{font_class:"minus",unicode:""},{font_class:"minus-filled",unicode:""},{font_class:"more",unicode:""},{font_class:"more-filled",unicode:""},{font_class:"navigate",unicode:""},{font_class:"navigate-filled",unicode:""},{font_class:"notification",unicode:""},{font_class:"notification-filled",unicode:""},{font_class:"paperclip",unicode:""},{font_class:"paperplane",unicode:""},{font_class:"paperplane-filled",unicode:""},{font_class:"person",unicode:""},{font_class:"person-filled",unicode:""},{font_class:"personadd",unicode:""},{font_class:"personadd-filled",unicode:""},{font_class:"personadd-filled-copy",unicode:""},{font_class:"phone",unicode:""},{font_class:"phone-filled",unicode:""},{font_class:"plus",unicode:""},{font_class:"plus-filled",unicode:""},{font_class:"plusempty",unicode:""},{font_class:"pulldown",unicode:""},{font_class:"pyq",unicode:""},{font_class:"qq",unicode:""},{font_class:"redo",unicode:""},{font_class:"redo-filled",unicode:""},{font_class:"refresh",unicode:""},{font_class:"refresh-filled",unicode:""},{font_class:"refreshempty",unicode:""},{font_class:"reload",unicode:""},{font_class:"right",unicode:""},{font_class:"scan",unicode:""},{font_class:"search",unicode:""},{font_class:"settings",unicode:""},{font_class:"settings-filled",unicode:""},{font_class:"shop",unicode:""},{font_class:"shop-filled",unicode:""},{font_class:"smallcircle",unicode:""},{font_class:"smallcircle-filled",unicode:""},{font_class:"sound",unicode:""},{font_class:"sound-filled",unicode:""},{font_class:"spinner-cycle",unicode:""},{font_class:"staff",unicode:""},{font_class:"staff-filled",unicode:""},{font_class:"star",unicode:""},{font_class:"star-filled",unicode:""},{font_class:"starhalf",unicode:""},{font_class:"trash",unicode:""},{font_class:"trash-filled",unicode:""},{font_class:"tune",unicode:""},{font_class:"tune-filled",unicode:""},{font_class:"undo",unicode:""},{font_class:"undo-filled",unicode:""},{font_class:"up",unicode:""},{font_class:"top",unicode:""},{font_class:"upload",unicode:""},{font_class:"upload-filled",unicode:""},{font_class:"videocam",unicode:""},{font_class:"videocam-filled",unicode:""},{font_class:"vip",unicode:""},{font_class:"vip-filled",unicode:""},{font_class:"wallet",unicode:""},{font_class:"wallet-filled",unicode:""},{font_class:"weibo",unicode:""},{font_class:"weixin",unicode:""}];const d=c({name:"UniIcons",emits:["click"],props:{type:{type:String,default:""},color:{type:String,default:"#333333"},size:{type:[Number,String],default:16},customPrefix:{type:String,default:""},fontFamily:{type:String,default:""}},data:()=>({icons:r}),computed:{unicode(){let e=this.icons.find((e=>e.font_class===this.type));return e?e.unicode:""},iconSize(){return"number"==typeof(e=this.size)||/^[0-9]*$/g.test(e)?e+"px":e;var e},styleObj(){return""!==this.fontFamily?`color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`:`color: ${this.color}; font-size: ${this.iconSize};`}},methods:{_onClick(e){this.$emit("click",e)}}},[["render",function(t,a,n,o,l,s){return e.openBlock(),e.createElementBlock("text",{style:e.normalizeStyle(s.styleObj),class:e.normalizeClass(["uni-icons",["uniui-"+n.type,n.customPrefix,n.customPrefix?n.type:""]]),onClick:a[0]||(a[0]=(...e)=>s._onClick&&s._onClick(...e))},[e.renderSlot(t.$slots,"default",{},void 0,!0)],6)}],["__scopeId","data-v-b25a9929"]]),u=()=>uni.getStorageSync("token"),m=()=>{const e=uni.getStorageSync("currentSessionId");return isNaN(Number(e))?e.replace(/-/g,""):e},v=()=>uni.getStorageSync("taskCallId"),p=c(Object.assign({name:"ChatSidebar"},{__name:"ChatSidebar",props:{chatList:{type:Array,required:!0},showNewChatModal:{type:Boolean,default:!1},currentSessionId:{type:[String,Number],required:!0},chatType:{type:Number,required:!0}},emits:["update:showNewChatModal","update:currentSessionId","refresh-conversations","update:chatType"],setup(n,{emit:l}){const s=n,c=l,i=e.toRef(s,"chatList");e.toRef(s,"showNewChatModal");const r=e.toRef(s,"chatType"),m=()=>{uni.navigateTo({url:"/pages/UserProfileModal/UserProfileModal"})},v=e.ref(!1),p=e.ref([]),f=async()=>{try{const e=u();await(async(e,t)=>new Promise(((a,n)=>{uni.request({url:`${o}/delete_conversation`,method:"POST",data:{access_token:e,conversation_ids:t},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const t=e.data;if(null==t?void 0:t.success)a(t.message);else{const e=t.failed_ids.error||"删除对话出错啦";n(e)}}else n(`删除对话失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})})))(e,p.value),uni.showToast({title:"删除成功",icon:"success"}),p.value=[],v.value=!1,c("refresh-conversations")}catch(e){t("error","at components/ChatSidebar.vue:188","删除会话失败:",e),uni.showToast({title:"删除失败,请重试",icon:"none"})}},g=e.computed((()=>i.value.length>0&&p.value.length===i.value.length)),h=e.toRef(s,"currentSessionId"),w=(e,a="")=>{t("log","at components/ChatSidebar.vue:206","选择的id是:",e),a&&uni.setStorageSync("receiverId",a),uni.setStorageSync("currentSessionId",e),c("update:currentSessionId",e)},k=()=>{t("log","at components/ChatSidebar.vue:217","点击了新建会话"),c("update:showNewChatModal",!0)},y=()=>{uni.navigateTo({url:"/pages/ContactPages/ContactPages"})},E=e.ref(""),N=e.ref(!1),V=()=>{v.value=!v.value,v.value||(p.value=[])},b=e=>{const t=p.value.indexOf(e);-1===t?p.value.push(e):p.value.splice(t,1)},C=()=>{g.value?p.value=[]:p.value=i.value.map((e=>e._id))};return e.onMounted((()=>{t("log","at components/ChatSidebar.vue:264","会话数据:"),t("log","at components/ChatSidebar.vue:265",s.chatList)})),(t,n)=>{const o=a(e.resolveDynamicComponent("uni-icons"),d);return e.openBlock(),e.createElementBlock("view",{class:"chat-sidebar-container"},[e.createElementVNode("view",{class:"status-bar"}),e.createElementVNode("view",{class:"sidebar-header"},[e.createElementVNode("view",{class:"user-profile-card",onClick:m},[e.createElementVNode("view",{class:"left"},[e.createVNode(o,{type:"contact-filled",size:"50",color:"#007aff"})]),e.createElementVNode("view",{class:"center"},[e.createElementVNode("text",null,"欢迎回来"),e.createElementVNode("text",null,"用户名")]),e.createElementVNode("view",{class:"right"},[e.createElementVNode("view",{class:"status-dot"}),e.createElementVNode("view",{class:"status-text"},[e.createElementVNode("text",null,"在线")])])]),e.createElementVNode("view",{class:"new-chat-btn",onClick:y},[e.createElementVNode("text",null,"+ 聊天列表")])]),e.createElementVNode("view",{class:"chat-history"},[e.createElementVNode("view",{class:"history-header"},[e.createElementVNode("view",{class:"history-title-section"},[e.createElementVNode("text",null,"历史会话"),e.createElementVNode("text",null,e.toDisplayString(i.value.length)+"个对话",1)]),e.createElementVNode("view",{class:"history-management"},[v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("view",{key:0,class:"history-management-btn iconfont icon-jia icon-jia-style",onClick:k})),v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("view",{key:1,class:"history-management-btn iconfont icon-duoxuan icon-duoxuan-style",onClick:V})),v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("view",{key:2,class:"history-management-btn iconfont icon-saochu icon-saochu-style"})),v.value&&p.value.length>0?(e.openBlock(),e.createElementBlock("view",{key:3,class:"history-management-btn iconfont icon-shanchu icon-shanchu-style",onClick:f})):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("view",{key:4,class:e.normalizeClass(["history-management-btn iconfont icon-total_selection icon-total_selection-style",{active:g.value}]),onClick:C},null,2)):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("view",{key:5,class:"history-management-btn iconfont icon-quxiao icon-quxiao-style",onClick:V})):e.createCommentVNode("",!0)])]),v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("view",{key:0,class:"history-search-wrap"},[e.createElementVNode("view",{class:e.normalizeClass(["history-search-inner",{"has-value":E.value||N.value}])},[e.createVNode(o,{type:"search",class:e.normalizeClass([E.value||N.value?"chat-search-icon":"search-icon"])},null,8,["class"]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=e=>E.value=e),onFocus:n[1]||(n[1]=e=>N.value=!0),onBlur:n[2]||(n[2]=e=>N.value=!1),type:"text",placeholder:"搜索会话..."},null,544),[[e.vModelText,E.value]])],2)])),e.createElementVNode("view",{class:"chat-history-list"},[0===r.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(i.value,(t=>(e.openBlock(),e.createElementBlock("view",{key:t._id,"data-chat-id":t._id,class:e.normalizeClass(["chat-history-card",{"is-select-chat":h.value===t._id||p.value.includes(t._id)}]),onClick:e=>v.value?b(t._id):w(t._id)},[v.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"history-chat-checkbox"},[p.value.includes(t._id)?(e.openBlock(),e.createBlock(o,{key:0,type:"checkmarkempty",size:"20",color:"#007aff"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"history-chat-avatar"},[e.createVNode(o,{type:"chat-filled",size:"26",color:"#007aff"})]),e.createElementVNode("view",null,e.toDisplayString(t.title),1)],10,["data-chat-id","onClick"])))),128)):e.createCommentVNode("",!0),1===r.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(i.value,(t=>(e.openBlock(),e.createElementBlock("view",{key:t.sessionId,"data-chat-id":t.sessionId,class:e.normalizeClass(["chat-history-card",{"is-select-chat":h.value===t.sessionId||p.value.includes(t.sessionId)}]),onClick:e=>v.value?b(t.sessionId):w(t.sessionId,t.receiver)},[v.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"history-chat-checkbox"},[p.value.includes(t.sessionId)?(e.openBlock(),e.createBlock(o,{key:0,type:"checkmarkempty",size:"20",color:"#007aff"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"history-chat-avatar"},[t.avatar?(e.openBlock(),e.createElementBlock("image",{key:0,src:t.avatar,class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):e.createCommentVNode("",!0)]),e.createElementVNode("view",null,e.toDisplayString(t.friendNickName),1)],10,["data-chat-id","onClick"])))),128)):e.createCommentVNode("",!0),2===r.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(i.value,(t=>(e.openBlock(),e.createElementBlock("view",{key:t.id,"data-chat-id":t.id,class:e.normalizeClass(["chat-history-card",{"is-select-chat":h.value===t.id||p.value.includes(t.id)}]),onClick:e=>v.value?b(t.id):w(t.id)},[v.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"history-chat-checkbox"},[p.value.includes(t.id)?(e.openBlock(),e.createBlock(o,{key:0,type:"checkmarkempty",size:"20",color:"#007aff"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"history-chat-avatar"},[e.createElementVNode("view",{class:"iconfont icon-qunliao",style:{"font-size":"80rpx",color:"#fff"}})]),e.createElementVNode("view",null,e.toDisplayString(t.name),1)],10,["data-chat-id","onClick"])))),128)):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-8ade48e4"]]);var f={"":["",""],_:["",""],"*":["",""],"~":["",""],"\n":["
"]," ":["
"],"-":["
"]};function g(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function h(e){return(e+"").replace(/"/g,""").replace(//g,">")}function w(e,t){var a,n,o,l,s,c=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*]|~~)/gm,i=[],r="",d=t||{},u=0;function m(e){var t=f[e[1]||""],a=i[i.length-1]==e;return t?t[1]?(a?i.pop():i.push(e),t[0|a]):t[0]:e}function v(){for(var e="";i.length;)e+=m(i[i.length-1]);return e}for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,(function(e,t,a){return d[t.toLowerCase()]=a,""})).replace(/^\n+|\n+$/g,"");o=c.exec(e);)n=e.substring(u,o.index),u=c.lastIndex,a=o[0],n.match(/[^\\](\\\\)*\\$/)||((s=o[3]||o[4])?a='
"+g(h(s).replace(/^\n+|\n+$/g,""))+"
":(s=o[6])?(s.match(/\./)&&(o[5]=o[5].replace(/^\d+/gm,"")),l=w(g(o[5].replace(/^\s*[>*+.-]/gm,""))),">"==s?s="blockquote":(s=s.match(/\./)?"ol":"ul",l=l.replace(/^(.*)(\n|$)/gm,"
  • $1
  • ")),a="<"+s+">"+l+""):o[8]?a=''+h(o[7])+'':o[10]?(r=r.replace("",''),a=v()+""):o[9]?a="":o[12]||o[14]?a="<"+(s="h"+(o[14]?o[14].length:o[13]>"="?1:2))+">"+w(o[12]||o[15],d)+"":o[16]?a=""+h(o[16])+"":(o[17]||o[1])&&(a=m(o[17]||"--"))),r+=n,r+=a;return(r+e.substring(u)+v()).replace(/^\n+|\n+$/g,"")} /*! * pinia v2.1.7 * (c) 2023 Eduardo San Martin Morote * @license MIT */ let k;const y=e=>k=e,E=Symbol();function N(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var V,b;(b=V||(V={})).direct="direct",b.patchObject="patch object",b.patchFunction="patch function";const C=()=>{};function _(t,a,n,o=C){t.push(a);const l=()=>{const e=t.indexOf(a);e>-1&&(t.splice(e,1),o())};return!n&&e.getCurrentScope()&&e.onScopeDispose(l),l}function x(e,...t){e.slice().forEach((e=>{e(...t)}))}const S=e=>e();function B(t,a){t instanceof Map&&a instanceof Map&&a.forEach(((e,a)=>t.set(a,e))),t instanceof Set&&a instanceof Set&&a.forEach(t.add,t);for(const n in a){if(!a.hasOwnProperty(n))continue;const o=a[n],l=t[n];N(l)&&N(o)&&t.hasOwnProperty(n)&&!e.isRef(o)&&!e.isReactive(o)?t[n]=B(l,o):t[n]=o}return t}const T=Symbol();const{assign:I}=Object;function M(t,a,n={},o,l,s){let c;const i=I({actions:{}},n),r={deep:!0};let d,u,m,v=[],p=[];const f=o.state.value[t];let g;function h(a){let n;d=u=!1,"function"==typeof a?(a(o.state.value[t]),n={type:V.patchFunction,storeId:t,events:m}):(B(o.state.value[t],a),n={type:V.patchObject,payload:a,storeId:t,events:m});const l=g=Symbol();e.nextTick().then((()=>{g===l&&(d=!0)})),u=!0,x(v,n,o.state.value[t])}s||f||(o.state.value[t]={}),e.ref({});const w=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{I(e,t)}))}:C;function k(e,a){return function(){y(o);const n=Array.from(arguments),l=[],s=[];function c(e){l.push(e)}function i(e){s.push(e)}let r;x(p,{args:n,name:e,store:b,after:c,onError:i});try{r=a.apply(this&&this.$id===t?this:b,n)}catch(d){throw x(s,d),d}return r instanceof Promise?r.then((e=>(x(l,e),e))).catch((e=>(x(s,e),Promise.reject(e)))):(x(l,r),r)}}const E={_p:o,$id:t,$onAction:_.bind(null,p),$patch:h,$reset:w,$subscribe(a,n={}){const l=_(v,a,n.detached,(()=>s())),s=c.run((()=>e.watch((()=>o.state.value[t]),(e=>{("sync"===n.flush?u:d)&&a({storeId:t,type:V.direct,events:m},e)}),I({},r,n))));return l},$dispose:function(){c.stop(),v=[],p=[],o._s.delete(t)}},b=e.reactive(E);o._s.set(t,b);const M=(o._a&&o._a.runWithContext||S)((()=>o._e.run((()=>(c=e.effectScope()).run(a)))));for(const y in M){const a=M[y];if(e.isRef(a)&&(z=a,!e.isRef(z)||!z.effect)||e.isReactive(a))s||(!f||N(P=a)&&P.hasOwnProperty(T)||(e.isRef(a)?a.value=f[y]:B(a,f[y])),o.state.value[t][y]=a);else if("function"==typeof a){const e=k(y,a);M[y]=e,i.actions[y]=a}}var P,z;return I(b,M),I(e.toRaw(b),M),Object.defineProperty(b,"$state",{get:()=>o.state.value[t],set:e=>{h((t=>{I(t,e)}))}}),o._p.forEach((e=>{I(b,c.run((()=>e({store:b,app:o._a,pinia:o,options:i}))))})),f&&s&&n.hydrate&&n.hydrate(b.$state,f),d=!0,u=!0,b}function P(t,a,n){let o,l;const s="function"==typeof a;function c(t,n){const c=e.hasInjectionContext();(t=t||(c?e.inject(E,null):null))&&y(t),(t=k)._s.has(o)||(s?M(o,a,l,t):function(t,a,n,o){const{state:l,actions:s,getters:c}=a,i=n.state.value[t];let r;r=M(t,(function(){i||(n.state.value[t]=l?l():{});const a=e.toRefs(n.state.value[t]);return I(a,s,Object.keys(c||{}).reduce(((a,o)=>(a[o]=e.markRaw(e.computed((()=>{y(n);const e=n._s.get(t);return c[o].call(e,e)}))),a)),{}))}),a,n,0,!0)}(o,l,t));return t._s.get(o)}return"string"==typeof t?(o=t,l=s?n:a):(l=t,o=t.id),c.$id=o,c}const z=new class{constructor(){this.ws=null,this.url="wss://cloud.yuxindazhineng.com/chat",this.options={token:"",conversationId:"",onMessage:null,onError:null,onReconnect:null,onOpen:null,onClose:null},this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=3e3,this.reconnectTimer=null,this.heartbeatTimer=null,this.isManualClose=!1}connect(e={}){this.options={...this.options,...e},this.isManualClose=!1,this.ws&&this.close();try{this.ws=uni.connectSocket({url:this.url,success:()=>{t("log","at utils/socket.js:42","WebSocket 连接请求已发送")},fail:e=>{t("error","at utils/socket.js:45","WebSocket 连接失败:",e),this.handleError(e)}}),this.initEventHandlers()}catch(a){this.handleError(a)}}initEventHandlers(){this.ws&&(this.ws.onOpen((e=>{var a,n,o,l;t("log","at utils/socket.js:72","WebSocket 已连接"),this.reconnectAttempts>0&&(null==(n=(a=this.options).onReconnect)||n.call(a)),null==(l=(o=this.options).onOpen)||l.call(o,e),this.reconnectAttempts=0})),this.ws.onMessage((e=>{try{const a=JSON.parse(e.data);t("log","at utils/socket.js:85","收到了返回消息:",a),this.handleMessage(a)}catch(a){t("error","at utils/socket.js:89","消息解析失败:",a),uni.setStorageSync("currentSessionId",e.data.task_call_id)}})),this.ws.onError((e=>{t("error","at utils/socket.js:94","WebSocket 错误:",e),this.handleError(e)})),this.ws.onClose((e=>{var a,n;t("log","at utils/socket.js:98","WebSocket 已关闭:",e.code,e.reason),null==(n=(a=this.options).onClose)||n.call(a,e),this.stopHeartbeat(),!this.isManualClose&&this.reconnectAttempts{if(!this.isConnected())return void n(new Error("WebSocket 未连接"));const o=JSON.stringify(e);t("log","at utils/socket.js:187","发送的消息是:",o),this.ws.send({data:o,success:()=>a(),fail:e=>{t("error","at utils/socket.js:195","发送消息失败:",e),n(e)}})}))}reconnect(){this.reconnectTimer||(this.reconnectAttempts++,t("log","at utils/socket.js:221",`尝试重连 (${this.reconnectAttempts}/${this.maxReconnectAttempts})...`),this.reconnectTimer=setTimeout((()=>{this.reconnectTimer=null,this.isManualClose||this.connect(this.options)}),this.reconnectDelay*this.reconnectAttempts))}startHeartbeat(){this.stopHeartbeat(),this.heartbeatTimer=setInterval((()=>{this.isConnected()?this.send({ws_event:"ping"}).catch((()=>{t("log","at utils/socket.js:243","心跳发送失败,准备重连"),this.reconnectTimer||this.isManualClose||this.reconnect()})):!this.isManualClose&&this.reconnectAttemptst("log","at utils/socket.js:329","连接已关闭"),fail:e=>t("error","at utils/socket.js:330","关闭失败:",e)})}catch(e){t("error","at utils/socket.js:338","关闭连接出错:",e)}this.ws=null}this.reconnectAttempts=0}updateOptions(e){this.options={...this.options,...e}}},j=P("socket",(()=>{const a=e.ref("disconnected"),n=e.ref([]),o=e.ref(""),l=e.ref({token:"",conversationId:""}),s=e.ref(""),c=e.ref([]),i=e.ref(20),r=e.computed((()=>"connected"===a.value)),d=e.computed((()=>"connecting"===a.value)),u=e.computed((()=>"disconnected"===a.value)),m=e.computed((()=>"error"===a.value)),v=e.computed((()=>n.value[n.value.length-1]));function p(e,a){const n=new Date,o=`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}:${n.getSeconds().toString().padStart(2,"0")}`;c.value.push({type:e,connect:a,time:o}),c.value.length>i.value&&(c.value=c.value.slice(-i.value)),t("log","at stores/socket.js:49",`[${e.toUpperCase()}] ${a}`)}function f(){z.close(),a.value="disconnected",p("warn","已主动断开连接")}function g(){a.value="connected",p("success","连接成功!")}function h(){"disconnected"!==a.value&&(a.value="disconnected",p("warn","连接已断开"))}function w(e){p("error",`Socket错误: ${JSON.stringify(e)}`),a.value="error"}function k(e){a.value="connecting",p("warn",`重连中... (${e}/5)`)}function y(e){p("receive",`收到: ${JSON.stringify(e)}`);const{ws_event:a,queue:n,data:c}=e||{};switch((null==c?void 0:c.task_call_id)&&(s.value=c.task_call_id,uni.setStorageSync("taskCallId",c.task_call_id)),a){case"connect":p("success","连接成功"),function(e){const{ws_event:t,queue:a,data:n}=e||{};(null==n?void 0:n.task_call_id)&&z.send({ws_event:"message",data:{task_call_id:s.value,token:l.value.token,conversation_id:l.value.conversationId}})}(e);break;case"disconnect":p("warn","收到服务端断开指令"),f();break;case"message":!function(e){const{ws_event:a,queue:n,data:l}=e,c=(null==l?void 0:l.content)||(null==l?void 0:l.chunk)||"";if("list_tools"===(null==l?void 0:l.cmd)||"catalog"===(null==l?void 0:l.cmd))return z.send({ws_event:"message",data:{task_call_id:s.value,result:{tools:[]}}}),void p("info",`调用工具: ${null==l?void 0:l.module}`);"message"===a&&"render"===n&&(o.value+=c,l.task_call_id&&z.send({ws_event:"message",data:{task_call_id:s.value}}).catch((e=>t("error","at stores/socket.js:230","发送确认失败:",e))))}(e);break;default:p("info",`未知事件类型: ${a}`)}}return{connectionStatus:a,messageString:o,logs:c,config:l,isConnected:r,isConnecting:d,isDisconnected:u,isError:m,lastMessage:v,connect:function(e={}){n.value=[],o.value="",l.value={...l.value,...e},p("info",`准备连接WebSocket。Token:${l.value.token||"未设置"}。ConversationId: ${l.value.conversationId||"未设置"}`),l.value.token&&l.value.conversationId?(a.value="connecting",z.connect({token:l.value.token,conversationId:l.value.conversationId,onMessage:y,onError:w,onOpen:g,onClose:h,onReconnect:k}),setTimeout((()=>{"connecting"===a.value&&(a.value="error",p("error","连接超时(10s)"))}),1e4)):p("error","Token和ConversationId都不能为空")},disconnect:f,send:async function(e){if(!r.value)throw p("error","发送失败: 连接未建立"),new Error("连接未建立");try{return await z.send(e),p("send","string"==typeof e?e:JSON.stringify(e)),!0}catch(t){throw p("error",`发送失败: ${t.message||t}`),t}},addLog:p,clearLogs:function(){c.value=[]},getStatusText:function(){return{connecting:"连接中",connected:"已连接",disconnected:"未连接",error:"连接错误"}[a.value]||"未知状态"}}})),$="http://chat.yuxindazhineng.com",D=async e=>new Promise(((a,n)=>{uni.request({url:`${$}/api/chatList/getChatFriend`,method:"POST",header:{"Content-Type":"application/json"},data:{size:500,current:1,sendId:e},success:e=>{var o;if(200===e.statusCode){const l=e.data;if(t("log","at utils/friend-api.js:20","获取到的好友列表消息",l),0===(null==l?void 0:l.code)||"成功"===(null==l?void 0:l.msg)){const e=null==(o=l.data)?void 0:o.records;if(e.length>0){const t=e[0].receiver;t&&uni.setStorageSync("receiverId",t)}a(e)}else{const t=e.data.error||"获取好友列表出错啦";n(t)}}else n(`获取好友列表失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})})),L=async e=>new Promise(((t,a)=>{uni.request({url:`${$}/api/group/getGroup`,method:"POST",header:{"Content-Type":"application/json"},data:{size:500,current:1,contactId:e},success:e=>{var n;if(200===e.statusCode){const o=e.data;if(0===(null==o?void 0:o.code)||"成功"===(null==o?void 0:o.msg)){const e=null==(n=o.data)?void 0:n.records;t(e)}else{const t=e.data.error||"获取群聊列表出错啦";a(t)}}else a(`获取群聊列表失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";a(t)}})}));const F=new class{constructor(){this.ws=null,this.url="ws://wss.yuxindazhineng.com/ws",this.options={token:"",UserId:"",onMessage:null,onError:null,onReconnect:null,onOpen:null,onClose:null},this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=3e3,this.reconnectTimer=null,this.heartbeatTimer=null,this.isManualClose=!1}connect(e={}){this.options={...this.options,...e},this.isManualClose=!1,this.ws&&this.close();try{this.ws=uni.connectSocket({url:this.url,success:()=>{t("log","at utils/friend-socket.js:44","WebSocket 连接请求已发送")},fail:e=>{t("error","at utils/friend-socket.js:47","WebSocket 连接失败:",e),this.handleError(e)}}),this.initEventHandlers()}catch(a){this.handleError(a)}}initEventHandlers(){this.ws&&(this.ws.onOpen((e=>{var a,n,o,l;t("log","at utils/friend-socket.js:74","WebSocket 已连接"),this.reconnectAttempts>0&&(null==(n=(a=this.options).onReconnect)||n.call(a)),null==(l=(o=this.options).onOpen)||l.call(o,e),this.reconnectAttempts=0})),this.ws.onMessage((e=>{try{const a=JSON.parse(e.data);t("log","at utils/friend-socket.js:87","收到了返回消息:",a),this.handleMessage(a)}catch(a){t("error","at utils/friend-socket.js:90","消息解析失败:",a),uni.setStorageSync("currentSessionId",e.data.task_call_id)}})),this.ws.onError((e=>{t("error","at utils/friend-socket.js:95","WebSocket 错误:",e),this.handleError(e)})),this.ws.onClose((e=>{var a,n;t("log","at utils/friend-socket.js:99","WebSocket 已关闭:",e.code,e.reason),null==(n=(a=this.options).onClose)||n.call(a,e),!this.isManualClose&&this.reconnectAttempts{if(!this.isConnected())return void n(new Error("WebSocket 未连接"));const o=JSON.stringify(e);t("log","at utils/friend-socket.js:170","发送的消息是:",o),this.ws.send({data:o,success:()=>a(),fail:e=>{t("error","at utils/friend-socket.js:178","发送消息失败:",e),n(e)}})}))}reconnect(){this.reconnectTimer||(this.reconnectAttempts++,t("log","at utils/friend-socket.js:204",`尝试重连 (${this.reconnectAttempts}/${this.maxReconnectAttempts})...`),this.reconnectTimer=setTimeout((()=>{this.reconnectTimer=null,this.isManualClose||this.connect(this.options)}),this.reconnectDelay*this.reconnectAttempts))}startHeartbeat(){this.stopHeartbeat(),this.heartbeatTimer=setInterval((()=>{this.isConnected()?this.send({ws_event:"ping"}).catch((()=>{t("log","at utils/friend-socket.js:226","心跳发送失败,准备重连"),this.reconnectTimer||this.isManualClose||this.reconnect()})):!this.isManualClose&&this.reconnectAttemptst("log","at utils/friend-socket.js:312","连接已关闭"),fail:e=>t("error","at utils/friend-socket.js:313","关闭失败:",e)})}catch(e){t("error","at utils/friend-socket.js:321","关闭连接出错:",e)}this.ws=null}this.reconnectAttempts=0}updateOptions(e){this.options={...this.options,...e}}},A=P("friendSocket",(()=>{const a=e.ref("disconnected"),n=e.ref([]),o=e.ref(""),l=e.ref({token:"",UserId:""});e.ref("");const s=e.ref(null),c=e.ref(null),i=e.ref(!1),r=e.ref([]),d=e.ref(20),u=e.computed((()=>"connected"===a.value)),m=e.computed((()=>"connecting"===a.value)),v=e.computed((()=>"disconnected"===a.value)),p=e.computed((()=>"error"===a.value)),f=e.computed((()=>n.value[n.value.length-1]));function g(e,a){const n=new Date,o=`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}:${n.getSeconds().toString().padStart(2,"0")}`;r.value.push({type:e,connect:a,time:o}),r.value.length>d.value&&(r.value=r.value.slice(-d.value)),t("log","at stores/friend-socket.js:57",`[${e.toUpperCase()}] ${a}`)}async function h(){const e={version:"1.1",body:{command:7,sender:(t("log","at utils/user-info.js:50","用户Id(UserId)",uni.getStorageSync("userId")),uni.getStorageSync("userId")),avatar:"",sessionId:"",message:"",callBackMessage:!1}};try{return await F.send(e),g("send","string"==typeof e?e:JSON.stringify(e)),!0}catch(a){throw g("error",`发送验证失败: ${a.message||a}`),a}}function w(){a.value="connected",g("success","连接成功!"),h()}function k(){"disconnected"!==a.value&&(a.value="disconnected",g("warn","连接已断开"))}function y(e){g("error",`Socket错误: ${JSON.stringify(e)}`),a.value="error"}function E(e){a.value="connecting",g("warn",`重连中... (${e}/5)`)}function N(e){g("receive",`收到: ${JSON.stringify(e)}`);const a=e.body||e,{callBackMessage:n,groupName:o,command:l,groupId:r}=a||{};switch(l){case 3:s.value=l,c.value=r;break;case 7:s.value=l;break;case 1:t("log","at stores/friend-socket.js:199","有好友消息"),i.value=!0;break;case 9:t("log","at stores/friend-socket.js:204","群消息发送成功/有新群消息"),i.value=!0;break;default:g("info","未知事件类型")}}return{connectionStatus:a,messageString:o,logs:r,config:l,command:s,groupId:c,MessageReceived:i,isConnected:u,isConnecting:m,isDisconnected:v,isError:p,lastMessage:f,connect:function(e={}){n.value=[],o.value="",l.value={...l.value,...e},g("info",`准备连接FriendsWebSocket。Token:${l.value.token||"未设置"}。UserId: ${l.value.UserId||"未设置"}`),l.value.token&&l.value.UserId?(a.value="connecting",F.connect({token:l.value.token,UserId:l.value.UserId,onMessage:N,onError:y,onOpen:w,onClose:k,onReconnect:E}),setTimeout((()=>{"connecting"===a.value&&(a.value="error",g("error","连接超时(10s)"))}),1e4)):g("error","Token和UserId都不能为空")},disconnect:function(){F.close(),a.value="disconnected",g("warn","已主动断开连接")},send:async function(e){if(!u.value)throw g("error","发送失败: 连接未建立"),new Error("连接未建立");try{return await F.send(e),g("send","string"==typeof e?e:JSON.stringify(e)),!0}catch(t){throw g("error",`发送失败: ${t.message||t}`),t}},addLog:g,clearLogs:function(){r.value=[]},getStatusText:function(){return{connecting:"连接中",connected:"已连接",disconnected:"未连接",error:"连接错误"}[a.value]||"未知状态"}}})),O=uni.requireUTSPlugin("uni_modules/lime-choose-file"),U=c({__name:"Chat",setup(c){const i=A(),r=()=>{i.isConnected||(q.value&&W.value?i.connect({token:q.value,UserId:W.value}):t("warn","at pages/Chat/Chat.vue:242","Token或UserId未准备好"))},v=j(),f=e.ref(0),g=e=>{if(!e)return"";e=h(e);try{return w(e)}catch(a){return t("error","at pages/Chat/Chat.vue:279","解析失败",a),e}},h=e=>{const t=/]*>([\s\S]*?)<\/script>/i.test(e),a=/<(form|input|select|textarea|button)\b[^>]*>/i.test(e);let n=e.replace(/]*>([\s\S]*?)<\/script>/gi,"");if(n=n.replace(/<\/?minimax:tool_call>/g,(e=>e.replace(//g,">"))).replace(/<\|[\w]+?\|>/g,(e=>e.replace(//g,">"))),t||a){return'

    表单仅预览,不可操作!!!

    '+n}return n},k=async()=>{try{const e="0123456789abcdef";let t="";for(let o=0;o<24;o++)t+=e[Math.floor(Math.random()*e.length)];const a=await(async(e,t)=>new Promise(((a,n)=>{uni.request({url:`${o}/create_workspace`,method:"POST",data:{access_token:e,name:t},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const t=e.data.workspace_id;if(t)a(t);else{const t=e.data.error||"创建工作区id出错啦";n(t)}}else n(`创建工作区id失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})})))(q.value,t);if(!a)return void uni.showToast({title:"工作区创建失败",icon:"none"});const n=uni.getStorageSync("yxd_login_info");let l="";n&&(l=n.username||"");const s=await(async(e,t,a,n)=>new Promise(((l,s)=>{uni.request({url:`${o}/create_conversation`,method:"POST",data:{access_token:e,workspace_id:t,title:a,sender:n},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const t=e.data.conversation_id;if(t)l(t);else{const t=e.data.error||"创建新对话id出错啦";s(t)}}else s(`创建新对话失败:${e.statusCode}`)}})})))(q.value,a,"新会话",l);if(!s)return void uni.showToast({title:"新会话创建失败",icon:"none"});G()}catch(e){t("error","at pages/Chat/Chat.vue:373","新建普通会话失败:",e),uni.showToast({title:"创建会话失败,请重试",icon:"none"})}},y=e.ref(!1),E=()=>{y.value=!1},N=e.ref(!1),V=()=>{N.value=!N.value},b=()=>{uni.navigateTo({url:"/pages/WorkSpace/WorkSpace"})},C=()=>{uni.reLaunch({url:"/pages/Login/Login"})},_=e.ref([]),x=()=>{t("log","at pages/Chat/Chat.vue:407","点击了拍照上传"),uni.chooseImage({count:1,sourceType:["camera","album"],success:e=>{const t=e.tempFiles,a=e.tempFilePaths;t.forEach(((e,t)=>{_.value.push({path:a[t],name:e.name||`photo_${Date.now()}_${t}.jpg`,size:e.size,type:"image",tempFile:e})}))},fail:e=>{t("error","at pages/Chat/Chat.vue:425","选择图片失败",e)}})},S=e.ref([]),B=e.ref(!1),T=()=>{0===f.value&&P(),1===f.value&&I(),2===f.value&&M()},I=async()=>{i.isConnecting||await r();const e=uni.getStorageSync("receiverId"),t={version:"1.1",body:{command:1,sender:W.value,receiver:e,avatar:"",sessionId:R.value,message:F.value,callBackMessage:!1}};i.send(t);const a={sender:W.value,receiver:e,content:F.value,taskId:null,avatar:null,createTime:"",messageType:"null",contentJson:"null"};te.value=[...te.value,a],F.value="",setTimeout((()=>{se()}),1e3)},M=async()=>{i.isConnecting||await r();const e={version:"1.1",body:{command:9,sender:W.value,groupId:R.value,message:F.value,callBackMessage:!0,messageType:0}};i.send(e);const t={id:te.value.length+1,message:F.value,messageType:0,groupId:null,createTime:"",contentJson:"",sender:W.value};te.value=[...te.value,t],F.value="",setTimeout((()=>{ce()}),1e3)},P=async()=>{try{v.isConnected||v.connect({token:q.value,conversationId:R.value});await(async(e,t,a,n)=>new Promise(((l,s)=>{uni.request({url:`${o}/add_message_dict`,method:"POST",data:{access_token:e,conversation_id:a,message:{role:t,content:n}},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const t=e.data.message_id;if(t)l(t);else{const t=e.data.error||"用户发送消息出错啦";s(t)}}else s(`用户发送失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";s(t)}})})))(q.value,"user",R.value,F.value)&&(F.value="",B.value=!0),await z()}catch(e){B.value=!1,uni.showToast({title:`用户发送消息失败${e}`,icon:"error"})}},z=()=>new Promise(((a,n)=>{const o=setTimeout((()=>{n(new Error("等待AI回复超时"))}),18e4),l=e.watch((()=>v.isDisconnected),(async e=>{if(t("log","at pages/Chat/Chat.vue:597","创建一个一次性监听器"),e&&v.messageString){t("log","at pages/Chat/Chat.vue:599","ai返回的消息:",v.messageString);try{t("log","at pages/Chat/Chat.vue:601","检测到socket断开,刷新消息列表"),await le(),l(),clearTimeout(o),a()}catch(s){t("error","at pages/Chat/Chat.vue:609","保存AI回复失败:",s),n(s)}finally{B.value=!1,l(),clearTimeout(o)}}}))})),F=e.ref(""),U=e.ref([]),R=e.ref(""),q=e.ref(""),W=e.ref(""),H=e.ref(""),J=e.ref(null),G=async()=>{try{q.value=u(),t("log","at pages/Chat/Chat.vue:650","token:",q.value),U.value=await(async e=>new Promise(((t,a)=>{uni.request({url:`${o}/get_user_conversations`,method:"POST",data:{access_token:e},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const a=e.data.conversations;t(a)}else a(`请求失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";a(t)}})})))(q.value)||[],t("log","at pages/Chat/Chat.vue:652","UserConversations:",U.value),U.value.length>0?R.value=U.value[0]._id:R.value="",t("log","at pages/Chat/Chat.vue:660","保存会话id:",R.value),uni.setStorageSync("currentSessionId",R.value)}catch(e){uni.showToast({title:`获取会话列表失败${e}`,icon:"error"})}},K=e.ref([]),X=e=>{if(!e)return null;const t=K.value.find((t=>t.receiver===e));return(null==t?void 0:t.avatar)||null},Y=async e=>{if(!(null==e?void 0:e.length))return[];try{const t=e.map((e=>e.receiver)),a=await s(q.value,t),n=new Map(a.map((e=>[e.user_id,e]))||[]);return e.map((e=>{const t=n.get(e.receiver);return{...e,avatar:(null==t?void 0:t.avatar)||null}}))}catch(a){return t("error","at pages/Chat/Chat.vue:716","获取好友头像失败",a),e}},Q=e.ref([]),Z=e.ref([]),ee=e=>{if(!e)return null;const t=Z.value.find((t=>t.groupContactId===e));return(null==t?void 0:t.avatar)||null},te=e.ref([]),ae=e.ref("");e.ref(!1);const ne=e.ref(1),oe=e.computed((()=>te.value.slice(-100))),le=async()=>{try{te.value=await(async(e,t)=>new Promise(((a,n)=>{uni.request({url:`${o}/get_conversation_messages`,method:"POST",data:{access_token:e,conversation_id:t},header:{"Content-Type":"application/json"},success:e=>{if(200===e.statusCode){const t=e.data;if(t)uni.setStorageSync("workspace_id",t.workspace_id),a(t.messages);else{const t=e.data.error||"获取消息出错啦";n(t)}}else n(`请求失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})})))(q.value,R.value)||[],de()}catch(e){uni.showToast({title:`获取ai会话内容失败${e}`,icon:"none"})}},se=async()=>{try{te.value=await(async(e,a=1)=>(t("log","at utils/friend-api.js:88","请求的好友消息id:",e),new Promise(((t,n)=>{uni.request({url:`${$}/api/message/list`,method:"POST",data:{sessionId:e,size:100,current:a,beginTime:"",endTime:""},header:{"Content-Type":"application/json"},success:e=>{var a;if(200===e.statusCode){const o=e.data;if(0===o.code){const e=((null==(a=null==o?void 0:o.data)?void 0:a.records)||[]).reverse();t(e)}else{const t=e.data.error||"获取好友消息出错啦";n(t)}}else n(`请求失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";n(t)}})}))))(R.value)||[],t("log","at pages/Chat/Chat.vue:807","好友消息:",JSON.stringify(te.value)),de()}catch(e){uni.showToast({title:`获取好友会话消息失败${e}`,icon:"none"})}},ce=async()=>{try{te.value=await(async(e,a=1)=>(t("log","at utils/friend-api.js:134","请求的群聊消息id:",e),new Promise(((n,o)=>{uni.request({url:`${$}/api/group/getGroupList`,method:"POST",data:{current:a,size:100,groupId:e,beginTime:"",endTime:""},header:{"Content-Type":"application/json"},success:e=>{var a;if(200===e.statusCode){const l=e.data;if(t("log","at utils/friend-api.js:152","获取到的群聊信息:",l),0===l.code){const e=((null==(a=null==l?void 0:l.data)?void 0:a.records)||[]).reverse();n(e)}else{const t=e.data.error||"获取群聊消息出错啦";o(t)}}else o(`请求失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";o(t)}})}))))(R.value)||[],t("log","at pages/Chat/Chat.vue:820","群聊消息:",te.value);const e=await(async e=>new Promise(((t,a)=>{uni.request({url:`${$}/api/group/getGroupMemberList`,method:"POST",header:{"Content-Type":"application/json"},data:{groupId:e,current:1,size:100},success:e=>{if(200===e.statusCode){const n=e.data;if(0===n.code){const e=n.data.records;t(e)}else{const t=e.data.error||"获取群成员出错啦";a(t)}}else a(`请求群成员失败:${e.statusCode}`)},fail:e=>{const t=e.errMsg||"网络错误";a(t)}})})))(R.value);t("log","at pages/Chat/Chat.vue:823","获取到的群成员列表:",e),e&&e.length?(Z.value=await(async e=>{if(!(null==e?void 0:e.length))return[];try{const a=e.map((e=>e.groupContactId));t("log","at pages/Chat/Chat.vue:745","请求头像的ID列表:",a);const n=await s(q.value,a);t("log","at pages/Chat/Chat.vue:747","头像接口返回数据:",n);const o=new Map(n.map((e=>[e.user_id,e]))||[]);return t("log","at pages/Chat/Chat.vue:750","userMap的keys:",Array.from(o.keys())),e.map((e=>{const a=e.groupContactId,n=o.get(a);return t("log","at pages/Chat/Chat.vue:755",`查找 ${a} 的头像:`,n),{...e,avatar:(null==n?void 0:n.avatar)||null}}))}catch(a){return t("error","at pages/Chat/Chat.vue:762","获取群成员头像失败",a),e}})(e),t("log","at pages/Chat/Chat.vue:826","群成员列表(带头像):",Z.value)):Z.value=[],de()}catch(e){uni.showToast({title:`获取群聊会话失败${e}`,icon:"none"})}},ie=async()=>{if(t("log","at pages/Chat/Chat.vue:841","加载更多信息"),te.value.length>100*ne.value){ne.value+=1;const t=te.value.slice(-100*ne.value),a=t.length-oe.value.length;oe.value=t,await e.nextTick(),ae.value="msg-"+(a+1)}},re=e=>{},de=async()=>{await e.nextTick(),oe.value.length>0&&(ae.value="msg-"+(oe.value.length-1))};return e.watch((()=>i.MessageReceived),(e=>{if(t("log","at pages/Chat/Chat.vue:869","收到了好友消息"),e)switch(t("log","at pages/Chat/Chat.vue:871","ChatType:",f.value),f.value){case 0:le(),i.MessageReceived=!1;break;case 1:se(),i.MessageReceived=!1;break;case 2:ce(),i.MessageReceived=!1;break;default:t("log","at pages/Chat/Chat.vue:887","default 分支"),i.MessageReceived=!1}}),{immediate:!0}),e.watch(R,(e=>{if(e)switch(uni.setStorageSync("currentSessionId",R.value),f.value){case 0:default:le();break;case 1:se();break;case 2:ce()}}),{immediate:!0}),e.onMounted((()=>{})),n((async()=>{await(async()=>{try{q.value=u(),J.value=await l(q.value),W.value=J.value._id,H.value=J.value.avatar||"",t("log","at pages/Chat/Chat.vue:640","用户信息已加载:",W.value,H.value)}catch(e){t("error","at pages/Chat/Chat.vue:642","获取用户信息失败:",e)}})();const e=uni.getStorageSync("chatType");f.value=e;const a=m();a&&(R.value=a),0===e?(await G(),R.value&&le()):1===e?(await(async()=>{try{t("log","at pages/Chat/Chat.vue:675","开始获取好友列表");const e=await D(W.value);t("log","at pages/Chat/Chat.vue:678","friendList:",e),e&&e.length?K.value=await Y(e):(K.value=[],t("log","at pages/Chat/Chat.vue:683","好友列表为空"))}catch(e){t("error","at pages/Chat/Chat.vue:686","获取好友列表失败:",e),K.value=[]}finally{U.value=K.value}})(),se(),r()):2===e&&(await(async()=>{try{t("log","at pages/Chat/Chat.vue:726","开始获取群聊列表"),Q.value=await L(W.value)}catch(e){t("error","at pages/Chat/Chat.vue:731","获取群聊列表失败:",e),Q.value=[]}finally{U.value=Q.value}})(),await r(),await ce())})),(n,o)=>{const l=a(e.resolveDynamicComponent("uni-icons"),d);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("view",{class:"status-bar"}),y.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"ncd-overlay",onClick:E},[e.createElementVNode("view",{class:"ncd-card",onClick:o[0]||(o[0]=e.withModifiers((()=>{}),["stop"]))},[e.createElementVNode("view",{class:"ncd-header"},[e.createElementVNode("view",{class:"ncd-title-eng"},[e.createElementVNode("text",null,"NEW")]),e.createElementVNode("text",{class:"ncd-title-zh"},"创建对话"),e.createVNode(l,{type:"closeempty",color:"#ff0000",size:"24",onClick:E})]),e.createElementVNode("text",null,"选择对话类型,开启全新会话体验"),e.createElementVNode("view",{class:"ncd-options"},[e.createElementVNode("view",{class:"ncd-option ncd-normal"},[e.createElementVNode("view",{class:"ncd-opt-icon"},[e.createVNode(l,{type:"chat",color:"#000000",size:"30"})]),e.createElementVNode("view",{class:"ncd-opt-title",onClick:k},[e.createElementVNode("view",{class:"ncd-opt-title-1"},"普通会话"),e.createElementVNode("view",{class:"ncd-opt-title-2"},"与AI自由对话,探索任何话题")]),e.createVNode(l,{type:"arrow-right",class:"arrow-right-style"})]),e.createElementVNode("view",{class:"ncd-option ncd-intelligence"},[e.createElementVNode("view",{class:"ncd-opt-icon"},[e.createVNode(l,{type:"star",color:"#ffffff",size:"30"})]),e.createElementVNode("view",{class:"ncd-opt-title"},[e.createElementVNode("view",{class:"ncd-opt-title-1"},"智能体会话"),e.createElementVNode("view",{class:"ncd-opt-title-2"},"选择专属智能体,获得精准专业服务")]),e.createVNode(l,{type:"arrow-right",class:"arrow-right-style"})])])])])):e.createCommentVNode("",!0),B.value?(e.openBlock(),e.createElementBlock("view",{key:1,class:"ncd-overlay",onClick:E},[e.createElementVNode("view",{class:"ncd-card ai-card",onClick:o[1]||(o[1]=e.withModifiers((()=>{}),["stop"]))},[e.createElementVNode("view",{class:"thinking-content"},[e.createElementVNode("view",{class:"loading-dots"},[e.createElementVNode("view",{class:"dot"}),e.createElementVNode("view",{class:"dot"}),e.createElementVNode("view",{class:"dot"})]),e.createElementVNode("text",{class:"thinking-text"},"AI 正在思考中...")])])])):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"chat-page page-container"},[N.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"mask",onClick:V})):e.createCommentVNode("",!0),e.createElementVNode("view",{class:e.normalizeClass(["chat-sidebar",{"sidebar-show":N.value}])},[e.createVNode(p,{chatList:U.value,showNewChatModal:y.value,"onUpdate:showNewChatModal":o[2]||(o[2]=e=>y.value=e),currentSessionId:R.value,"onUpdate:currentSessionId":o[3]||(o[3]=e=>R.value=e),chatType:f.value,"onUpdate:chatType":o[4]||(o[4]=e=>f.value=e),onRefreshConversations:G},null,8,["chatList","showNewChatModal","currentSessionId","chatType"])],2),e.createElementVNode("view",{class:"chat-wrapper"},[e.createElementVNode("view",{class:"chat-hearder"},[e.createElementVNode("view",{class:"chat-btn-group"},[e.createElementVNode("view",{class:"head-btn",onClick:V},[e.createElementVNode("view",{class:"iconfont icon-caidan"})]),e.createElementVNode("view",{class:"head-btn",onClick:b},[e.createElementVNode("view",{class:"iconfont icon-wenjianjia"})]),e.createElementVNode("view",{class:"head-btn log-out",onClick:C},[e.createElementVNode("view",{class:"iconfont icon-tuichu"})])])]),e.createElementVNode("view",{class:"main-chat"},[e.createElementVNode("scroll-view",{class:"chat-messages",direction:"vertical","scroll-y":"","scroll-into-view":ae.value,onScrolltoupper:ie,"upper-threshold":0,"scroll-with-animation":!0,onScroll:re},[0===f.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(oe.value,((t,a)=>{var n;return e.openBlock(),e.createElementBlock("view",{class:e.normalizeClass(["chat-message",{"message-user":"user"===t.role}]),key:a,id:"msg-"+a},["user"===t.role?(e.openBlock(),e.createElementBlock("view",{key:0,class:e.normalizeClass(["chat-avatar",{"chat-avatar-user":"user"===t.role}])},["user"===t.role&&(null==(n=J.value)?void 0:n.avatar)?(e.openBlock(),e.createElementBlock("image",{key:0,src:J.value.avatar,class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):(e.openBlock(),e.createElementBlock("view",{key:1,class:"iconfont icon-yonghuziliao"}))],2)):e.createCommentVNode("",!0),t.content&&""!==String(t.content).trim()?(e.openBlock(),e.createElementBlock("view",{key:1,class:e.normalizeClass(["chat-content",{"chat-content-user":"user"===t.role}])},[e.createElementVNode("view",{innerHTML:g(t.content)},null,8,["innerHTML"])],2)):e.createCommentVNode("",!0)],10,["id"])})),128)):e.createCommentVNode("",!0),1===f.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(oe.value,((t,a)=>{var n;return e.openBlock(),e.createElementBlock("view",{class:e.normalizeClass(["chat-message",{"message-user":t.sender===W.value}]),key:a,id:"msg-"+a},[e.createElementVNode("view",{class:e.normalizeClass(["chat-avatar",{"chat-avatar-user":t.sender===W.value}])},[t.sender===W.value&&(null==(n=J.value)?void 0:n.avatar)?(e.openBlock(),e.createElementBlock("image",{key:0,src:J.value.avatar,class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):X(t.sender)?(e.openBlock(),e.createElementBlock("image",{key:1,src:X(t.sender),class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):(e.openBlock(),e.createElementBlock("view",{key:2,class:"iconfont icon-yonghuziliao"}))],2),t.content&&""!==String(t.content).trim()?(e.openBlock(),e.createElementBlock("view",{key:0,class:e.normalizeClass(["chat-content",{"chat-content-user":t.sender===W.value}])},[e.createElementVNode("view",{innerHTML:g(t.content)},null,8,["innerHTML"])],2)):e.createCommentVNode("",!0)],10,["id"])})),128)):e.createCommentVNode("",!0),2===f.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(oe.value,((t,a)=>{var n;return e.openBlock(),e.createElementBlock("view",{class:e.normalizeClass(["chat-message",{"message-user":t.sender===W.value}]),key:a,id:"msg-"+a},[e.createElementVNode("view",{class:e.normalizeClass(["chat-avatar",{"chat-avatar-user":t.sender===W.value}])},[t.sender===W.value&&(null==(n=J.value)?void 0:n.avatar)?(e.openBlock(),e.createElementBlock("image",{key:0,src:J.value.avatar,class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):Z.value.length>0&&ee(t.sender)?(e.openBlock(),e.createElementBlock("image",{key:1,src:ee(t.sender),class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):(e.openBlock(),e.createElementBlock("view",{key:2,class:"iconfont icon-yonghuziliao"}))],2),e.createElementVNode("view",{class:e.normalizeClass(["chat-content",{"chat-content-user":t.sender===W.value}])},[t.message&&""!==String(t.message).trim()?(e.openBlock(),e.createElementBlock("view",{key:0,innerHTML:g(t.message)},null,8,["innerHTML"])):e.createCommentVNode("",!0),t.contentJson?(e.openBlock(),e.createElementBlock("view",{key:1,class:"message-file-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(JSON.parse(t.contentJson),((t,a)=>{return e.openBlock(),e.createElementBlock("view",{key:a,class:"file-item"},[["jpg","jpeg","png","gif","webp","bmp"].includes(t.extendName.toLowerCase())?(e.openBlock(),e.createElementBlock("image",{key:0,src:t.url,mode:"widthFix",class:"message-image",onClick:e=>{return a=t.url,void uni.previewImage({urls:[a]});var a}},null,8,["src","onClick"])):(e.openBlock(),e.createElementBlock("view",{key:1,class:"message-file",onClick:e=>{return a=t.url,void uni.downloadFile({url:a,success:e=>{uni.openDocument({filePath:e.tempFilePath,showMenu:!0})}});var a}},[e.createElementVNode("view",{class:"file-icon"},"📄"),e.createElementVNode("view",{class:"file-name"},e.toDisplayString(t.name),1),e.createElementVNode("view",{class:"file-size"},e.toDisplayString((n=t.fileSize,n?n<1?(1024*n).toFixed(0)+"KB":n.toFixed(2)+"MB":"0KB")),1)],8,["onClick"]))]);var n})),128))])):e.createCommentVNode("",!0)],2)],10,["id"])})),128)):e.createCommentVNode("",!0)],40,["scroll-into-view"]),e.createElementVNode("view",{class:"chat-interactive-container"},[e.createElementVNode("view",{class:"chat-interactive-group"},[e.createElementVNode("view",{class:"chat-interactive-btn",onClick:x},"拍照上传"),e.createElementVNode("view",{class:"chat-interactive-btn",onClick:o[5]||(o[5]=e=>(t("log","at pages/Chat/Chat.vue:448","点击了上传文件"),void O.chooseFile({count:5,type:"file",success:e=>{S.value=e.tempFiles,_.value.push(...e.tempFiles),uni.showToast({title:`已选择 ${e.tempFiles.length} 个文件`,icon:"success"})},fail:e=>{t("error","at pages/Chat/Chat.vue:463","选择失败:",e),uni.showToast({title:"选择失败",icon:"error"})}})))},"上传文件")]),_.value.length>0?(e.openBlock(),e.createElementBlock("view",{key:0,class:"image-list"},[e.createElementVNode("view",{class:"image-title"},"已选择: ("+e.toDisplayString(_.value.length)+")",1),e.createElementVNode("view",{class:"image-grid"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,((t,a)=>(e.openBlock(),e.createElementBlock("view",{class:"image-item",key:a},[e.createElementVNode("view",{class:"image-info"},[e.createElementVNode("text",{class:"image-name"},e.toDisplayString(t.name),1),e.createElementVNode("text",{class:"delete-btn",onClick:e.withModifiers((e=>(e=>{uni.showModal({title:"提示",content:"确定要删除这张图片吗?",success:t=>{t.confirm&&(_.value.splice(e,1),uni.showToast({title:"删除成功",icon:"success"}))}})})(a)),["stop"])},"删除",8,["onClick"])])])))),128))])])):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"chat-input-container"},[e.withDirectives(e.createElementVNode("textarea",{class:"message-input",placeholder:"输入消息...",onConfirm:T,"confirm-type":"send","onUpdate:modelValue":o[6]||(o[6]=e=>F.value=e),"auto-height":""},null,544),[[e.vModelText,F.value]]),e.createElementVNode("view",{class:"input-btn-group"},[e.createElementVNode("view",{class:"iconfont icon-tingzhi icon-btn"})])])])])])])],64)}}},[["__scopeId","data-v-fb45d58d"]]),R=c({__name:"WorkSpace",setup(n){const o=e.ref(""),l=e.ref("工作区"),s=e.ref(!1),c=e.ref([]),i=()=>{s.value&&(c.value=[]),s.value=!s.value},r=e=>{uni.showModal({title:"重命名",content:"请输入新名称",editable:!0,placeholderText:e.name,success:t=>{t.confirm&&t.content&&updateFolderName(e.id,t.content)}})},u=e=>{uni.showToast({title:"移动功能开发中",icon:"none"})},m=e=>{uni.showModal({title:"提示",content:`确定要删除文件夹"${e.name}"吗?`,success:e=>{e.confirm&&t("log","at pages/WorkSpace/WorkSpace.vue:147","确认删除文件夹")}})},v=e.ref(!1),p=()=>{v.value=!v.value},f=e.ref(""),g=e.ref(!1),h=()=>{g.value=!g.value},w=e.ref({root:[{id:1,name:"文档资料",parentId:"root",children:[{id:11,name:"工作文档",parentId:1,children:[]},{id:12,name:"学习笔记",parentId:1,children:[]},{id:13,name:"合同模板",parentId:1,children:[]}]},{id:2,name:"图片素材",parentId:"root",children:[{id:21,name:"风景图片",parentId:2,children:[]},{id:22,name:"人物照片",parentId:2,children:[]},{id:23,name:"UI图标",parentId:2,children:[]}]},{id:3,name:"视频文件",parentId:"root",children:[{id:31,name:"教程视频",parentId:3,children:[]},{id:32,name:"会议录像",parentId:3,children:[]}]},{id:4,name:"项目代码",parentId:"root",children:[{id:41,name:"前端项目",parentId:4,children:[]},{id:42,name:"后端服务",parentId:4,children:[]}]},{id:5,name:"安装包",parentId:"root",children:[]},{id:6,name:"备份文件",parentId:"root",children:[]},{id:7,name:"临时文件",parentId:"root",children:[]},{id:8,name:"个人收藏",parentId:"root",children:[]}]}),k=e.ref([]),y=e.ref([]),E=()=>{y.value=(()=>{const e=k.value.length>0?k.value[k.value.length-1].id:"root";if("root"===e)return w.value.root||[];const t=(e,a)=>{for(const n of e){if(n.id===a)return n;if(n.children&&n.children.length>0){const e=t(n.children,a);if(e)return e}}return null},a=t(w.value.root,e);return a?a.children:[]})()},N=()=>{s.value?c.value.length===y.value.length?c.value=[]:c.value=y.value.map((e=>e.id)):k.value.length>0?(k.value.pop(),0===k.value.length?(l.value="工作区",o.value=null):(l.value=k.value[k.value.length-1].name,o.value=k.value.length>1?k.value[k.value.length-2].name:"工作区"),E(),f.value="",g.value=!1):uni.navigateBack({delta:1,fail(){t("log","at pages/WorkSpace/WorkSpace.vue:363","返回失败,进入兜底跳转"),uni.reLaunch({url:"/pages/Chat/Chat"})}})};return e.onMounted((()=>{E()})),(t,n)=>{const w=a(e.resolveDynamicComponent("uni-icons"),d);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("view",{class:"status-bar"}),e.createElementVNode("view",{class:"workspace-container page-container"},[e.createElementVNode("view",{class:"workspace-header"},[e.createElementVNode("view",{class:"custom-navbar"},[e.createElementVNode("view",{class:"navbar-left",onClick:n[0]||(n[0]=(...e)=>N&&N(...e))},[e.createElementVNode("view",{class:"iconfont icon-fanhui custom-navbar-icon"}),e.createElementVNode("view",{class:"navbar-before-title workspace-text"},e.toDisplayString(s.value?"全选":o.value),1)]),e.createElementVNode("view",{class:"navbar-title workspace-text"},e.toDisplayString(l.value),1),e.createElementVNode("view",{class:"navbar-right"},[s.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"navbar-right-text workspace-text",onClick:n[1]||(n[1]=e=>i())}," 完成")):(e.openBlock(),e.createElementBlock("view",{key:1,class:e.normalizeClass(["iconfont icon-gengduo",v.value?"menu-open":"custom-navbar-icon"]),onClick:p},null,2))]),v.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"menu-card"},[e.createElementVNode("view",{class:"menu-card-item",onClick:n[2]||(n[2]=e=>{i(),p()})},"选择"),e.createElementVNode("view",{class:"solid-line"}),e.createElementVNode("view",{class:"menu-card-item"},"新建文件夹")])):e.createCommentVNode("",!0)]),e.createElementVNode("view",{class:"search-file-warpper"},[e.createElementVNode("view",{class:"search-file"},[e.createElementVNode("view",{class:"iconfont icon-sousuo"}),e.withDirectives(e.createElementVNode("input",{class:"search-file-input",placeholder:"搜索",onFocus:h,"onUpdate:modelValue":n[3]||(n[3]=e=>f.value=e)},null,544),[[e.vModelText,f.value]])]),g.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"cancel-search",onClick:h},"取消")):e.createCommentVNode("",!0)])]),e.createElementVNode("view",{class:"workspace-content"},[0===y.value.length?(e.openBlock(),e.createElementBlock("view",{key:0,class:"folder-null"},[e.createElementVNode("view",{class:"iconfont icon-wenjianjia"}),e.createTextVNode(" 文件夹为空 ")])):e.createCommentVNode("",!0),y.value.length>0?(e.openBlock(),e.createElementBlock("view",{key:1,class:"folder-grid"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(t=>(e.openBlock(),e.createElementBlock("view",{class:e.normalizeClass(["folder-item",{"select-folder":c.value.includes(t.id)}]),key:t.id,onClick:e=>s.value?(e=>{const t=c.value.indexOf(e);-1!==t?c.value.splice(t,1):c.value.push(e)})(t.id):(e=>{k.value.push({id:e.id,name:e.name}),l.value=e.name,o.value=k.value.length>1?k.value[k.value.length-2].name:"工作区",E(),f.value="",g.value=!1})(t),onLongpress:e=>(e=>{s.value||uni.showActionSheet({itemList:["重命名","删除","下载","压缩"],success:t=>{switch(t.tapIndex){case 0:r(e);break;case 1:m(e);break;case 2:case 3:u()}}})})(t)},[e.createElementVNode("view",{class:"iconfont icon-a-wenjianjiawenjian folder-item-style"}),e.createElementVNode("view",{class:"folder-name"},e.toDisplayString(t.name),1),s.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:e.normalizeClass(["folder-checkbox",{"select-folder":c.value.includes(t.id)}])},[c.value.includes(t.id)?(e.openBlock(),e.createBlock(w,{key:0,type:"checkmarkempty",color:"#fff"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],42,["onClick","onLongpress"])))),128))])):e.createCommentVNode("",!0)]),s.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:e.normalizeClass(["workspace-footer",{"folder-actions":c.value.length>0}])},[e.createElementVNode("view",{class:"iconfont icon-shangchuan"}),e.createElementVNode("view",{class:"iconfont icon-fuzhi"}),e.createElementVNode("view",{class:"iconfont icon-wenjian"}),e.createElementVNode("view",{class:"iconfont icon-del"}),e.createElementVNode("view",{class:"iconfont icon-gengduo"})],2)):e.createCommentVNode("",!0)])],64)}}},[["__scopeId","data-v-ea107472"]]),q=c({__name:"UserProfileModal",setup(n){const o=()=>{uni.navigateBack({url:"/pages/Chat/Chat"})},l=()=>{uni.navigateBack({url:"/pages/Chat/Chat"})},s=e.ref(""),c=e.ref("满满华华"),i=e.ref("08042@hh.com"),r=e.ref(!1),u=e.ref(!1),m=()=>{uni.chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:e=>{const t=e.tempFilePaths[0];v(t)},fail:e=>{t("log","at pages/UserProfileModal/UserProfileModal.vue:81","选择图片失败",e)}})},v=e=>{s.value=e};return(t,n)=>{const v=a(e.resolveDynamicComponent("uni-icons"),d);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("view",{class:"status-bar"}),e.createElementVNode("view",{class:"user-profile page-container"},[e.createElementVNode("view",{class:"modal-header"},[e.createElementVNode("view",{class:"modal-left",onClick:o},[e.createElementVNode("view",{class:"iconfont icon-fanhui custom-navbar-icon"})]),e.createElementVNode("view",{class:"modal-title"},[e.createElementVNode("view",{class:"title-text"},"编辑资料")]),e.createElementVNode("view",{class:"modal-right",onClick:l},[e.createElementVNode("view",{class:"save-btn"},"保存")])]),e.createElementVNode("view",{class:"modal-body"},[e.createElementVNode("view",{class:"avatar-upload-section",onClick:m},[e.createElementVNode("view",{class:"avatar-upload-container"},[s.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"avatar-preview"},[e.createElementVNode("image",{src:s.value,mode:"aspectFill"},null,8,["src"])])):(e.openBlock(),e.createElementBlock("view",{key:1,class:"avatar-placeholder"},[e.createVNode(v,{type:"person-filled",size:"100rpx",color:"#ffffff"})]))])]),e.createElementVNode("view",{class:"form-card"},[e.createElementVNode("view",{class:"form-field"},[e.createElementVNode("view",{class:"form-text"},"用户名"),e.withDirectives(e.createElementVNode("input",{"adjust-position":"false",class:e.normalizeClass(["form-field-input form-field-username",{"edit-input-focus":r.value}]),"onUpdate:modelValue":n[0]||(n[0]=e=>c.value=e),onFocus:n[1]||(n[1]=e=>r.value=!0),onBlur:n[2]||(n[2]=e=>r.value=!1)},null,34),[[e.vModelText,c.value]])]),e.createElementVNode("view",{class:"solid-line"}),e.createElementVNode("view",{class:"form-field"},[e.createElementVNode("view",{class:"form-text"},"邮箱"),e.withDirectives(e.createElementVNode("input",{"adjust-position":"false",class:e.normalizeClass(["form-field-input form-field-emile",{"edit-input-focus":u.value}]),"onUpdate:modelValue":n[3]||(n[3]=e=>i.value=e),onFocus:n[4]||(n[4]=e=>u.value=!0),onBlur:n[5]||(n[5]=e=>u.value=!1)},null,34),[[e.vModelText,i.value]])])]),e.createElementVNode("view",{class:"prompt-content"},"*保存后再返回哟")])])],64)}}},[["__scopeId","data-v-d1eea957"]]),W=c({__name:"ContactPages",setup(n){const o=A(),c=()=>{uni.navigateBack({delta:1,fail(){uni.reLaunch({url:"/pages/Chat/Chat"})}})},i=(e,t="")=>{uni.setStorageSync("chatType",e),t&&uni.setStorageSync("currentSessionId",t),uni.reLaunch({url:"/pages/Chat/Chat"})},r=e.ref(0),m=e.reactive([{name:"contacts",label:"通讯录",icon:"📞"},{name:"createGroup",label:"新建群聊",icon:"👥"},{name:"addFriend",label:"添加好友",icon:"➕"},{name:"videoCall",label:"视频会议",icon:"📹"},{name:"friendRequest",label:"好友申请",icon:"📨"}]),v=e=>{r.value=e.detail.current},p=e.ref(""),f=e.ref(""),g="宇恒一号",h=e.ref([]),w=async e=>{if(!(null==e?void 0:e.length))return[];try{const t=e.map((e=>e.receiver)),a=await s(p.value,t),n=new Map(a.map((e=>[e.user_id,e]))||[]);return e.map((e=>{const t=n.get(e.receiver);return{...e,avatar:(null==t?void 0:t.avatar)||null}}))}catch(a){return t("error","at pages/ContactPages/ContactPages.vue:460","获取好友头像失败",a),e}};e.onMounted((async()=>{await(async()=>{try{t("log","at pages/ContactPages/ContactPages.vue:425","开始获取好友列表"),p.value=u();const e=await l(p.value);f.value=e._id,t("log","at pages/ContactPages/ContactPages.vue:429","UserId.value:",f.value);const a=await D(f.value);t("log","at pages/ContactPages/ContactPages.vue:431","friendList:",a),a&&a.length?h.value=await w(a):(h.value=[],t("log","at pages/ContactPages/ContactPages.vue:436","好友列表为空"))}catch(e){t("error","at pages/ContactPages/ContactPages.vue:439","获取好友列表失败:",e),h.value=[]}})(),await y(),o.isConnected||(p.value&&f.value?o.connect({token:p.value,UserId:f.value}):t("warn","at pages/ContactPages/ContactPages.vue:324","Token或UserId未准备好"))}));const k=e.ref([]),y=async()=>{try{t("log","at pages/ContactPages/ContactPages.vue:476","开始获取群聊列表"),p.value=u();const e=await l(p.value);f.value=e._id,t("log","at pages/ContactPages/ContactPages.vue:480","UserId.value:",f.value),k.value=await L(f.value)}catch(e){t("error","at pages/ContactPages/ContactPages.vue:483","获取群聊列表失败:",e),k.value=[]}},E=e.ref(""),N=e.ref(),V=async()=>{try{if(!E.value)return void uni.showToast({title:"群名称不能为空",icon:"none"});if(0===C.value.length)return void uni.showToast({title:"请选择群成员",icon:"none"});await new Promise(((e,a)=>{if(o.isConnected)return void e();if(!p.value||!f.value)return void a(new Error("Token或UserId未准备好"));t("log","at pages/ContactPages/ContactPages.vue:504","friendSocket 未连接,正在建立连接..."),o.connect({token:p.value,UserId:f.value});const n=setInterval((()=>{o.isConnected&&(clearInterval(n),t("log","at pages/ContactPages/ContactPages.vue:513","friendSocket 连接已建立"),e())}),100);setTimeout((()=>{clearInterval(n),o.isConnected||a(new Error("连接超时"))}),1e4)})),N.value={version:"1.1",body:{command:3,userIds:memberIds,message:"我来邀请你们了",sender:f.value,callBackMessage:!0,groupName:E.value,teamCreateReq:{access_token:p.value}}};await o.send(N.value)?await b():t("log","at pages/ContactPages/ContactPages.vue:567","发送新建群聊消息失败")}catch(e){uni.showToast({title:`新建群聊失败${e}`,icon:"error"})}},b=()=>new Promise(((a,n)=>{const l=setTimeout((()=>{n(new Error("超时未返回群聊创建结果"))}),18e4),s=e.watch((()=>o.command),(async e=>{if(t("log","at pages/ContactPages/ContactPages.vue:588","创建一个一次性监听器"),e&&3===o.command){t("log","at pages/ContactPages/ContactPages.vue:590","监听到command的值是3,检查群聊是否创建成功",o.command);try{const e=k.value.find((e=>e.id===o.groupId));e?t("log","at pages/ContactPages/ContactPages.vue:596","✅ 新建群聊成功",e):t("log","at pages/ContactPages/ContactPages.vue:598","❌ 新建群聊失败 / 群组不存在")}catch(a){t("error","at pages/ContactPages/ContactPages.vue:602","保存AI回复失败:",a),n(a)}finally{o.command=null,o.groupId=null,s(),clearTimeout(l)}}}))})),C=e.ref([]),_=e.ref(!1),x=e.ref(""),S=e.ref([]),B=()=>{if(!x.value.trim())return void(S.value=[]);const e=x.value.toLowerCase().trim(),t=U.value.filter((t=>t.nickname.toLowerCase().includes(e)||t.username.toLowerCase().includes(e)||t.email.toLowerCase().includes(e)));S.value=t},T=()=>{_.value=!_.value},I=e.ref(null),M=e=>{const a=U.value.find((t=>t.id===e));a?I.value={...a}:(t("warn","at pages/ContactPages/ContactPages.vue:670","未找到该好友"),I.value=null)},P=()=>{I.value=null,O.value=!1},z=e.ref(!1),j=e.ref(!1),$=()=>{z.value=!z.value},F=()=>{j.value=!j.value},O=e.ref(!1),U=e.ref([{id:1,nickname:"张三",username:"zhangsan",email:"zhangsan@example.com",avatar:"👤"},{id:2,nickname:"李四",username:"lisi",email:"lisi@example.com",avatar:"👥"},{id:3,nickname:"王小明",username:"wangxm",email:"wang@example.com",avatar:"👪"},{id:4,nickname:"赵磊",username:"zhaolei",email:"zhao@example.com",avatar:"🗣️"},{id:5,nickname:"张三2",username:"zhangsan",email:"zhangsan@example.com",avatar:"👤"},{id:6,nickname:"李四2",username:"lisi",email:"lisi@example.com",avatar:"👥"},{id:7,nickname:"王小明2",username:"wangxm",email:"wang@example.com",avatar:"👪"},{id:8,nickname:"赵磊2",username:"zhaolei",email:"zhao@example.com",avatar:"🗣️"}]);return(n,o)=>{const l=a(e.resolveDynamicComponent("uni-icons"),d);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("view",{class:"status-bar"}),I.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"popup-overlay"},[e.createElementVNode("view",{class:"popup-card"},[e.createElementVNode("view",{class:"close-popup-card",onClick:P},[e.createElementVNode("view",{class:"iconfont icon-quxiao"})]),e.createElementVNode("view",{class:"popup-title"},e.toDisplayString(O.value?"通过好友申请":"申请添加朋友"),1),e.createElementVNode("view",{class:"friend-card"},[e.createElementVNode("view",{class:"friend-card-left"},[e.createElementVNode("view",{class:"friend-avatar"},e.toDisplayString(I.value.avatar),1)]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(I.value.username),1),e.createElementVNode("view",{class:"friend-label"},e.toDisplayString(I.value.sessionId),1)])]),e.createElementVNode("view",{class:"nickname-wrapper"},[e.createElementVNode("view",null,"好友备注"),e.createElementVNode("input",{class:"input-nickname",placeholder:"请输入好友名称"})]),e.createElementVNode("view",{class:"text-btn confirm-btn"},e.toDisplayString(O.value?"确认通过":"发送申请"),1)])])):e.createCommentVNode("",!0),e.createElementVNode("view",{class:"tabbar-page page-container"},[e.createElementVNode("swiper",{class:"content-swiper",current:r.value,duration:300,onChange:v},[e.createElementVNode("swiper-item",{class:"content-swiper-item"},[e.createElementVNode("view",{class:"tabpage-containner"},[e.createElementVNode("view",{class:"tabpage-header"},[e.createElementVNode("view",{class:"iconfont icon-fanhui",onClick:c}),e.createElementVNode("view",{class:"tabpage-title"},"通讯录")]),e.createElementVNode("view",{class:"tabpage-body"},[e.createElementVNode("scroll-view",{class:"group-member",direction:"vertical","scroll-y":"true"},[e.createElementVNode("view",{class:"friend-list"},[e.createElementVNode("view",{class:"friend-card",onClick:o[0]||(o[0]=e=>i(0))},[e.createElementVNode("view",{class:"friend-card-left"},[e.createElementVNode("view",{class:"friend-avatar",style:{"background-color":"#38bdf8"}},[e.createElementVNode("view",{class:"iconfont icon-Robot",style:{"font-size":"80rpx",color:"#fff"}})])]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(g),1),e.createElementVNode("view",{class:"friend-label"})]),e.createElementVNode("view",{class:"friend-card-right"},[e.createVNode(l,{type:"right"})])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(t=>(e.openBlock(),e.createElementBlock("view",{class:"friend-card",key:t.sessionId,onClick:e=>i(t.type,t.sessionId)},[e.createElementVNode("view",{class:"friend-card-left"},[t.avatar?(e.openBlock(),e.createElementBlock("image",{key:0,src:t.avatar,class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):(e.openBlock(),e.createElementBlock("view",{key:1,class:"friend-avatar"},[e.createVNode(l,{type:"person-filled",size:"100rpx",color:"#ffffff"})]))]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(t.friendNickName),1),e.createElementVNode("view",{class:"friend-label"},e.toDisplayString(t.sessionId),1)]),e.createElementVNode("view",{class:"friend-card-right"},[e.createVNode(l,{type:"right"})])],8,["onClick"])))),128)),e.createElementVNode("view",null,"群聊"),e.createElementVNode("view",{class:"solid-line"}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,(t=>(e.openBlock(),e.createElementBlock("view",{class:"friend-card",key:t.id,onClick:e=>i(t.type,t.id)},[e.createElementVNode("view",{class:"friend-card-left"},[e.createElementVNode("view",{class:"friend-avatar",style:{"background-color":"#ffaaff"}},[e.createElementVNode("view",{class:"iconfont icon-qunliao",style:{"font-size":"80rpx",color:"#fff"}})])]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(t.name),1),e.createElementVNode("view",{class:"friend-label"},e.toDisplayString(t.createTime),1)]),e.createElementVNode("view",{class:"friend-card-right"},[e.createVNode(l,{type:"right"})])],8,["onClick"])))),128))])])])])]),e.createElementVNode("swiper-item",{class:"content-swiper-item"},[e.createElementVNode("view",{class:"tabpage-containner"},[e.createElementVNode("view",{class:"tabpage-header"},[e.createElementVNode("view",{class:"iconfont icon-fanhui",onClick:c}),e.createElementVNode("view",{class:"tabpage-title"},"新建群聊")]),e.createElementVNode("view",{class:"tabpage-body"},[e.createElementVNode("view",{class:"group-info"},[e.createElementVNode("view",{class:"group-name"},[e.createElementVNode("view",null,"群名称"),e.withDirectives(e.createElementVNode("input",{class:"input",placeholder:"请输入群名称","onUpdate:modelValue":o[1]||(o[1]=e=>E.value=e)},null,512),[[e.vModelText,E.value]])]),e.createElementVNode("view",{class:"group-member-wrapper"},[e.createElementVNode("view",{class:"member-title"},"群成员"),e.createElementVNode("view",{class:"group-ismember-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,((t,a)=>(e.openBlock(),e.createElementBlock("view",{class:"group-ismember-info",key:a},[e.createElementVNode("view",{class:"group-ismember-name"},e.toDisplayString(t.friendNickName),1)])))),128))])]),e.createElementVNode("view",{class:"create-group-btn",onClick:V},"创建群聊")]),e.createElementVNode("view",{class:"solid-line"}),e.createElementVNode("scroll-view",{class:"group-member",direction:"vertical","scroll-y":"true"},[e.createElementVNode("view",{class:"friend-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(a=>{var n;return e.openBlock(),e.createElementBlock("view",{class:"friend-card",key:a.receiver},[e.createElementVNode("view",{class:"friend-card-left"},[a.avatar?(e.openBlock(),e.createElementBlock("image",{key:0,src:a.avatar,class:"friend-avatar",mode:"aspectFill"},null,8,["src"])):(e.openBlock(),e.createElementBlock("view",{key:1,class:"friend-avatar"},[e.createVNode(l,{type:"person-filled",size:"100rpx",color:"#ffffff"})]))]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(a.friendNickName),1),e.createElementVNode("view",{class:"friend-label"},e.toDisplayString(a.email),1)]),e.createElementVNode("view",{class:"friend-card-right",onClick:e=>(e=>{t("log","at pages/ContactPages/ContactPages.vue:623","选择的好友id:",e),t("log","at pages/ContactPages/ContactPages.vue:624","selectGroupMember.value=",JSON.stringify(C.value));const a=C.value.findIndex((t=>t.id===e));if(-1===a){const t=h.value.find((t=>t.receiver===e));t&&C.value.push({id:t.receiver,friendNickName:t.friendNickName})}else C.value.splice(a,1)})(a.receiver)},[e.createElementVNode("view",{class:"friend-checkbox"},[(null==(n=C.value)?void 0:n.find((e=>e.id===a.receiver)))?(e.openBlock(),e.createBlock(l,{key:0,type:"checkmarkempty"})):e.createCommentVNode("",!0)])],8,["onClick"])])})),128))])])])])]),e.createElementVNode("swiper-item",{class:"content-swiper-item"},[e.createElementVNode("view",{class:"tabpage-containner"},[e.createElementVNode("view",{class:"tabpage-header"},[e.createElementVNode("view",{class:"iconfont icon-fanhui",onClick:c}),e.createElementVNode("view",{class:"tabpage-title"},"添加好友")]),e.createElementVNode("view",{class:"tabpage-body"},[e.createElementVNode("view",{class:"search-warpper"},[e.withDirectives(e.createElementVNode("input",{class:e.normalizeClass(["search-file-input",{active:_.value}]),onFocus:T,onBlur:T,"onUpdate:modelValue":o[2]||(o[2]=e=>x.value=e)},null,34),[[e.vModelText,x.value]]),e.createElementVNode("view",{class:"iconfont icon-sousuo",onClick:B})]),x.value?S.value.length?(e.openBlock(),e.createElementBlock("view",{key:1,class:"search-result"},[e.createElementVNode("scroll-view",{class:"group-member",direction:"vertical","scroll-y":"true"},[e.createElementVNode("view",{class:"friend-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(t=>(e.openBlock(),e.createElementBlock("view",{class:"friend-card",key:t.id},[e.createElementVNode("view",{class:"friend-card-left"},[e.createElementVNode("view",{class:"friend-avatar"},e.toDisplayString(t.avatar),1)]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(t.nickname),1),e.createElementVNode("view",{class:"friend-label"},e.toDisplayString(t.email),1)]),e.createElementVNode("view",{class:"friend-card-right",onClick:e=>M(t.id)},[e.createElementVNode("view",{class:"add-btn text-btn"},"添加")],8,["onClick"])])))),128))])])])):(e.openBlock(),e.createElementBlock("view",{key:2,class:"no-result"},"未找到相关用户,请尝试其他关键词")):(e.openBlock(),e.createElementBlock("view",{key:0,class:"search-tip"},"请输入用户名或邮箱进行搜索"))])])]),e.createElementVNode("swiper-item",{class:"content-swiper-item"},[e.createElementVNode("view",{class:"tabpage-containner"},[e.createElementVNode("view",{class:"tabpage-header"},[e.createElementVNode("view",{class:"iconfont icon-fanhui",onClick:c}),e.createElementVNode("view",{class:"tabpage-title"},"视频会议")]),e.createElementVNode("view",{class:"tabpage-body"},[e.createElementVNode("view",{class:"join-meeting-wrapper"},[e.createElementVNode("view",null,"加入会议"),e.createElementVNode("input",{class:"input-meeting",placeholder:"请输入会议号"}),e.createElementVNode("view",{class:"meeting-btn text-btn"},"加入会议")]),e.createElementVNode("view",{class:"solid-line"}),e.createElementVNode("view",{class:"create-meeting-wrapper"},[e.createElementVNode("view",null,"创建会议"),e.createElementVNode("view",{class:"meeting-field"},[e.createElementVNode("view",{class:"meeting-label"},"会议主题"),e.createElementVNode("input",{class:"input-meeting",placeholder:"例如:XXX"})]),e.createElementVNode("view",{class:"meeting-field"},[e.createElementVNode("view",{class:"meeting-label"},"会议密码"),e.createElementVNode("input",{class:"input-meeting",placeholder:"留空则无密码"})]),e.createElementVNode("view",{class:"meeting-field"},[e.createElementVNode("view",{class:"meeting-label"},"邀请好友"),e.createElementVNode("view",{class:"friend-card"},[e.createElementVNode("view",{class:"friend-card-left"},[e.createElementVNode("view",{class:"friend-avatar"},"avatar")]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},"friend.nickname"),e.createElementVNode("view",{class:"friend-label"},"friend.email")]),e.createElementVNode("view",{class:"friend-card-right",onClick:o[3]||(o[3]=e=>M(n.friend.id))},[e.createElementVNode("view",{class:"add-btn text-btn"},"添加")])])]),e.createElementVNode("view",{class:"meeting-toggles"},[e.createElementVNode("view",{class:"meeting-toggles-item"},[e.createElementVNode("view",{class:"meeting-toggles-icon icon-btn"},[e.createVNode(l,{type:"mic-filled"}),e.createTextVNode("开启麦克风入会 ")]),e.createElementVNode("view",{class:"meeting-toggles-switch",onClick:$},[e.createElementVNode("view",{class:e.normalizeClass(["switch-box",{active:z.value}])},[e.createElementVNode("view",{class:"switch-track"})],2)])]),e.createElementVNode("view",{class:"meeting-toggles-item"},[e.createElementVNode("view",{class:"meeting-toggles-icon icon-btn"},[e.createVNode(l,{type:"eye-filled"}),e.createTextVNode("开启摄像头入会 ")]),e.createElementVNode("view",{class:"meeting-toggles-switch",onClick:F},[e.createElementVNode("view",{class:e.normalizeClass(["switch-box",{active:j.value}])},[e.createElementVNode("view",{class:"switch-track"})],2)])])]),e.createElementVNode("view",{class:"meeting-btn text-btn"},"加入会议")])])])]),e.createElementVNode("swiper-item",{class:"content-swiper-item"},[e.createElementVNode("view",{class:"tabpage-containner"},[e.createElementVNode("view",{class:"tabpage-header"},[e.createElementVNode("view",{class:"iconfont icon-fanhui",onClick:c}),e.createElementVNode("view",{class:"tabpage-title"},"好友申请")]),e.createElementVNode("view",{class:"tabpage-body"},[e.createElementVNode("scroll-view",{class:"group-member",direction:"vertical","scroll-y":"true"},[e.createElementVNode("view",{class:"friend-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(U.value,(t=>(e.openBlock(),e.createElementBlock("view",{class:"friend-card",key:t.id},[e.createElementVNode("view",{class:"friend-card-left"},[e.createElementVNode("view",{class:"friend-avatar"},e.toDisplayString(t.avatar),1)]),e.createElementVNode("view",{class:"friend-card-middle"},[e.createElementVNode("view",{class:"friend-name"},e.toDisplayString(t.nickname),1),e.createElementVNode("view",{class:"friend-label"},e.toDisplayString(t.email),1)]),e.createElementVNode("view",{class:"friend-card-right"},[e.createElementVNode("view",{class:"friend-option"},[e.createElementVNode("view",{class:"refuse-btn text-btn",onClick:e=>{}},"拒绝",8,["onClick"]),e.createElementVNode("view",{class:"agree-btn text-btn",onClick:e=>(e=>{O.value=!0,I.value={...e}})(t)},"同意",8,["onClick"])])])])))),128))])])])])])],40,["current"]),e.createElementVNode("view",{class:"bottom-tabbar"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m,((t,a)=>(e.openBlock(),e.createElementBlock("view",{key:t.name,onClick:e=>(e=>{r.value=e})(a),class:"tab-item"},[e.createElementVNode("view",{class:"tab-icon"},e.toDisplayString(t.icon),1),e.createElementVNode("view",{class:"tab-label"},e.toDisplayString(t.label),1)],8,["onClick"])))),128))])])],64)}}},[["__scopeId","data-v-35441fc3"]]),H=c({__name:"TemplateSpace",setup(a){const n=e=>{if(!e)return"";const t=Math.floor(e),a=new Date(1e3*t);return`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${a.getDate().toString().padStart(2,"0")} ${a.getHours().toString().padStart(2,"0")}:${a.getMinutes().toString().padStart(2,"0")}:${a.getSeconds().toString().padStart(2,"0")}`},o=e=>{if(!e||0===e)return"0 B";const t=["B","KB","MB","GB","TB"];let a=e,n=0;for(;a>=1024&&n{t("log","at pages/WorkSpace/TemplateSpace/TemplateSpace.vue:188","点击了编辑模板")},c=e.ref(""),i=e.ref([]),r=e=>{c.value=e,"all"===e&&(u.value="全部模板",i.value=y.value),"like"===e&&(u.value="收藏模板",i.value=y.value.filter((e=>!0===e.is_favorite)))},d=e.ref(""),u=e.ref("模板区"),m=e.ref(!1),v=e.ref([]),p=()=>{m.value&&(v.value=[]),m.value=!m.value},f=e.ref(!1),g=()=>{f.value=!f.value},h=e.ref(""),w=e.ref(!1),k=()=>{w.value=!w.value},y=e.ref([{name:"SKILL.md",type:"file",path:"SKILL.md",children:[],file_count:0,directory_count:0,size:4768,modified_time:1776827361.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"khgvshbbthvgbihepiubjhrviifdhiuhrviuehrviuawhiuvrhy"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"khgvshbbthvgbihepiubjhiuvrhy"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"该回家看了的法国红酒看来法帝国海军快来尝尝v吧给v复仇计划曝光vi计划日方提供与i哦的风格和健康"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"的法国红酒看来法帝国海军快来尝尝v吧给"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:""},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"khgvshbbthvgbihepiubjhrviifdhiuhrviuehrviuawhiuvrhy"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"khgvshbbthvgbihepiubjhrviifdhiuhrviuehrviuawhiuvrhy"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"khgvshbbthvgbihepiubjhrviifdhiuhrviuehrviuawhiuvrhy"},{name:"222.md",type:"file",path:"222.md",children:[],file_count:0,directory_count:0,size:5558,modified_time:1776827666.9123552,extension:".md",is_favorite:!1,usage_count:0,sort:0,content:"khgvshbbthvgbihepiubjhrviifdhiuhrviuehrviuawhiuvrhy"}]),E=()=>{m.value?v.value.length===i.value.length?v.value=[]:v.value=i.value.map((e=>e.id)):(!m.value&&i.value&&(i.value=[],c.value="",u.value="模板区"),m.value||i.value||uni.navigateBack({delta:1,fail(){t("log","at pages/WorkSpace/TemplateSpace/TemplateSpace.vue:468","返回失败,进入兜底跳转"),uni.reLaunch({url:"/pages/Chat/Chat"})}}))};return(t,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("view",{class:"status-bar"}),e.createElementVNode("view",{class:"popup-overlay"},[e.createElementVNode("view",{class:"popup-card"},[e.createElementVNode("view",{class:"close-popup-card"},[e.createElementVNode("view",{class:"iconfont icon-quxiao"})]),e.createElementVNode("view",{class:"popup-title"},"编辑模板"),e.createElementVNode("view",{class:"edit-template-wrapper"},[e.createElementVNode("view",{class:"edit-template-name"},[e.createElementVNode("view",null,"模板名称"),e.withDirectives(e.createElementVNode("input",{"placeholder-style":"请输入模板名称","onUpdate:modelValue":a[0]||(a[0]=e=>l.value=e)},null,512),[[e.vModelText,l.value]])]),e.createElementVNode("view",{class:"edit-template-name"},[e.createElementVNode("view",null,"模板内容"),e.createElementVNode("view",{class:"markdown-editor-pane"},[e.createElementVNode("view",{class:"markdown-pane-header"}," 编辑 "),e.createElementVNode("textarea")]),e.createElementVNode("view",{class:"markdown-preview-pane"},[e.createElementVNode("view",{class:"markdown-pane-header"}," 预览 "),e.createElementVNode("view")])])])])]),e.createElementVNode("view",{class:"workspace-container page-container"},[e.createElementVNode("view",{class:"workspace-header"},[e.createElementVNode("view",{class:"custom-navbar"},[e.createElementVNode("view",{class:"navbar-left",onClick:a[1]||(a[1]=(...e)=>E&&E(...e))},[e.createElementVNode("view",{class:"iconfont icon-fanhui custom-navbar-icon"}),e.createElementVNode("view",{class:"navbar-before-title workspace-text"},e.toDisplayString(m.value?"全选":d.value),1)]),e.createElementVNode("view",{class:"navbar-title workspace-text"},e.toDisplayString(u.value),1),c.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"navbar-right"},[m.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"navbar-right-text workspace-text",onClick:a[2]||(a[2]=e=>p())}," 完成")):(e.openBlock(),e.createElementBlock("view",{key:1,class:e.normalizeClass(["iconfont icon-gengduo",f.value?"menu-open":"custom-navbar-icon"]),onClick:g},null,2))])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createElementBlock("view",{key:1,class:"menu-card"},[e.createElementVNode("view",{class:"menu-card-item",onClick:a[3]||(a[3]=e=>{p(),g()})},"选择"),e.createElementVNode("view",{class:"solid-line"}),e.createElementVNode("view",{class:"menu-card-item"},"新建模板"),e.createElementVNode("view",{class:"solid-line"}),e.createElementVNode("view",{class:"menu-card-item"},"上传模板")])):e.createCommentVNode("",!0)]),e.createElementVNode("view",{class:"search-file-warpper"},[e.createElementVNode("view",{class:"search-file"},[e.createElementVNode("view",{class:"iconfont icon-sousuo"}),e.withDirectives(e.createElementVNode("input",{class:"search-file-input",placeholder:"搜索",onFocus:k,"onUpdate:modelValue":a[4]||(a[4]=e=>h.value=e)},null,544),[[e.vModelText,h.value]])]),w.value?(e.openBlock(),e.createElementBlock("view",{key:0,class:"cancel-search",onClick:k},"取消")):e.createCommentVNode("",!0)])]),c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("view",{key:0,class:"folder-grid"},[e.createElementVNode("view",{class:"folder-item",onClick:a[5]||(a[5]=e=>r("all"))},[e.createElementVNode("view",{class:"iconfont icon-a-wenjianjiawenjian folder-item-style"}),e.createElementVNode("view",{class:"folder-name"},"全部模板")]),e.createElementVNode("view",{class:"folder-item",onClick:a[6]||(a[6]=e=>r("like"))},[e.createElementVNode("view",{class:"iconfont icon-a-wenjianjiawenjian folder-item-style"}),e.createElementVNode("view",{class:"folder-name"},"收藏模板")])])),c.value?(e.openBlock(),e.createElementBlock("view",{key:1,class:"workspace-content"},[0===i.value.length?(e.openBlock(),e.createElementBlock("view",{key:0,class:"folder-null"},[e.createElementVNode("view",{class:"iconfont icon-wenjianjia"}),e.createTextVNode(" 暂无模板 ")])):e.createCommentVNode("",!0),i.value.length>0?(e.openBlock(),e.createElementBlock("view",{key:1,class:"template-grid"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,((t,a)=>(e.openBlock(),e.createElementBlock("view",{class:"template-card",key:a},[e.createElementVNode("view",{class:"template-name"},e.toDisplayString(t.name),1),e.createElementVNode("view",{class:"template-content"},[e.createElementVNode("view",{class:"template-content-text"},e.toDisplayString(t.content),1)]),e.createElementVNode("view",{class:"template-info-wrapper"},[e.createElementVNode("view",{class:"template-item"},[e.createElementVNode("view",{class:"template-time background-style"},e.toDisplayString(n(t.modified_time)),1),e.createElementVNode("view",{class:"template-cache background-style"},e.toDisplayString(o(t.size)),1)]),e.createElementVNode("view",{class:"template-option"},[e.createElementVNode("view",{class:e.normalizeClass(["iconfont",t.is_favorite?"icon-favorite-fill":"icon-favorite"]),onClick:e=>(e=>{let t;"all"===c.value?t=y.value[e]:"like"===c.value&&(t=y.value.filter((e=>e.is_favorite))[e]);t&&(t.is_favorite=!t.is_favorite),"all"===c.value?i.value=[...y.value]:i.value=y.value.filter((e=>e.is_favorite))})(a)},null,10,["onClick"]),e.createElementVNode("view",{class:"iconfont icon-edit-fill",onClick:s}),e.createElementVNode("view",{class:"iconfont icon-choose-fill"})])])])))),128))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),m.value?(e.openBlock(),e.createElementBlock("view",{key:2,class:e.normalizeClass(["workspace-footer",{"folder-actions":v.value.length>0}])},[e.createElementVNode("view",{class:"iconfont icon-shangchuan"}),e.createElementVNode("view",{class:"iconfont icon-fuzhi"}),e.createElementVNode("view",{class:"iconfont icon-wenjian"}),e.createElementVNode("view",{class:"iconfont icon-del"}),e.createElementVNode("view",{class:"iconfont icon-gengduo"})],2)):e.createCommentVNode("",!0)])],64))}},[["__scopeId","data-v-2acd55d4"]]),J={__name:"text",setup(t){const a=e.ref("");return e.onMounted((()=>{a.value='\n明白了!您希望在我的回复中直接嵌入可编辑的表单卡片。让我试试:\n\n---\n\n
    \n

    \n✏️ 直接在下方编辑任务\n

    \n\n
    \n
    \n\n\n
    \n\n
    \n\n\n
    \n\n
    \n
    \n\n\n
    \n
    \n\n\n
    \n
    \n\n
    \n\n\n
    \n\n
    \n\n
    \n\n\n\n
    \n
    \n\n
    \n\n
    \n\n\n\n\n
    \n
    \n\n
    \n\n\n
    \n
    \n
    \n\n\n\n---\n\n**✅ 您现在可以直接在上方的卡片中填写任务信息,点击"添加任务"即可!**\n\n填写完成后告诉我"已填好"或"添加",我会帮您确认是否成功!\n'})),(t,n)=>{return e.openBlock(),e.createElementBlock("view",null,[e.createElementVNode("view",{innerHTML:(o=a.value,o.replace(/<\/?script>/gi,(e=>{let t="";for(let a=0;a{const e=n.connectionStatus;return{"status-connected":"connected"===e,"status-connecting":"connecting"===e,"status-error":"error"===e,"status-disconnected":"disconnected"===e}})),i=()=>{o.value.token?n.connect({token:o.value.token,conversationId:m()}):uni.showToast({title:"请输入Token",icon:"none"})},r=()=>{n.disconnect()},d=async()=>{try{await n.sendPing()}catch(e){uni.showToast({title:"发送失败",icon:"none"})}},p=async()=>{if(l.value.trim())try{const e={ws_event:"message",data:{task_call_id:v(),result:{tools:[]}}};await n.send(e),l.value=""}catch(e){uni.showToast({title:"发送失败",icon:"none"})}},f=()=>{if(l.value.trim())try{const e=JSON.parse(l.value);l.value=JSON.stringify(e,null,2)}catch{uni.showToast({title:"不是有效的JSON",icon:"none"})}},g=()=>{};return e.watch((()=>n.isDisconnected),(e=>{e&&n.messageString&&t("log","at pages/text/text2.vue:253",n.messageString)})),e.onMounted((()=>{n.addLog("info","=== Socket测试页面 ==="),n.addLog("info","页面已加载"),n.isConnected&&n.addLog("info","当前已处于连接状态")})),e.onUnmounted((()=>{n.addLog("info","页面卸载")})),(t,a)=>(e.openBlock(),e.createElementBlock("view",{class:"container"},[e.createElementVNode("view",{class:"status-card"},[e.createElementVNode("text",{class:"status-label"},"连接状态"),e.createElementVNode("view",{class:e.normalizeClass(["status-value",c.value])},[e.createElementVNode("text",null,e.toDisplayString(e.unref(n).getStatusText()),1)],2),e.unref(n).reconnectAttempts>0?(e.openBlock(),e.createElementBlock("view",{key:0,class:"status-info"},[e.createElementVNode("text",{class:"reconnect-info"},"重连次数: "+e.toDisplayString(e.unref(n).reconnectAttempts),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("view",{class:"config-card"},[e.createElementVNode("text",{class:"section-title"},"连接配置"),e.createElementVNode("view",{class:"input-group"},[e.createElementVNode("text",{class:"input-label"},"Token"),e.withDirectives(e.createElementVNode("input",{class:"input-field","onUpdate:modelValue":a[0]||(a[0]=e=>o.value.token=e),placeholder:"请输入Token"},null,512),[[e.vModelText,o.value.token]])]),e.createElementVNode("view",{class:"input-group"},[e.createElementVNode("text",{class:"input-label"},"Conversation ID"),e.withDirectives(e.createElementVNode("input",{class:"input-field","onUpdate:modelValue":a[1]||(a[1]=e=>o.value.conversationId=e),placeholder:"请输入会话ID(可选)"},null,512),[[e.vModelText,o.value.conversationId]])])]),e.createElementVNode("view",{class:"control-card"},[e.createElementVNode("button",{class:"btn btn-primary",disabled:e.unref(n).isConnected||e.unref(n).isConnecting,onClick:i},e.toDisplayString(e.unref(n).isConnecting?"连接中...":"连接"),9,["disabled"]),e.createElementVNode("button",{class:"btn btn-danger",disabled:!e.unref(n).isConnected,onClick:r}," 断开 ",8,["disabled"]),e.createElementVNode("button",{class:"btn btn-secondary",onClick:d,disabled:!e.unref(n).isConnected}," Ping ",8,["disabled"])]),e.createElementVNode("view",{class:"send-card"},[e.createElementVNode("text",{class:"section-title"},"发送消息"),e.createElementVNode("view",{class:"send-input-wrapper"},[e.withDirectives(e.createElementVNode("textarea",{class:"send-input","onUpdate:modelValue":a[2]||(a[2]=e=>l.value=e),placeholder:"输入要发送的消息(JSON格式)",disabled:!e.unref(n).isConnected},null,8,["disabled"]),[[e.vModelText,l.value]]),e.createElementVNode("view",{class:"send-buttons"},[e.createElementVNode("button",{class:"btn btn-primary btn-small",disabled:!e.unref(n).isConnected||!l.value.trim(),onClick:p}," 发送 ",8,["disabled"]),e.createElementVNode("button",{class:"btn btn-outline btn-small",disabled:!l.value.trim(),onClick:f}," 格式化 ",8,["disabled"])])]),e.createElementVNode("view",{class:"quick-messages"},[e.createElementVNode("text",{class:"quick-label"},"快捷消息:"),e.createElementVNode("view",{class:"quick-btns"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(t=>(e.openBlock(),e.createElementBlock("button",{key:t.label,class:"quick-btn",disabled:!e.unref(n).isConnected,onClick:e=>(async e=>{const t={ws_event:"message",data:{task_call_id:v(),token:u(),conversation_id:m()}};try{await n.send(t)}catch(a){uni.showToast({title:"发送失败",icon:"none"})}})(t.data)},e.toDisplayString(t.label),9,["disabled","onClick"])))),128))])])]),e.createElementVNode("view",{class:"log-card"},[e.createElementVNode("view",{class:"log-header"},[e.createElementVNode("view",{class:"log-title-wrapper"},[e.createElementVNode("text",{class:"section-title"},"日志"),e.createElementVNode("text",{class:"log-count"},"("+e.toDisplayString(e.unref(n).logs.length)+")",1)]),e.createElementVNode("view",{class:"log-actions"},[e.createElementVNode("button",{class:"btn btn-small btn-secondary",onClick:a[3]||(a[3]=(...t)=>e.unref(n).clearLogs&&e.unref(n).clearLogs(...t))},"清空")])]),e.createElementVNode("scroll-view",{class:"log-list","scroll-y":"",onScrolltoupper:g},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).logs,((t,a)=>(e.openBlock(),e.createElementBlock("view",{key:a,class:e.normalizeClass(["log-item","log-"+t.type])},[e.createElementVNode("text",{class:"log-time"},e.toDisplayString(t.time),1),e.createElementVNode("text",{class:"log-content"},e.toDisplayString(t.content),1)],2)))),128))],32)])]))}},[["__scopeId","data-v-939e1d1d"]]);__definePage("pages/Login/Login",i),__definePage("pages/Chat/Chat",U),__definePage("pages/WorkSpace/WorkSpace",R),__definePage("pages/UserProfileModal/UserProfileModal",q),__definePage("pages/ContactPages/ContactPages",W),__definePage("pages/WorkSpace/TemplateSpace/TemplateSpace",H),__definePage("pages/text/text",J),__definePage("pages/text/text2",G);const K={onLaunch:function(){t("log","at App.vue:4","App Launch")},onShow:function(){t("log","at App.vue:7","App Show")},onHide:function(){t("log","at App.vue:10","App Hide")}};const{app:X,Vuex:Y,Pinia:Q}=function(){const t=e.createVueApp(K),a=function(){const t=e.effectScope(!0),a=t.run((()=>e.ref({})));let n=[],o=[];const l=e.markRaw({install(e){y(l),l._a=e,e.provide(E,l),e.config.globalProperties.$pinia=l,o.forEach((e=>n.push(e))),o=[]},use(e){return this._a?n.push(e):o.push(e),this},_p:n,_a:null,_e:t,_s:new Map,state:a});return l}();return t.use(a),{app:t,pinia:a}}();uni.Vuex=Y,uni.Pinia=Q,X.provide("__globalStyles",__uniConfig.styles),X._component.mpType="app",X._component.render=()=>{},X.mount("#app")}(Vue);