mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-12-07 21:13:11 +00:00
2 lines
7.2 KiB
JavaScript
2 lines
7.2 KiB
JavaScript
import{W as i,k as te,a1 as U,ah as le,aX as ne,r as ae,j as T,o as d,w as l,d as t,l as b,q as w,t as a,z as j,a6 as z,a7 as f,an as v,ao as m,C as u,A as L,B as oe,K as E,y as c,i as B,x as J,F as M,G as O,L as se}from"./index-C0h5GNiz.js";import{b as re,g as D,c as R,j as q,o as x,l as ue}from"./socketClient-BRoE-kM5.js";import{V as $,a as p}from"./VRow-COOxBlVI.js";import{V as ie}from"./VChip-B2KNZuKZ.js";import{V as de}from"./VTextField-BtDIbdD3.js";import{V as ce}from"./VTextarea-CT3wSLpg.js";import{V as fe}from"./VContainer-DAukxqlE.js";const ve={key:0},me={class:"d-flex"},pe={key:1,class:"text-grey"},_e={class:"text-caption text-grey"},ke={class:"ml-2"},ge={class:"mb-2",style:{"white-space":"pre-wrap"}},je={__name:"debug-socket",setup(ye){const _=i(te("server.kvToken")||""),A=i(""),r=i(""),k=i(!1),S=i(""),g=i([]),C=i([]),y=i(""),I=U(()=>re()),G=U(()=>{const n=new Date,e=n.getFullYear(),V=String(n.getMonth()+1).padStart(2,"0"),s=String(n.getDate()).padStart(2,"0");return`classworks-data-${e}${V}${s}`});function o(n,e){const V=new Date().toLocaleTimeString();g.value.unshift({time:V,event:n,payload:typeof e=="string"?e:JSON.stringify(e,null,2)}),g.value.length>200&&g.value.pop()}function W(){const n=D();k.value=!!n.connected,S.value=n.id||"",n.on("connect",()=>{k.value=!0,S.value=n.id||"",o("connect",{id:n.id}),r.value&&q(r.value)}),n.on("disconnect",e=>{k.value=!1,o("disconnect",{reason:e})}),n.on("connect_error",e=>o("connect_error",{message:e==null?void 0:e.message})),n.on("reconnect_attempt",e=>o("reconnect_attempt",{attempt:e})),n.on("reconnect",e=>o("reconnect",{attempt:e}))}function X(){x("kv-key-changed",n=>{o("kv-key-changed",n)}),x("device-joined",n=>{o("device-joined",n)}),x("joined",n=>{o("joined",n)}),x("join-error",n=>{o("join-error",n)}),x("chat:message",n=>{o("chat:message",n)})}function N(n){try{if(!n){o("join-error","Token 为空");return}q(n),r.value=n,o("join-token",{token:n})}catch(e){o("join-token-error",String(e))}}function Y(n){try{R(n),r.value===n&&(r.value=""),o("leave-token",{token:n})}catch(e){o("leave-token-error",String(e))}}function h(){try{ue(),r.value="",o("leave-all",{})}catch(n){o("leave-all-error",String(n))}}function H(){try{D().connect()}catch(n){o("reconnect-error",String(n))}}const P=U(()=>{var e;return!!((((e=y.value)==null?void 0:e.trim())||"")&&(r.value||_.value))});function Q(){try{const n=(y.value||"").trim();if(!n)return;D().emit("chat:send",n),o("chat:send",{text:n}),y.value=""}catch(n){o("chat:error",String(n))}}function Z(n){o("select-device",{message:"请输入该设备对应的 KV Token 以加入频道",device:n})}async function F(){try{const e=await(await fetch(`${I.value}/devices/online`)).json();C.value=Array.isArray(e==null?void 0:e.devices)?e.devices:[],o("fetch-online",{count:C.value.length})}catch(n){o("fetch-online-error",String(n))}}function ee(){g.value=[]}return le(()=>{D(),W(),X(),_.value&&N(_.value),F()}),ne(()=>{try{r.value&&R(r.value)}catch{}}),(n,e)=>{const V=ae("v-list-item-text");return d(),T(fe,null,{default:l(()=>[t($,null,{default:l(()=>[t(p,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:"",class:"mb-4"},{default:l(()=>[t(w,null,{default:l(()=>[...e[4]||(e[4]=[a("连接信息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(z,{density:"compact"},{default:l(()=>[t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[5]||(e[5]=[a("Server URL",-1)])]),_:1}),t(m,null,{default:l(()=>[a(u(I.value),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[6]||(e[6]=[a("当前 KV Token",-1)])]),_:1}),t(m,null,{default:l(()=>[a(u(_.value||"(未配置)"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[7]||(e[7]=[a("连接状态",-1)])]),_:1}),t(m,null,{default:l(()=>[t(ie,{color:k.value?"success":"error",class:"mr-2",size:"small"},{default:l(()=>[a(u(k.value?"connected":"disconnected"),1)]),_:1},8,["color"]),S.value?(d(),L("span",ve,"id: "+u(S.value),1)):oe("",!0)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[8]||(e[8]=[a("已加入 Token",-1)])]),_:1}),t(m,null,{default:l(()=>[a(u(r.value||"-"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[9]||(e[9]=[a("当前数据键",-1)])]),_:1}),t(m,null,{default:l(()=>[a(u(G.value),1)]),_:1})]),_:1})]),_:1}),t(E,{class:"my-4"}),t($,null,{default:l(()=>[t(p,{cols:"12",md:"8"},{default:l(()=>[t(de,{modelValue:A.value,"onUpdate:modelValue":e[0]||(e[0]=s=>A.value=s),clearable:"",label:"手动加入 Token (留空使用配置的 Token)"},null,8,["modelValue"])]),_:1}),t(p,{class:"d-flex align-center",cols:"12",md:"4"},{default:l(()=>[t(c,{class:"mr-2",color:"primary",onClick:e[1]||(e[1]=s=>N(A.value||_.value))},{default:l(()=>[...e[10]||(e[10]=[a(" 加入 ",-1)])]),_:1}),t(c,{disabled:!r.value,class:"mr-2",color:"warning",onClick:e[2]||(e[2]=s=>Y(r.value))},{default:l(()=>[...e[11]||(e[11]=[a(" 离开当前 ",-1)])]),_:1},8,["disabled"]),t(c,{color:"error",variant:"tonal",onClick:h},{default:l(()=>[...e[12]||(e[12]=[a(" 离开全部 ",-1)])]),_:1})]),_:1})]),_:1}),t(E,{class:"my-4"}),t($,null,{default:l(()=>[t(p,{cols:"12"},{default:l(()=>[t(b,{border:"",color:"primary",variant:"tonal"},{default:l(()=>[t(w,{class:"text-subtitle-1"},{default:l(()=>[...e[13]||(e[13]=[a("聊天室消息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(ce,{modelValue:y.value,"onUpdate:modelValue":e[3]||(e[3]=s=>y.value=s),"auto-grow":"",clearable:"",label:"发送到当前已加入的设备频道",rows:"2"},null,8,["modelValue"]),B("div",me,[t(J),t(c,{disabled:!P.value,color:"primary",onClick:Q},{default:l(()=>[...e[14]||(e[14]=[a(" 发送聊天 ",-1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})]),_:1}),t($,null,{default:l(()=>[t(p,{cols:"12"},{default:l(()=>[t(c,{color:"secondary",variant:"tonal",onClick:H},{default:l(()=>[...e[15]||(e[15]=[a(" 重新连接 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(b,{border:""},{default:l(()=>[t(w,null,{default:l(()=>[...e[16]||(e[16]=[a("在线设备",-1)])]),_:1}),t(j,null,{default:l(()=>[t(c,{class:"mb-3",color:"primary",onClick:F},{default:l(()=>[...e[17]||(e[17]=[a(" 刷新在线列表 ",-1)])]),_:1}),C.value.length?(d(),T(z,{key:0,density:"compact"},{default:l(()=>[(d(!0),L(M,null,O(C.value,s=>(d(),T(f,{key:s.uuid},{prepend:l(()=>[t(se,{color:s.connections>0?"success":"grey",size:"24"},null,8,["color"])]),append:l(()=>[t(c,{size:"small",variant:"text",onClick:K=>Z(s)},{default:l(()=>[...e[18]||(e[18]=[a(" 选择 ",-1)])]),_:1},8,["onClick"])]),default:l(()=>[t(v,null,{default:l(()=>[a(u(s.name||"(未命名)"),1)]),_:2},1024),t(m,null,{default:l(()=>[a(u(s.uuid)+" · 连接数 "+u(s.connections),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),L("div",pe," 暂无数据 "))]),_:1})]),_:1})]),_:1}),t(p,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:""},{default:l(()=>[t(w,{class:"d-flex align-center"},{default:l(()=>[e[20]||(e[20]=a(" 事件日志 ",-1)),t(J),t(c,{color:"error",size:"small",variant:"text",onClick:ee},{default:l(()=>[...e[19]||(e[19]=[a(" 清空 ",-1)])]),_:1})]),_:1}),t(j,null,{default:l(()=>[t(z,{density:"compact"},{default:l(()=>[(d(!0),L(M,null,O(g.value,(s,K)=>(d(),T(f,{key:K},{default:l(()=>[t(v,null,{default:l(()=>[B("span",_e,u(s.time),1),B("span",ke,u(s.event),1)]),_:2},1024),t(V,null,{default:l(()=>[B("pre",ge,u(s.payload),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{je as default};
|