1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-12-08 13:49:37 +00:00
Classworks/assets/debug-socket-Bx7i0zs2.js

2 lines
7.3 KiB
JavaScript

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