yo-moss-ai 0.0.45 → 0.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/runtime-manifest.json +1 -1
- package/dist/assets/{AppCredits-BwfgSFzD.js → AppCredits-ByUa3P8Q.js} +1 -1
- package/dist/assets/{AppLayout-C18mDrEp.js → AppLayout-CZhUjogH.js} +1 -1
- package/dist/assets/Camera-D1dQyzwr.js +1 -0
- package/dist/assets/{Devices-BSkd2LDe.js → Devices-D_gUkgeX.js} +1 -1
- package/dist/assets/{FindMoss-otAheCio.js → FindMoss-zjcdg_Si.js} +1 -1
- package/dist/assets/{Flash-Bw1B3pwM.js → Flash-BuCJZA1e.js} +1 -1
- package/dist/assets/Gamepad-CX1ucgeb.js +1 -0
- package/dist/assets/Gamepad-Ci_6V_2t.css +1 -0
- package/dist/assets/{Hardware-Dn0o1Hsu.js → Hardware-CCiz6gLO.js} +1 -1
- package/dist/assets/{Hotkeys-Btq63Ipv.js → Hotkeys-WhbgntX7.js} +1 -1
- package/dist/assets/McpHub-BcrcHfK1.js +30 -0
- package/dist/assets/McpHub-C9hQcIhp.css +1 -0
- package/dist/assets/{MiHome-Bg99koQo.js → MiHome-DnqLgFuq.js} +1 -1
- package/dist/assets/{PhBell.vue-9EkeFbHH.js → PhBell.vue-Bb5PjGSY.js} +1 -1
- package/dist/assets/{PhKeyboard.vue-C7bMTphd.js → PhKeyboard.vue-BO4_S_1K.js} +1 -1
- package/dist/assets/{PhLightbulb.vue-DZH5aIpd.js → PhLightbulb.vue-nzLB1Lwl.js} +1 -1
- package/dist/assets/{PhLightning.vue-CdvZutxD.js → PhLightning.vue-DcMLB-hu.js} +1 -1
- package/dist/assets/{PhPlugs.vue-CBu2P181.js → PhPlugs.vue-BNQWc1Xj.js} +1 -1
- package/dist/assets/{PhPlus.vue-mxgblyQ1.js → PhPlus.vue-C-xOoIVI.js} +1 -1
- package/dist/assets/{PhSpeakerHigh.vue-DAgsdMVU.js → PhSpeakerHigh.vue-BzGyF7rB.js} +1 -1
- package/dist/assets/{PhTelevisionSimple.vue-7Krm16mw.js → PhTelevisionSimple.vue-DmA8YpsA.js} +1 -1
- package/dist/assets/{Remotes-CwUhVXcP.js → Remotes-D57t27uP.js} +1 -1
- package/dist/assets/Terminal-zGhS4Igs.js +568 -0
- package/dist/assets/{Yunxiangji-CrO-Lctf.js → Yunxiangji-BFMS00Ty.js} +1 -1
- package/dist/assets/{index-ChXXBJGT.js → index-BDP0pPqH.js} +24 -24
- package/dist/assets/{useDeviceQuickPopup-xULn7PG9.js → useDeviceQuickPopup-YUQfq3E5.js} +1 -1
- package/dist/assets/{usePtzControl-7gthPPHB.js → usePtzControl-DWymVgYY.js} +1 -1
- package/dist/index.html +1 -1
- package/dist-server/board-presets.mjs +1 -1
- package/dist-server/camera-discover.mjs +1 -1
- package/dist-server/camera.mjs +1 -1
- package/dist-server/dev-ui.mjs +1 -1
- package/dist-server/device-chat-sync.mjs +1 -1
- package/dist-server/device-config-view.mjs +1 -1
- package/dist-server/device-focus.mjs +1 -1
- package/dist-server/device-http.mjs +1 -1
- package/dist-server/device-identity.mjs +1 -1
- package/dist-server/device-live.mjs +1 -1
- package/dist-server/device-presence.mjs +1 -1
- package/dist-server/device-probe.mjs +1 -1
- package/dist-server/device-registry.mjs +1 -1
- package/dist-server/device-routes.mjs +1 -1
- package/dist-server/device-runtime.mjs +1 -1
- package/dist-server/device-session.mjs +1 -1
- package/dist-server/ffmpeg.mjs +1 -1
- package/dist-server/gamepad-rumble.mjs +1 -0
- package/dist-server/gimbal-control.mjs +1 -1
- package/dist-server/home-path.mjs +1 -1
- package/dist-server/http-header.mjs +1 -1
- package/dist-server/index.mjs +1 -1
- package/dist-server/ir-import-validate.mjs +1 -1
- package/dist-server/known-scan-device.mjs +1 -1
- package/dist-server/lan-discover.mjs +1 -1
- package/dist-server/listen-port.mjs +1 -1
- package/dist-server/mcp/backoff.mjs +1 -1
- package/dist-server/mcp/bridge-manager.mjs +1 -1
- package/dist-server/mcp/builtin-tools.mjs +1 -1
- package/dist-server/mcp/dedupe-servers.mjs +1 -1
- package/dist-server/mcp/doctor.mjs +1 -1
- package/dist-server/mcp/fixtures/echo-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/hotkey-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/mihome-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/onvif-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/shell-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/yunxiangji-mcp.mjs +1 -1
- package/dist-server/mcp/hotkey-agent-docs.mjs +1 -1
- package/dist-server/mcp/hotkey-capture-session.mjs +1 -1
- package/dist-server/mcp/hotkey-driver.mjs +1 -1
- package/dist-server/mcp/hotkey-handlers.mjs +1 -1
- package/dist-server/mcp/hotkey-import-validate.mjs +1 -1
- package/dist-server/mcp/hotkey-store.mjs +1 -1
- package/dist-server/mcp/hotkey-tokens.mjs +1 -1
- package/dist-server/mcp/http-client.mjs +1 -1
- package/dist-server/mcp/http-pipe.mjs +1 -1
- package/dist-server/mcp/local-probe.mjs +1 -1
- package/dist-server/mcp/marketplace.mjs +1 -1
- package/dist-server/mcp/onvif-handlers.mjs +1 -1
- package/dist-server/mcp/parse-server-json.mjs +1 -1
- package/dist-server/mcp/paths.mjs +1 -1
- package/dist-server/mcp/routes.mjs +1 -1
- package/dist-server/mcp/schema.mjs +1 -1
- package/dist-server/mcp/settings.mjs +1 -1
- package/dist-server/mcp/shell-approval.mjs +1 -1
- package/dist-server/mcp/shell-policy.mjs +1 -1
- package/dist-server/mcp/shell-trash.mjs +1 -1
- package/dist-server/mcp/stdio-command.mjs +1 -1
- package/dist-server/mcp/stdio-launch.mjs +1 -1
- package/dist-server/mcp/stdio-pipe.mjs +1 -1
- package/dist-server/mcp/store.mjs +1 -1
- package/dist-server/mcp/task-notify.mjs +1 -1
- package/dist-server/mcp/ws-connect.mjs +1 -1
- package/dist-server/mcp/xiaozhi-compat.mjs +1 -1
- package/dist-server/mcp/yunxiangji.mjs +1 -1
- package/dist-server/media-cache.mjs +1 -1
- package/dist-server/mihome/cloud.mjs +1 -1
- package/dist-server/mihome/devices.mjs +1 -1
- package/dist-server/mihome/local.mjs +1 -1
- package/dist-server/mihome/mcp-desc.mjs +1 -1
- package/dist-server/mihome/queue.mjs +1 -1
- package/dist-server/mihome/rc4.mjs +1 -1
- package/dist-server/mihome/routes.mjs +1 -1
- package/dist-server/mihome/service.mjs +1 -1
- package/dist-server/mihome/sign.mjs +1 -1
- package/dist-server/mihome/spec.mjs +1 -1
- package/dist-server/mihome/store.mjs +1 -1
- package/dist-server/onboard-preview.mjs +1 -1
- package/dist-server/onvif-ws-discover.mjs +1 -1
- package/dist-server/spa-fallback.mjs +1 -1
- package/dist-server/tab-focus.mjs +1 -1
- package/dist-server/voice-wake.mjs +1 -1
- package/package.json +1 -1
- package/dist/assets/Camera-BlL6u3m4.js +0 -1
- package/dist/assets/Gamepad-Bkq_AmY6.css +0 -1
- package/dist/assets/Gamepad-Crlhi_fi.js +0 -1
- package/dist/assets/McpHub-CLFC5dIH.js +0 -30
- package/dist/assets/McpHub-CW6PanOR.css +0 -1
- package/dist/assets/Terminal-Cj27V8Bh.js +0 -568
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as o,o as n,g as p,n as r,f as s,t as a,a as t}from"./index-
|
|
1
|
+
import{d as o,o as n,g as p,n as r,f as s,t as a,a as t}from"./index-BDP0pPqH.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _=2026,i="YOKOCHEN YIMENG",C=`Copyright © ${_} ${i}. All rights reserved.`,d=["8144064","3715287"],l=`QQ:${d.join(" QQ:")}`,f={class:"app-credits-copy"},m={class:"app-credits-qq"},O=o({__name:"AppCredits",props:{variant:{default:"page"}},setup(e){return(I,T)=>(n(),p("p",{class:r(["app-credits",e.variant])},[s("span",f,a(t(C)),1),s("span",m,a(t(l)),1)],2))}}),E=c(O,[["__scopeId","data-v-f2e65ba2"]]);export{E as A,C,l as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as S,u as U,c as x,w as _,a as r,r as W,b as o,e as q,o as l,f as a,g as t,F,h as X,n as b,t as M,i as k,j as f,k as N,l as C,m as s0,E as D,p as P,q as Y,s as a0,v as n,x as z,y as o0,z as r0,A as i0,B as n0,C as u0,D as G,G as T,H as Q,K as h0}from"./index-ChXXBJGT.js";import{A as d0}from"./AppCredits-BwfgSFzD.js";import{u as e0}from"./useDeviceQuickPopup-xULn7PG9.js";import{_ as l0}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{I as v0}from"./PhBell.vue-9EkeFbHH.js";import{H as c0,I as p0}from"./PhPlugs.vue-CBu2P181.js";import{G as H0}from"./PhKeyboard.vue-C7bMTphd.js";import{F as V0}from"./PhTelevisionSimple.vue-7Krm16mw.js";import"./esp-flasher-CeAm6Ct9.js";const g0={class:"device-quick"},m0={key:0,class:"device-quick-list"},$0=["disabled","onClick"],Z0={class:"device-quick-copy"},y0={key:0},A0=S({__name:"DeviceQuickSwitch",props:{placement:{default:"top-start"},block:{type:Boolean,default:!0}},emits:["fallback"],setup(g,{emit:e}){const v=e,d=U(),c=a0(),H=Y(),{enabled:s}=e0(),u=W(!1),p=W(""),V=o(()=>c.path==="/devices");function h(m){return s0(m)}function A(m){return d.activeDeviceId===m.id}function I(){(!s.value||V.value)&&(u.value=!1,v("fallback"))}async function B(m){if(!m.online){D.warning("这台 MOSS 目前离线");return}if(A(m)){u.value=!1;return}p.value=m.id;try{await d.activateDevice(m.id),await H.replace({path:c.path,query:{...c.query,...P(m.id)}}),u.value=!1,D.success(`本标签已盯 ${m.displayName||m.hostname||"这台 MOSS"}`)}catch(w){D.error(w instanceof Error?w.message:"无法切换设备")}finally{p.value=""}}function L(){u.value=!1,H.push({path:"/devices",query:P()})}return(m,w)=>{const j=q("el-empty"),$=q("el-button"),i=q("el-popover");return l(),x(i,{visible:u.value,"onUpdate:visible":w[0]||(w[0]=Z=>u.value=Z),placement:g.placement,width:320,trigger:"click",disabled:!r(s)||V.value,"popper-class":"device-quick-popper","show-arrow":!0},{reference:_(()=>[a("div",{class:b(["device-quick-anchor",{block:g.block}]),onClick:I},[C(m.$slots,"default",{},void 0,!0)],2)]),default:_(()=>[a("div",g0,[w[2]||(w[2]=a("div",{class:"device-quick-hd"},"本标签切换设备",-1)),w[3]||(w[3]=a("p",{class:"device-quick-hint"},"点一台在线设备即可盯住。要改名、移除或添加,请进完整列表。",-1)),r(d).devices.length?(l(),t("div",m0,[(l(!0),t(F,null,X(r(d).devices,Z=>(l(),t("button",{key:Z.id,type:"button",class:b(["device-quick-row",{current:A(Z),offline:!Z.online}]),disabled:p.value===Z.id,onClick:E=>B(Z)},[a("span",{class:b(["dot",Z.online?"ready":"idle"])},null,2),a("span",Z0,[a("strong",null,M(Z.displayName||Z.hostname||"未命名"),1),a("small",null,M(Z.boardLabel||h(Z.board))+" · "+M(Z.online?"在线":"离线"),1)]),A(Z)?(l(),t("em",y0,"本标签")):k("",!0)],10,$0))),128))])):(l(),x(j,{key:1,description:"还没有设备","image-size":48})),f($,{class:"device-quick-all",onClick:L},{default:_(()=>[...w[1]||(w[1]=[N("进入设备列表",-1)])]),_:1})])]),_:3},8,["visible","placement","disabled"])}}}),R=l0(A0,[["__scopeId","data-v-5eccd1e6"]]),M0="/assets/logo-550w-purple-C42Lszoj.png",f0=["width","height","fill","transform"],k0={key:0},w0=a("path",{d:"M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"},null,-1),b0=[w0],_0={key:1},S0=a("path",{d:"M208,96l-80,80L48,96Z",opacity:"0.2"},null,-1),C0=a("path",{d:"M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z"},null,-1),z0=[S0,C0],x0={key:2},q0=a("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z"},null,-1),B0=[q0],L0={key:3},N0=a("path",{d:"M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"},null,-1),D0=[N0],P0={key:4},I0=a("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"},null,-1),j0=[I0],F0={key:5},E0=a("path",{d:"M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"},null,-1),O0=[E0],W0={name:"PhCaretDown"},G0=S({...W0,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",k0,b0)):s.value==="duotone"?(l(),t("g",_0,z0)):s.value==="fill"?(l(),t("g",x0,B0)):s.value==="light"?(l(),t("g",L0,D0)):s.value==="regular"?(l(),t("g",P0,j0)):s.value==="thin"?(l(),t("g",F0,O0)):k("",!0)],16,f0))}}),T0=["width","height","fill","transform"],Q0={key:0},R0=a("path",{d:"M148,96V48a12,12,0,0,1,24,0V84h36a12,12,0,0,1,0,24H160A12,12,0,0,1,148,96ZM96,148H48a12,12,0,0,0,0,24H84v36a12,12,0,0,0,24,0V160A12,12,0,0,0,96,148Zm112,0H160a12,12,0,0,0-12,12v48a12,12,0,0,0,24,0V172h36a12,12,0,0,0,0-24ZM96,36A12,12,0,0,0,84,48V84H48a12,12,0,0,0,0,24H96a12,12,0,0,0,12-12V48A12,12,0,0,0,96,36Z"},null,-1),J0=[R0],K0={key:1},U0=a("path",{d:"M208,64V192a16,16,0,0,1-16,16H64a16,16,0,0,1-16-16V64A16,16,0,0,1,64,48H192A16,16,0,0,1,208,64Z",opacity:"0.2"},null,-1),X0=a("path",{d:"M152,96V48a8,8,0,0,1,16,0V88h40a8,8,0,0,1,0,16H160A8,8,0,0,1,152,96ZM96,152H48a8,8,0,0,0,0,16H88v40a8,8,0,0,0,16,0V160A8,8,0,0,0,96,152Zm112,0H160a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V168h40a8,8,0,0,0,0-16ZM96,40a8,8,0,0,0-8,8V88H48a8,8,0,0,0,0,16H96a8,8,0,0,0,8-8V48A8,8,0,0,0,96,40Z"},null,-1),Y0=[U0,X0],a1={key:2},e1=a("path",{d:"M152,96V48a8,8,0,0,1,13.66-5.66l48,48A8,8,0,0,1,208,104H160A8,8,0,0,1,152,96ZM96,152H48a8,8,0,0,0-5.66,13.66l48,48A8,8,0,0,0,104,208V160A8,8,0,0,0,96,152ZM99.06,40.61a8,8,0,0,0-8.72,1.73l-48,48A8,8,0,0,0,48,104H96a8,8,0,0,0,8-8V48A8,8,0,0,0,99.06,40.61ZM208,152H160a8,8,0,0,0-8,8v48a8,8,0,0,0,13.66,5.66l48-48A8,8,0,0,0,208,152Z"},null,-1),l1=[e1],t1={key:3},s1=a("path",{d:"M154,96V48a6,6,0,0,1,12,0V90h42a6,6,0,0,1,0,12H160A6,6,0,0,1,154,96ZM96,154H48a6,6,0,0,0,0,12H90v42a6,6,0,0,0,12,0V160A6,6,0,0,0,96,154Zm112,0H160a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V166h42a6,6,0,0,0,0-12ZM96,42a6,6,0,0,0-6,6V90H48a6,6,0,0,0,0,12H96a6,6,0,0,0,6-6V48A6,6,0,0,0,96,42Z"},null,-1),o1=[s1],r1={key:4},i1=a("path",{d:"M152,96V48a8,8,0,0,1,16,0V88h40a8,8,0,0,1,0,16H160A8,8,0,0,1,152,96ZM96,152H48a8,8,0,0,0,0,16H88v40a8,8,0,0,0,16,0V160A8,8,0,0,0,96,152Zm112,0H160a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V168h40a8,8,0,0,0,0-16ZM96,40a8,8,0,0,0-8,8V88H48a8,8,0,0,0,0,16H96a8,8,0,0,0,8-8V48A8,8,0,0,0,96,40Z"},null,-1),n1=[i1],u1={key:5},h1=a("path",{d:"M156,96V48a4,4,0,0,1,8,0V92h44a4,4,0,0,1,0,8H160A4,4,0,0,1,156,96ZM96,156H48a4,4,0,0,0,0,8H92v44a4,4,0,0,0,8,0V160A4,4,0,0,0,96,156Zm112,0H160a4,4,0,0,0-4,4v48a4,4,0,0,0,8,0V164h44a4,4,0,0,0,0-8ZM96,44a4,4,0,0,0-4,4V92H48a4,4,0,0,0,0,8H96a4,4,0,0,0,4-4V48A4,4,0,0,0,96,44Z"},null,-1),d1=[h1],v1={name:"PhCornersIn"},c1=S({...v1,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",Q0,J0)):s.value==="duotone"?(l(),t("g",K0,Y0)):s.value==="fill"?(l(),t("g",a1,l1)):s.value==="light"?(l(),t("g",t1,o1)):s.value==="regular"?(l(),t("g",r1,n1)):s.value==="thin"?(l(),t("g",u1,d1)):k("",!0)],16,T0))}}),p1=["width","height","fill","transform"],H1={key:0},V1=a("path",{d:"M220,48V88a12,12,0,0,1-24,0V60H168a12,12,0,0,1,0-24h40A12,12,0,0,1,220,48ZM88,196H60V168a12,12,0,0,0-24,0v40a12,12,0,0,0,12,12H88a12,12,0,0,0,0-24Zm120-40a12,12,0,0,0-12,12v28H168a12,12,0,0,0,0,24h40a12,12,0,0,0,12-12V168A12,12,0,0,0,208,156ZM88,36H48A12,12,0,0,0,36,48V88a12,12,0,0,0,24,0V60H88a12,12,0,0,0,0-24Z"},null,-1),g1=[V1],m1={key:1},$1=a("path",{d:"M208,48V208H48V48Z",opacity:"0.2"},null,-1),Z1=a("path",{d:"M216,48V88a8,8,0,0,1-16,0V56H168a8,8,0,0,1,0-16h40A8,8,0,0,1,216,48ZM88,200H56V168a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H88a8,8,0,0,0,0-16Zm120-40a8,8,0,0,0-8,8v32H168a8,8,0,0,0,0,16h40a8,8,0,0,0,8-8V168A8,8,0,0,0,208,160ZM88,40H48a8,8,0,0,0-8,8V88a8,8,0,0,0,16,0V56H88a8,8,0,0,0,0-16Z"},null,-1),y1=[$1,Z1],A1={key:2},M1=a("path",{d:"M93.66,202.34A8,8,0,0,1,88,216H48a8,8,0,0,1-8-8V168a8,8,0,0,1,13.66-5.66ZM88,40H48a8,8,0,0,0-8,8V88a8,8,0,0,0,13.66,5.66l40-40A8,8,0,0,0,88,40ZM211.06,160.61a8,8,0,0,0-8.72,1.73l-40,40A8,8,0,0,0,168,216h40a8,8,0,0,0,8-8V168A8,8,0,0,0,211.06,160.61ZM208,40H168a8,8,0,0,0-5.66,13.66l40,40A8,8,0,0,0,216,88V48A8,8,0,0,0,208,40Z"},null,-1),f1=[M1],k1={key:3},w1=a("path",{d:"M214,48V88a6,6,0,0,1-12,0V54H168a6,6,0,0,1,0-12h40A6,6,0,0,1,214,48ZM88,202H54V168a6,6,0,0,0-12,0v40a6,6,0,0,0,6,6H88a6,6,0,0,0,0-12Zm120-40a6,6,0,0,0-6,6v34H168a6,6,0,0,0,0,12h40a6,6,0,0,0,6-6V168A6,6,0,0,0,208,162ZM88,42H48a6,6,0,0,0-6,6V88a6,6,0,0,0,12,0V54H88a6,6,0,0,0,0-12Z"},null,-1),b1=[w1],_1={key:4},S1=a("path",{d:"M216,48V88a8,8,0,0,1-16,0V56H168a8,8,0,0,1,0-16h40A8,8,0,0,1,216,48ZM88,200H56V168a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H88a8,8,0,0,0,0-16Zm120-40a8,8,0,0,0-8,8v32H168a8,8,0,0,0,0,16h40a8,8,0,0,0,8-8V168A8,8,0,0,0,208,160ZM88,40H48a8,8,0,0,0-8,8V88a8,8,0,0,0,16,0V56H88a8,8,0,0,0,0-16Z"},null,-1),C1=[S1],z1={key:5},x1=a("path",{d:"M212,48V88a4,4,0,0,1-8,0V52H168a4,4,0,0,1,0-8h40A4,4,0,0,1,212,48ZM88,204H52V168a4,4,0,0,0-8,0v40a4,4,0,0,0,4,4H88a4,4,0,0,0,0-8Zm120-40a4,4,0,0,0-4,4v36H168a4,4,0,0,0,0,8h40a4,4,0,0,0,4-4V168A4,4,0,0,0,208,164ZM88,44H48a4,4,0,0,0-4,4V88a4,4,0,0,0,8,0V52H88a4,4,0,0,0,0-8Z"},null,-1),q1=[x1],B1={name:"PhCornersOut"},L1=S({...B1,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",H1,g1)):s.value==="duotone"?(l(),t("g",m1,y1)):s.value==="fill"?(l(),t("g",A1,f1)):s.value==="light"?(l(),t("g",k1,b1)):s.value==="regular"?(l(),t("g",_1,C1)):s.value==="thin"?(l(),t("g",z1,q1)):k("",!0)],16,p1))}}),N1=["width","height","fill","transform"],D1={key:0},P1=a("path",{d:"M156,88H100a12,12,0,0,0-12,12v56a12,12,0,0,0,12,12h56a12,12,0,0,0,12-12V100A12,12,0,0,0,156,88Zm-12,56H112V112h32Zm88-4H220V116h12a12,12,0,0,0,0-24H220V56a20,20,0,0,0-20-20H164V24a12,12,0,0,0-24,0V36H116V24a12,12,0,0,0-24,0V36H56A20,20,0,0,0,36,56V92H24a12,12,0,0,0,0,24H36v24H24a12,12,0,0,0,0,24H36v36a20,20,0,0,0,20,20H92v12a12,12,0,0,0,24,0V220h24v12a12,12,0,0,0,24,0V220h36a20,20,0,0,0,20-20V164h12a12,12,0,0,0,0-24Zm-36,56H60V60H196Z"},null,-1),I1=[P1],j1={key:1},F1=a("path",{d:"M200,48H56a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V56A8,8,0,0,0,200,48ZM152,152H104V104h48Z",opacity:"0.2"},null,-1),E1=a("path",{d:"M152,96H104a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V104A8,8,0,0,0,152,96Zm-8,48H112V112h32Zm88,0H216V112h16a8,8,0,0,0,0-16H216V56a16,16,0,0,0-16-16H160V24a8,8,0,0,0-16,0V40H112V24a8,8,0,0,0-16,0V40H56A16,16,0,0,0,40,56V96H24a8,8,0,0,0,0,16H40v32H24a8,8,0,0,0,0,16H40v40a16,16,0,0,0,16,16H96v16a8,8,0,0,0,16,0V216h32v16a8,8,0,0,0,16,0V216h40a16,16,0,0,0,16-16V160h16a8,8,0,0,0,0-16Zm-32,56H56V56H200v95.87s0,.09,0,.13,0,.09,0,.13V200Z"},null,-1),O1=[F1,E1],W1={key:2},G1=a("path",{d:"M104,104h48v48H104Zm136,48a8,8,0,0,1-8,8H216v40a16,16,0,0,1-16,16H160v16a8,8,0,0,1-16,0V216H112v16a8,8,0,0,1-16,0V216H56a16,16,0,0,1-16-16V160H24a8,8,0,0,1,0-16H40V112H24a8,8,0,0,1,0-16H40V56A16,16,0,0,1,56,40H96V24a8,8,0,0,1,16,0V40h32V24a8,8,0,0,1,16,0V40h40a16,16,0,0,1,16,16V96h16a8,8,0,0,1,0,16H216v32h16A8,8,0,0,1,240,152ZM168,96a8,8,0,0,0-8-8H96a8,8,0,0,0-8,8v64a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8Z"},null,-1),T1=[G1],Q1={key:3},R1=a("path",{d:"M152,98H104a6,6,0,0,0-6,6v48a6,6,0,0,0,6,6h48a6,6,0,0,0,6-6V104A6,6,0,0,0,152,98Zm-6,48H110V110h36Zm86,0H214V110h18a6,6,0,0,0,0-12H214V56a14,14,0,0,0-14-14H158V24a6,6,0,0,0-12,0V42H110V24a6,6,0,0,0-12,0V42H56A14,14,0,0,0,42,56V98H24a6,6,0,0,0,0,12H42v36H24a6,6,0,0,0,0,12H42v42a14,14,0,0,0,14,14H98v18a6,6,0,0,0,12,0V214h36v18a6,6,0,0,0,12,0V214h42a14,14,0,0,0,14-14V158h18a6,6,0,0,0,0-12Zm-30,54a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2H200a2,2,0,0,1,2,2Z"},null,-1),J1=[R1],K1={key:4},U1=a("path",{d:"M152,96H104a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V104A8,8,0,0,0,152,96Zm-8,48H112V112h32Zm88,0H216V112h16a8,8,0,0,0,0-16H216V56a16,16,0,0,0-16-16H160V24a8,8,0,0,0-16,0V40H112V24a8,8,0,0,0-16,0V40H56A16,16,0,0,0,40,56V96H24a8,8,0,0,0,0,16H40v32H24a8,8,0,0,0,0,16H40v40a16,16,0,0,0,16,16H96v16a8,8,0,0,0,16,0V216h32v16a8,8,0,0,0,16,0V216h40a16,16,0,0,0,16-16V160h16a8,8,0,0,0,0-16Zm-32,56H56V56H200v95.87s0,.09,0,.13,0,.09,0,.13V200Z"},null,-1),X1=[U1],Y1={key:5},a8=a("path",{d:"M152,100H104a4,4,0,0,0-4,4v48a4,4,0,0,0,4,4h48a4,4,0,0,0,4-4V104A4,4,0,0,0,152,100Zm-4,48H108V108h40Zm84,0H212V108h20a4,4,0,0,0,0-8H212V56a12,12,0,0,0-12-12H156V24a4,4,0,0,0-8,0V44H108V24a4,4,0,0,0-8,0V44H56A12,12,0,0,0,44,56v44H24a4,4,0,0,0,0,8H44v40H24a4,4,0,0,0,0,8H44v44a12,12,0,0,0,12,12h44v20a4,4,0,0,0,8,0V212h40v20a4,4,0,0,0,8,0V212h44a12,12,0,0,0,12-12V156h20a4,4,0,0,0,0-8Zm-28,52a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4H200a4,4,0,0,1,4,4Z"},null,-1),e8=[a8],l8={name:"PhCpu"},t8=S({...l8,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",D1,I1)):s.value==="duotone"?(l(),t("g",j1,O1)):s.value==="fill"?(l(),t("g",W1,T1)):s.value==="light"?(l(),t("g",Q1,J1)):s.value==="regular"?(l(),t("g",K1,X1)):s.value==="thin"?(l(),t("g",Y1,e8)):k("",!0)],16,N1))}}),s8=["width","height","fill","transform"],o8={key:0},r8=a("path",{d:"M209.88,69.83A115.19,115.19,0,0,0,128,36h-.41C63.85,36.22,12,88.76,12,153.13V176a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V152A115.25,115.25,0,0,0,209.88,69.83ZM220,172H127.32l46.44-65A12,12,0,1,0,154.24,93L97.82,172H36V153.13c0-1.72,0-3.43.14-5.13H56a12,12,0,0,0,0-24H40.62c10.91-33.39,40-58.52,75.38-63.21V80a12,12,0,0,0,24,0V60.8A92,92,0,0,1,215.66,124H200a12,12,0,0,0,0,24h19.9c.06,1.33.1,2.66.1,4Z"},null,-1),i8=[r8],n8={key:1},u8=a("path",{d:"M232,152v24a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V153.13C24,95.65,70.15,48.2,127.63,48A104,104,0,0,1,232,152Z",opacity:"0.2"},null,-1),h8=a("path",{d:"M207.06,72.67A111.24,111.24,0,0,0,128,40h-.4C66.07,40.21,16,91,16,153.13V176a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V152A111.25,111.25,0,0,0,207.06,72.67ZM224,176H119.71l54.76-75.3a8,8,0,0,0-12.94-9.42L99.92,176H32V153.13c0-3.08.15-6.12.43-9.13H56a8,8,0,0,0,0-16H35.27c10.32-38.86,44-68.24,84.73-71.66V80a8,8,0,0,0,16,0V56.33A96.14,96.14,0,0,1,221,128H200a8,8,0,0,0,0,16h23.67c.21,2.65.33,5.31.33,8Z"},null,-1),d8=[u8,h8],v8={key:2},c8=a("path",{d:"M240,152v24a16,16,0,0,1-16,16H115.93a4,4,0,0,1-3.24-6.35L174.27,101a8.21,8.21,0,0,0-1.37-11.3,8,8,0,0,0-11.37,1.61l-72,99.06A4,4,0,0,1,86.25,192H32a16,16,0,0,1-16-16V153.13c0-1.79,0-3.57.13-5.33a4,4,0,0,1,4-3.8H48a8,8,0,0,0,8-8.53A8.17,8.17,0,0,0,47.73,128H23.92a4,4,0,0,1-3.87-5c12-43.84,49.66-77.13,95.52-82.28a4,4,0,0,1,4.43,4V72a8,8,0,0,0,8.53,8A8.17,8.17,0,0,0,136,71.73V44.67a4,4,0,0,1,4.43-4A112.18,112.18,0,0,1,236.23,123a4,4,0,0,1-3.88,5H208.27a8.17,8.17,0,0,0-8.25,7.47,8,8,0,0,0,8,8.53h27.92a4,4,0,0,1,4,3.86C240,149.23,240,150.61,240,152Z"},null,-1),p8=[c8],H8={key:3},V8=a("path",{d:"M205.65,74.08A109.26,109.26,0,0,0,128,42h-.39C67.17,42.21,18,92.06,18,153.13V176a14,14,0,0,0,14,14H224a14,14,0,0,0,14-14V152A109.3,109.3,0,0,0,205.65,74.08ZM226,176a2,2,0,0,1-2,2H115.78l57.07-78.47a6,6,0,0,0-9.7-7.06L100.94,178H32a2,2,0,0,1-2-2V153.13A102.36,102.36,0,0,1,30.62,142H56a6,6,0,0,0,0-12H32.71C42.6,88.4,78.53,56.86,122,54.19V80a6,6,0,0,0,12,0V54.19A98.05,98.05,0,0,1,223.53,130H200a6,6,0,0,0,0,12h25.5c.33,3.3.5,6.64.5,10Z"},null,-1),g8=[V8],m8={key:4},$8=a("path",{d:"M207.06,72.67A111.24,111.24,0,0,0,128,40h-.4C66.07,40.21,16,91,16,153.13V176a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V152A111.25,111.25,0,0,0,207.06,72.67ZM224,176H119.71l54.76-75.3a8,8,0,0,0-12.94-9.42L99.92,176H32V153.13c0-3.08.15-6.12.43-9.13H56a8,8,0,0,0,0-16H35.27c10.32-38.86,44-68.24,84.73-71.66V80a8,8,0,0,0,16,0V56.33A96.14,96.14,0,0,1,221,128H200a8,8,0,0,0,0,16h23.67c.21,2.65.33,5.31.33,8Z"},null,-1),Z8=[$8],y8={key:5},A8=a("path",{d:"M204.23,75.5A107.37,107.37,0,0,0,127.62,44C68.28,44.21,20,93.16,20,153.13V176a12,12,0,0,0,12,12H224a12,12,0,0,0,12-12V152A107.25,107.25,0,0,0,204.23,75.5ZM228,176a4,4,0,0,1-4,4H111.85l59.38-81.65a4,4,0,1,0-6.46-4.7L102,180H32a4,4,0,0,1-4-4V153.13A103.42,103.42,0,0,1,28.84,140H56a4,4,0,0,0,0-8H30.21C39.59,87.66,77.84,53.93,124,52.09V80a4,4,0,0,0,8,0V52.08A100.08,100.08,0,0,1,226,132H200a4,4,0,0,0,0,8h27.29a101.6,101.6,0,0,1,.71,12Z"},null,-1),M8=[A8],f8={name:"PhGauge"},k8=S({...f8,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",o8,i8)):s.value==="duotone"?(l(),t("g",n8,d8)):s.value==="fill"?(l(),t("g",v8,p8)):s.value==="light"?(l(),t("g",H8,g8)):s.value==="regular"?(l(),t("g",m8,Z8)):s.value==="thin"?(l(),t("g",y8,M8)):k("",!0)],16,s8))}}),w8=["width","height","fill","transform"],b8={key:0},_8=a("path",{d:"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z"},null,-1),S8=[_8],C8={key:1},z8=a("path",{d:"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z",opacity:"0.2"},null,-1),x8=a("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"},null,-1),q8=[z8,x8],B8={key:2},L8=a("path",{d:"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z"},null,-1),N8=[L8],D8={key:3},P8=a("path",{d:"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z"},null,-1),I8=[P8],j8={key:4},F8=a("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"},null,-1),E8=[F8],O8={key:5},W8=a("path",{d:"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z"},null,-1),G8=[W8],T8={name:"PhHouse"},Q8=S({...T8,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",b8,S8)):s.value==="duotone"?(l(),t("g",C8,q8)):s.value==="fill"?(l(),t("g",B8,N8)):s.value==="light"?(l(),t("g",D8,I8)):s.value==="regular"?(l(),t("g",j8,E8)):s.value==="thin"?(l(),t("g",O8,G8)):k("",!0)],16,w8))}}),R8=["width","height","fill","transform"],J8={key:0},K8=a("path",{d:"M208,144H140V98.32a44,44,0,1,0-24,0V144H48a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V164A20,20,0,0,0,208,144ZM108,56a20,20,0,1,1,20,20A20,20,0,0,1,108,56Zm96,148H52V168H204ZM172,104h32a12,12,0,0,1,0,24H172a12,12,0,0,1,0-24Z"},null,-1),U8=[K8],X8={key:1},Y8=a("path",{d:"M216,160v48a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V160a8,8,0,0,1,8-8H208A8,8,0,0,1,216,160ZM128,88A32,32,0,1,0,96,56,32,32,0,0,0,128,88Z",opacity:"0.2"},null,-1),a2=a("path",{d:"M208,144H136V95.19a40,40,0,1,0-16,0V144H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V160A16,16,0,0,0,208,144ZM104,56a24,24,0,1,1,24,24A24,24,0,0,1,104,56ZM208,208H48V160H208v48Zm-40-96h32a8,8,0,0,1,0,16H168a8,8,0,0,1,0-16Z"},null,-1),e2=[Y8,a2],l2={key:2},t2=a("path",{d:"M224,160v48a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V160a16,16,0,0,1,16-16h72V95.19a40,40,0,1,1,16,0V144h72A16,16,0,0,1,224,160Zm-64-40a8,8,0,0,0,8,8h32a8,8,0,0,0,0-16H168A8,8,0,0,0,160,120Z"},null,-1),s2=[t2],o2={key:3},r2=a("path",{d:"M208,146H134V93.52a38,38,0,1,0-12,0V146H48a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V160A14,14,0,0,0,208,146ZM102,56a26,26,0,1,1,26,26A26,26,0,0,1,102,56ZM210,208a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V160a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Zm-42-94h32a6,6,0,0,1,0,12H168a6,6,0,0,1,0-12Z"},null,-1),i2=[r2],n2={key:4},u2=a("path",{d:"M208,144H136V95.19a40,40,0,1,0-16,0V144H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V160A16,16,0,0,0,208,144ZM104,56a24,24,0,1,1,24,24A24,24,0,0,1,104,56ZM208,208H48V160H208v48Zm-40-96h32a8,8,0,0,1,0,16H168a8,8,0,0,1,0-16Z"},null,-1),h2=[u2],d2={key:5},v2=a("path",{d:"M208,148H132V91.77a36,36,0,1,0-8,0V148H48a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V160A12,12,0,0,0,208,148ZM100,56a28,28,0,1,1,28,28A28,28,0,0,1,100,56ZM212,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V160a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-48-88a4,4,0,0,1,4-4h32a4,4,0,0,1,0,8H168A4,4,0,0,1,164,120Z"},null,-1),c2=[v2],p2={name:"PhJoystick"},H2=S({...p2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",J8,U8)):s.value==="duotone"?(l(),t("g",X8,e2)):s.value==="fill"?(l(),t("g",l2,s2)):s.value==="light"?(l(),t("g",o2,i2)):s.value==="regular"?(l(),t("g",n2,h2)):s.value==="thin"?(l(),t("g",d2,c2)):k("",!0)],16,R8))}}),V2=["width","height","fill","transform"],g2={key:0},m2=a("path",{d:"M208,76H180V56A52,52,0,0,0,76,56V76H48A20,20,0,0,0,28,96V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V96A20,20,0,0,0,208,76ZM100,56a28,28,0,0,1,56,0V76H100ZM204,204H52V100H204Z"},null,-1),$2=[m2],Z2={key:1},y2=a("path",{d:"M216,96V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V96a8,8,0,0,1,8-8H208A8,8,0,0,1,216,96Z",opacity:"0.2"},null,-1),A2=a("path",{d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"},null,-1),M2=[y2,A2],f2={key:2},k2=a("path",{d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96Z"},null,-1),w2=[k2],b2={key:3},_2=a("path",{d:"M208,82H174V56a46,46,0,0,0-92,0V82H48A14,14,0,0,0,34,96V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V96A14,14,0,0,0,208,82ZM94,56a34,34,0,0,1,68,0V82H94ZM210,208a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V96a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Z"},null,-1),S2=[_2],C2={key:4},z2=a("path",{d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"},null,-1),x2=[z2],q2={key:5},B2=a("path",{d:"M208,84H172V56a44,44,0,0,0-88,0V84H48A12,12,0,0,0,36,96V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V96A12,12,0,0,0,208,84ZM92,56a36,36,0,0,1,72,0V84H92ZM212,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V96a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Z"},null,-1),L2=[B2],N2={name:"PhLockSimple"},J=S({...N2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",g2,$2)):s.value==="duotone"?(l(),t("g",Z2,M2)):s.value==="fill"?(l(),t("g",f2,w2)):s.value==="light"?(l(),t("g",b2,S2)):s.value==="regular"?(l(),t("g",C2,x2)):s.value==="thin"?(l(),t("g",q2,L2)):k("",!0)],16,V2))}}),D2=["width","height","fill","transform"],P2={key:0},I2=a("path",{d:"M40,92H70.06a36,36,0,0,0,67.88,0H216a12,12,0,0,0,0-24H137.94a36,36,0,0,0-67.88,0H40a12,12,0,0,0,0,24Zm64-24A12,12,0,1,1,92,80,12,12,0,0,1,104,68Zm112,96H201.94a36,36,0,0,0-67.88,0H40a12,12,0,0,0,0,24h94.06a36,36,0,0,0,67.88,0H216a12,12,0,0,0,0-24Zm-48,24a12,12,0,1,1,12-12A12,12,0,0,1,168,188Z"},null,-1),j2=[I2],F2={key:1},E2=a("path",{d:"M128,80a24,24,0,1,1-24-24A24,24,0,0,1,128,80Zm40,72a24,24,0,1,0,24,24A24,24,0,0,0,168,152Z",opacity:"0.2"},null,-1),O2=a("path",{d:"M40,88H73a32,32,0,0,0,62,0h81a8,8,0,0,0,0-16H135a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16Zm64-24A16,16,0,1,1,88,80,16,16,0,0,1,104,64ZM216,168H199a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16h97a32,32,0,0,0,62,0h17a8,8,0,0,0,0-16Zm-48,24a16,16,0,1,1,16-16A16,16,0,0,1,168,192Z"},null,-1),W2=[E2,O2],G2={key:2},T2=a("path",{d:"M32,80a8,8,0,0,1,8-8H77.17a28,28,0,0,1,53.66,0H216a8,8,0,0,1,0,16H130.83a28,28,0,0,1-53.66,0H40A8,8,0,0,1,32,80Zm184,88H194.83a28,28,0,0,0-53.66,0H40a8,8,0,0,0,0,16H141.17a28,28,0,0,0,53.66,0H216a8,8,0,0,0,0-16Z"},null,-1),Q2=[T2],R2={key:3},J2=a("path",{d:"M40,86H74.6a30,30,0,0,0,58.8,0H216a6,6,0,0,0,0-12H133.4a30,30,0,0,0-58.8,0H40a6,6,0,0,0,0,12Zm64-24A18,18,0,1,1,86,80,18,18,0,0,1,104,62ZM216,170H197.4a30,30,0,0,0-58.8,0H40a6,6,0,0,0,0,12h98.6a30,30,0,0,0,58.8,0H216a6,6,0,0,0,0-12Zm-48,24a18,18,0,1,1,18-18A18,18,0,0,1,168,194Z"},null,-1),K2=[J2],U2={key:4},X2=a("path",{d:"M40,88H73a32,32,0,0,0,62,0h81a8,8,0,0,0,0-16H135a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16Zm64-24A16,16,0,1,1,88,80,16,16,0,0,1,104,64ZM216,168H199a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16h97a32,32,0,0,0,62,0h17a8,8,0,0,0,0-16Zm-48,24a16,16,0,1,1,16-16A16,16,0,0,1,168,192Z"},null,-1),Y2=[X2],aa={key:5},ea=a("path",{d:"M40,84H76.29a28,28,0,0,0,55.42,0H216a4,4,0,0,0,0-8H131.71a28,28,0,0,0-55.42,0H40a4,4,0,0,0,0,8Zm64-24A20,20,0,1,1,84,80,20,20,0,0,1,104,60ZM216,172H195.71a28,28,0,0,0-55.42,0H40a4,4,0,0,0,0,8H140.29a28,28,0,0,0,55.42,0H216a4,4,0,0,0,0-8Zm-48,24a20,20,0,1,1,20-20A20,20,0,0,1,168,196Z"},null,-1),la=[ea],ta={name:"PhSlidersHorizontal"},K=S({...ta,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",P2,j2)):s.value==="duotone"?(l(),t("g",F2,W2)):s.value==="fill"?(l(),t("g",G2,Q2)):s.value==="light"?(l(),t("g",R2,K2)):s.value==="regular"?(l(),t("g",U2,Y2)):s.value==="thin"?(l(),t("g",aa,la)):k("",!0)],16,D2))}}),sa={class:"app-shell moss-admin"},oa={class:"sidebar"},ra={class:"brand"},ia=["src"],na={class:"nav-icon"},ua={key:0,class:"nav-lock","aria-hidden":"true"},ha={class:"nav"},da=["onClick"],va={class:"nav-icon"},ca={class:"nav-label"},pa={key:0,class:"nav-lock","aria-hidden":"true"},Ha={class:"nav-icon"},Va={class:"sidebar-status-text"},ga={class:"sidebar-status-label"},ma={class:"sidebar-status-meta"},$a={class:"sidebar-status-action"},Za={class:"page-header"},ya={class:"page-heading"},Aa={class:"page-heading-copy"},Ma={class:"page-sub"},fa={class:"page-heading-actions"},ka=["title"],wa={class:"device-chip-name"},ba=["title"],_a={class:"page-credits"},Sa={key:0,class:"shell-approval"},Ca={class:"shell-approval-meta"},za={class:"shell-approval-tag"},xa={class:"shell-approval-reason"},qa={class:"shell-approval-cmd"},Ba={key:0,class:"shell-approval-cwd"},La=S({__name:"AppLayout",setup(g){const e=U(),v=a0(),d=Y(),{isFullscreen:c}=o0(),H=e0(),s={remote:V0,camera:p0,mcp:c0,hotkeys:H0,hardware:K,gamepad:H2,yunxiangji:v0,mihome:Q8};function u($){return s[$]||K}const p=o(()=>[{path:"/hardware",label:"硬件配置",requiresMoss:!0,icon:"hardware"},{path:"/remotes",label:"红外配置",requiresMoss:!0,icon:"remote",hide:!e.hasIr},{path:"/camera",label:"视觉中枢",requiresMoss:!0,icon:"camera"},{path:"/gamepad",label:"手柄控制",requiresMoss:!0,icon:"gamepad"},{path:"/hotkeys",label:"快捷键",requiresMoss:!0,icon:"hotkeys"},{path:"/yunxiangji",label:"云享记",requiresMoss:!0,icon:"yunxiangji"},{path:"/mcp",label:"MCP工具",requiresMoss:!0,icon:"mcp"},{path:"/mihome",label:"米家设备",requiresMoss:!0,icon:"mihome"}].filter(i=>!i.hide)),V=o(()=>String(v.meta.title||"MOSS 配置")),h=o(()=>String(v.meta.subtitle||"")),A=o(()=>v.meta.layoutFit===!0);function I($){return v.path===(typeof $=="string"?$:$.path)}function B($){return $.requiresMoss&&!e.mossOnline}const L=o(()=>!e.mossOnline);function m(){d.push({path:"/devices",query:P()})}function w($){if(B($)){D.warning("请先在设备列表选择一台在线的 MOSS"),m();return}d.push({path:$.path,query:P()})}function j(){if(L.value){D.warning("请先在设备列表选择一台在线的 MOSS"),m();return}d.push({path:"/terminal",query:P()})}return r0(async()=>{i0(),e.hydrated?n0("all"):await e.refresh(),e.listenEvents(),e.activeDeviceId&&!e.mossOnline&&e.probeMoss().catch(()=>{})}),u0(()=>String(v.query.device||""),$=>{const i=$.trim();i&&i!==e.activeDeviceId&&e.focusDevice(i)}),($,i)=>{const Z=q("router-view"),E=q("el-alert"),O=q("el-button"),t0=q("el-dialog");return l(),t(F,null,[a("div",sa,[a("aside",oa,[a("div",ra,[a("img",{class:"brand-logo",src:r(M0),alt:"550W"},null,8,ia),i[5]||(i[5]=a("div",{class:"tagline"},"550W 超级量子计算机指令终端",-1))]),a("button",{class:b(["nav-hub",{locked:L.value}]),type:"button",onClick:j},[a("span",na,[f(r(k8),{size:18,weight:"regular"})]),i[6]||(i[6]=a("span",{class:"nav-hub-copy"},[a("strong",null,"控制中枢"),a("small",null,"运行监视与操控")],-1)),L.value?(l(),t("span",ua,[f(r(J),{size:16,weight:"regular"})])):k("",!0)],2),a("nav",ha,[i[8]||(i[8]=a("div",{class:"nav-kicker"},"配置",-1)),(l(!0),t(F,null,X(p.value,y=>(l(),t("button",{key:y.path,class:b(["nav-item",{active:I(y),locked:B(y)}]),type:"button",onClick:Na=>w(y)},[a("span",va,[(l(),x(Q(u(y.icon)),{size:18,weight:"regular"}))]),a("span",ca,M(y.label),1),B(y)?(l(),t("span",pa,[f(r(J),{size:16,weight:"regular"})])):k("",!0)],10,da))),128)),i[9]||(i[9]=a("div",{class:"nav-kicker"},"维护",-1)),a("button",{class:b(["nav-item quiet",{active:I("/flash")}]),type:"button",onClick:i[0]||(i[0]=y=>r(d).push("/flash"))},[a("span",Ha,[f(r(t8),{size:18,weight:"regular"})]),i[7]||(i[7]=a("span",{class:"nav-label"},"烧录固件",-1))],2)]),f(R,{placement:"top-start",onFallback:m},{default:_(()=>[a("button",{class:b(["sidebar-status",{active:r(v).path==="/devices"}]),type:"button"},[a("span",{class:b(["dot",r(e).statusTone])},null,2),a("div",Va,[a("div",ga,M(r(e).deviceName||"未选择设备"),1),a("div",ma,M(r(e).statusMeta),1)]),a("span",$a,M(r(H).enabled.value?"切换":"设备列表"),1)],2)]),_:1})]),a("main",{class:b(["main",{"main--compact":A.value}])},[a("header",Za,[a("div",ya,[a("div",Aa,[a("h1",null,M(V.value),1),a("p",Ma,M(h.value||" "),1)]),a("div",fa,[f(R,{placement:"bottom-end",block:!1,onFallback:m},{default:_(()=>[a("button",{type:"button",class:"device-chip",title:`切换设备:${r(e).deviceName||"未选择设备"}`},[a("span",{class:b(["dot",r(e).statusTone])},null,2),a("span",wa,M(r(e).deviceName||"未选择设备"),1),a("span",{class:b(["device-chip-state",r(e).statusTone])},M(r(e).statusLabel),3),f(r(G0),{size:14,weight:"bold"})],8,ka)]),_:1}),a("button",{type:"button",class:b(["fs-btn",{on:r(c)}]),title:r(c)?`退出全屏 (${r(T)})`:`全屏显示 (${r(T)})`,onClick:i[1]||(i[1]=(...y)=>r(G)&&r(G)(...y))},[r(c)?(l(),x(r(c1),{key:0,size:16,weight:"bold"})):(l(),x(r(L1),{key:1,size:16,weight:"bold"}))],10,ba)])])]),a("div",{class:b(["page-body",{"page-body--fit":A.value}])},[f(Z,null,{default:_(({Component:y})=>[(l(),x(h0,{include:"MiHome"},[(l(),x(Q(y)))],1024))]),_:1})],2),a("footer",_a,[f(d0)])],2)]),f(t0,{modelValue:r(e).shellApprovalVisible,"onUpdate:modelValue":i[4]||(i[4]=y=>r(e).shellApprovalVisible=y),class:"moss-dialog",title:"高危命令需您授权",width:"520px","align-center":"","close-on-click-modal":!1,"close-on-press-escape":!1,"show-close":!1},{footer:_(()=>[f(O,{onClick:i[2]||(i[2]=y=>r(e).decideShellApproval(!1))},{default:_(()=>[...i[13]||(i[13]=[N("拒绝",-1)])]),_:1}),f(O,{type:"primary",onClick:i[3]||(i[3]=y=>r(e).decideShellApproval(!0))},{default:_(()=>[...i[14]||(i[14]=[N("允许执行",-1)])]),_:1})]),default:_(()=>[r(e).shellApprovalCurrent?(l(),t("div",Sa,[f(E,{type:"warning","show-icon":"",closable:!1,class:"shell-approval-alert"},{default:_(()=>[...i[10]||(i[10]=[N(" 智能体请求执行以下高危命令。需您在本机确认后,MOSS 才会继续执行。 ",-1)])]),_:1}),a("div",Ca,[a("span",za,M(r(e).shellApprovalCategoryLabel),1),a("span",xa,M(r(e).shellApprovalCurrent.reason),1)]),a("pre",qa,M(r(e).shellApprovalCurrent.command),1),r(e).shellApprovalCurrent.cwd?(l(),t("p",Ba,[i[11]||(i[11]=N(" 工作目录:",-1)),a("code",null,M(r(e).shellApprovalCurrent.cwd),1)])):k("",!0),i[12]||(i[12]=a("p",{class:"shell-approval-hint"},"5 分钟内未确认将自动取消。",-1))])):k("",!0)]),_:1},8,["modelValue"])],64)}}}),Ta=l0(La,[["__scopeId","data-v-c4273ec1"]]);export{Ta as default};
|
|
1
|
+
import{d as S,u as U,c as x,w as _,a as r,r as W,b as o,e as q,o as l,f as a,g as t,F,h as X,n as b,t as M,i as k,j as f,k as N,l as C,m as s0,E as D,p as P,q as Y,s as a0,v as n,x as z,y as o0,z as r0,A as i0,B as n0,C as u0,D as G,G as T,H as Q,K as h0}from"./index-BDP0pPqH.js";import{A as d0}from"./AppCredits-ByUa3P8Q.js";import{u as e0}from"./useDeviceQuickPopup-YUQfq3E5.js";import{_ as l0}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{I as v0}from"./PhBell.vue-Bb5PjGSY.js";import{H as c0,I as p0}from"./PhPlugs.vue-BNQWc1Xj.js";import{G as H0}from"./PhKeyboard.vue-BO4_S_1K.js";import{F as V0}from"./PhTelevisionSimple.vue-DmA8YpsA.js";import"./esp-flasher-CeAm6Ct9.js";const g0={class:"device-quick"},m0={key:0,class:"device-quick-list"},$0=["disabled","onClick"],Z0={class:"device-quick-copy"},y0={key:0},A0=S({__name:"DeviceQuickSwitch",props:{placement:{default:"top-start"},block:{type:Boolean,default:!0}},emits:["fallback"],setup(g,{emit:e}){const v=e,d=U(),c=a0(),H=Y(),{enabled:s}=e0(),u=W(!1),p=W(""),V=o(()=>c.path==="/devices");function h(m){return s0(m)}function A(m){return d.activeDeviceId===m.id}function I(){(!s.value||V.value)&&(u.value=!1,v("fallback"))}async function B(m){if(!m.online){D.warning("这台 MOSS 目前离线");return}if(A(m)){u.value=!1;return}p.value=m.id;try{await d.activateDevice(m.id),await H.replace({path:c.path,query:{...c.query,...P(m.id)}}),u.value=!1,D.success(`本标签已盯 ${m.displayName||m.hostname||"这台 MOSS"}`)}catch(w){D.error(w instanceof Error?w.message:"无法切换设备")}finally{p.value=""}}function L(){u.value=!1,H.push({path:"/devices",query:P()})}return(m,w)=>{const j=q("el-empty"),$=q("el-button"),i=q("el-popover");return l(),x(i,{visible:u.value,"onUpdate:visible":w[0]||(w[0]=Z=>u.value=Z),placement:g.placement,width:320,trigger:"click",disabled:!r(s)||V.value,"popper-class":"device-quick-popper","show-arrow":!0},{reference:_(()=>[a("div",{class:b(["device-quick-anchor",{block:g.block}]),onClick:I},[C(m.$slots,"default",{},void 0,!0)],2)]),default:_(()=>[a("div",g0,[w[2]||(w[2]=a("div",{class:"device-quick-hd"},"本标签切换设备",-1)),w[3]||(w[3]=a("p",{class:"device-quick-hint"},"点一台在线设备即可盯住。要改名、移除或添加,请进完整列表。",-1)),r(d).devices.length?(l(),t("div",m0,[(l(!0),t(F,null,X(r(d).devices,Z=>(l(),t("button",{key:Z.id,type:"button",class:b(["device-quick-row",{current:A(Z),offline:!Z.online}]),disabled:p.value===Z.id,onClick:E=>B(Z)},[a("span",{class:b(["dot",Z.online?"ready":"idle"])},null,2),a("span",Z0,[a("strong",null,M(Z.displayName||Z.hostname||"未命名"),1),a("small",null,M(Z.boardLabel||h(Z.board))+" · "+M(Z.online?"在线":"离线"),1)]),A(Z)?(l(),t("em",y0,"本标签")):k("",!0)],10,$0))),128))])):(l(),x(j,{key:1,description:"还没有设备","image-size":48})),f($,{class:"device-quick-all",onClick:L},{default:_(()=>[...w[1]||(w[1]=[N("进入设备列表",-1)])]),_:1})])]),_:3},8,["visible","placement","disabled"])}}}),R=l0(A0,[["__scopeId","data-v-5eccd1e6"]]),M0="/assets/logo-550w-purple-C42Lszoj.png",f0=["width","height","fill","transform"],k0={key:0},w0=a("path",{d:"M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"},null,-1),b0=[w0],_0={key:1},S0=a("path",{d:"M208,96l-80,80L48,96Z",opacity:"0.2"},null,-1),C0=a("path",{d:"M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z"},null,-1),z0=[S0,C0],x0={key:2},q0=a("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z"},null,-1),B0=[q0],L0={key:3},N0=a("path",{d:"M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"},null,-1),D0=[N0],P0={key:4},I0=a("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"},null,-1),j0=[I0],F0={key:5},E0=a("path",{d:"M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"},null,-1),O0=[E0],W0={name:"PhCaretDown"},G0=S({...W0,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",k0,b0)):s.value==="duotone"?(l(),t("g",_0,z0)):s.value==="fill"?(l(),t("g",x0,B0)):s.value==="light"?(l(),t("g",L0,D0)):s.value==="regular"?(l(),t("g",P0,j0)):s.value==="thin"?(l(),t("g",F0,O0)):k("",!0)],16,f0))}}),T0=["width","height","fill","transform"],Q0={key:0},R0=a("path",{d:"M148,96V48a12,12,0,0,1,24,0V84h36a12,12,0,0,1,0,24H160A12,12,0,0,1,148,96ZM96,148H48a12,12,0,0,0,0,24H84v36a12,12,0,0,0,24,0V160A12,12,0,0,0,96,148Zm112,0H160a12,12,0,0,0-12,12v48a12,12,0,0,0,24,0V172h36a12,12,0,0,0,0-24ZM96,36A12,12,0,0,0,84,48V84H48a12,12,0,0,0,0,24H96a12,12,0,0,0,12-12V48A12,12,0,0,0,96,36Z"},null,-1),J0=[R0],K0={key:1},U0=a("path",{d:"M208,64V192a16,16,0,0,1-16,16H64a16,16,0,0,1-16-16V64A16,16,0,0,1,64,48H192A16,16,0,0,1,208,64Z",opacity:"0.2"},null,-1),X0=a("path",{d:"M152,96V48a8,8,0,0,1,16,0V88h40a8,8,0,0,1,0,16H160A8,8,0,0,1,152,96ZM96,152H48a8,8,0,0,0,0,16H88v40a8,8,0,0,0,16,0V160A8,8,0,0,0,96,152Zm112,0H160a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V168h40a8,8,0,0,0,0-16ZM96,40a8,8,0,0,0-8,8V88H48a8,8,0,0,0,0,16H96a8,8,0,0,0,8-8V48A8,8,0,0,0,96,40Z"},null,-1),Y0=[U0,X0],a1={key:2},e1=a("path",{d:"M152,96V48a8,8,0,0,1,13.66-5.66l48,48A8,8,0,0,1,208,104H160A8,8,0,0,1,152,96ZM96,152H48a8,8,0,0,0-5.66,13.66l48,48A8,8,0,0,0,104,208V160A8,8,0,0,0,96,152ZM99.06,40.61a8,8,0,0,0-8.72,1.73l-48,48A8,8,0,0,0,48,104H96a8,8,0,0,0,8-8V48A8,8,0,0,0,99.06,40.61ZM208,152H160a8,8,0,0,0-8,8v48a8,8,0,0,0,13.66,5.66l48-48A8,8,0,0,0,208,152Z"},null,-1),l1=[e1],t1={key:3},s1=a("path",{d:"M154,96V48a6,6,0,0,1,12,0V90h42a6,6,0,0,1,0,12H160A6,6,0,0,1,154,96ZM96,154H48a6,6,0,0,0,0,12H90v42a6,6,0,0,0,12,0V160A6,6,0,0,0,96,154Zm112,0H160a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V166h42a6,6,0,0,0,0-12ZM96,42a6,6,0,0,0-6,6V90H48a6,6,0,0,0,0,12H96a6,6,0,0,0,6-6V48A6,6,0,0,0,96,42Z"},null,-1),o1=[s1],r1={key:4},i1=a("path",{d:"M152,96V48a8,8,0,0,1,16,0V88h40a8,8,0,0,1,0,16H160A8,8,0,0,1,152,96ZM96,152H48a8,8,0,0,0,0,16H88v40a8,8,0,0,0,16,0V160A8,8,0,0,0,96,152Zm112,0H160a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V168h40a8,8,0,0,0,0-16ZM96,40a8,8,0,0,0-8,8V88H48a8,8,0,0,0,0,16H96a8,8,0,0,0,8-8V48A8,8,0,0,0,96,40Z"},null,-1),n1=[i1],u1={key:5},h1=a("path",{d:"M156,96V48a4,4,0,0,1,8,0V92h44a4,4,0,0,1,0,8H160A4,4,0,0,1,156,96ZM96,156H48a4,4,0,0,0,0,8H92v44a4,4,0,0,0,8,0V160A4,4,0,0,0,96,156Zm112,0H160a4,4,0,0,0-4,4v48a4,4,0,0,0,8,0V164h44a4,4,0,0,0,0-8ZM96,44a4,4,0,0,0-4,4V92H48a4,4,0,0,0,0,8H96a4,4,0,0,0,4-4V48A4,4,0,0,0,96,44Z"},null,-1),d1=[h1],v1={name:"PhCornersIn"},c1=S({...v1,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",Q0,J0)):s.value==="duotone"?(l(),t("g",K0,Y0)):s.value==="fill"?(l(),t("g",a1,l1)):s.value==="light"?(l(),t("g",t1,o1)):s.value==="regular"?(l(),t("g",r1,n1)):s.value==="thin"?(l(),t("g",u1,d1)):k("",!0)],16,T0))}}),p1=["width","height","fill","transform"],H1={key:0},V1=a("path",{d:"M220,48V88a12,12,0,0,1-24,0V60H168a12,12,0,0,1,0-24h40A12,12,0,0,1,220,48ZM88,196H60V168a12,12,0,0,0-24,0v40a12,12,0,0,0,12,12H88a12,12,0,0,0,0-24Zm120-40a12,12,0,0,0-12,12v28H168a12,12,0,0,0,0,24h40a12,12,0,0,0,12-12V168A12,12,0,0,0,208,156ZM88,36H48A12,12,0,0,0,36,48V88a12,12,0,0,0,24,0V60H88a12,12,0,0,0,0-24Z"},null,-1),g1=[V1],m1={key:1},$1=a("path",{d:"M208,48V208H48V48Z",opacity:"0.2"},null,-1),Z1=a("path",{d:"M216,48V88a8,8,0,0,1-16,0V56H168a8,8,0,0,1,0-16h40A8,8,0,0,1,216,48ZM88,200H56V168a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H88a8,8,0,0,0,0-16Zm120-40a8,8,0,0,0-8,8v32H168a8,8,0,0,0,0,16h40a8,8,0,0,0,8-8V168A8,8,0,0,0,208,160ZM88,40H48a8,8,0,0,0-8,8V88a8,8,0,0,0,16,0V56H88a8,8,0,0,0,0-16Z"},null,-1),y1=[$1,Z1],A1={key:2},M1=a("path",{d:"M93.66,202.34A8,8,0,0,1,88,216H48a8,8,0,0,1-8-8V168a8,8,0,0,1,13.66-5.66ZM88,40H48a8,8,0,0,0-8,8V88a8,8,0,0,0,13.66,5.66l40-40A8,8,0,0,0,88,40ZM211.06,160.61a8,8,0,0,0-8.72,1.73l-40,40A8,8,0,0,0,168,216h40a8,8,0,0,0,8-8V168A8,8,0,0,0,211.06,160.61ZM208,40H168a8,8,0,0,0-5.66,13.66l40,40A8,8,0,0,0,216,88V48A8,8,0,0,0,208,40Z"},null,-1),f1=[M1],k1={key:3},w1=a("path",{d:"M214,48V88a6,6,0,0,1-12,0V54H168a6,6,0,0,1,0-12h40A6,6,0,0,1,214,48ZM88,202H54V168a6,6,0,0,0-12,0v40a6,6,0,0,0,6,6H88a6,6,0,0,0,0-12Zm120-40a6,6,0,0,0-6,6v34H168a6,6,0,0,0,0,12h40a6,6,0,0,0,6-6V168A6,6,0,0,0,208,162ZM88,42H48a6,6,0,0,0-6,6V88a6,6,0,0,0,12,0V54H88a6,6,0,0,0,0-12Z"},null,-1),b1=[w1],_1={key:4},S1=a("path",{d:"M216,48V88a8,8,0,0,1-16,0V56H168a8,8,0,0,1,0-16h40A8,8,0,0,1,216,48ZM88,200H56V168a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H88a8,8,0,0,0,0-16Zm120-40a8,8,0,0,0-8,8v32H168a8,8,0,0,0,0,16h40a8,8,0,0,0,8-8V168A8,8,0,0,0,208,160ZM88,40H48a8,8,0,0,0-8,8V88a8,8,0,0,0,16,0V56H88a8,8,0,0,0,0-16Z"},null,-1),C1=[S1],z1={key:5},x1=a("path",{d:"M212,48V88a4,4,0,0,1-8,0V52H168a4,4,0,0,1,0-8h40A4,4,0,0,1,212,48ZM88,204H52V168a4,4,0,0,0-8,0v40a4,4,0,0,0,4,4H88a4,4,0,0,0,0-8Zm120-40a4,4,0,0,0-4,4v36H168a4,4,0,0,0,0,8h40a4,4,0,0,0,4-4V168A4,4,0,0,0,208,164ZM88,44H48a4,4,0,0,0-4,4V88a4,4,0,0,0,8,0V52H88a4,4,0,0,0,0-8Z"},null,-1),q1=[x1],B1={name:"PhCornersOut"},L1=S({...B1,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",H1,g1)):s.value==="duotone"?(l(),t("g",m1,y1)):s.value==="fill"?(l(),t("g",A1,f1)):s.value==="light"?(l(),t("g",k1,b1)):s.value==="regular"?(l(),t("g",_1,C1)):s.value==="thin"?(l(),t("g",z1,q1)):k("",!0)],16,p1))}}),N1=["width","height","fill","transform"],D1={key:0},P1=a("path",{d:"M156,88H100a12,12,0,0,0-12,12v56a12,12,0,0,0,12,12h56a12,12,0,0,0,12-12V100A12,12,0,0,0,156,88Zm-12,56H112V112h32Zm88-4H220V116h12a12,12,0,0,0,0-24H220V56a20,20,0,0,0-20-20H164V24a12,12,0,0,0-24,0V36H116V24a12,12,0,0,0-24,0V36H56A20,20,0,0,0,36,56V92H24a12,12,0,0,0,0,24H36v24H24a12,12,0,0,0,0,24H36v36a20,20,0,0,0,20,20H92v12a12,12,0,0,0,24,0V220h24v12a12,12,0,0,0,24,0V220h36a20,20,0,0,0,20-20V164h12a12,12,0,0,0,0-24Zm-36,56H60V60H196Z"},null,-1),I1=[P1],j1={key:1},F1=a("path",{d:"M200,48H56a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V56A8,8,0,0,0,200,48ZM152,152H104V104h48Z",opacity:"0.2"},null,-1),E1=a("path",{d:"M152,96H104a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V104A8,8,0,0,0,152,96Zm-8,48H112V112h32Zm88,0H216V112h16a8,8,0,0,0,0-16H216V56a16,16,0,0,0-16-16H160V24a8,8,0,0,0-16,0V40H112V24a8,8,0,0,0-16,0V40H56A16,16,0,0,0,40,56V96H24a8,8,0,0,0,0,16H40v32H24a8,8,0,0,0,0,16H40v40a16,16,0,0,0,16,16H96v16a8,8,0,0,0,16,0V216h32v16a8,8,0,0,0,16,0V216h40a16,16,0,0,0,16-16V160h16a8,8,0,0,0,0-16Zm-32,56H56V56H200v95.87s0,.09,0,.13,0,.09,0,.13V200Z"},null,-1),O1=[F1,E1],W1={key:2},G1=a("path",{d:"M104,104h48v48H104Zm136,48a8,8,0,0,1-8,8H216v40a16,16,0,0,1-16,16H160v16a8,8,0,0,1-16,0V216H112v16a8,8,0,0,1-16,0V216H56a16,16,0,0,1-16-16V160H24a8,8,0,0,1,0-16H40V112H24a8,8,0,0,1,0-16H40V56A16,16,0,0,1,56,40H96V24a8,8,0,0,1,16,0V40h32V24a8,8,0,0,1,16,0V40h40a16,16,0,0,1,16,16V96h16a8,8,0,0,1,0,16H216v32h16A8,8,0,0,1,240,152ZM168,96a8,8,0,0,0-8-8H96a8,8,0,0,0-8,8v64a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8Z"},null,-1),T1=[G1],Q1={key:3},R1=a("path",{d:"M152,98H104a6,6,0,0,0-6,6v48a6,6,0,0,0,6,6h48a6,6,0,0,0,6-6V104A6,6,0,0,0,152,98Zm-6,48H110V110h36Zm86,0H214V110h18a6,6,0,0,0,0-12H214V56a14,14,0,0,0-14-14H158V24a6,6,0,0,0-12,0V42H110V24a6,6,0,0,0-12,0V42H56A14,14,0,0,0,42,56V98H24a6,6,0,0,0,0,12H42v36H24a6,6,0,0,0,0,12H42v42a14,14,0,0,0,14,14H98v18a6,6,0,0,0,12,0V214h36v18a6,6,0,0,0,12,0V214h42a14,14,0,0,0,14-14V158h18a6,6,0,0,0,0-12Zm-30,54a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V56a2,2,0,0,1,2-2H200a2,2,0,0,1,2,2Z"},null,-1),J1=[R1],K1={key:4},U1=a("path",{d:"M152,96H104a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V104A8,8,0,0,0,152,96Zm-8,48H112V112h32Zm88,0H216V112h16a8,8,0,0,0,0-16H216V56a16,16,0,0,0-16-16H160V24a8,8,0,0,0-16,0V40H112V24a8,8,0,0,0-16,0V40H56A16,16,0,0,0,40,56V96H24a8,8,0,0,0,0,16H40v32H24a8,8,0,0,0,0,16H40v40a16,16,0,0,0,16,16H96v16a8,8,0,0,0,16,0V216h32v16a8,8,0,0,0,16,0V216h40a16,16,0,0,0,16-16V160h16a8,8,0,0,0,0-16Zm-32,56H56V56H200v95.87s0,.09,0,.13,0,.09,0,.13V200Z"},null,-1),X1=[U1],Y1={key:5},a8=a("path",{d:"M152,100H104a4,4,0,0,0-4,4v48a4,4,0,0,0,4,4h48a4,4,0,0,0,4-4V104A4,4,0,0,0,152,100Zm-4,48H108V108h40Zm84,0H212V108h20a4,4,0,0,0,0-8H212V56a12,12,0,0,0-12-12H156V24a4,4,0,0,0-8,0V44H108V24a4,4,0,0,0-8,0V44H56A12,12,0,0,0,44,56v44H24a4,4,0,0,0,0,8H44v40H24a4,4,0,0,0,0,8H44v44a12,12,0,0,0,12,12h44v20a4,4,0,0,0,8,0V212h40v20a4,4,0,0,0,8,0V212h44a12,12,0,0,0,12-12V156h20a4,4,0,0,0,0-8Zm-28,52a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V56a4,4,0,0,1,4-4H200a4,4,0,0,1,4,4Z"},null,-1),e8=[a8],l8={name:"PhCpu"},t8=S({...l8,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",D1,I1)):s.value==="duotone"?(l(),t("g",j1,O1)):s.value==="fill"?(l(),t("g",W1,T1)):s.value==="light"?(l(),t("g",Q1,J1)):s.value==="regular"?(l(),t("g",K1,X1)):s.value==="thin"?(l(),t("g",Y1,e8)):k("",!0)],16,N1))}}),s8=["width","height","fill","transform"],o8={key:0},r8=a("path",{d:"M209.88,69.83A115.19,115.19,0,0,0,128,36h-.41C63.85,36.22,12,88.76,12,153.13V176a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V152A115.25,115.25,0,0,0,209.88,69.83ZM220,172H127.32l46.44-65A12,12,0,1,0,154.24,93L97.82,172H36V153.13c0-1.72,0-3.43.14-5.13H56a12,12,0,0,0,0-24H40.62c10.91-33.39,40-58.52,75.38-63.21V80a12,12,0,0,0,24,0V60.8A92,92,0,0,1,215.66,124H200a12,12,0,0,0,0,24h19.9c.06,1.33.1,2.66.1,4Z"},null,-1),i8=[r8],n8={key:1},u8=a("path",{d:"M232,152v24a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V153.13C24,95.65,70.15,48.2,127.63,48A104,104,0,0,1,232,152Z",opacity:"0.2"},null,-1),h8=a("path",{d:"M207.06,72.67A111.24,111.24,0,0,0,128,40h-.4C66.07,40.21,16,91,16,153.13V176a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V152A111.25,111.25,0,0,0,207.06,72.67ZM224,176H119.71l54.76-75.3a8,8,0,0,0-12.94-9.42L99.92,176H32V153.13c0-3.08.15-6.12.43-9.13H56a8,8,0,0,0,0-16H35.27c10.32-38.86,44-68.24,84.73-71.66V80a8,8,0,0,0,16,0V56.33A96.14,96.14,0,0,1,221,128H200a8,8,0,0,0,0,16h23.67c.21,2.65.33,5.31.33,8Z"},null,-1),d8=[u8,h8],v8={key:2},c8=a("path",{d:"M240,152v24a16,16,0,0,1-16,16H115.93a4,4,0,0,1-3.24-6.35L174.27,101a8.21,8.21,0,0,0-1.37-11.3,8,8,0,0,0-11.37,1.61l-72,99.06A4,4,0,0,1,86.25,192H32a16,16,0,0,1-16-16V153.13c0-1.79,0-3.57.13-5.33a4,4,0,0,1,4-3.8H48a8,8,0,0,0,8-8.53A8.17,8.17,0,0,0,47.73,128H23.92a4,4,0,0,1-3.87-5c12-43.84,49.66-77.13,95.52-82.28a4,4,0,0,1,4.43,4V72a8,8,0,0,0,8.53,8A8.17,8.17,0,0,0,136,71.73V44.67a4,4,0,0,1,4.43-4A112.18,112.18,0,0,1,236.23,123a4,4,0,0,1-3.88,5H208.27a8.17,8.17,0,0,0-8.25,7.47,8,8,0,0,0,8,8.53h27.92a4,4,0,0,1,4,3.86C240,149.23,240,150.61,240,152Z"},null,-1),p8=[c8],H8={key:3},V8=a("path",{d:"M205.65,74.08A109.26,109.26,0,0,0,128,42h-.39C67.17,42.21,18,92.06,18,153.13V176a14,14,0,0,0,14,14H224a14,14,0,0,0,14-14V152A109.3,109.3,0,0,0,205.65,74.08ZM226,176a2,2,0,0,1-2,2H115.78l57.07-78.47a6,6,0,0,0-9.7-7.06L100.94,178H32a2,2,0,0,1-2-2V153.13A102.36,102.36,0,0,1,30.62,142H56a6,6,0,0,0,0-12H32.71C42.6,88.4,78.53,56.86,122,54.19V80a6,6,0,0,0,12,0V54.19A98.05,98.05,0,0,1,223.53,130H200a6,6,0,0,0,0,12h25.5c.33,3.3.5,6.64.5,10Z"},null,-1),g8=[V8],m8={key:4},$8=a("path",{d:"M207.06,72.67A111.24,111.24,0,0,0,128,40h-.4C66.07,40.21,16,91,16,153.13V176a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V152A111.25,111.25,0,0,0,207.06,72.67ZM224,176H119.71l54.76-75.3a8,8,0,0,0-12.94-9.42L99.92,176H32V153.13c0-3.08.15-6.12.43-9.13H56a8,8,0,0,0,0-16H35.27c10.32-38.86,44-68.24,84.73-71.66V80a8,8,0,0,0,16,0V56.33A96.14,96.14,0,0,1,221,128H200a8,8,0,0,0,0,16h23.67c.21,2.65.33,5.31.33,8Z"},null,-1),Z8=[$8],y8={key:5},A8=a("path",{d:"M204.23,75.5A107.37,107.37,0,0,0,127.62,44C68.28,44.21,20,93.16,20,153.13V176a12,12,0,0,0,12,12H224a12,12,0,0,0,12-12V152A107.25,107.25,0,0,0,204.23,75.5ZM228,176a4,4,0,0,1-4,4H111.85l59.38-81.65a4,4,0,1,0-6.46-4.7L102,180H32a4,4,0,0,1-4-4V153.13A103.42,103.42,0,0,1,28.84,140H56a4,4,0,0,0,0-8H30.21C39.59,87.66,77.84,53.93,124,52.09V80a4,4,0,0,0,8,0V52.08A100.08,100.08,0,0,1,226,132H200a4,4,0,0,0,0,8h27.29a101.6,101.6,0,0,1,.71,12Z"},null,-1),M8=[A8],f8={name:"PhGauge"},k8=S({...f8,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",o8,i8)):s.value==="duotone"?(l(),t("g",n8,d8)):s.value==="fill"?(l(),t("g",v8,p8)):s.value==="light"?(l(),t("g",H8,g8)):s.value==="regular"?(l(),t("g",m8,Z8)):s.value==="thin"?(l(),t("g",y8,M8)):k("",!0)],16,s8))}}),w8=["width","height","fill","transform"],b8={key:0},_8=a("path",{d:"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z"},null,-1),S8=[_8],C8={key:1},z8=a("path",{d:"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z",opacity:"0.2"},null,-1),x8=a("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"},null,-1),q8=[z8,x8],B8={key:2},L8=a("path",{d:"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z"},null,-1),N8=[L8],D8={key:3},P8=a("path",{d:"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z"},null,-1),I8=[P8],j8={key:4},F8=a("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"},null,-1),E8=[F8],O8={key:5},W8=a("path",{d:"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z"},null,-1),G8=[W8],T8={name:"PhHouse"},Q8=S({...T8,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",b8,S8)):s.value==="duotone"?(l(),t("g",C8,q8)):s.value==="fill"?(l(),t("g",B8,N8)):s.value==="light"?(l(),t("g",D8,I8)):s.value==="regular"?(l(),t("g",j8,E8)):s.value==="thin"?(l(),t("g",O8,G8)):k("",!0)],16,w8))}}),R8=["width","height","fill","transform"],J8={key:0},K8=a("path",{d:"M208,144H140V98.32a44,44,0,1,0-24,0V144H48a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V164A20,20,0,0,0,208,144ZM108,56a20,20,0,1,1,20,20A20,20,0,0,1,108,56Zm96,148H52V168H204ZM172,104h32a12,12,0,0,1,0,24H172a12,12,0,0,1,0-24Z"},null,-1),U8=[K8],X8={key:1},Y8=a("path",{d:"M216,160v48a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V160a8,8,0,0,1,8-8H208A8,8,0,0,1,216,160ZM128,88A32,32,0,1,0,96,56,32,32,0,0,0,128,88Z",opacity:"0.2"},null,-1),a2=a("path",{d:"M208,144H136V95.19a40,40,0,1,0-16,0V144H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V160A16,16,0,0,0,208,144ZM104,56a24,24,0,1,1,24,24A24,24,0,0,1,104,56ZM208,208H48V160H208v48Zm-40-96h32a8,8,0,0,1,0,16H168a8,8,0,0,1,0-16Z"},null,-1),e2=[Y8,a2],l2={key:2},t2=a("path",{d:"M224,160v48a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V160a16,16,0,0,1,16-16h72V95.19a40,40,0,1,1,16,0V144h72A16,16,0,0,1,224,160Zm-64-40a8,8,0,0,0,8,8h32a8,8,0,0,0,0-16H168A8,8,0,0,0,160,120Z"},null,-1),s2=[t2],o2={key:3},r2=a("path",{d:"M208,146H134V93.52a38,38,0,1,0-12,0V146H48a14,14,0,0,0-14,14v48a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V160A14,14,0,0,0,208,146ZM102,56a26,26,0,1,1,26,26A26,26,0,0,1,102,56ZM210,208a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V160a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Zm-42-94h32a6,6,0,0,1,0,12H168a6,6,0,0,1,0-12Z"},null,-1),i2=[r2],n2={key:4},u2=a("path",{d:"M208,144H136V95.19a40,40,0,1,0-16,0V144H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V160A16,16,0,0,0,208,144ZM104,56a24,24,0,1,1,24,24A24,24,0,0,1,104,56ZM208,208H48V160H208v48Zm-40-96h32a8,8,0,0,1,0,16H168a8,8,0,0,1,0-16Z"},null,-1),h2=[u2],d2={key:5},v2=a("path",{d:"M208,148H132V91.77a36,36,0,1,0-8,0V148H48a12,12,0,0,0-12,12v48a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V160A12,12,0,0,0,208,148ZM100,56a28,28,0,1,1,28,28A28,28,0,0,1,100,56ZM212,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V160a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-48-88a4,4,0,0,1,4-4h32a4,4,0,0,1,0,8H168A4,4,0,0,1,164,120Z"},null,-1),c2=[v2],p2={name:"PhJoystick"},H2=S({...p2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",J8,U8)):s.value==="duotone"?(l(),t("g",X8,e2)):s.value==="fill"?(l(),t("g",l2,s2)):s.value==="light"?(l(),t("g",o2,i2)):s.value==="regular"?(l(),t("g",n2,h2)):s.value==="thin"?(l(),t("g",d2,c2)):k("",!0)],16,R8))}}),V2=["width","height","fill","transform"],g2={key:0},m2=a("path",{d:"M208,76H180V56A52,52,0,0,0,76,56V76H48A20,20,0,0,0,28,96V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V96A20,20,0,0,0,208,76ZM100,56a28,28,0,0,1,56,0V76H100ZM204,204H52V100H204Z"},null,-1),$2=[m2],Z2={key:1},y2=a("path",{d:"M216,96V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V96a8,8,0,0,1,8-8H208A8,8,0,0,1,216,96Z",opacity:"0.2"},null,-1),A2=a("path",{d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"},null,-1),M2=[y2,A2],f2={key:2},k2=a("path",{d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96Z"},null,-1),w2=[k2],b2={key:3},_2=a("path",{d:"M208,82H174V56a46,46,0,0,0-92,0V82H48A14,14,0,0,0,34,96V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V96A14,14,0,0,0,208,82ZM94,56a34,34,0,0,1,68,0V82H94ZM210,208a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V96a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Z"},null,-1),S2=[_2],C2={key:4},z2=a("path",{d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"},null,-1),x2=[z2],q2={key:5},B2=a("path",{d:"M208,84H172V56a44,44,0,0,0-88,0V84H48A12,12,0,0,0,36,96V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V96A12,12,0,0,0,208,84ZM92,56a36,36,0,0,1,72,0V84H92ZM212,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V96a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Z"},null,-1),L2=[B2],N2={name:"PhLockSimple"},J=S({...N2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",g2,$2)):s.value==="duotone"?(l(),t("g",Z2,M2)):s.value==="fill"?(l(),t("g",f2,w2)):s.value==="light"?(l(),t("g",b2,S2)):s.value==="regular"?(l(),t("g",C2,x2)):s.value==="thin"?(l(),t("g",q2,L2)):k("",!0)],16,V2))}}),D2=["width","height","fill","transform"],P2={key:0},I2=a("path",{d:"M40,92H70.06a36,36,0,0,0,67.88,0H216a12,12,0,0,0,0-24H137.94a36,36,0,0,0-67.88,0H40a12,12,0,0,0,0,24Zm64-24A12,12,0,1,1,92,80,12,12,0,0,1,104,68Zm112,96H201.94a36,36,0,0,0-67.88,0H40a12,12,0,0,0,0,24h94.06a36,36,0,0,0,67.88,0H216a12,12,0,0,0,0-24Zm-48,24a12,12,0,1,1,12-12A12,12,0,0,1,168,188Z"},null,-1),j2=[I2],F2={key:1},E2=a("path",{d:"M128,80a24,24,0,1,1-24-24A24,24,0,0,1,128,80Zm40,72a24,24,0,1,0,24,24A24,24,0,0,0,168,152Z",opacity:"0.2"},null,-1),O2=a("path",{d:"M40,88H73a32,32,0,0,0,62,0h81a8,8,0,0,0,0-16H135a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16Zm64-24A16,16,0,1,1,88,80,16,16,0,0,1,104,64ZM216,168H199a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16h97a32,32,0,0,0,62,0h17a8,8,0,0,0,0-16Zm-48,24a16,16,0,1,1,16-16A16,16,0,0,1,168,192Z"},null,-1),W2=[E2,O2],G2={key:2},T2=a("path",{d:"M32,80a8,8,0,0,1,8-8H77.17a28,28,0,0,1,53.66,0H216a8,8,0,0,1,0,16H130.83a28,28,0,0,1-53.66,0H40A8,8,0,0,1,32,80Zm184,88H194.83a28,28,0,0,0-53.66,0H40a8,8,0,0,0,0,16H141.17a28,28,0,0,0,53.66,0H216a8,8,0,0,0,0-16Z"},null,-1),Q2=[T2],R2={key:3},J2=a("path",{d:"M40,86H74.6a30,30,0,0,0,58.8,0H216a6,6,0,0,0,0-12H133.4a30,30,0,0,0-58.8,0H40a6,6,0,0,0,0,12Zm64-24A18,18,0,1,1,86,80,18,18,0,0,1,104,62ZM216,170H197.4a30,30,0,0,0-58.8,0H40a6,6,0,0,0,0,12h98.6a30,30,0,0,0,58.8,0H216a6,6,0,0,0,0-12Zm-48,24a18,18,0,1,1,18-18A18,18,0,0,1,168,194Z"},null,-1),K2=[J2],U2={key:4},X2=a("path",{d:"M40,88H73a32,32,0,0,0,62,0h81a8,8,0,0,0,0-16H135a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16Zm64-24A16,16,0,1,1,88,80,16,16,0,0,1,104,64ZM216,168H199a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16h97a32,32,0,0,0,62,0h17a8,8,0,0,0,0-16Zm-48,24a16,16,0,1,1,16-16A16,16,0,0,1,168,192Z"},null,-1),Y2=[X2],aa={key:5},ea=a("path",{d:"M40,84H76.29a28,28,0,0,0,55.42,0H216a4,4,0,0,0,0-8H131.71a28,28,0,0,0-55.42,0H40a4,4,0,0,0,0,8Zm64-24A20,20,0,1,1,84,80,20,20,0,0,1,104,60ZM216,172H195.71a28,28,0,0,0-55.42,0H40a4,4,0,0,0,0,8H140.29a28,28,0,0,0,55.42,0H216a4,4,0,0,0,0-8Zm-48,24a20,20,0,1,1,20-20A20,20,0,0,1,168,196Z"},null,-1),la=[ea],ta={name:"PhSlidersHorizontal"},K=S({...ta,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(g){const e=g,v=n("weight","regular"),d=n("size","1em"),c=n("color","currentColor"),H=n("mirrored",!1),s=o(()=>e.weight??v),u=o(()=>e.size??d),p=o(()=>e.color??c),V=o(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(h,A)=>(l(),t("svg",z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:p.value,transform:V.value},h.$attrs),[C(h.$slots,"default"),s.value==="bold"?(l(),t("g",P2,j2)):s.value==="duotone"?(l(),t("g",F2,W2)):s.value==="fill"?(l(),t("g",G2,Q2)):s.value==="light"?(l(),t("g",R2,K2)):s.value==="regular"?(l(),t("g",U2,Y2)):s.value==="thin"?(l(),t("g",aa,la)):k("",!0)],16,D2))}}),sa={class:"app-shell moss-admin"},oa={class:"sidebar"},ra={class:"brand"},ia=["src"],na={class:"nav-icon"},ua={key:0,class:"nav-lock","aria-hidden":"true"},ha={class:"nav"},da=["onClick"],va={class:"nav-icon"},ca={class:"nav-label"},pa={key:0,class:"nav-lock","aria-hidden":"true"},Ha={class:"nav-icon"},Va={class:"sidebar-status-text"},ga={class:"sidebar-status-label"},ma={class:"sidebar-status-meta"},$a={class:"sidebar-status-action"},Za={class:"page-header"},ya={class:"page-heading"},Aa={class:"page-heading-copy"},Ma={class:"page-sub"},fa={class:"page-heading-actions"},ka=["title"],wa={class:"device-chip-name"},ba=["title"],_a={class:"page-credits"},Sa={key:0,class:"shell-approval"},Ca={class:"shell-approval-meta"},za={class:"shell-approval-tag"},xa={class:"shell-approval-reason"},qa={class:"shell-approval-cmd"},Ba={key:0,class:"shell-approval-cwd"},La=S({__name:"AppLayout",setup(g){const e=U(),v=a0(),d=Y(),{isFullscreen:c}=o0(),H=e0(),s={remote:V0,camera:p0,mcp:c0,hotkeys:H0,hardware:K,gamepad:H2,yunxiangji:v0,mihome:Q8};function u($){return s[$]||K}const p=o(()=>[{path:"/hardware",label:"硬件配置",requiresMoss:!0,icon:"hardware"},{path:"/remotes",label:"红外配置",requiresMoss:!0,icon:"remote",hide:!e.hasIr},{path:"/camera",label:"视觉中枢",requiresMoss:!0,icon:"camera"},{path:"/gamepad",label:"手柄控制",requiresMoss:!0,icon:"gamepad"},{path:"/hotkeys",label:"快捷键",requiresMoss:!0,icon:"hotkeys"},{path:"/yunxiangji",label:"云享记",requiresMoss:!0,icon:"yunxiangji"},{path:"/mcp",label:"MCP工具",requiresMoss:!0,icon:"mcp"},{path:"/mihome",label:"米家设备",requiresMoss:!0,icon:"mihome"}].filter(i=>!i.hide)),V=o(()=>String(v.meta.title||"MOSS 配置")),h=o(()=>String(v.meta.subtitle||"")),A=o(()=>v.meta.layoutFit===!0);function I($){return v.path===(typeof $=="string"?$:$.path)}function B($){return $.requiresMoss&&!e.mossOnline}const L=o(()=>!e.mossOnline);function m(){d.push({path:"/devices",query:P()})}function w($){if(B($)){D.warning("请先在设备列表选择一台在线的 MOSS"),m();return}d.push({path:$.path,query:P()})}function j(){if(L.value){D.warning("请先在设备列表选择一台在线的 MOSS"),m();return}d.push({path:"/terminal",query:P()})}return r0(async()=>{i0(),e.hydrated?n0("all"):await e.refresh(),e.listenEvents(),e.activeDeviceId&&!e.mossOnline&&e.probeMoss().catch(()=>{})}),u0(()=>String(v.query.device||""),$=>{const i=$.trim();i&&i!==e.activeDeviceId&&e.focusDevice(i)}),($,i)=>{const Z=q("router-view"),E=q("el-alert"),O=q("el-button"),t0=q("el-dialog");return l(),t(F,null,[a("div",sa,[a("aside",oa,[a("div",ra,[a("img",{class:"brand-logo",src:r(M0),alt:"550W"},null,8,ia),i[5]||(i[5]=a("div",{class:"tagline"},"550W 超级量子计算机指令终端",-1))]),a("button",{class:b(["nav-hub",{locked:L.value}]),type:"button",onClick:j},[a("span",na,[f(r(k8),{size:18,weight:"regular"})]),i[6]||(i[6]=a("span",{class:"nav-hub-copy"},[a("strong",null,"控制中枢"),a("small",null,"运行监视与操控")],-1)),L.value?(l(),t("span",ua,[f(r(J),{size:16,weight:"regular"})])):k("",!0)],2),a("nav",ha,[i[8]||(i[8]=a("div",{class:"nav-kicker"},"配置",-1)),(l(!0),t(F,null,X(p.value,y=>(l(),t("button",{key:y.path,class:b(["nav-item",{active:I(y),locked:B(y)}]),type:"button",onClick:Na=>w(y)},[a("span",va,[(l(),x(Q(u(y.icon)),{size:18,weight:"regular"}))]),a("span",ca,M(y.label),1),B(y)?(l(),t("span",pa,[f(r(J),{size:16,weight:"regular"})])):k("",!0)],10,da))),128)),i[9]||(i[9]=a("div",{class:"nav-kicker"},"维护",-1)),a("button",{class:b(["nav-item quiet",{active:I("/flash")}]),type:"button",onClick:i[0]||(i[0]=y=>r(d).push("/flash"))},[a("span",Ha,[f(r(t8),{size:18,weight:"regular"})]),i[7]||(i[7]=a("span",{class:"nav-label"},"烧录固件",-1))],2)]),f(R,{placement:"top-start",onFallback:m},{default:_(()=>[a("button",{class:b(["sidebar-status",{active:r(v).path==="/devices"}]),type:"button"},[a("span",{class:b(["dot",r(e).statusTone])},null,2),a("div",Va,[a("div",ga,M(r(e).deviceName||"未选择设备"),1),a("div",ma,M(r(e).statusMeta),1)]),a("span",$a,M(r(H).enabled.value?"切换":"设备列表"),1)],2)]),_:1})]),a("main",{class:b(["main",{"main--compact":A.value}])},[a("header",Za,[a("div",ya,[a("div",Aa,[a("h1",null,M(V.value),1),a("p",Ma,M(h.value||" "),1)]),a("div",fa,[f(R,{placement:"bottom-end",block:!1,onFallback:m},{default:_(()=>[a("button",{type:"button",class:"device-chip",title:`切换设备:${r(e).deviceName||"未选择设备"}`},[a("span",{class:b(["dot",r(e).statusTone])},null,2),a("span",wa,M(r(e).deviceName||"未选择设备"),1),a("span",{class:b(["device-chip-state",r(e).statusTone])},M(r(e).statusLabel),3),f(r(G0),{size:14,weight:"bold"})],8,ka)]),_:1}),a("button",{type:"button",class:b(["fs-btn",{on:r(c)}]),title:r(c)?`退出全屏 (${r(T)})`:`全屏显示 (${r(T)})`,onClick:i[1]||(i[1]=(...y)=>r(G)&&r(G)(...y))},[r(c)?(l(),x(r(c1),{key:0,size:16,weight:"bold"})):(l(),x(r(L1),{key:1,size:16,weight:"bold"}))],10,ba)])])]),a("div",{class:b(["page-body",{"page-body--fit":A.value}])},[f(Z,null,{default:_(({Component:y})=>[(l(),x(h0,{include:"MiHome"},[(l(),x(Q(y)))],1024))]),_:1})],2),a("footer",_a,[f(d0)])],2)]),f(t0,{modelValue:r(e).shellApprovalVisible,"onUpdate:modelValue":i[4]||(i[4]=y=>r(e).shellApprovalVisible=y),class:"moss-dialog",title:"高危命令需您授权",width:"520px","align-center":"","close-on-click-modal":!1,"close-on-press-escape":!1,"show-close":!1},{footer:_(()=>[f(O,{onClick:i[2]||(i[2]=y=>r(e).decideShellApproval(!1))},{default:_(()=>[...i[13]||(i[13]=[N("拒绝",-1)])]),_:1}),f(O,{type:"primary",onClick:i[3]||(i[3]=y=>r(e).decideShellApproval(!0))},{default:_(()=>[...i[14]||(i[14]=[N("允许执行",-1)])]),_:1})]),default:_(()=>[r(e).shellApprovalCurrent?(l(),t("div",Sa,[f(E,{type:"warning","show-icon":"",closable:!1,class:"shell-approval-alert"},{default:_(()=>[...i[10]||(i[10]=[N(" 智能体请求执行以下高危命令。需您在本机确认后,MOSS 才会继续执行。 ",-1)])]),_:1}),a("div",Ca,[a("span",za,M(r(e).shellApprovalCategoryLabel),1),a("span",xa,M(r(e).shellApprovalCurrent.reason),1)]),a("pre",qa,M(r(e).shellApprovalCurrent.command),1),r(e).shellApprovalCurrent.cwd?(l(),t("p",Ba,[i[11]||(i[11]=N(" 工作目录:",-1)),a("code",null,M(r(e).shellApprovalCurrent.cwd),1)])):k("",!0),i[12]||(i[12]=a("p",{class:"shell-approval-hint"},"5 分钟内未确认将自动取消。",-1))])):k("",!0)]),_:1},8,["modelValue"])],64)}}}),Ta=l0(La,[["__scopeId","data-v-c4273ec1"]]);export{Ta as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as Pe,u as Oe,z as Fe,C as he,I as Ue,g as d,f as l,j as i,w as f,F as Ne,h as Re,i as C,t as V,a as r,c as je,R as ye,O as Ie,S as We,x as G,T as K,r as v,b as P,B as Ae,e as B,U as Ge,o as u,k as N,n as Ke,L as qe,E as R,V as oe}from"./index-BDP0pPqH.js";import{u as Je,m as q}from"./usePtzControl-DWymVgYY.js";import"./esp-flasher-CeAm6Ct9.js";const Qe={class:"camera-layout"},Xe={class:"panel camera-side"},Ye={class:"panel-bd camera-side-bd"},Ze={class:"camera-side-main"},He={key:0,class:"hint"},ea={key:1,class:"hint"},aa={class:"actions"},ta={key:2,class:"device-list"},na=["onClick"],sa={class:"hint",style:{margin:"4px 0 0"}},oa={key:0},la={key:3,class:"hint"},ra={key:4,class:"hint danger"},ca={key:5,class:"hint success"},ia={class:"actions camera-side-actions"},ua={class:"panel camera-preview"},da={class:"panel-bd camera-preview-bd"},va={class:"camera-stage"},ma=["src"],pa={key:1,class:"camera-placeholder"},fa={class:"ptz-pad"},ha=["disabled"],ya=["disabled"],_a=["disabled"],wa=["disabled"],ga=["disabled"],ba={key:0,class:"hint"},ka={key:1,class:"hint"},Ta=Pe({__name:"Camera",setup(Sa){const J=v(!1),le=v(!1),j=v(!1),t=Oe(),Q=P(()=>t.hasOnboardCamera),X=P(()=>t.hasGimbal),p=v(""),g=v(""),y=v(!1),b=v([]),Y=v(""),h=v(""),c=v(""),re=v(""),D=v(null),s=v({hostname:"",port:80,username:"admin",password:"",path:"/onvif/device_service"}),M=P(()=>X.value||t.camera.ptz),_e=P(()=>t.camera.connected||t.camera.passwordSet||!!s.value.hostname.trim()||!!s.value.password||s.value.username.trim()&&s.value.username.trim()!=="admin"),we=v(!0),E=Je(M,we),ge=P(()=>!c.value||c.value==="mpegts"&&!y.value||c.value==="mjpeg"&&!h.value),be=P(()=>t.camera.connected?g.value||"正在读取画面…":Q.value?"板载画面暂不支持":"连接后在这里显示画面");let z=null,m=!1,_=0,L=0,Z=!1,$=0,I=0,H=0,ee=0,k=0,x=!1,ae=0;function O(){var e;$=Date.now(),I=((e=D.value)==null?void 0:e.currentTime)||I}function te(){window.clearTimeout(ee),ee=0}function ne(){window.clearInterval(H),H=0}function ke(){ne(),O(),H=window.setInterval(()=>{if(!m||document.hidden||c.value!=="mpegts"||!$)return;const e=D.value;if(!e)return;if(e.paused){const n=e.play();n&&typeof n.catch=="function"&&n.catch(()=>{})}const a=e.currentTime||0;if(a>I+.04){I=a,$=Date.now();return}Date.now()-$>8e3&&(console.warn("[mpegts] stall, reconnect"),fe())},1e3)}function Se(){var a;const e=D.value;return(a=e==null?void 0:e.buffered)!=null&&a.length?e.buffered.end(e.buffered.length-1)-e.currentTime:0}function Ce(){if(c.value!=="mjpeg"||!h.value)return;const e=h.value.replace(/([?&])t=\d+/,`$1t=${Date.now()}`);h.value=e.includes("t=")?e:`${h.value}${h.value.includes("?")?"&":"?"}t=${Date.now()}`}function ce(e){!m||!t.camera.connected||c.value!=="mpegts"||(console.warn("[mpegts]",e),window.clearTimeout(_),_=0,L=0,x=!1,w(),F(Z))}function se(){if(!m)return;if(document.hidden){k=Date.now(),c.value==="mpegts"&&(x=!0,w());return}const e=k?Date.now()-k:0;if(k=0,Ce(),c.value!=="mpegts")return;if(x||e>400||Se()>.7){ce("tab visible, resync live");return}const a=D.value;if(a!=null&&a.paused){const n=a.play();n&&typeof n.catch=="function"&&n.catch(()=>{})}O()}function ie(e){e.persisted&&se()}function ue(){!m||c.value!=="mpegts"||(k=k||Date.now(),x=!0,w())}function de(){return window.location.origin}function ve(e){return`${e.hostname}:${e.port}${e.path}`}function me(e){Y.value=ve(e),s.value.hostname=e.hostname,s.value.port=e.port,s.value.path=e.path||"/onvif/device_service"}async function Ve(){J.value=!0,p.value="";try{const e=await qe("/api/camera/discover",{method:"POST",body:JSON.stringify({fresh:!0}),timeoutMs:25e3});b.value=e.devices||[],le.value=!0,b.value.length===1&&me(b.value[0]),R[b.value.length?"success":"warning"](b.value.length?`找到 ${b.value.length} 路视频源`:"没有扫到设备")}catch(e){p.value=e instanceof Error?e.message:"扫描失败",R.error(p.value)}finally{J.value=!1}}async function De(){Y.value="",s.value={hostname:"",port:80,username:"admin",password:"",path:"/onvif/device_service"}}async function Ee(){if(!j.value){j.value=!0,p.value="";try{if(W(),E.release(),!await oe("camera","clear",{onError:a=>{p.value=a}}))return;g.value="",De(),R.success("已清除摄像头信息")}finally{j.value=!1}}}function Te(){const e=t.camera,a=e.connected,n=a&&e.hostname||e.saved.hostname;n&&(s.value.hostname=n,s.value.port=Number(a&&e.port||e.saved.port||80),s.value.path=a&&e.path||e.saved.path||"/onvif/device_service",s.value.username=a&&e.username||e.saved.username||"admin")}function pe(){const e=t.camera;re.value=e.encoding,Le({connected:e.connected,playMode:e.playMode||"",encoding:e.encoding,liveDirect:e.liveDirect})}async function Be(){try{await Ae("camera"),Te(),t.camera.connected&&pe()}catch{}}async function Me(){if(!s.value.hostname.trim()||s.value.hostname.trim()==="onboard"){R.warning(Q.value?"板载画面暂不支持,请填写 Onvif 地址":"请填写摄像头地址");return}ye.value||(p.value="",!await oe("camera","on",{...s.value,onError:a=>{p.value=a}}))||(p.value="",pe(),R.success(t.camera.ptz?"已连接,可用方向键转云台":"已连接。这台设备没有云台"))}async function ze(){W(),E.release(),await oe("camera","off"),g.value=""}function F(e){Z=e,c.value="mpegts",Ge(()=>{if(!m)return;if(!D.value){g.value="画面组件未就绪";return}if(!q.isSupported()){g.value="当前浏览器不支持直播预览";return}w(),y.value=!1;const a=e?"&codec=h264":"",n=q.createPlayer({type:"mpegts",isLive:!0,cors:!0,url:`${de()}/api/camera/stream?t=${Date.now()}${a}`,hasAudio:!1,hasVideo:!0},{enableWorker:!1,enableStashBuffer:!1,liveBufferLatencyChasing:!0,liveBufferLatencyChasingOnPaused:!0,liveBufferLatencyMaxLatency:.5,liveBufferLatencyMinRemain:.12,liveSync:!0,liveSyncMaxLatency:.6,liveSyncTargetLatency:.2,liveSyncPlaybackRate:1.6,autoCleanupSourceBuffer:!0,autoCleanupMaxBackwardDuration:3,autoCleanupMinBackwardDuration:1});z=n,O(),n.attachMediaElement(D.value),n.load(),(()=>{const S=n.play();S&&typeof S.catch=="function"&&S.catch(()=>{})})();const T=()=>{z!==n||!m||y.value||(te(),L=0,g.value="",y.value=!0,O(),ke())};te(),ee=window.setTimeout(()=>{if(!(z!==n||!m||y.value)){if(!e){console.warn("[mpegts] no media in time, transcode"),w(),F(!0);return}T()}},e?2500:8e3),n.on(q.Events.MEDIA_INFO,T),n.on(q.Events.ERROR,(S,A)=>{if(!(z!==n||!m)){if(console.warn("[mpegts]",S,A),!e&&/hevc|h265|codec/i.test(`${S} ${A}`)){w(),F(!0);return}y.value||Date.now()-$<8e3&&$||fe()}})})}function fe(){if(!m||!t.camera.connected||_)return;O(),w();const e=Math.min(200*2**L,1600);L+=1,g.value=L>1?"画面中断,正在重连…":"正在同步画面…",_=window.setTimeout(()=>{_=0,!(!m||!t.camera.connected)&&F(Z)},e)}function w(){te();const e=z;if(z=null,!!e){try{e.pause()}catch{}try{e.unload()}catch{}try{e.detachMediaElement()}catch{}try{e.destroy()}catch{}}}function Le(e){window.clearTimeout(_),_=0,x=!1,k=0,ne(),w(),m=!0,L=0,g.value="",y.value=!1;const a=e.playMode||(e.liveDirect?"mjpeg":"mpegts");if(a==="mpegts"){const n=/hevc|h265/.test(e.encoding||re.value);F(n);return}c.value=a==="snapshot"?"mjpeg":a,h.value=e.liveDirect||`${de()}/api/camera/stream?t=${Date.now()}`}function W(){m=!1,window.clearTimeout(_),_=0,x=!1,k=0,ne(),w(),h.value="",c.value="",y.value=!1}return Fe(()=>{Be(),document.addEventListener("visibilitychange",se),document.addEventListener("freeze",ue),window.addEventListener("pageshow",ie)}),he(()=>t.camera.connected,e=>{e?p.value="":W()}),he(()=>t.camera.streamGen,e=>{const a=Number(e)||0;if(!a||a===ae){ae=a;return}ae=a,!(!m||!t.camera.connected||c.value!=="mpegts")&&y.value&&ce("stream recovered, resync live")}),Ue(()=>{document.removeEventListener("visibilitychange",se),document.removeEventListener("freeze",ue),window.removeEventListener("pageshow",ie),W()}),(e,a)=>{const n=B("el-button"),U=B("el-input"),T=B("el-form-item"),S=B("el-input-number"),A=B("el-collapse-item"),$e=B("el-collapse"),xe=B("el-form");return u(),d("div",Qe,[l("section",Xe,[a[10]||(a[10]=l("div",{class:"panel-hd"},"视觉源",-1)),l("div",Ye,[l("div",Ze,[Q.value?(u(),d("p",He,"板载画面暂不支持。云台方向键仍可用。")):(u(),d("p",ea,"扫描或填写 Onvif 地址后连接。画面在右侧预览。")),l("div",aa,[i(n,{type:"primary",loading:J.value,onClick:Ve},{default:f(()=>[...a[6]||(a[6]=[N("扫描局域网",-1)])]),_:1},8,["loading"]),i(n,{disabled:!_e.value,loading:j.value,onClick:Ee},{default:f(()=>[...a[7]||(a[7]=[N("清除已填信息",-1)])]),_:1},8,["disabled","loading"])]),b.value.length?(u(),d("div",ta,[(u(!0),d(Ne,null,Re(b.value,o=>(u(),d("div",{key:o.hostname+":"+o.port+o.path,class:Ke(["device-item",{active:Y.value===ve(o)}]),onClick:Ca=>me(o)},[l("strong",null,V(o.name||o.hostname),1),l("div",sa,[N(V(o.hostname)+":"+V(o.port)+" ",1),o.hardware?(u(),d("span",oa," · "+V(o.hardware),1)):C("",!0)])],10,na))),128))])):le.value?(u(),d("p",la,"这一轮没有扫到 Onvif 设备,可以在下面手动填写 IP。")):C("",!0),i(xe,{"label-position":"top",class:"config-form",style:{"margin-top":"12px"}},{default:f(()=>[i(T,{label:"地址"},{default:f(()=>[i(U,{modelValue:s.value.hostname,"onUpdate:modelValue":a[0]||(a[0]=o=>s.value.hostname=o),placeholder:"例如 192.168.1.64"},null,8,["modelValue"])]),_:1}),i(T,{label:"端口"},{default:f(()=>[i(S,{modelValue:s.value.port,"onUpdate:modelValue":a[1]||(a[1]=o=>s.value.port=o),min:1,max:65535},null,8,["modelValue"]),a[8]||(a[8]=l("div",{class:"hint"},"常见是 80。海康有时是 80 或 8000。",-1))]),_:1}),i(T,{label:"账号"},{default:f(()=>[i(U,{modelValue:s.value.username,"onUpdate:modelValue":a[2]||(a[2]=o=>s.value.username=o),placeholder:"常见是 admin"},null,8,["modelValue"])]),_:1}),i(T,{label:"密码"},{default:f(()=>[i(U,{modelValue:s.value.password,"onUpdate:modelValue":a[3]||(a[3]=o=>s.value.password=o),type:"password","show-password":"",placeholder:r(t).camera.passwordSet?"已保存,不改可留空":""},null,8,["modelValue","placeholder"])]),_:1}),i($e,{class:"soft-collapse"},{default:f(()=>[i(A,{title:"高级:Onvif 路径"},{default:f(()=>[i(U,{modelValue:s.value.path,"onUpdate:modelValue":a[4]||(a[4]=o=>s.value.path=o),placeholder:"/onvif/device_service"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),p.value?(u(),d("p",ra,V(p.value),1)):C("",!0),r(t).camera.connected&&r(t).camera.infoText?(u(),d("p",ca,V(r(t).camera.infoText),1)):C("",!0)]),l("div",ia,[r(t).camera.connected?(u(),je(n,{key:0,onClick:ze},{default:f(()=>[...a[9]||(a[9]=[N("断开",-1)])]),_:1})):C("",!0),i(n,{type:"primary",loading:r(ye),onClick:Me},{default:f(()=>[N(V(r(t).camera.connected?"重新连接":"连接摄像头"),1)]),_:1},8,["loading"])])])]),l("section",ua,[a[11]||(a[11]=l("div",{class:"panel-hd"},"画面与云台",-1)),l("div",da,[l("div",va,[Ie(l("video",{ref_key:"videoEl",ref:D,class:"camera-frame",muted:"",autoplay:"",playsinline:""},null,512),[[We,r(t).camera.connected&&c.value==="mpegts"]]),r(t).camera.connected&&c.value==="mjpeg"&&h.value?(u(),d("img",{key:0,class:"camera-frame",src:h.value,alt:"摄像头画面"},null,8,ma)):C("",!0),!r(t).camera.connected||ge.value?(u(),d("div",pa,V(be.value),1)):C("",!0),l("div",fa,[l("button",G({class:"ptz-btn",type:"button",disabled:!M.value},K(r(E).pointerBind("up"),!0)),"上",16,ha),l("button",G({class:"ptz-btn",type:"button",disabled:!M.value},K(r(E).pointerBind("left"),!0)),"左",16,ya),l("button",{class:"ptz-btn stop",type:"button",disabled:!M.value,onClick:a[5]||(a[5]=o=>r(E).send("stop"))},"停",8,_a),l("button",G({class:"ptz-btn",type:"button",disabled:!M.value},K(r(E).pointerBind("right"),!0)),"右",16,wa),l("button",G({class:"ptz-btn",type:"button",disabled:!M.value},K(r(E).pointerBind("down"),!0)),"下",16,ga)])]),X.value&&!r(t).camera.connected?(u(),d("p",ba,"板载云台由步进电机驱动,语音/人脸跟踪时会互让。")):r(t).camera.connected&&!r(t).camera.ptz&&!X.value?(u(),d("p",ka,"已连上,但没有云台。画面仍可看。")):C("",!0)])])])}}});export{Ta as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as I,u as L,z as P,g as y,f as n,t as r,a as c,n as C,j as o,w as i,c as Q,q as j,e as u,o as f,k as p,i as R,r as S,m as A,N as x,E as d,p as F}from"./index-
|
|
1
|
+
import{d as I,u as L,z as P,g as y,f as n,t as r,a as c,n as C,j as o,w as i,c as Q,q as j,e as u,o as f,k as p,i as R,r as S,m as A,N as x,E as d,p as F}from"./index-BDP0pPqH.js";import{u as G}from"./useDeviceQuickPopup-YUQfq3E5.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./esp-flasher-CeAm6Ct9.js";const J={class:"device-page uxp-page-stack uxp-page-fit"},K={class:"status-copy"},U={class:"status-title-row"},W={class:"status-title"},X={class:"status-actions"},Y={class:"panel body-card uxp-page-fit-stretch"},Z={class:"panel-hd body-hd"},ee={class:"body-hd-count"},se={class:"quick-switch"},te={class:"panel-bd body-bd"},ne={key:0,class:"hint"},ae={class:"mac"},oe={key:1,class:"empty-wrap"},ie=I({__name:"Devices",setup(le){const a=L(),_=j(),g=G(),v=S(""),b=S("");P(()=>{a.refresh().catch(()=>{})});function w(s){return A(s)}function h(s){return a.activeDeviceId===s.id}function B({row:s}){const e=[];return a.activeDeviceId===s.id&&e.push("is-active"),s.online||e.push("is-offline"),e.join(" ")}function M(s){g.setEnabled(!!s),d.success(s?"左下角和右上角将弹出快捷列表":"左下角和右上角将直接进入设备列表")}async function D(){await a.refresh()}async function N(s){try{const{value:e}=await x.prompt("给这台 MOSS 起个名字。","改名",{confirmButtonText:"保存",cancelButtonText:"取消",customClass:"moss-message-box moss-message-box-narrow",inputValue:s.displayName||"",inputPlaceholder:"例如 客厅的 MOSS",inputPattern:/\S+/,inputErrorMessage:"请填写名称"});await a.renameDevice(s.id,e.trim()),d.success("已改名")}catch(e){if(e==="cancel")return;d.error(e instanceof Error?e.message:"改名失败")}}async function O(s){const e=s.displayName||s.hostname||"MOSS";try{await x.confirm(`确定将「${e}」从列表中移除?之后若要再用,可重新添加。`,"移除设备",{type:"warning",confirmButtonText:"移除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"})}catch(l){return void 0}b.value=s.id;try{await a.removeDevice(s.id),d.success("已移除")}catch(l){d.error(l instanceof Error?l.message:"移除失败")}finally{b.value=""}}async function E(s){if(!s.online){d.warning("这台 MOSS 目前离线");return}if(!h(s)){v.value=s.id;try{await a.activateDevice(s.id),await _.replace({path:"/devices",query:F(s.id)}),d.success(`本标签已盯 ${s.displayName||s.hostname||"这台 MOSS"}`)}catch(e){d.error(e instanceof Error?e.message:"无法选择这台设备")}finally{v.value=""}}}return(s,e)=>{const l=u("el-button"),$=u("el-switch"),m=u("el-table-column"),z=u("el-tag"),T=u("el-button-group"),V=u("el-table"),q=u("el-empty");return f(),y("div",J,[n("section",{class:C(["status-strip",c(a).mossOnline?"is-online":"is-offline"])},[n("div",K,[n("div",U,[n("strong",W,r(c(a).deviceName||"尚未选择设备"),1),n("em",{class:C(["status-tag",c(a).mossOnline?"ok":"off"])},r(c(a).activeDeviceId?c(a).mossOnline?"当前在线":"当前离线":"未选择"),3)]),e[2]||(e[2]=n("p",{class:"status-meta"}," 每个浏览器标签盯一台。列表可添加、改名、移除;设备多时在表内滚动。 ",-1))]),n("div",X,[o(l,{onClick:D},{default:i(()=>[...e[3]||(e[3]=[p("刷新",-1)])]),_:1}),o(l,{type:"primary",onClick:e[0]||(e[0]=t=>c(_).push("/device"))},{default:i(()=>[...e[4]||(e[4]=[p("添加设备",-1)])]),_:1})])],2),n("section",Y,[n("div",Z,[e[6]||(e[6]=n("span",null,"局域网里的 MOSS",-1)),n("span",ee,r(c(a).devices.length)+" 台",1),n("label",se,[e[5]||(e[5]=n("span",null,"状态栏快捷弹窗",-1)),o($,{"model-value":c(g).enabled.value,onChange:M},null,8,["model-value"])])]),n("div",te,[c(a).devices.length?(f(),Q(V,{key:0,data:c(a).devices,"row-key":"id",stripe:"",height:"100%",class:"device-table","row-class-name":B},{default:i(()=>[o(m,{label:"名称","min-width":"160"},{default:i(({row:t})=>[n("strong",null,r(t.displayName||t.hostname||"未命名"),1)]),_:1}),o(m,{label:"类型","min-width":"150"},{default:i(({row:t})=>[n("div",null,r(t.boardLabel||w(t.board)),1),t.board?(f(),y("div",ne,r(t.board),1)):R("",!0)]),_:1}),o(m,{label:"网卡","min-width":"170"},{default:i(({row:t})=>[n("code",ae,r(t.mac||t.id),1)]),_:1}),o(m,{label:"状态",width:"88",align:"center"},{default:i(({row:t})=>[o(z,{type:t.online?"success":"info",size:"small"},{default:i(()=>[p(r(t.online?"在线":"离线"),1)]),_:2},1032,["type"])]),_:1}),o(m,{label:"操作",width:"292",align:"right"},{default:i(({row:t})=>[o(T,{class:"row-crud"},{default:i(()=>[o(l,{size:"small",onClick:k=>N(t)},{default:i(()=>[...e[7]||(e[7]=[p("改名",-1)])]),_:1},8,["onClick"]),o(l,{size:"small",type:"danger",plain:"",loading:b.value===t.id,onClick:k=>O(t)},{default:i(()=>[...e[8]||(e[8]=[p(" 移除 ",-1)])]),_:1},8,["loading","onClick"]),o(l,{size:"small",type:"primary",disabled:!t.online,loading:v.value===t.id,onClick:k=>E(t)},{default:i(()=>[p(r(h(t)?"本标签":"盯这台"),1)]),_:2},1032,["disabled","loading","onClick"])]),_:2},1024)]),_:1})]),_:1},8,["data"])):(f(),y("div",oe,[o(q,{description:"还没有设备。添加一台局域网 MOSS 后会出现在这张表里。"},{default:i(()=>[o(l,{type:"primary",onClick:e[1]||(e[1]=t=>c(_).push("/device"))},{default:i(()=>[...e[9]||(e[9]=[p("添加设备",-1)])]),_:1})]),_:1})]))])])])}}}),pe=H(ie,[["__scopeId","data-v-a9bd31b2"]]);export{pe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as De,u as Te,z as Ye,I as $e,o as _,g as S,f as s,J as Fe,t as x,a as ae,n as be,r as w,b as G,L as ve,E as R,j as Z,w as K,i as W,k as X,F as Re,h as Xe,c as pe,q as Ge,e as fe,M as ke,m as Ie,N as He,p as Ve}from"./index-ChXXBJGT.js";import{S as Je,C as Ze,P as Ke,W as qe,a as je,O as Qe,G as re,M as me,b as et,V as ce,c as he,d as ge,L as tt,E as st,e as at,B as nt,f as ot,D as it,A as lt,N as rt,g as ct,F as dt}from"./engine-3d-DoxdUZhy.js";import{_ as Ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./esp-flasher-CeAm6Ct9.js";const ut={class:"moss-wire"},vt={class:"hud","aria-hidden":"true"},pt={class:"scene-tag tag-b"},ft={class:"propel-strip"},mt="/stl/moss.stl",ht=9344678,gt=.98,_t=.985,yt=1.035,bt=.215,wt=.7,Mt=0,St=.226,Et=.245,xt=.08,Ot=.26,Ct=.0164,Lt=.375,kt=.372,It=16722468,_e=.0022,Pe=14,Ue=.88,Pt=-.9,Ut=.14,Nt=De({__name:"MossWireframe",setup(N){const u=-Math.PI/6,y=Math.PI/6,A=-Math.PI/2,L=Math.PI/2,P=w(null),M=Te(),v=w(0),U=w(Pe),k=G(()=>M.deviceName||"UNNAMED"),O=G(()=>H(v.value)),D=G(()=>H(U.value));let $=()=>{};function H(a){return`${a>0?"+":""}${a}°`}function B(a,n){const c=a.getAttribute("position");let p=0,g=0,d=0,i=0;for(let f=0;f<c.count;f++){const T=c.getX(f),o=c.getY(f),e=c.getZ(f);n(T,o,e)&&(p+=T,g+=o,d+=e,i+=1)}return i?new ce(p/i,g/i,d/i):(a.computeBoundingBox(),a.boundingBox.getCenter(new ce))}function V(){const a=new re,n=(d,i)=>new ot({color:d,transparent:i<1,opacity:i,depthWrite:!1,blending:i<1?lt:rt,side:it}),c=new he(new ge(.04,32),n(13114910,.16)),p=new he(new ge(.02,28),n(16726578,.42)),g=new he(new ge(.0075,24),n(It,1));return a.add(c,p,g),{group:a,glow:p}}function F(a){const n=new ct;return n.setAttribute("position",new dt(a,3)),n.computeVertexNormals(),n}function q(a){const n=a.getAttribute("position"),c=[],p=[],g=[];for(let d=0;d<n.count;d+=3){const i=[n.getX(d),n.getX(d+1),n.getX(d+2)],f=[n.getY(d),n.getY(d+1),n.getY(d+2)],T=Math.min(...f),o=Math.max(...f),e=Math.max(...i),l=T>gt?c:o>wt||e>=bt&&o>Mt?p:g;for(let r=0;r<3;r++)l.push(n.getX(d+r),n.getY(d+r),n.getZ(d+r))}return{base:F(c),arm:F(p),frame:F(g)}}function j(a){return new tt(new st(a,28),new at({color:ht}))}return Ye(()=>{const a=P.value;if(!a)return;const n=new Je;n.background=new Ze(132362);const c=new Ke(32,1,.1,4e3);c.up.set(0,1,0),c.position.set(0,0,2.6);const p=new qe({antialias:!0,alpha:!1});p.setPixelRatio(Math.min(window.devicePixelRatio||1,2)),p.outputColorSpace=je,a.appendChild(p.domElement);const g=new Qe(c,p.domElement);g.enableDamping=!1,g.enablePan=!1,g.enableRotate=!1,g.enableZoom=!1,g.autoRotate=!1;const d=new re,i=new re,f=new re;f.rotation.x=me.degToRad(Pe),i.add(f),d.add(i),n.add(d);const T=[];let o=0,e=!1,l=!1,r=0,Q=0,m=1,Y=2.6,ne=2.6,we=.8,Me=6,de=null;const Be=performance.now();function ze(t){return Math.min(L,Math.max(A,t))}function ue(t){const h=me.degToRad(c.fov),E=2*t*Math.tan(h/2),b=-Ue*E/2;c.up.set(0,1,0),c.position.set(0,b,t),c.near=Math.max(t*.02,.01),c.far=t*40,c.updateProjectionMatrix(),g.target.set(0,b,0),c.lookAt(0,b,0)}function We(t){const h=new nt().setFromObject(t),E=h.getSize(new ce),b=h.getCenter(new ce);t.position.x-=b.x,t.position.z-=b.z,t.position.y-=h.max.y;const C=Math.max(E.y,.01),I=Math.max(E.x,E.z,.01),ie=me.degToRad(c.fov),ee=Math.tan(ie/2),le=C/((Ue-Pt)*ee),J=I/(1.8*ee*Math.max(c.aspect,.2)),z=Math.max(le,J);we=z*.45,Me=z*3.2,Y=z,ne=z,ue(Y)}function Se(){const t=a.clientWidth||1,h=a.clientHeight||1;c.aspect=t/h,c.updateProjectionMatrix(),p.setSize(t,h,!1),ue(Y)}const Ee=t=>{l=!0,r=t.clientX,Q=t.clientY,a.setPointerCapture(t.pointerId)},xe=t=>{l&&(i.rotation.y+=(t.clientX-r)*.008,f.rotation.x=ze(f.rotation.x+(t.clientY-Q)*.008),r=t.clientX,Q=t.clientY)},oe=t=>{l=!1,a.hasPointerCapture(t.pointerId)&&a.releasePointerCapture(t.pointerId)},Oe=t=>{t.preventDefault();const h=Math.exp(t.deltaY*.0016);ne=Math.min(Me,Math.max(we,ne*h))};a.addEventListener("pointerdown",Ee),a.addEventListener("pointermove",xe),a.addEventListener("pointerup",oe),a.addEventListener("pointercancel",oe),a.addEventListener("wheel",Oe,{passive:!1});const Ce=new ResizeObserver(Se);Ce.observe(a),Se(),new et().loadAsync(mt).then(t=>{if(e){t.dispose();return}const{base:h,arm:E,frame:b}=q(t),C=B(t,(z,te)=>te>=_t&&te<=yt),I=B(t,(z,te)=>z>=St&&z<=Et&&te>=xt&&te<=Ot);t.dispose(),h.translate(-C.x,-C.y,-C.z),E.translate(-C.x,-C.y,-C.z),b.translate(-I.x,-I.y,-I.z),f.position.copy(I).sub(C);const ie=j(h),ee=j(E),le=j(b);h.dispose(),E.dispose(),b.dispose(),d.add(ie),i.add(ee),f.add(le);const J=V();J.group.position.set(Ct-I.x,Lt-I.y,kt-I.z),f.add(J.group),de=J.glow.material,T.push(ie,ee,le,J.group),We(d)});const Le=()=>{o=window.requestAnimationFrame(Le),l||(i.rotation.y>y?(i.rotation.y-=_e,i.rotation.y<=y&&(i.rotation.y=y,m=-1)):i.rotation.y<u?(i.rotation.y+=_e,i.rotation.y>=u&&(i.rotation.y=u,m=1)):(i.rotation.y+=_e*m,i.rotation.y>=y?(i.rotation.y=y,m=-1):i.rotation.y<=u&&(i.rotation.y=u,m=1)));const t=Math.round(i.rotation.y*180/Math.PI);t!==v.value&&(v.value=t);const h=Math.round(f.rotation.x*180/Math.PI);if(h!==U.value&&(U.value=h),Y+=(ne-Y)*Ut,ue(Y),de){const E=(performance.now()-Be)/1e3;de.opacity=.28+Math.sin(E*2.2)*.1}p.render(n,c)};Le(),$=()=>{e=!0,window.cancelAnimationFrame(o),Ce.disconnect(),a.removeEventListener("pointerdown",Ee),a.removeEventListener("pointermove",xe),a.removeEventListener("pointerup",oe),a.removeEventListener("pointercancel",oe),a.removeEventListener("wheel",Oe),g.dispose(),T.forEach(t=>{t.traverse(h=>{var C;const E=h;(C=E.geometry)==null||C.dispose();const b=E.material;Array.isArray(b)?b.forEach(I=>I.dispose()):b==null||b.dispose()})}),p.dispose(),p.domElement.remove()}}),$e(()=>{$()}),(a,n)=>(_(),S("div",ut,[s("div",{ref_key:"host",ref:P,class:"moss-gl"},null,512),s("div",vt,[n[1]||(n[1]=Fe('<i class="hud-corner tl" data-v-08430a60></i><i class="hud-corner tr" data-v-08430a60></i><i class="hud-corner bl" data-v-08430a60></i><i class="hud-corner br" data-v-08430a60></i><div class="hud-grid" data-v-08430a60></div><div class="crt" data-v-08430a60></div><div class="scene-tag tag-a" data-v-08430a60><small data-v-08430a60>NEAR UNIT</small><b data-v-08430a60>MOSS</b><em data-v-08430a60>550W CORE · GROUND</em></div><div class="heading" data-v-08430a60><small data-v-08430a60>HEADING</small><b data-v-08430a60>UEG · 550W</b></div>',8)),s("div",pt,[n[0]||(n[0]=s("small",null,"LINK",-1)),s("b",null,x(ae(M).mossOnline?"ONLINE":"LOST"),1),s("em",null,x(k.value),1)])]),s("div",ft,[s("div",null,[n[2]||(n[2]=s("span",null,"YAW",-1)),s("b",null,x(O.value),1)]),s("div",null,[n[3]||(n[3]=s("span",null,"PITCH",-1)),s("b",null,x(D.value),1)]),s("div",null,[n[4]||(n[4]=s("span",null,"LINK",-1)),s("b",{class:be(ae(M).mossOnline?"ok":"bad")},x(ae(M).mossOnline?"ONLINE":"LOST"),3)])])]))}}),Dt=Ae(Nt,[["__scopeId","data-v-08430a60"]]);function ye(N){const u=String(N||"").toLowerCase().replace(/[^0-9a-f]/g,"");return u.length!==12?"":u.match(/.{2}/g).join(":")}function Ne(N){return String(N||"").trim().replace(/\/$/,"")}function Tt(N){const u=String(N||"").trim().toLowerCase().replace(/\.local$/,"");return!u||u==="moss"||u==="localhost"?!1:u.includes("-")}function se(N=[],u={}){const y=Ne(u.baseUrl),A=ye(u.mac);return(N||[]).some(L=>{const P=ye(L.mac)||ye(L.id);if(A&&P)return A===P;if(y&&L.baseUrl&&Ne(L.baseUrl)===y)return!0;const M=String(u.hostname||"").trim().toLowerCase(),v=String(L.hostname||"").trim().toLowerCase();return!!(M&&v&&M===v&&Tt(M))})}const Yt={class:"device-page uxp-page-stack"},At={class:"status-actions"},Bt={class:"device-body"},zt={class:"panel body-card"},Wt={class:"panel-bd body-bd"},$t={class:"scan-bar"},Ft={key:0,class:"hint danger"},Rt={key:1,class:"scan-results"},Xt={class:"scan-results-hd"},Gt={key:0},Ht={class:"device-list scan-list"},Vt=["onClick"],Jt={class:"scan-device-copy"},Zt={class:"hint"},Kt={key:2,class:"hint"},qt={key:3,class:"hint"},jt={key:4,class:"hint danger"},Qt={key:5,class:"hint success"},es={key:6,class:"actions foot"},ts={class:"panel body-card"},ss={class:"panel-bd body-bd"},as={key:1,class:"hint"},ns={key:2,class:"hint"},os={key:3,class:"hint danger"},is={class:"actions foot"},ls={class:"panel body-card moss-stage-card"},rs={class:"panel-bd moss-stage-bd"},cs=De({__name:"FindMoss",setup(N){const u=Ge(),y=Te(),A=w(!1),L=w(!1),P=w(0),M=w([]),v=w(""),U=w(""),k=w(""),O=w(!1),D=w(!1),$=w(""),H=w(!1),B=w(""),V=w(""),F=G(()=>({baseUrl:i(v.value||U.value),name:""})),q=G(()=>!!F.value.baseUrl&&se(y.devices,F.value)),j=G(()=>!!F.value.baseUrl&&!q.value),a=G(()=>O.value&&!q.value);Ye(()=>{g().catch(()=>{})});function n(o){const e=Ie(o.board)!=="MOSS"?Ie(o.board):o.product||"MOSS",l=o.mac||o.baseUrl;return`${e} · ${l}`}function c(o){return se(y.devices,o)}function p(o){v.value!==o.baseUrl&&(v.value=o.baseUrl,O.value=!1,$.value="")}async function g(){A.value=!0,k.value="";try{const e=(await ve("/api/discover",{method:"POST",timeoutMs:22e3})).devices||[];M.value=e,P.value=e.filter(r=>se(y.devices,r)).length,L.value=!0,v.value&&!M.value.some(r=>r.baseUrl===v.value)&&(v.value="",O.value=!1);const l=M.value.filter(r=>!se(y.devices,r));!v.value&&l.length===1&&(v.value=l[0].baseUrl)}catch(o){k.value=o instanceof Error?o.message:"寻找失败",R.error(k.value)}finally{A.value=!1}}async function d(o){p(o),await f()}function i(o){const e=o.trim();return e?e.startsWith("http")?e.replace(/\/$/,""):e.includes(":")?`http://${e}`:`http://${e}:5500`:""}async function f(){var e,l;const o=i(v.value||U.value);if(!o){k.value="请先选择或填写 MOSS 地址",R.warning("请先选择或填写 MOSS 地址");return}if(se(y.devices,{baseUrl:o})){R.warning("这台已在设备列表中,请返回选择");return}if(!D.value){D.value=!0,k.value="";try{const r=await ve("/api/device/select",{method:"POST",body:JSON.stringify({baseUrl:o})});O.value=!0,$.value=(e=r.health)!=null&&e.display_name||(l=r.health)!=null&&l.hostname?`:${r.health.display_name||r.health.hostname}`:"",R.success("已连上这台 MOSS,请命名并加入列表")}catch(r){O.value=!1,$.value="",k.value=r instanceof Error?r.message:"连接失败。请确认电脑和 MOSS 在同一 Wi-Fi。",R.error(k.value)}finally{D.value=!1}}}async function T(){var o,e;H.value=!0,B.value="",V.value="正在登记设备…";try{const l=await ve("/api/bind/lan",{method:"POST",body:JSON.stringify({baseUrl:i(v.value||U.value)}),timeoutMs:15e3});if((o=l.device)!=null&&o.id){y.focusDevice(l.device.id);try{const{value:r}=await He.prompt("给这台 MOSS 起个名字,方便以后辨认。","命名设备",{confirmButtonText:"保存",cancelButtonText:"稍后再说",customClass:"moss-message-box moss-message-box-narrow",inputPlaceholder:"例如 客厅的 MOSS",inputPattern:/\S+/,inputErrorMessage:"请填写名称"});await y.renameDevice(l.device.id,r.trim())}catch(r){if(r!=="cancel")throw r}}await y.refresh().catch(()=>{}),R.success(l.mossOnline?"已加入列表,可再开一个标签盯另一台":"已加入。若列表里还是离线,稍等几秒再刷新。"),u.push({path:"/devices",query:Ve((e=l.device)==null?void 0:e.id)})}catch(l){B.value=l instanceof Error?l.message:"加入失败。请先扫描并连接局域网里的 MOSS。",V.value="",R.error(B.value)}finally{H.value=!1}}return(o,e)=>{const l=fe("el-button"),r=fe("el-input"),Q=fe("el-alert");return _(),S("div",Yt,[s("section",{class:be(["status-strip",O.value?"is-online":"is-offline"])},[e[4]||(e[4]=s("div",{class:"status-copy"},[s("div",{class:"status-title-row"},[s("strong",{class:"status-title"},"添加一台局域网 MOSS")]),s("p",{class:"status-meta"},"电脑和设备连同一 Wi-Fi。扫到它、连上,再起个名字加入列表。")],-1)),s("div",At,[Z(l,{onClick:e[0]||(e[0]=m=>ae(u).push("/devices"))},{default:K(()=>[...e[3]||(e[3]=[X("返回设备列表",-1)])]),_:1})])],2),s("div",Bt,[s("section",zt,[e[9]||(e[9]=s("div",{class:"panel-hd"},"1. 扫描并连接",-1)),s("div",Wt,[e[8]||(e[8]=s("p",{class:"hint"},"局域网里在线的 MOSS 都会列出来。已加入列表的仍可看见,但不能再添加一次。",-1)),s("div",$t,[Z(l,{type:"primary",loading:A.value,onClick:g},{default:K(()=>[...e[5]||(e[5]=[X("扫描局域网",-1)])]),_:1},8,["loading"]),Z(r,{modelValue:U.value,"onUpdate:modelValue":e[1]||(e[1]=m=>U.value=m),placeholder:"或填写新设备 IP,例如 192.168.1.32"},null,8,["modelValue"])]),q.value?(_(),S("p",Ft,"这个地址已在设备列表中,请返回列表选择。")):W("",!0),M.value.length?(_(),S("div",Rt,[s("div",Xt,[X(" 找到 "+x(M.value.length)+" 台 ",1),P.value?(_(),S("span",Gt,",其中 "+x(P.value)+" 台已在列表",1)):W("",!0)]),s("div",Ht,[(_(!0),S(Re,null,Xe(M.value,m=>(_(),S("div",{key:m.baseUrl,class:be(["device-item scan-device",{active:v.value===m.baseUrl,connected:O.value&&v.value===m.baseUrl,listed:c(m)}]),onClick:Y=>p(m)},[s("div",Jt,[s("strong",null,x(m.name),1),s("div",Zt,x(n(m)),1)]),c(m)?(_(),pe(l,{key:0,size:"small",onClick:e[2]||(e[2]=ke(Y=>ae(u).push("/devices"),["stop"]))},{default:K(()=>[...e[6]||(e[6]=[X(" 已在列表 ",-1)])]),_:1})):(_(),pe(l,{key:1,type:"primary",size:"small",loading:D.value&&v.value===m.baseUrl,disabled:D.value,onClick:ke(Y=>d(m),["stop"])},{default:K(()=>[X(x(O.value&&v.value===m.baseUrl?"已连接":"连接"),1)]),_:2},1032,["loading","disabled","onClick"]))],10,Vt))),128))])])):L.value&&P.value?(_(),S("p",Kt,"扫到的都已在列表里,请返回选择,或填一台新设备的 IP。")):L.value?(_(),S("p",qt,"这一轮没扫到。确认设备和电脑同一网段,或直接填 IP。")):W("",!0),k.value?(_(),S("p",jt,x(k.value),1)):W("",!0),O.value?(_(),S("p",Qt,"已连上局域网"+x($.value)+",请在右侧命名并加入列表。",1)):W("",!0),U.value.trim()?(_(),S("div",es,[Z(l,{type:"primary",loading:D.value,disabled:!j.value||D.value,onClick:f},{default:K(()=>[...e[7]||(e[7]=[X(" 连接填写的地址 ",-1)])]),_:1},8,["loading","disabled"])])):W("",!0)])]),s("section",ts,[e[11]||(e[11]=s("div",{class:"panel-hd"},"2. 命名并加入",-1)),s("div",ss,[O.value?(_(),S("p",as,"写入后会请你给这台起个名字,然后回到设备列表。")):(_(),pe(Q,{key:0,type:"info",closable:!1,"show-icon":"",title:"先在左侧连上要添加的那台,再命名加入。"})),V.value?(_(),S("p",ns,x(V.value),1)):W("",!0),B.value?(_(),S("p",os,x(B.value),1)):W("",!0),s("div",is,[Z(l,{type:"primary",loading:H.value,disabled:!a.value,onClick:T},{default:K(()=>[...e[10]||(e[10]=[X(" 加入列表 ",-1)])]),_:1},8,["loading","disabled"])])])]),s("section",ls,[e[12]||(e[12]=s("div",{class:"panel-hd"},"MOSS",-1)),s("div",rs,[Z(Dt)])])])])}}}),fs=Ae(cs,[["__scopeId","data-v-37ac6518"]]);export{fs as default};
|
|
1
|
+
import{d as De,u as Te,z as Ye,I as $e,o as _,g as S,f as s,J as Fe,t as x,a as ae,n as be,r as w,b as G,L as ve,E as R,j as Z,w as K,i as W,k as X,F as Re,h as Xe,c as pe,q as Ge,e as fe,M as ke,m as Ie,N as He,p as Ve}from"./index-BDP0pPqH.js";import{S as Je,C as Ze,P as Ke,W as qe,a as je,O as Qe,G as re,M as me,b as et,V as ce,c as he,d as ge,L as tt,E as st,e as at,B as nt,f as ot,D as it,A as lt,N as rt,g as ct,F as dt}from"./engine-3d-DoxdUZhy.js";import{_ as Ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./esp-flasher-CeAm6Ct9.js";const ut={class:"moss-wire"},vt={class:"hud","aria-hidden":"true"},pt={class:"scene-tag tag-b"},ft={class:"propel-strip"},mt="/stl/moss.stl",ht=9344678,gt=.98,_t=.985,yt=1.035,bt=.215,wt=.7,Mt=0,St=.226,Et=.245,xt=.08,Ot=.26,Ct=.0164,Lt=.375,kt=.372,It=16722468,_e=.0022,Pe=14,Ue=.88,Pt=-.9,Ut=.14,Nt=De({__name:"MossWireframe",setup(N){const u=-Math.PI/6,y=Math.PI/6,A=-Math.PI/2,L=Math.PI/2,P=w(null),M=Te(),v=w(0),U=w(Pe),k=G(()=>M.deviceName||"UNNAMED"),O=G(()=>H(v.value)),D=G(()=>H(U.value));let $=()=>{};function H(a){return`${a>0?"+":""}${a}°`}function B(a,n){const c=a.getAttribute("position");let p=0,g=0,d=0,i=0;for(let f=0;f<c.count;f++){const T=c.getX(f),o=c.getY(f),e=c.getZ(f);n(T,o,e)&&(p+=T,g+=o,d+=e,i+=1)}return i?new ce(p/i,g/i,d/i):(a.computeBoundingBox(),a.boundingBox.getCenter(new ce))}function V(){const a=new re,n=(d,i)=>new ot({color:d,transparent:i<1,opacity:i,depthWrite:!1,blending:i<1?lt:rt,side:it}),c=new he(new ge(.04,32),n(13114910,.16)),p=new he(new ge(.02,28),n(16726578,.42)),g=new he(new ge(.0075,24),n(It,1));return a.add(c,p,g),{group:a,glow:p}}function F(a){const n=new ct;return n.setAttribute("position",new dt(a,3)),n.computeVertexNormals(),n}function q(a){const n=a.getAttribute("position"),c=[],p=[],g=[];for(let d=0;d<n.count;d+=3){const i=[n.getX(d),n.getX(d+1),n.getX(d+2)],f=[n.getY(d),n.getY(d+1),n.getY(d+2)],T=Math.min(...f),o=Math.max(...f),e=Math.max(...i),l=T>gt?c:o>wt||e>=bt&&o>Mt?p:g;for(let r=0;r<3;r++)l.push(n.getX(d+r),n.getY(d+r),n.getZ(d+r))}return{base:F(c),arm:F(p),frame:F(g)}}function j(a){return new tt(new st(a,28),new at({color:ht}))}return Ye(()=>{const a=P.value;if(!a)return;const n=new Je;n.background=new Ze(132362);const c=new Ke(32,1,.1,4e3);c.up.set(0,1,0),c.position.set(0,0,2.6);const p=new qe({antialias:!0,alpha:!1});p.setPixelRatio(Math.min(window.devicePixelRatio||1,2)),p.outputColorSpace=je,a.appendChild(p.domElement);const g=new Qe(c,p.domElement);g.enableDamping=!1,g.enablePan=!1,g.enableRotate=!1,g.enableZoom=!1,g.autoRotate=!1;const d=new re,i=new re,f=new re;f.rotation.x=me.degToRad(Pe),i.add(f),d.add(i),n.add(d);const T=[];let o=0,e=!1,l=!1,r=0,Q=0,m=1,Y=2.6,ne=2.6,we=.8,Me=6,de=null;const Be=performance.now();function ze(t){return Math.min(L,Math.max(A,t))}function ue(t){const h=me.degToRad(c.fov),E=2*t*Math.tan(h/2),b=-Ue*E/2;c.up.set(0,1,0),c.position.set(0,b,t),c.near=Math.max(t*.02,.01),c.far=t*40,c.updateProjectionMatrix(),g.target.set(0,b,0),c.lookAt(0,b,0)}function We(t){const h=new nt().setFromObject(t),E=h.getSize(new ce),b=h.getCenter(new ce);t.position.x-=b.x,t.position.z-=b.z,t.position.y-=h.max.y;const C=Math.max(E.y,.01),I=Math.max(E.x,E.z,.01),ie=me.degToRad(c.fov),ee=Math.tan(ie/2),le=C/((Ue-Pt)*ee),J=I/(1.8*ee*Math.max(c.aspect,.2)),z=Math.max(le,J);we=z*.45,Me=z*3.2,Y=z,ne=z,ue(Y)}function Se(){const t=a.clientWidth||1,h=a.clientHeight||1;c.aspect=t/h,c.updateProjectionMatrix(),p.setSize(t,h,!1),ue(Y)}const Ee=t=>{l=!0,r=t.clientX,Q=t.clientY,a.setPointerCapture(t.pointerId)},xe=t=>{l&&(i.rotation.y+=(t.clientX-r)*.008,f.rotation.x=ze(f.rotation.x+(t.clientY-Q)*.008),r=t.clientX,Q=t.clientY)},oe=t=>{l=!1,a.hasPointerCapture(t.pointerId)&&a.releasePointerCapture(t.pointerId)},Oe=t=>{t.preventDefault();const h=Math.exp(t.deltaY*.0016);ne=Math.min(Me,Math.max(we,ne*h))};a.addEventListener("pointerdown",Ee),a.addEventListener("pointermove",xe),a.addEventListener("pointerup",oe),a.addEventListener("pointercancel",oe),a.addEventListener("wheel",Oe,{passive:!1});const Ce=new ResizeObserver(Se);Ce.observe(a),Se(),new et().loadAsync(mt).then(t=>{if(e){t.dispose();return}const{base:h,arm:E,frame:b}=q(t),C=B(t,(z,te)=>te>=_t&&te<=yt),I=B(t,(z,te)=>z>=St&&z<=Et&&te>=xt&&te<=Ot);t.dispose(),h.translate(-C.x,-C.y,-C.z),E.translate(-C.x,-C.y,-C.z),b.translate(-I.x,-I.y,-I.z),f.position.copy(I).sub(C);const ie=j(h),ee=j(E),le=j(b);h.dispose(),E.dispose(),b.dispose(),d.add(ie),i.add(ee),f.add(le);const J=V();J.group.position.set(Ct-I.x,Lt-I.y,kt-I.z),f.add(J.group),de=J.glow.material,T.push(ie,ee,le,J.group),We(d)});const Le=()=>{o=window.requestAnimationFrame(Le),l||(i.rotation.y>y?(i.rotation.y-=_e,i.rotation.y<=y&&(i.rotation.y=y,m=-1)):i.rotation.y<u?(i.rotation.y+=_e,i.rotation.y>=u&&(i.rotation.y=u,m=1)):(i.rotation.y+=_e*m,i.rotation.y>=y?(i.rotation.y=y,m=-1):i.rotation.y<=u&&(i.rotation.y=u,m=1)));const t=Math.round(i.rotation.y*180/Math.PI);t!==v.value&&(v.value=t);const h=Math.round(f.rotation.x*180/Math.PI);if(h!==U.value&&(U.value=h),Y+=(ne-Y)*Ut,ue(Y),de){const E=(performance.now()-Be)/1e3;de.opacity=.28+Math.sin(E*2.2)*.1}p.render(n,c)};Le(),$=()=>{e=!0,window.cancelAnimationFrame(o),Ce.disconnect(),a.removeEventListener("pointerdown",Ee),a.removeEventListener("pointermove",xe),a.removeEventListener("pointerup",oe),a.removeEventListener("pointercancel",oe),a.removeEventListener("wheel",Oe),g.dispose(),T.forEach(t=>{t.traverse(h=>{var C;const E=h;(C=E.geometry)==null||C.dispose();const b=E.material;Array.isArray(b)?b.forEach(I=>I.dispose()):b==null||b.dispose()})}),p.dispose(),p.domElement.remove()}}),$e(()=>{$()}),(a,n)=>(_(),S("div",ut,[s("div",{ref_key:"host",ref:P,class:"moss-gl"},null,512),s("div",vt,[n[1]||(n[1]=Fe('<i class="hud-corner tl" data-v-08430a60></i><i class="hud-corner tr" data-v-08430a60></i><i class="hud-corner bl" data-v-08430a60></i><i class="hud-corner br" data-v-08430a60></i><div class="hud-grid" data-v-08430a60></div><div class="crt" data-v-08430a60></div><div class="scene-tag tag-a" data-v-08430a60><small data-v-08430a60>NEAR UNIT</small><b data-v-08430a60>MOSS</b><em data-v-08430a60>550W CORE · GROUND</em></div><div class="heading" data-v-08430a60><small data-v-08430a60>HEADING</small><b data-v-08430a60>UEG · 550W</b></div>',8)),s("div",pt,[n[0]||(n[0]=s("small",null,"LINK",-1)),s("b",null,x(ae(M).mossOnline?"ONLINE":"LOST"),1),s("em",null,x(k.value),1)])]),s("div",ft,[s("div",null,[n[2]||(n[2]=s("span",null,"YAW",-1)),s("b",null,x(O.value),1)]),s("div",null,[n[3]||(n[3]=s("span",null,"PITCH",-1)),s("b",null,x(D.value),1)]),s("div",null,[n[4]||(n[4]=s("span",null,"LINK",-1)),s("b",{class:be(ae(M).mossOnline?"ok":"bad")},x(ae(M).mossOnline?"ONLINE":"LOST"),3)])])]))}}),Dt=Ae(Nt,[["__scopeId","data-v-08430a60"]]);function ye(N){const u=String(N||"").toLowerCase().replace(/[^0-9a-f]/g,"");return u.length!==12?"":u.match(/.{2}/g).join(":")}function Ne(N){return String(N||"").trim().replace(/\/$/,"")}function Tt(N){const u=String(N||"").trim().toLowerCase().replace(/\.local$/,"");return!u||u==="moss"||u==="localhost"?!1:u.includes("-")}function se(N=[],u={}){const y=Ne(u.baseUrl),A=ye(u.mac);return(N||[]).some(L=>{const P=ye(L.mac)||ye(L.id);if(A&&P)return A===P;if(y&&L.baseUrl&&Ne(L.baseUrl)===y)return!0;const M=String(u.hostname||"").trim().toLowerCase(),v=String(L.hostname||"").trim().toLowerCase();return!!(M&&v&&M===v&&Tt(M))})}const Yt={class:"device-page uxp-page-stack"},At={class:"status-actions"},Bt={class:"device-body"},zt={class:"panel body-card"},Wt={class:"panel-bd body-bd"},$t={class:"scan-bar"},Ft={key:0,class:"hint danger"},Rt={key:1,class:"scan-results"},Xt={class:"scan-results-hd"},Gt={key:0},Ht={class:"device-list scan-list"},Vt=["onClick"],Jt={class:"scan-device-copy"},Zt={class:"hint"},Kt={key:2,class:"hint"},qt={key:3,class:"hint"},jt={key:4,class:"hint danger"},Qt={key:5,class:"hint success"},es={key:6,class:"actions foot"},ts={class:"panel body-card"},ss={class:"panel-bd body-bd"},as={key:1,class:"hint"},ns={key:2,class:"hint"},os={key:3,class:"hint danger"},is={class:"actions foot"},ls={class:"panel body-card moss-stage-card"},rs={class:"panel-bd moss-stage-bd"},cs=De({__name:"FindMoss",setup(N){const u=Ge(),y=Te(),A=w(!1),L=w(!1),P=w(0),M=w([]),v=w(""),U=w(""),k=w(""),O=w(!1),D=w(!1),$=w(""),H=w(!1),B=w(""),V=w(""),F=G(()=>({baseUrl:i(v.value||U.value),name:""})),q=G(()=>!!F.value.baseUrl&&se(y.devices,F.value)),j=G(()=>!!F.value.baseUrl&&!q.value),a=G(()=>O.value&&!q.value);Ye(()=>{g().catch(()=>{})});function n(o){const e=Ie(o.board)!=="MOSS"?Ie(o.board):o.product||"MOSS",l=o.mac||o.baseUrl;return`${e} · ${l}`}function c(o){return se(y.devices,o)}function p(o){v.value!==o.baseUrl&&(v.value=o.baseUrl,O.value=!1,$.value="")}async function g(){A.value=!0,k.value="";try{const e=(await ve("/api/discover",{method:"POST",timeoutMs:22e3})).devices||[];M.value=e,P.value=e.filter(r=>se(y.devices,r)).length,L.value=!0,v.value&&!M.value.some(r=>r.baseUrl===v.value)&&(v.value="",O.value=!1);const l=M.value.filter(r=>!se(y.devices,r));!v.value&&l.length===1&&(v.value=l[0].baseUrl)}catch(o){k.value=o instanceof Error?o.message:"寻找失败",R.error(k.value)}finally{A.value=!1}}async function d(o){p(o),await f()}function i(o){const e=o.trim();return e?e.startsWith("http")?e.replace(/\/$/,""):e.includes(":")?`http://${e}`:`http://${e}:5500`:""}async function f(){var e,l;const o=i(v.value||U.value);if(!o){k.value="请先选择或填写 MOSS 地址",R.warning("请先选择或填写 MOSS 地址");return}if(se(y.devices,{baseUrl:o})){R.warning("这台已在设备列表中,请返回选择");return}if(!D.value){D.value=!0,k.value="";try{const r=await ve("/api/device/select",{method:"POST",body:JSON.stringify({baseUrl:o})});O.value=!0,$.value=(e=r.health)!=null&&e.display_name||(l=r.health)!=null&&l.hostname?`:${r.health.display_name||r.health.hostname}`:"",R.success("已连上这台 MOSS,请命名并加入列表")}catch(r){O.value=!1,$.value="",k.value=r instanceof Error?r.message:"连接失败。请确认电脑和 MOSS 在同一 Wi-Fi。",R.error(k.value)}finally{D.value=!1}}}async function T(){var o,e;H.value=!0,B.value="",V.value="正在登记设备…";try{const l=await ve("/api/bind/lan",{method:"POST",body:JSON.stringify({baseUrl:i(v.value||U.value)}),timeoutMs:15e3});if((o=l.device)!=null&&o.id){y.focusDevice(l.device.id);try{const{value:r}=await He.prompt("给这台 MOSS 起个名字,方便以后辨认。","命名设备",{confirmButtonText:"保存",cancelButtonText:"稍后再说",customClass:"moss-message-box moss-message-box-narrow",inputPlaceholder:"例如 客厅的 MOSS",inputPattern:/\S+/,inputErrorMessage:"请填写名称"});await y.renameDevice(l.device.id,r.trim())}catch(r){if(r!=="cancel")throw r}}await y.refresh().catch(()=>{}),R.success(l.mossOnline?"已加入列表,可再开一个标签盯另一台":"已加入。若列表里还是离线,稍等几秒再刷新。"),u.push({path:"/devices",query:Ve((e=l.device)==null?void 0:e.id)})}catch(l){B.value=l instanceof Error?l.message:"加入失败。请先扫描并连接局域网里的 MOSS。",V.value="",R.error(B.value)}finally{H.value=!1}}return(o,e)=>{const l=fe("el-button"),r=fe("el-input"),Q=fe("el-alert");return _(),S("div",Yt,[s("section",{class:be(["status-strip",O.value?"is-online":"is-offline"])},[e[4]||(e[4]=s("div",{class:"status-copy"},[s("div",{class:"status-title-row"},[s("strong",{class:"status-title"},"添加一台局域网 MOSS")]),s("p",{class:"status-meta"},"电脑和设备连同一 Wi-Fi。扫到它、连上,再起个名字加入列表。")],-1)),s("div",At,[Z(l,{onClick:e[0]||(e[0]=m=>ae(u).push("/devices"))},{default:K(()=>[...e[3]||(e[3]=[X("返回设备列表",-1)])]),_:1})])],2),s("div",Bt,[s("section",zt,[e[9]||(e[9]=s("div",{class:"panel-hd"},"1. 扫描并连接",-1)),s("div",Wt,[e[8]||(e[8]=s("p",{class:"hint"},"局域网里在线的 MOSS 都会列出来。已加入列表的仍可看见,但不能再添加一次。",-1)),s("div",$t,[Z(l,{type:"primary",loading:A.value,onClick:g},{default:K(()=>[...e[5]||(e[5]=[X("扫描局域网",-1)])]),_:1},8,["loading"]),Z(r,{modelValue:U.value,"onUpdate:modelValue":e[1]||(e[1]=m=>U.value=m),placeholder:"或填写新设备 IP,例如 192.168.1.32"},null,8,["modelValue"])]),q.value?(_(),S("p",Ft,"这个地址已在设备列表中,请返回列表选择。")):W("",!0),M.value.length?(_(),S("div",Rt,[s("div",Xt,[X(" 找到 "+x(M.value.length)+" 台 ",1),P.value?(_(),S("span",Gt,",其中 "+x(P.value)+" 台已在列表",1)):W("",!0)]),s("div",Ht,[(_(!0),S(Re,null,Xe(M.value,m=>(_(),S("div",{key:m.baseUrl,class:be(["device-item scan-device",{active:v.value===m.baseUrl,connected:O.value&&v.value===m.baseUrl,listed:c(m)}]),onClick:Y=>p(m)},[s("div",Jt,[s("strong",null,x(m.name),1),s("div",Zt,x(n(m)),1)]),c(m)?(_(),pe(l,{key:0,size:"small",onClick:e[2]||(e[2]=ke(Y=>ae(u).push("/devices"),["stop"]))},{default:K(()=>[...e[6]||(e[6]=[X(" 已在列表 ",-1)])]),_:1})):(_(),pe(l,{key:1,type:"primary",size:"small",loading:D.value&&v.value===m.baseUrl,disabled:D.value,onClick:ke(Y=>d(m),["stop"])},{default:K(()=>[X(x(O.value&&v.value===m.baseUrl?"已连接":"连接"),1)]),_:2},1032,["loading","disabled","onClick"]))],10,Vt))),128))])])):L.value&&P.value?(_(),S("p",Kt,"扫到的都已在列表里,请返回选择,或填一台新设备的 IP。")):L.value?(_(),S("p",qt,"这一轮没扫到。确认设备和电脑同一网段,或直接填 IP。")):W("",!0),k.value?(_(),S("p",jt,x(k.value),1)):W("",!0),O.value?(_(),S("p",Qt,"已连上局域网"+x($.value)+",请在右侧命名并加入列表。",1)):W("",!0),U.value.trim()?(_(),S("div",es,[Z(l,{type:"primary",loading:D.value,disabled:!j.value||D.value,onClick:f},{default:K(()=>[...e[7]||(e[7]=[X(" 连接填写的地址 ",-1)])]),_:1},8,["loading","disabled"])])):W("",!0)])]),s("section",ts,[e[11]||(e[11]=s("div",{class:"panel-hd"},"2. 命名并加入",-1)),s("div",ss,[O.value?(_(),S("p",as,"写入后会请你给这台起个名字,然后回到设备列表。")):(_(),pe(Q,{key:0,type:"info",closable:!1,"show-icon":"",title:"先在左侧连上要添加的那台,再命名加入。"})),V.value?(_(),S("p",ns,x(V.value),1)):W("",!0),B.value?(_(),S("p",os,x(B.value),1)):W("",!0),s("div",is,[Z(l,{type:"primary",loading:H.value,disabled:!a.value,onClick:T},{default:K(()=>[...e[10]||(e[10]=[X(" 加入列表 ",-1)])]),_:1},8,["loading","disabled"])])])]),s("section",ls,[e[12]||(e[12]=s("div",{class:"panel-hd"},"MOSS",-1)),s("div",rs,[Z(Dt)])])])])}}}),fs=Ae(cs,[["__scopeId","data-v-37ac6518"]]);export{fs as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{z as ke,I as be,r as v,b as O,d as _e,C as Ce,g as P,f as n,a as t,c as M,i as R,F as Ee,h as Se,t as N,j as z,w as $,k as C,n as le,e as X,o as h,E as V,N as Be,U as Fe}from"./index-
|
|
1
|
+
import{z as ke,I as be,r as v,b as O,d as _e,C as Ce,g as P,f as n,a as t,c as M,i as R,F as Ee,h as Se,t as N,j as z,w as $,k as C,n as le,e as X,o as h,E as V,N as Be,U as Fe}from"./index-BDP0pPqH.js";import{U as Pe,T as se,E as $e,C as ne}from"./esp-flasher-CeAm6Ct9.js";import{_ as xe}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Te={1027:"FTDI",1659:"Prolific",4292:"Silicon Labs CP210x",6790:"WCH CH340/CH9102",12346:"Espressif USB"},De=921600,Me=115200,oe=0,Ne=16*1024*1024;function K(o){return o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(2)} MB`}function j(o){return typeof o=="number"?o.toString(16).toUpperCase().padStart(4,"0"):""}function re(o,e){const i=o.getInfo(),d=i.usbVendorId,f=i.usbProductId,w=d&&Te[d]||"USB 串口";return d&&f?`${w}(${j(d)}:${j(f)})`:`${w} ${e+1}`}function Le(o){const e=ne.algo.MD5.create(),i=64*1024;for(let d=0;d<o.length;d+=i){const f=o.subarray(d,Math.min(d+i,o.length)),w=[];for(let k=0;k<f.length;k+=4)w.push((f[k]??0)<<24|(f[k+1]??0)<<16|(f[k+2]??0)<<8|(f[k+3]??0));e.update(ne.lib.WordArray.create(w,f.length))}return e.finalize().toString()}function L(o,e){if(o instanceof DOMException&&o.name==="NotFoundError")return"已取消选择串口";if(o instanceof DOMException&&o.name==="SecurityError")return"当前页面不是安全上下文,无法使用串口。请用 localhost 或 HTTPS,并用 Chrome / Edge。";const i=o instanceof Error?o.message:"";return i.includes("doesn't fit in the available flash")?"固件超过 16MB,当前页按 N16R8 容量检查。请用从 0x0 合并的镜像。":i||e}function Ue(){const o=v(!1),e=v([]),i=v(""),d=v(""),f=v(""),w=v(""),k=v(""),F=v(null),l=v(0),g=v([]),u=v(""),D=v(!1),E=v(!1),U=v(!1),H=v(!1),x=v(!1),S=v(!1),r=v("");let y=null,b=null,_=null,I=!0;const ie=O(()=>(u.value?[...g.value,u.value]:g.value).join(`
|
|
2
2
|
`)||"等待操作…"),J=O(()=>D.value||E.value||U.value||H.value||x.value),ee=O(()=>e.value.find(a=>a.key===i.value)||null),ue=O(()=>{var a;return S.value&&!J.value&&!!((a=F.value)!=null&&a.length)}),ce=O(()=>F.value?K(F.value.length):""),ve={clean(){g.value=[],u.value=""},writeLine(a){g.value.push(u.value+a),u.value="",ae()},write(a){u.value+=a}};function ae(){g.value.length>400&&(g.value=g.value.slice(-300))}function c(a){u.value&&(g.value.push(u.value),u.value=""),g.value.push(a),ae()}function T(){return typeof navigator<"u"?navigator.serial:void 0}function de(a){var s,m;e.value=a.map((p,B)=>{const te=p.getInfo();return{key:`${j(te.usbVendorId)||"port"}-${j(te.usbProductId)||B}-${B}`,port:p,label:re(p,B)}}),i.value&&!e.value.some(p=>p.key===i.value)?(i.value=((s=e.value[0])==null?void 0:s.key)||"",_=((m=e.value[0])==null?void 0:m.port)||null):!i.value&&e.value.length&&(i.value=e.value[0].key,_=e.value[0].port)}async function W(){const a=T();if(a)try{de(await a.getPorts()),S.value&&!D.value&&_&&!e.value.some(s=>s.port===_)&&(c("USB 已拔出"),S.value=!1,d.value="",f.value="",w.value="",await A())}catch(s){r.value=L(s,"读取串口失败")}}function Y(a){var s;i.value=a,_=((s=e.value.find(m=>m.key===a))==null?void 0:s.port)||null}async function Z(){var s;const a=T();if(!a){r.value="当前浏览器不支持串口,请用 Chrome 或 Edge浏览器";return}r.value="";try{const m=await a.requestPort();await W();const p=e.value.find(B=>B.port===m);if(p)Y(p.key);else{const B={key:`picked-${Date.now()}`,port:m,label:re(m,e.value.length)};e.value=[...e.value,B],Y(B.key)}c(`已选择:${((s=ee.value)==null?void 0:s.label)||"USB 设备"}`)}catch(m){const p=L(m,"选择串口失败");p!=="已取消选择串口"&&(r.value=p)}}async function fe(){if(J.value)return;if(x.value&&await Q(),!T()){r.value="当前浏览器不支持串口,请用 Chrome 或 Edge浏览器";return}D.value=!0,r.value="";try{if(!_&&(await Z(),!_))return;y=new se(_,!1),b=new $e({transport:y,baudrate:De,terminal:ve,debugLogging:!1}),d.value=await b.main();try{f.value=await b.chip.getChipDescription(b)}catch{f.value=d.value}try{w.value=await b.chip.readMac(b)}catch{w.value=""}S.value=!0,c(`已识别:${f.value||d.value}`)}catch(s){S.value=!1,r.value=L(s,"没连上。请按住 BOOT 再点一下复位,然后重试。"),c(`连接失败:${r.value}`),await A()}finally{D.value=!1}}async function A(){try{await(y==null?void 0:y.disconnect())}catch{}y=null,b=null}async function G(){x.value&&await Q(),I=!0,await A(),S.value=!1,d.value="",f.value="",w.value="",l.value=0,c("已断开")}async function pe(){const a=F.value;if(!b||!S.value||E.value||!(a!=null&&a.length)){a!=null&&a.length||(r.value="请先选择固件文件");return}E.value=!0,r.value="",l.value=0;try{if(c(`开始烧录 ${k.value}(${K(a.length)},地址 0x0,保留镜像 Flash 头)`),await b.writeFlash({fileArray:[{data:a,address:oe}],flashMode:"keep",flashFreq:"keep",flashSize:"keep",eraseAll:!1,compress:!0,reportProgress:(s,m,p)=>{l.value=p?Math.round(m/p*100):0},calculateMD5Hash:Le}),!y)throw new Error("串口已断开");await new Pe(y).reset(),l.value=100,c("烧录完成,已复位。请断开串口后再看运行日志。"),await G()}catch(s){r.value=L(s,"烧录失败"),c(`烧录失败:${r.value}`)}finally{E.value=!1}}async function he(){if(!(!b||!S.value||U.value)){U.value=!0,r.value="";try{c("正在清空芯片…"),await b.eraseFlash(),c("芯片已清空")}catch(a){r.value=L(a,"清空失败"),c(`清空失败:${r.value}`)}finally{U.value=!1}}}async function ge(){if(!(!y||H.value)){H.value=!0;try{await y.setDTR(!1),await new Promise(a=>setTimeout(a,100)),await y.setDTR(!0),c("已重启设备")}catch(a){r.value=L(a,"重启失败")}finally{H.value=!1}}}async function ye(){if(!x.value&&(r.value="",S.value&&(await G(),await new Promise(a=>setTimeout(a,400))),!(!_&&(await Z(),!_))))try{y=new se(_,!1),await y.connect(Me),x.value=!0,I=!1,c("已打开运行日志");const a=new TextDecoder;let s="";await y.rawRead(m=>{s+=a.decode(m,{stream:!0}),s=s.replace(/\r/g,"");const p=s.split(`
|
|
3
3
|
`);s=p.pop()||"";for(const B of p)c(B)},()=>I),s&&c(s)}catch(a){r.value=L(a,"打开运行日志失败"),c(`运行日志失败:${r.value}`),await A()}finally{x.value=!1,I=!0}}async function Q(){I=!0,x.value=!1,await A(),c("已关闭运行日志")}async function me(a){if(!a)return;const s=new Uint8Array(await a.arrayBuffer());if(s.length+oe>Ne){r.value=`固件 ${K(s.length)} 超过 N16R8 的 16MB Flash,请用对应板型的合并包。`,c(r.value);return}k.value=a.name,F.value=s,l.value=0,r.value="",c(`已选择固件 ${a.name}(${K(s.length)})`)}function we(){k.value="",F.value=null,l.value=0}function q(){W()}return ke(()=>{var a,s;if(o.value=!!T(),!o.value){r.value="当前浏览器不支持串口,请用 Chrome 或 Edge浏览器";return}W(),(a=T())==null||a.addEventListener("connect",q),(s=T())==null||s.addEventListener("disconnect",q)}),be(()=>{var a,s;(a=T())==null||a.removeEventListener("connect",q),(s=T())==null||s.removeEventListener("disconnect",q),I=!0,A()}),{serialSupported:o,ports:e,selectedKey:i,selectedPortItem:ee,chipName:d,chipDesc:f,chipMac:w,firmwareName:k,firmwareSize:ce,firmwareProgress:l,logs:g,consoleText:ie,connecting:D,flashing:E,erasing:U,resetting:H,monitoring:x,connected:S,busy:J,canFlash:ue,lastError:r,selectPort:Y,requestPort:Z,connect:fe,disconnect:G,flash:pe,eraseFlash:he,resetDevice:ge,startMonitor:ye,stopMonitor:Q,pickFirmware:me,clearFirmware:we}}const Ie={class:"flash-page"},Ae={class:"flash-steps"},He={class:"panel flash-card"},Oe={class:"panel-bd flash-card-bd"},Re={class:"flash-card-main"},Ve={key:1,class:"device-list"},qe=["onClick"],ze={key:2,class:"hint"},Ke={key:3,class:"kv-grid"},je={class:"kv"},Je={class:"kv-v success"},We={class:"kv"},Ye={class:"kv-v"},Ze={key:4,class:"hint danger"},Ge={class:"actions"},Qe={class:"panel flash-card"},Xe={class:"panel-bd flash-card-bd"},ea={class:"flash-card-main"},aa=["disabled"],ta={key:0},la={key:1},sa={class:"actions"},na={class:"panel flash-console"},oa={class:"panel-hd panel-hd-row"},ra={class:"flash-hd-actions"},ia={class:"panel-bd flash-console-bd"},ua=_e({__name:"Flash",setup(o){const e=Ue(),i=v(null);async function d(F){var g;const l=F.target;await e.pickFirmware((g=l.files)==null?void 0:g[0]),l.value=""}async function f(){await e.connect(),e.connected.value?V.success(`已连上 ${e.chipDesc.value||e.chipName.value}`):e.lastError.value&&V.error(e.lastError.value)}async function w(){await e.flash(),!e.lastError.value&&e.firmwareProgress.value>=100?V.success("烧录完成,设备已重启"):e.lastError.value&&V.error(e.lastError.value)}async function k(){try{await Be.confirm("会把芯片里的程序全部清掉,确定吗?","清空芯片",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"})}catch{return}await e.eraseFlash(),e.lastError.value||V.success("芯片已清空")}return Ce(()=>e.consoleText.value,async()=>{await Fe(),i.value&&(i.value.scrollTop=i.value.scrollHeight)}),(F,l)=>{const g=X("el-alert"),u=X("el-button"),D=X("el-progress");return h(),P("div",Ie,[n("div",Ae,[n("section",He,[l[7]||(l[7]=n("div",{class:"panel-hd"},"1. 连接设备",-1)),n("div",Oe,[n("div",Re,[t(e).serialSupported.value?R("",!0):(h(),M(g,{key:0,title:"请用 Chrome 或 Edge浏览器 打开本页。Safari、Firefox 选不了 USB 串口。",type:"error","show-icon":"",closable:!1})),l[2]||(l[2]=n("p",{class:"hint"},"用 USB 线把 MOSS 接到电脑,点「选择设备」。弹窗里选那一个串口即可。",-1)),l[3]||(l[3]=n("p",{class:"hint"},"连不上时:按住板上的 BOOT 不放,再按一下复位,然后松开 BOOT,重新连接。",-1)),t(e).ports.value.length?(h(),P("div",Ve,[(h(!0),P(Ee,null,Se(t(e).ports.value,E=>(h(),P("div",{key:E.key,class:le(["device-item",{active:t(e).selectedKey.value===E.key}]),onClick:U=>t(e).selectPort(E.key)},[n("strong",null,N(E.label),1)],10,qe))),128))])):(h(),P("p",ze,"还没选过设备。")),t(e).connected.value?(h(),P("div",Ke,[n("div",je,[l[0]||(l[0]=n("div",{class:"kv-k"},"芯片",-1)),n("div",Je,N(t(e).chipDesc.value||t(e).chipName.value),1)]),n("div",We,[l[1]||(l[1]=n("div",{class:"kv-k"},"编号",-1)),n("div",Ye,[n("code",null,N(t(e).chipMac.value||"-"),1)])])])):R("",!0),t(e).lastError.value?(h(),P("p",Ze,N(t(e).lastError.value),1)):R("",!0)]),n("div",Ge,[z(u,{disabled:t(e).busy.value,onClick:t(e).requestPort},{default:$(()=>[...l[4]||(l[4]=[C("选择设备",-1)])]),_:1},8,["disabled","onClick"]),t(e).connected.value?(h(),M(u,{key:1,type:"warning",disabled:t(e).busy.value,onClick:t(e).disconnect},{default:$(()=>[...l[6]||(l[6]=[C("断开",-1)])]),_:1},8,["disabled","onClick"])):(h(),M(u,{key:0,type:"primary",loading:t(e).connecting.value,disabled:t(e).busy.value,onClick:f},{default:$(()=>[...l[5]||(l[5]=[C(" 连接 ",-1)])]),_:1},8,["loading","disabled"]))])])]),n("section",Qe,[l[12]||(l[12]=n("div",{class:"panel-hd"},"2. 选择固件",-1)),n("div",Xe,[n("div",ea,[l[8]||(l[8]=n("p",{class:"hint"},[C("选一份从 0x0 合并好的 "),n("code",null,".bin"),C(" 即可,不限板型。本页按 ESP32 整片烧,镜像头保持不动。换过分区表时先清空芯片。不要选只有 app、没有 bootloader 的单文件。")],-1)),n("label",{class:le(["file-pick",{ready:t(e).firmwareName.value,disabled:t(e).flashing.value}])},[n("input",{type:"file",accept:".bin",disabled:t(e).flashing.value,onChange:d},null,40,aa),t(e).firmwareName.value?(h(),P("span",ta,N(t(e).firmwareName.value)+" · "+N(t(e).firmwareSize.value),1)):(h(),P("span",la,"点击选择固件文件"))],2),t(e).flashing.value||t(e).firmwareProgress.value>0?(h(),M(D,{key:0,percentage:t(e).firmwareProgress.value,status:t(e).firmwareProgress.value>=100&&!t(e).flashing.value?"success":void 0},null,8,["percentage","status"])):R("",!0)]),n("div",sa,[z(u,{type:"primary",loading:t(e).flashing.value,disabled:!t(e).canFlash.value,onClick:w},{default:$(()=>[...l[9]||(l[9]=[C(" 开始烧录 ",-1)])]),_:1},8,["loading","disabled"]),z(u,{type:"danger",plain:"",loading:t(e).erasing.value,disabled:!t(e).connected.value||t(e).busy.value,onClick:k},{default:$(()=>[...l[10]||(l[10]=[C(" 清空芯片 ",-1)])]),_:1},8,["loading","disabled"]),t(e).firmwareName.value?(h(),M(u,{key:0,disabled:t(e).flashing.value,onClick:t(e).clearFirmware},{default:$(()=>[...l[11]||(l[11]=[C(" 换一份 ",-1)])]),_:1},8,["disabled","onClick"])):R("",!0)])])])]),n("section",na,[n("div",oa,[l[16]||(l[16]=n("span",null,"日志",-1)),n("div",ra,[t(e).monitoring.value?(h(),M(u,{key:1,type:"warning",onClick:t(e).stopMonitor},{default:$(()=>[...l[14]||(l[14]=[C("停止",-1)])]),_:1},8,["onClick"])):(h(),M(u,{key:0,disabled:t(e).flashing.value||t(e).connecting.value,onClick:t(e).startMonitor},{default:$(()=>[...l[13]||(l[13]=[C(" 查看运行日志 ",-1)])]),_:1},8,["disabled","onClick"])),z(u,{disabled:!t(e).connected.value&&!t(e).monitoring.value||t(e).flashing.value,loading:t(e).resetting.value,onClick:t(e).resetDevice},{default:$(()=>[...l[15]||(l[15]=[C(" 重启设备 ",-1)])]),_:1},8,["disabled","loading","onClick"])])]),n("div",ia,[l[17]||(l[17]=n("p",{class:"hint"},"烧录过程会显示在这里。烧完后可点「查看运行日志」,看设备有没有正常启动。",-1)),n("pre",{ref_key:"logEl",ref:i,class:"flash-log"},N(t(e).consoleText.value),513)])])])}}}),fa=xe(ua,[["__scopeId","data-v-a36e9b9c"]]);export{fa as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as w,o as n,g as o,l as B,i as $,x as X,b as r,f as l,v as A,n as g,J as W,k as Y,_ as h0,$ as A0,a0 as f0,a1 as H0,a2 as Z0,a3 as y0,a4 as V0,u as $0,t as u,j as Z,a5 as k,a as t,F as b0,h as M0,Q as T,e as k0}from"./index-BDP0pPqH.js";import{H as L0}from"./PhLightning.vue-DcMLB-hu.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./esp-flasher-CeAm6Ct9.js";const x0=["width","height","fill","transform"],w0={key:0},S0=l("path",{d:"M232,44H160a43.86,43.86,0,0,0-32,13.85A43.86,43.86,0,0,0,96,44H24A12,12,0,0,0,12,56V200a12,12,0,0,0,12,12H96a20,20,0,0,1,20,20,12,12,0,0,0,24,0,20,20,0,0,1,20-20h72a12,12,0,0,0,12-12V56A12,12,0,0,0,232,44ZM96,188H36V68H96a20,20,0,0,1,20,20V192.81A43.79,43.79,0,0,0,96,188Zm124,0H160a43.71,43.71,0,0,0-20,4.83V88a20,20,0,0,1,20-20h60Z"},null,-1),z0=[S0],C0={key:1},B0=l("path",{d:"M232,56V200H160a32,32,0,0,0-32,32,32,32,0,0,0-32-32H24V56H96a32,32,0,0,1,32,32,32,32,0,0,1,32-32Z",opacity:"0.2"},null,-1),X0=l("path",{d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64Z"},null,-1),T0=[B0,X0],Y0={key:2},P0=l("path",{d:"M240,56V200a8,8,0,0,1-8,8H160a24,24,0,0,0-24,23.94,7.9,7.9,0,0,1-5.12,7.55A8,8,0,0,1,120,232a24,24,0,0,0-24-24H24a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H88a32,32,0,0,1,32,32v87.73a8.17,8.17,0,0,0,7.47,8.25,8,8,0,0,0,8.53-8V80a32,32,0,0,1,32-32h64A8,8,0,0,1,240,56Z"},null,-1),O0=[P0],N0={key:3},E0=l("path",{d:"M232,50H160a38,38,0,0,0-32,17.55A38,38,0,0,0,96,50H24a6,6,0,0,0-6,6V200a6,6,0,0,0,6,6H96a26,26,0,0,1,26,26,6,6,0,0,0,12,0,26,26,0,0,1,26-26h72a6,6,0,0,0,6-6V56A6,6,0,0,0,232,50ZM96,194H30V62H96a26,26,0,0,1,26,26V204.31A37.86,37.86,0,0,0,96,194Zm130,0H160a37.87,37.87,0,0,0-26,10.32V88a26,26,0,0,1,26-26h66Z"},null,-1),R0=[E0],G0={key:4},U0=l("path",{d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64Z"},null,-1),F0=[U0],j0={key:5},D0=l("path",{d:"M232,52H160a36,36,0,0,0-32,19.54A36,36,0,0,0,96,52H24a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H96a28,28,0,0,1,28,28,4,4,0,0,0,8,0,28,28,0,0,1,28-28h72a4,4,0,0,0,4-4V56A4,4,0,0,0,232,52ZM96,196H28V60H96a28,28,0,0,1,28,28V209.4A35.93,35.93,0,0,0,96,196Zm132,0H160a35.94,35.94,0,0,0-28,13.41V88a28,28,0,0,1,28-28h68Z"},null,-1),q0=[D0],I0={name:"PhBookOpen"},W0=w({...I0,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(c){const e=c,y=A("weight","regular"),V=A("size","1em"),f=A("color","currentColor"),v=A("mirrored",!1),i=r(()=>e.weight??y),h=r(()=>e.size??V),p=r(()=>e.color??f),s=r(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:v?"scale(-1, 1)":void 0);return(d,L)=>(n(),o("svg",X({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:h.value,height:h.value,fill:p.value,transform:s.value},d.$attrs),[B(d.$slots,"default"),i.value==="bold"?(n(),o("g",w0,z0)):i.value==="duotone"?(n(),o("g",C0,T0)):i.value==="fill"?(n(),o("g",Y0,O0)):i.value==="light"?(n(),o("g",N0,R0)):i.value==="regular"?(n(),o("g",G0,F0)):i.value==="thin"?(n(),o("g",j0,q0)):$("",!0)],16,x0))}}),K0=["width","height","fill","transform"],J0={key:0},Q0=l("path",{d:"M208,52H182.42L170,33.34A12,12,0,0,0,160,28H96a12,12,0,0,0-10,5.34L73.57,52H48A28,28,0,0,0,20,80V192a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V80A28,28,0,0,0,208,52Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4H80a12,12,0,0,0,10-5.34L102.42,52h51.15L166,70.66A12,12,0,0,0,176,76h32a4,4,0,0,1,4,4ZM128,84a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,84Zm0,72a24,24,0,1,1,24-24A24,24,0,0,1,128,156Z"},null,-1),_0=[Q0],l1={key:1},a1=l("path",{d:"M208,64H176L160,40H96L80,64H48A16,16,0,0,0,32,80V192a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V80A16,16,0,0,0,208,64ZM128,168a36,36,0,1,1,36-36A36,36,0,0,1,128,168Z",opacity:"0.2"},null,-1),t1=l("path",{d:"M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z"},null,-1),e1=[a1,t1],s1={key:2},n1=l("path",{d:"M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm-44,76a36,36,0,1,1-36-36A36,36,0,0,1,164,132Z"},null,-1),o1=[n1],i1={key:3},r1=l("path",{d:"M208,58H179.21L165,36.67A6,6,0,0,0,160,34H96a6,6,0,0,0-5,2.67L76.78,58H48A22,22,0,0,0,26,80V192a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V80A22,22,0,0,0,208,58Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V80A10,10,0,0,1,48,70H80a6,6,0,0,0,5-2.67L99.21,46h57.57L171,67.33A6,6,0,0,0,176,70h32a10,10,0,0,1,10,10ZM128,90a42,42,0,1,0,42,42A42,42,0,0,0,128,90Zm0,72a30,30,0,1,1,30-30A30,30,0,0,1,128,162Z"},null,-1),d1=[r1],u1={key:4},c1=l("path",{d:"M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z"},null,-1),g1=[c1],m1={key:5},v1=l("path",{d:"M208,60H178.13L163.32,37.78A4,4,0,0,0,160,36H96a4,4,0,0,0-3.32,1.78L77.85,60H48A20,20,0,0,0,28,80V192a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V80A20,20,0,0,0,208,60Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V80A12,12,0,0,1,48,68H80a4,4,0,0,0,3.33-1.78L98.13,44h59.72l14.82,22.22A4,4,0,0,0,176,68h32a12,12,0,0,1,12,12ZM128,92a40,40,0,1,0,40,40A40,40,0,0,0,128,92Zm0,72a32,32,0,1,1,32-32A32,32,0,0,1,128,164Z"},null,-1),p1=[v1],h1={name:"PhCamera"},A1=w({...h1,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(c){const e=c,y=A("weight","regular"),V=A("size","1em"),f=A("color","currentColor"),v=A("mirrored",!1),i=r(()=>e.weight??y),h=r(()=>e.size??V),p=r(()=>e.color??f),s=r(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:v?"scale(-1, 1)":void 0);return(d,L)=>(n(),o("svg",X({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:h.value,height:h.value,fill:p.value,transform:s.value},d.$attrs),[B(d.$slots,"default"),i.value==="bold"?(n(),o("g",J0,_0)):i.value==="duotone"?(n(),o("g",l1,e1)):i.value==="fill"?(n(),o("g",s1,o1)):i.value==="light"?(n(),o("g",i1,d1)):i.value==="regular"?(n(),o("g",u1,g1)):i.value==="thin"?(n(),o("g",m1,p1)):$("",!0)],16,K0))}}),f1=["width","height","fill","transform"],H1={key:0},Z1=l("path",{d:"M232,116h-4.72A100.21,100.21,0,0,0,140,28.72V24a12,12,0,0,0-24,0v4.72A100.21,100.21,0,0,0,28.72,116H24a12,12,0,0,0,0,24h4.72A100.21,100.21,0,0,0,116,227.28V232a12,12,0,0,0,24,0v-4.72A100.21,100.21,0,0,0,227.28,140H232a12,12,0,0,0,0-24Zm-92,87v-3a12,12,0,0,0-24,0v3a76.15,76.15,0,0,1-63-63h3a12,12,0,0,0,0-24H53a76.15,76.15,0,0,1,63-63v3a12,12,0,0,0,24,0V53a76.15,76.15,0,0,1,63,63h-3a12,12,0,0,0,0,24h3A76.15,76.15,0,0,1,140,203ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,64a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z"},null,-1),y1=[Z1],V1={key:1},$1=l("path",{d:"M160,128a32,32,0,1,1-32-32A32,32,0,0,1,160,128Z",opacity:"0.2"},null,-1),b1=l("path",{d:"M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z"},null,-1),M1=[$1,b1],k1={key:2},L1=l("path",{d:"M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-32,16h7.6A80.15,80.15,0,0,1,136,207.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16Zm-32-8a40,40,0,1,1-40-40A40,40,0,0,1,168,128Z"},null,-1),x1=[L1],w1={key:3},S1=l("path",{d:"M232,122H221.8A94.13,94.13,0,0,0,134,34.2V24a6,6,0,0,0-12,0V34.2A94.13,94.13,0,0,0,34.2,122H24a6,6,0,0,0,0,12H34.2A94.13,94.13,0,0,0,122,221.8V232a6,6,0,0,0,12,0V221.8A94.13,94.13,0,0,0,221.8,134H232a6,6,0,0,0,0-12Zm-98,87.76V200a6,6,0,0,0-12,0v9.76A82.09,82.09,0,0,1,46.24,134H56a6,6,0,0,0,0-12H46.24A82.09,82.09,0,0,1,122,46.24V56a6,6,0,0,0,12,0V46.24A82.09,82.09,0,0,1,209.76,122H200a6,6,0,0,0,0,12h9.76A82.09,82.09,0,0,1,134,209.76ZM128,90a38,38,0,1,0,38,38A38,38,0,0,0,128,90Zm0,64a26,26,0,1,1,26-26A26,26,0,0,1,128,154Z"},null,-1),z1=[S1],C1={key:4},B1=l("path",{d:"M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z"},null,-1),X1=[B1],T1={key:5},Y1=l("path",{d:"M232,124H219.91A92.13,92.13,0,0,0,132,36.09V24a4,4,0,0,0-8,0V36.09A92.13,92.13,0,0,0,36.09,124H24a4,4,0,0,0,0,8H36.09A92.13,92.13,0,0,0,124,219.91V232a4,4,0,0,0,8,0V219.91A92.13,92.13,0,0,0,219.91,132H232a4,4,0,0,0,0-8ZM132,211.9V200a4,4,0,0,0-8,0v11.9A84.11,84.11,0,0,1,44.1,132H56a4,4,0,0,0,0-8H44.1A84.11,84.11,0,0,1,124,44.1V56a4,4,0,0,0,8,0V44.1A84.11,84.11,0,0,1,211.9,124H200a4,4,0,0,0,0,8h11.9A84.11,84.11,0,0,1,132,211.9ZM128,92a36,36,0,1,0,36,36A36,36,0,0,0,128,92Zm0,64a28,28,0,1,1,28-28A28,28,0,0,1,128,156Z"},null,-1),P1=[Y1],O1={name:"PhCrosshair"},K=w({...O1,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(c){const e=c,y=A("weight","regular"),V=A("size","1em"),f=A("color","currentColor"),v=A("mirrored",!1),i=r(()=>e.weight??y),h=r(()=>e.size??V),p=r(()=>e.color??f),s=r(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:v?"scale(-1, 1)":void 0);return(d,L)=>(n(),o("svg",X({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:h.value,height:h.value,fill:p.value,transform:s.value},d.$attrs),[B(d.$slots,"default"),i.value==="bold"?(n(),o("g",H1,y1)):i.value==="duotone"?(n(),o("g",V1,M1)):i.value==="fill"?(n(),o("g",k1,x1)):i.value==="light"?(n(),o("g",w1,z1)):i.value==="regular"?(n(),o("g",C1,X1)):i.value==="thin"?(n(),o("g",T1,P1)):$("",!0)],16,f1))}}),N1=["width","height","fill","transform"],E1={key:0},R1=l("path",{d:"M176,116H152a12,12,0,0,1,0-24h24a12,12,0,0,1,0,24ZM104,92h-4V88a12,12,0,0,0-24,0v4H72a12,12,0,0,0,0,24h4v4a12,12,0,0,0,24,0v-4h4a12,12,0,0,0,0-24ZM244.76,202.94a40,40,0,0,1-61,5.35,7,7,0,0,1-.53-.56L144.67,164H111.33L72.81,207.73c-.17.19-.35.38-.53.56A40,40,0,0,1,4.62,173.05a1.18,1.18,0,0,1,0-.2L21,88.79A63.88,63.88,0,0,1,83.88,36H172a64.08,64.08,0,0,1,62.93,52.48,1.8,1.8,0,0,1,0,.19l16.36,84.17a1.77,1.77,0,0,1,0,.2A39.74,39.74,0,0,1,244.76,202.94ZM172,140a40,40,0,0,0,0-80H83.89A39.9,39.9,0,0,0,44.62,93.06a1.55,1.55,0,0,0,0,.21l-16.34,84a16,16,0,0,0,13,18.44,16.07,16.07,0,0,0,13.86-4.21L96.9,144.07a12,12,0,0,1,9-4.07Zm55.76,37.31-7-35.95a63.84,63.84,0,0,1-44.27,22.46l24.41,27.72a16,16,0,0,0,26.85-14.23Z"},null,-1),G1=[R1],U1={key:1},F1=l("path",{d:"M216.86,207.57a28,28,0,0,1-24.66-7.77L150.09,152H172a51.94,51.94,0,0,0,51.2-61h0l16.36,84.17A28,28,0,0,1,216.86,207.57Z",opacity:"0.2"},null,-1),j1=l("path",{d:"M176,112H152a8,8,0,0,1,0-16h24a8,8,0,0,1,0,16ZM104,96H96V88a8,8,0,0,0-16,0v8H72a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0v-8h8a8,8,0,0,0,0-16ZM241.48,200.65a36,36,0,0,1-54.94,4.81c-.12-.12-.24-.24-.35-.37L146.48,160h-37L69.81,205.09l-.35.37A36.08,36.08,0,0,1,44,216,36,36,0,0,1,8.56,173.75a.68.68,0,0,1,0-.14L24.93,89.52A59.88,59.88,0,0,1,83.89,40H172a60.08,60.08,0,0,1,59,49.25c0,.06,0,.12,0,.18l16.37,84.17a.68.68,0,0,1,0,.14A35.74,35.74,0,0,1,241.48,200.65ZM172,144a44,44,0,0,0,0-88H83.89A43.9,43.9,0,0,0,40.68,92.37l0,.13L24.3,176.59A20,20,0,0,0,58,194.3l41.92-47.59a8,8,0,0,1,6-2.71Zm59.7,32.59-8.74-45A60,60,0,0,1,172,160h-4.2L198,194.31a20.09,20.09,0,0,0,17.46,5.39,20,20,0,0,0,16.23-23.11Z"},null,-1),D1=[F1,j1],q1={key:2},I1=l("path",{d:"M247.44,173.75a.68.68,0,0,0,0-.14L231.05,89.44c0-.06,0-.12,0-.18A60.08,60.08,0,0,0,172,40H83.89a59.88,59.88,0,0,0-59,49.52L8.58,173.61a.68.68,0,0,0,0,.14,36,36,0,0,0,60.9,31.71l.35-.37L109.52,160h37l39.71,45.09c.11.13.23.25.35.37A36.08,36.08,0,0,0,212,216a36,36,0,0,0,35.43-42.25ZM104,112H96v8a8,8,0,0,1-16,0v-8H72a8,8,0,0,1,0-16h8V88a8,8,0,0,1,16,0v8h8a8,8,0,0,1,0,16Zm40-8a8,8,0,0,1,8-8h24a8,8,0,0,1,0,16H152A8,8,0,0,1,144,104Zm84.37,87.47a19.84,19.84,0,0,1-12.9,8.23A20.09,20.09,0,0,1,198,194.31L167.8,160H172a60,60,0,0,0,51-28.38l8.74,45A19.82,19.82,0,0,1,228.37,191.47Z"},null,-1),W1=[I1],K1={key:3},J1=l("path",{d:"M176,110H152a6,6,0,0,1,0-12h24a6,6,0,0,1,0,12ZM104,98H94V88a6,6,0,0,0-12,0V98H72a6,6,0,0,0,0,12H82v10a6,6,0,0,0,12,0V110h10a6,6,0,0,0,0-12ZM239.84,199.5A34,34,0,0,1,212,214,34.11,34.11,0,0,1,188,204.05l-.26-.28L147.38,158H108.62L68.31,203.76,68,204A34,34,0,0,1,44,214a34,34,0,0,1-33.46-39.91s0-.06,0-.1L26.9,89.88A57.89,57.89,0,0,1,83.89,42H172a58.07,58.07,0,0,1,57.05,47.63c0,.07,0,.12,0,.19L245.46,174s0,.07,0,.11A33.75,33.75,0,0,1,239.84,199.5ZM172,146a46,46,0,0,0,0-92H83.89A45.9,45.9,0,0,0,38.71,92a.36.36,0,0,0,0,.1L22.33,176.23a22,22,0,0,0,37.11,19.45l42-47.65a6,6,0,0,1,4.5-2Zm61.67,30.23-9.79-50.35A58.06,58.06,0,0,1,172,158h-8.63l33.19,37.68a22,22,0,0,0,37.11-19.45Z"},null,-1),Q1=[J1],_1={key:4},l2=l("path",{d:"M176,112H152a8,8,0,0,1,0-16h24a8,8,0,0,1,0,16ZM104,96H96V88a8,8,0,0,0-16,0v8H72a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0v-8h8a8,8,0,0,0,0-16ZM241.48,200.65a36,36,0,0,1-54.94,4.81c-.12-.12-.24-.24-.35-.37L146.48,160h-37L69.81,205.09l-.35.37A36.08,36.08,0,0,1,44,216,36,36,0,0,1,8.56,173.75a.68.68,0,0,1,0-.14L24.93,89.52A59.88,59.88,0,0,1,83.89,40H172a60.08,60.08,0,0,1,59,49.25c0,.06,0,.12,0,.18l16.37,84.17a.68.68,0,0,1,0,.14A35.74,35.74,0,0,1,241.48,200.65ZM172,144a44,44,0,0,0,0-88H83.89A43.9,43.9,0,0,0,40.68,92.37l0,.13L24.3,176.59A20,20,0,0,0,58,194.3l41.92-47.59a8,8,0,0,1,6-2.71Zm59.7,32.59-8.74-45A60,60,0,0,1,172,160h-4.2L198,194.31a20.09,20.09,0,0,0,17.46,5.39,20,20,0,0,0,16.23-23.11Z"},null,-1),a2=[l2],t2={key:5},e2=l("path",{d:"M176,108H152a4,4,0,0,1,0-8h24a4,4,0,0,1,0,8Zm-72-8H92V88a4,4,0,0,0-8,0v12H72a4,4,0,0,0,0,8H84v12a4,4,0,0,0,8,0V108h12a4,4,0,0,0,0-8Zm134.21,98.36a32,32,0,0,1-48.84,4.27l-.17-.18L148.29,156H107.72L66.81,202.44l-.18.19A32.08,32.08,0,0,1,44,212a32,32,0,0,1-31.5-37.56L28.87,90.21A55.87,55.87,0,0,1,83.89,44H172a56.07,56.07,0,0,1,55.1,46.1.29.29,0,0,1,0,.1l16.37,84.16A31.86,31.86,0,0,1,238.21,198.36ZM172,148a48,48,0,1,0,0-96H83.9A47.9,47.9,0,0,0,36.74,91.67L20.36,175.9a24,24,0,0,0,19.48,27.73,24,24,0,0,0,21-6.58l42-47.69a4,4,0,0,1,3-1.36Zm63.63,27.83-11-56.66A56.09,56.09,0,0,1,172,156H159l36.16,41.06a24,24,0,0,0,40.52-21.23Z"},null,-1),s2=[e2],n2={name:"PhGameController"},o2=w({...n2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(c){const e=c,y=A("weight","regular"),V=A("size","1em"),f=A("color","currentColor"),v=A("mirrored",!1),i=r(()=>e.weight??y),h=r(()=>e.size??V),p=r(()=>e.color??f),s=r(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:v?"scale(-1, 1)":void 0);return(d,L)=>(n(),o("svg",X({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:h.value,height:h.value,fill:p.value,transform:s.value},d.$attrs),[B(d.$slots,"default"),i.value==="bold"?(n(),o("g",E1,G1)):i.value==="duotone"?(n(),o("g",U1,D1)):i.value==="fill"?(n(),o("g",q1,W1)):i.value==="light"?(n(),o("g",K1,Q1)):i.value==="regular"?(n(),o("g",_1,a2)):i.value==="thin"?(n(),o("g",t2,s2)):$("",!0)],16,N1))}}),i2=["width","height","fill","transform"],r2={key:0},d2=l("path",{d:"M240.49,15.51a12,12,0,0,0-17,0L173.94,65.09l-2.54-2.55a36.05,36.05,0,0,0-50.91,0L100,83l-3.51-3.52a12,12,0,0,0-17,17L83,100,62.54,120.49a36,36,0,0,0,0,50.91l2.55,2.54L15.51,223.51a12,12,0,0,0,17,17l49.57-49.58,2.54,2.55a36.06,36.06,0,0,0,50.91,0L156,173l3.51,3.52a12,12,0,0,0,17-17L173,156l20.49-20.49a36,36,0,0,0,0-50.91l-2.55-2.54,49.58-49.57A12,12,0,0,0,240.49,15.51Zm-121.95,161a12,12,0,0,1-17,0L79.51,154.43a12,12,0,0,1,0-17L100,117l39,39Zm58-57.95h0L156,139l-39-39,20.49-20.49a12,12,0,0,1,17,0l22.06,22.06a12,12,0,0,1,0,17ZM85.27,33.37a12,12,0,0,1,21.46-10.74l8,16A12,12,0,1,1,93.27,49.37Zm-68,57.26a12,12,0,0,1,16.1-5.36l16,8a12,12,0,1,1-10.74,21.46l-16-8A12,12,0,0,1,17.27,90.63Zm221.46,74.74a12,12,0,0,1-16.1,5.36l-16-8a12,12,0,0,1,10.74-21.46l16,8A12,12,0,0,1,238.73,165.37Zm-68,57.26a12,12,0,1,1-21.46,10.74l-8-16a12,12,0,0,1,21.46-10.74Z"},null,-1),u2=[d2],c2={key:1},g2=l("path",{d:"M185,127,127,185a24,24,0,0,1-33.94,0L71,162.91A24,24,0,0,1,71,129L129,71a24,24,0,0,1,33.94,0L185,93.09A24,24,0,0,1,185,127Z",opacity:"0.2"},null,-1),m2=l("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32.06,32.06,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94h0L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22a16,16,0,0,1,0,22.63ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"},null,-1),v2=[g2,m2],p2={key:2},h2=l("path",{d:"M88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM29,103.43l20,8A8,8,0,1,0,55,96.57l-20-8A8,8,0,0,0,29,103.43ZM227,152.57l-20-8A8,8,0,1,0,201,159.43l20,8A8,8,0,0,0,227,152.57ZM159.43,201A8,8,0,0,0,144.57,207l8,20A8,8,0,1,0,167.43,221ZM237.91,18.52a8,8,0,0,0-11.5-.18L174,70.75l-5.38-5.38a32,32,0,0,0-45.28,0L106.14,82.54a4,4,0,0,0,0,5.66l61.7,61.66a4,4,0,0,0,5.66,0l16.74-16.74a32.76,32.76,0,0,0,9.81-22.52,31.82,31.82,0,0,0-9.37-23.17l-5.38-5.37,52.2-52.17A8.22,8.22,0,0,0,237.91,18.52ZM85.64,90.34a8,8,0,0,0-11.49.18,8.22,8.22,0,0,0,.41,11.37L80.67,108,65.34,123.31A31.82,31.82,0,0,0,56,146.47,32.75,32.75,0,0,0,65.77,169l5,4.94L18.49,226.13a8.21,8.21,0,0,0-.61,11.1,8,8,0,0,0,11.72.43L82,185.25l5.37,5.38a32.1,32.1,0,0,0,45.29,0L148,175.31l6.34,6.35a8,8,0,0,0,11.32-11.32Z"},null,-1),A2=[h2],f2={key:3},H2=l("path",{d:"M236.24,19.76a6,6,0,0,0-8.48,0L173.94,73.57l-6.79-6.78a30,30,0,0,0-42.42,0L100,91.51l-7.76-7.75a6,6,0,0,0-8.48,8.48L91.51,100,66.79,124.73a30,30,0,0,0,0,42.42l6.78,6.79L19.76,227.76a6,6,0,1,0,8.48,8.48l53.82-53.81,6.79,6.78a30,30,0,0,0,42.42,0L156,164.49l7.76,7.75a6,6,0,0,0,8.48-8.48L164.49,156l24.72-24.73a30,30,0,0,0,0-42.42l-6.78-6.79,53.81-53.82A6,6,0,0,0,236.24,19.76Zm-113.45,161a18,18,0,0,1-25.46,0L75.27,158.67a18,18,0,0,1,0-25.46L100,108.49,147.51,156Zm57.94-57.94L156,147.51,108.49,100l24.72-24.73a18,18,0,0,1,25.46,0l22.06,22.06a18,18,0,0,1,0,25.46ZM90.43,34.23a6,6,0,0,1,11.14-4.46l8,20a6,6,0,1,1-11.14,4.46Zm-64,59.54a6,6,0,0,1,7.8-3.34l20,8a6,6,0,1,1-4.46,11.14l-20-8A6,6,0,0,1,26.43,93.77Zm203.14,68.46a6,6,0,0,1-7.8,3.34l-20-8a6,6,0,0,1,4.46-11.14l20,8A6,6,0,0,1,229.57,162.23Zm-64,59.54a6,6,0,1,1-11.14,4.46l-8-20a6,6,0,0,1,11.14-4.46Z"},null,-1),Z2=[H2],y2={key:4},V2=l("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32,32,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22A16,16,0,0,1,179.31,121.37ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"},null,-1),$2=[V2],b2={key:5},M2=l("path",{d:"M234.83,21.17a4,4,0,0,0-5.66,0L173.94,76.4l-8.2-8.2a28,28,0,0,0-39.6,0L100,94.34l-9.17-9.17a4,4,0,0,0-5.66,5.66L94.34,100,68.2,126.14a28,28,0,0,0,0,39.6l8.2,8.2L21.17,229.17a4,4,0,0,0,5.66,5.66L82.06,179.6l8.2,8.2a28,28,0,0,0,39.6,0L156,161.66l9.17,9.17a4,4,0,0,0,5.66-5.66L161.66,156l26.14-26.14a28,28,0,0,0,0-39.6l-8.2-8.2,55.23-55.23A4,4,0,0,0,234.83,21.17Zm-110.63,161a20,20,0,0,1-28.28,0L73.86,160.08a20,20,0,0,1,0-28.28L100,105.66,150.34,156Zm57.94-57.94L156,150.34,105.66,100,131.8,73.86a20,20,0,0,1,28.28,0l22.06,22.06A20,20,0,0,1,182.14,124.2ZM92.29,33.49a4,4,0,1,1,7.42-3l8,20a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,104,56a4,4,0,0,1-3.71-2.51Zm-64,61a4,4,0,0,1,5.2-2.22l20,8A4,4,0,0,1,52,108a3.91,3.91,0,0,1-1.49-.29l-20-8A4,4,0,0,1,28.29,94.51Zm199.42,67A4,4,0,0,1,224,164a3.91,3.91,0,0,1-1.49-.29l-20-8a4,4,0,1,1,3-7.42l20,8A4,4,0,0,1,227.71,161.49Zm-64,61a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,160,228a4,4,0,0,1-3.71-2.51l-8-20a4,4,0,0,1,7.42-3Z"},null,-1),k2=[M2],L2={name:"PhPlugsConnected"},x2=w({...L2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(c){const e=c,y=A("weight","regular"),V=A("size","1em"),f=A("color","currentColor"),v=A("mirrored",!1),i=r(()=>e.weight??y),h=r(()=>e.size??V),p=r(()=>e.color??f),s=r(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:v?"scale(-1, 1)":void 0);return(d,L)=>(n(),o("svg",X({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:h.value,height:h.value,fill:p.value,transform:s.value},d.$attrs),[B(d.$slots,"default"),i.value==="bold"?(n(),o("g",r2,u2)):i.value==="duotone"?(n(),o("g",c2,v2)):i.value==="fill"?(n(),o("g",p2,A2)):i.value==="light"?(n(),o("g",f2,Z2)):i.value==="regular"?(n(),o("g",y2,$2)):i.value==="thin"?(n(),o("g",b2,k2)):$("",!0)],16,i2))}}),w2=["width","height","fill","transform"],S2={key:0},z2=l("path",{d:"M72,104a16,16,0,1,1,16,16A16,16,0,0,1,72,104Zm96,16a16,16,0,1,0-16-16A16,16,0,0,0,168,120Zm68-40V192a36,36,0,0,1-36,36H56a36,36,0,0,1-36-36V80A36,36,0,0,1,56,44h60V16a12,12,0,0,1,24,0V44h60A36,36,0,0,1,236,80Zm-24,0a12,12,0,0,0-12-12H56A12,12,0,0,0,44,80V192a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12Zm-12,82a30,30,0,0,1-30,30H86a30,30,0,0,1,0-60h84A30,30,0,0,1,200,162Zm-80-6v12h16V156ZM86,168H96V156H86a6,6,0,0,0,0,12Zm90-6a6,6,0,0,0-6-6H160v12h10A6,6,0,0,0,176,162Z"},null,-1),C2=[z2],B2={key:1},X2=l("path",{d:"M200,56H56A24,24,0,0,0,32,80V192a24,24,0,0,0,24,24H200a24,24,0,0,0,24-24V80A24,24,0,0,0,200,56ZM164,184H92a20,20,0,0,1,0-40h72a20,20,0,0,1,0,40Z",opacity:"0.2"},null,-1),T2=l("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Zm4,28H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24Z"},null,-1),Y2=[X2,T2],P2={key:2},O2=l("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48ZM172,96a12,12,0,1,1-12,12A12,12,0,0,1,172,96ZM96,184H80a16,16,0,0,1,0-32H96ZM84,120a12,12,0,1,1,12-12A12,12,0,0,1,84,120Zm60,64H112V152h32Zm32,0H160V152h16a16,16,0,0,1,0,32Z"},null,-1),N2=[O2],E2={key:3},R2=l("path",{d:"M200,50H134V16a6,6,0,0,0-12,0V50H56A30,30,0,0,0,26,80V192a30,30,0,0,0,30,30H200a30,30,0,0,0,30-30V80A30,30,0,0,0,200,50Zm18,142a18,18,0,0,1-18,18H56a18,18,0,0,1-18-18V80A18,18,0,0,1,56,62H200a18,18,0,0,1,18,18ZM74,108a10,10,0,1,1,10,10A10,10,0,0,1,74,108Zm88,0a10,10,0,1,1,10,10A10,10,0,0,1,162,108Zm2,30H92a26,26,0,0,0,0,52h72a26,26,0,0,0,0-52Zm-22,12v28H114V150ZM78,164a14,14,0,0,1,14-14h10v28H92A14,14,0,0,1,78,164Zm86,14H154V150h10a14,14,0,0,1,0,28Z"},null,-1),G2=[R2],U2={key:4},F2=l("path",{d:"M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16Zm-52-56H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Z"},null,-1),j2=[F2],D2={key:5},q2=l("path",{d:"M200,52H132V16a4,4,0,0,0-8,0V52H56A28,28,0,0,0,28,80V192a28,28,0,0,0,28,28H200a28,28,0,0,0,28-28V80A28,28,0,0,0,200,52Zm20,140a20,20,0,0,1-20,20H56a20,20,0,0,1-20-20V80A20,20,0,0,1,56,60H200a20,20,0,0,1,20,20ZM76,108a8,8,0,1,1,8,8A8,8,0,0,1,76,108Zm88,0a8,8,0,1,1,8,8A8,8,0,0,1,164,108Zm0,32H92a24,24,0,0,0,0,48h72a24,24,0,0,0,0-48Zm-20,8v32H112V148ZM76,164a16,16,0,0,1,16-16h12v32H92A16,16,0,0,1,76,164Zm88,16H152V148h12a16,16,0,0,1,0,32Z"},null,-1),I2=[q2],W2={name:"PhRobot"},K2=w({...W2,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(c){const e=c,y=A("weight","regular"),V=A("size","1em"),f=A("color","currentColor"),v=A("mirrored",!1),i=r(()=>e.weight??y),h=r(()=>e.size??V),p=r(()=>e.color??f),s=r(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:v?"scale(-1, 1)":void 0);return(d,L)=>(n(),o("svg",X({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:h.value,height:h.value,fill:p.value,transform:s.value},d.$attrs),[B(d.$slots,"default"),i.value==="bold"?(n(),o("g",S2,C2)):i.value==="duotone"?(n(),o("g",B2,Y2)):i.value==="fill"?(n(),o("g",P2,N2)):i.value==="light"?(n(),o("g",E2,G2)):i.value==="regular"?(n(),o("g",U2,j2)):i.value==="thin"?(n(),o("g",D2,I2)):$("",!0)],16,w2))}}),J2={class:"gp-viz-frame"},Q2={viewBox:"0 0 441 383",class:"gp-viz-svg","aria-hidden":"true"},_2={id:"Controller"},l8=["transform"],a8=["transform"],O=9.5,t8=.12,e8=w({__name:"GamepadVisualizer",props:{buttons:{},leftX:{},leftY:{},rightX:{},rightY:{},leftTrigger:{},rightTrigger:{},compact:{type:Boolean},fill:{type:Boolean}},setup(c){const e=c,y=r(()=>({cx:113+f(e.leftX)*O,cy:160+f(e.leftY)*O})),V=r(()=>({cx:278+f(e.rightX)*O,cy:238+f(e.rightY)*O}));function f(p){return Math.max(-1,Math.min(1,p))}function v(p){return p?"gp-btn gp-btn--on":"gp-btn"}function i(p=0){return p>.08?"gp-btn gp-btn--on":"gp-btn"}function h(p,s){return Math.hypot(p,s)>t8}return(p,s)=>(n(),o("div",{class:g(["gp-viz",{compact:c.compact,fill:c.fill}])},[l("div",J2,[(n(),o("svg",Q2,[l("g",_2,[s[2]||(s[2]=l("path",{d:"M220.5 294.5C220.5 294.5 195 294.5 150 294.5C105 294.5 81.5 378.5 49.5 378.5C17.5 378.5 4 363.9 4 317.5C4 271.1 43.5 165.5 55 137.5C66.5 109.5 95.5 92.0001 128 92.0001C154 92.0001 200.5 92.0001 220.5 92.0001",class:"gp-body"},null,-1)),s[3]||(s[3]=l("path",{d:"M220 294.5C220 294.5 245.5 294.5 290.5 294.5C335.5 294.5 359 378.5 391 378.5C423 378.5 436.5 363.9 436.5 317.5C436.5 271.1 397 165.5 385.5 137.5C374 109.5 345 92.0001 312.5 92.0001C286.5 92.0001 240 92.0001 220 92.0001",class:"gp-body"},null,-1)),l("path",{d:"m152.5,52.9702c0,4.61877 -3.358,8.36308 -7.5,8.36308l-13,0c-4.142,0 -7.5,-3.74432 -7.5,-8.36308l0,-22.8591c0,-8.62177 6.268,-15.6111 14,-15.6111c7.732,0 14,6.98932 14,15.6111l0,22.8591z",class:g(i(c.leftTrigger))},null,2),l("path",{d:"m316.83334,53.44044c0,4.6352 -3.43795,8.39285 -7.67857,8.39285l-13.30953,0c-4.24062,0 -7.67857,-3.75765 -7.67857,-8.39285l0,-22.94046c0,-8.65246 6.41724,-15.66665 14.33334,-15.66665c7.9161,0 14.33334,7.0142 14.33334,15.66665l0,22.94046l-0.00001,0z",class:g(i(c.rightTrigger))},null,2),l("rect",{x:"116.83332",y:"66.83335",width:"43.33334",height:"17.00004",rx:"6.5",class:g(v(c.buttons[4]))},null,2),s[4]||(s[4]=l("text",{x:"138.5",y:"79","text-anchor":"middle",class:"gp-shoulder-label"},"LB",-1)),l("rect",{x:"281.33334",y:"67",width:"42.66666",height:"17.00003",rx:"6.5",class:g(v(c.buttons[5]))},null,2),s[5]||(s[5]=W('<text x="302.5" y="79" text-anchor="middle" class="gp-shoulder-label" data-v-7d8f9ecf>RB</text><line x1="27.50001" y1="214.49998" x2="126.00001" y2="302.5" class="gp-grip-line" data-v-7d8f9ecf></line><line x1="306.59558" y1="200.43247" x2="410.73581" y2="295.73418" class="gp-grip-line" transform="rotate(89 358.666 248.083)" data-v-7d8f9ecf></line><circle cx="113" cy="160" r="37.5" class="gp-stick-well" data-v-7d8f9ecf></circle><circle cx="278" cy="238" r="37.5" class="gp-stick-well" data-v-7d8f9ecf></circle>',5)),l("g",{transform:`translate(${y.value.cx-113}, ${y.value.cy-160})`},[l("circle",{cx:"113",cy:"160",r:"28",class:g(["gp-stick-knob",{"gp-stick-knob--on":c.buttons[10]||h(c.leftX,c.leftY)}])},null,2),s[0]||(s[0]=l("circle",{cx:"113",cy:"160",r:"22",class:"gp-stick-ring-inner"},null,-1))],8,l8),l("g",{transform:`translate(${V.value.cx-278}, ${V.value.cy-238})`},[l("circle",{cx:"278",cy:"238",r:"28",class:g(["gp-stick-knob",{"gp-stick-knob--on":c.buttons[11]||h(c.rightX,c.rightY)}])},null,2),s[1]||(s[1]=l("circle",{cx:"278",cy:"238",r:"22",class:"gp-stick-ring-inner"},null,-1))],8,a8),s[6]||(s[6]=l("circle",{cx:"166",cy:"238",r:"37.5",class:"gp-stick-well"},null,-1)),l("rect",{x:"159",y:"211",width:"14",height:"20",class:g(v(c.buttons[12]))},null,2),l("rect",{x:"159",y:"244",width:"14",height:"20",class:g(v(c.buttons[13]))},null,2),l("rect",{x:"142",y:"228",width:"14",height:"20",transform:"rotate(-90 149 238)",class:g(v(c.buttons[14]))},null,2),l("rect",{x:"176",y:"228",width:"14",height:"20",transform:"rotate(-90 183 238)",class:g(v(c.buttons[15]))},null,2),s[7]||(s[7]=l("rect",{x:"159",y:"228",width:"14",height:"19",class:"gp-btn gp-btn--center"},null,-1)),s[8]||(s[8]=l("circle",{cx:"329",cy:"160",r:"37.5",class:"gp-stick-well"},null,-1)),l("circle",{cx:"329",cy:"140",r:"13",class:g(v(c.buttons[3]))},null,2),s[9]||(s[9]=l("text",{x:"329",y:"144","text-anchor":"middle",class:"gp-face-label"},"Y",-1)),l("circle",{cx:"310",cy:"162",r:"13",class:g(v(c.buttons[2]))},null,2),s[10]||(s[10]=l("text",{x:"310",y:"166","text-anchor":"middle",class:"gp-face-label"},"X",-1)),l("circle",{cx:"348",cy:"161",r:"13",class:g(v(c.buttons[1]))},null,2),s[11]||(s[11]=l("text",{x:"348",y:"165","text-anchor":"middle",class:"gp-face-label"},"B",-1)),l("circle",{cx:"330",cy:"181",r:"13",class:g(v(c.buttons[0]))},null,2),s[12]||(s[12]=l("text",{x:"330",y:"185","text-anchor":"middle",class:"gp-face-label"},"A",-1)),l("circle",{cx:"188",cy:"162",r:"10",class:g(v(c.buttons[8]))},null,2),s[13]||(s[13]=l("rect",{x:"184",y:"159",width:"8",height:"6",rx:"1",class:"gp-back-icon"},null,-1)),l("circle",{cx:"253",cy:"162",r:"10",class:g(v(c.buttons[9]))},null,2),s[14]||(s[14]=W('<g class="gp-menu-icon" pointer-events="none" data-v-7d8f9ecf><line x1="248" y1="158" x2="258" y2="158" data-v-7d8f9ecf></line><line x1="248" y1="162" x2="258" y2="162" data-v-7d8f9ecf></line><line x1="248" y1="166" x2="258" y2="166" data-v-7d8f9ecf></line></g><rect x="211.5" y="153" width="18" height="18" rx="9" class="gp-btn gp-btn--center" data-v-7d8f9ecf></rect><g class="gp-home-icon" pointer-events="none" data-v-7d8f9ecf><path d="M220.5 158 V164 M218 160.5 L220.5 158 L223 160.5 M218 166 H223" data-v-7d8f9ecf></path></g><circle cx="220.5" cy="125" r="14" class="gp-share-ring" data-v-7d8f9ecf></circle><path d="M215.5 125 L220.5 120 L225.5 125 V130 H215.5 Z" class="gp-share-icon" pointer-events="none" data-v-7d8f9ecf></path>',5))])]))]),s[15]||(s[15]=l("div",{class:"gp-legend"},[l("span",null,[l("i",{class:"dot on"}),Y("按键按下")]),l("span",null,[l("i",{class:"dot"}),Y("等待输入")])],-1))],2))}}),s8=J(e8,[["__scopeId","data-v-7d8f9ecf"]]);function n8(){return h0(),{monitor:A0(),ptz:V0,ptzControlEnabled:y0,voiceControlEnabled:Z0,hwControlEnabled:H0,canPtz:f0}}const o8={class:"gamepad-page uxp-page-stack uxp-page-fit"},i8={class:"status-card-main"},r8={class:"status-copy"},d8={class:"status-card-actions"},u8={class:"stat-strip"},c8={class:"gamepad-layout uxp-page-fit uxp-page-fit-stretch"},g8={class:"gamepad-main uxp-page-fit-stretch"},m8={class:"panel device-panel uxp-page-fit-stretch"},v8={class:"panel-hd panel-hd-row"},p8={class:"gp-slots",role:"tablist","aria-label":"手柄插槽"},h8=["aria-selected","onClick"],A8={key:0,class:"gp-slot-dot","aria-hidden":"true"},f8={class:"panel-bd device-panel-bd uxp-page-fit-stretch"},H8={class:"device-preview"},Z8={class:"viz-wrap"},y8={class:"axis-bar"},V8={class:"axis-toggle"},$8={class:"axis-toggle"},b8={class:"axis-toggle"},M8={key:0,class:"device-hint"},k8={key:1,class:"device-meta"},L8={class:"device-mapping"},x8={class:"device-tags"},w8={key:0},S8={key:1},z8={key:2},C8={class:"panel map-panel"},B8={class:"panel-hd"},X8={class:"panel-bd"},T8={class:"map-grid"},Y8={class:"map-card"},P8={class:"map-card-hd"},O8={class:"map-card"},N8={class:"map-card-hd"},E8={key:0,class:"map-card"},R8={class:"map-card-hd"},G8={class:"map-card"},U8={class:"map-card-hd"},F8={class:"key-badges"},j8={key:0,class:"key-badge key-badge--soft"},D8={key:1,class:"key-badge key-badge--soft"},q8={class:"map-card"},I8={class:"map-card"},W8={class:"map-card-hd"},K8={class:"gamepad-side"},J8={class:"panel link-panel"},Q8={class:"panel-hd"},_8={class:"panel-bd"},l4={class:"link-list"},a4={key:0},t4={class:"panel input-panel"},e4={class:"panel-hd"},s4={class:"panel-bd input-panel-bd"},n4={class:"metric-block"},o4={class:"stick-grid"},i4={class:"stick-cell"},r4={class:"stick-well"},d4={class:"stick-cell"},u4={class:"stick-well"},c4={class:"metric-block"},g4={class:"trigger-grid"},m4={class:"trigger-cell"},v4={class:"trigger-bar"},p4={class:"trigger-cell"},h4={class:"trigger-bar is-rt"},A4={class:"metric-block"},f4={class:"drift-row"},H4={class:"drift-well"},Z4={class:"drift-meta"},y4={class:"panel guide-panel"},V4={class:"panel-hd"},$4={class:"panel-bd"},b4={class:"guide-list"},M4=w({__name:"Gamepad",setup(c){const e=$0(),{monitor:y,ptz:V,ptzControlEnabled:f,voiceControlEnabled:v,hwControlEnabled:i,canPtz:h}=n8(),p=y.active,{status:s,input:d,slots:L,selectedSlot:N,selectSlot:Q,invertStickX:S,invertStickY:z,rumbleEnabled:x,rumbleSupported:E}=y,_=Array.from({length:16},()=>!1),C=r(()=>L.some(H=>H.connected)),l0=r(()=>p.value?s.connected?"手柄已连接 · 全局映射生效中":C.value?"手柄待激活":"等待手柄连接":"手柄监听已暂停"),a0=r(()=>p.value?s.connected?`${s.name} · 离开本页后映射仍后台运行`:C.value?"已检测到手柄,请按任意键完成浏览器激活":"USB 或蓝牙连接手柄后,按任意键激活":"开启后可在任意页面使用语音、灯光、音量与云台映射"),t0=r(()=>e.camera.connected&&e.camera.ptz?"已连接 · 支持云台":e.camera.connected?"已连接 · 无云台":e.hasGimbal?"未接画面 · 板载云台可用":"未连接"),e0=r(()=>s.connected?`P${N.value+1} 已激活`:C.value?"待按键激活":"未连接"),s0=r(()=>Math.hypot(d.leftX,d.leftY)),R=r(()=>!s.connected||s0.value<.08),F=r(()=>s.connected?R.value?"中心正常":"检测到偏移":"等待输入"),n0=r(()=>{let H=2;return e.hasPanel&&(H+=1),e.hasBottom&&(H+=1),H}),G=r(()=>e.lightsOn),o0=r(()=>{const a=["eye","bar",...e.hasPanel?["panel"]:[],...e.hasBottom?["bottom"]:[]].filter(b=>e.hw[b]).length;return a?`${a} / ${n0.value} 路灯亮`:"当前全关"}),i0=r(()=>e.hasPanel&&e.hasBottom?"一键开关眼灯、流水灯、面板灯与底灯。":"一键开关眼灯与流水灯。"),r0=r(()=>e.hasPanel&&e.hasBottom?"按住 LB,再点 A 眼灯、B 流水灯、X 面板灯、Y 底灯。按住期间不会触发语音、全灯或电机。":"按住 LB,再点 A 眼灯、B 流水灯。按住期间不会触发语音或全灯。"),P=r(()=>e.motorRunning),j=r(()=>e.mossOnline&&v.value),D=r(()=>e.mossOnline&&i.value),q=r(()=>e.mossOnline?e.volume==null?"读取中":`${e.volume}%`:"需 MOSS 在线"),d0=r(()=>f.value?h.value?V.moving.value?V.moving.value.replace("_"," ").toUpperCase():"待命":"云台未就绪":"已关闭"),u0=r(()=>{const H=s.mapping||"标准";return H==="standard"||H==="标准"?`映射模式:${H}`:`映射模式:${H} · 轴向可能与 Xbox 标准相反`}),c0=r(()=>x.value&&E.value),g0=r(()=>x.value?s.connected?E.value?"可用":"当前手柄不支持震动":"待连接手柄":"已关闭");function M(H){return H.toFixed(2)}function I(H){return H.toFixed(3)}function U(H,a){const b=Math.max(-1,Math.min(1,H))*38,m=Math.max(-1,Math.min(1,a))*38;return{transform:`translate(calc(-50% + ${b}%), calc(-50% + ${m}%))`}}const m0=r(()=>U(d.leftX,d.leftY)),v0=r(()=>U(d.rightX,d.rightY)),p0=r(()=>U(d.leftX,d.leftY));return(H,a)=>{const b=k0("el-switch");return n(),o("div",o8,[l("section",{class:g(["status-card",t(p)?t(s).connected?"is-ready":(C.value,"is-pending"):"is-pending"])},[l("div",i8,[a[12]||(a[12]=l("span",{class:"status-dot","aria-hidden":"true"},null,-1)),l("div",r8,[l("strong",null,u(l0.value),1),l("p",null,u(a0.value),1)])]),l("div",d8,[Z(b,{modelValue:t(p),"onUpdate:modelValue":a[0]||(a[0]=m=>k(p)?p.value=m:null),"inline-prompt":"","active-text":"全局监听","inactive-text":"已暂停"},null,8,["modelValue"])])],2),l("div",u8,[l("article",{class:g(["stat-chip",t(e).mossOnline?"is-on":"is-off"])},[Z(t(K2),{size:18,weight:"duotone"}),l("div",null,[a[13]||(a[13]=l("strong",null,"MOSS",-1)),l("p",null,u(t(e).mossOnline?t(e).voiceLabel:"离线"),1)])],2),l("article",{class:g(["stat-chip",t(e).camera.connected?"is-on":t(e).hasGimbal?"is-pending":"is-off"])},[Z(t(A1),{size:18,weight:"duotone"}),l("div",null,[a[14]||(a[14]=l("strong",null,"摄像头",-1)),l("p",null,u(t0.value),1)])],2),l("article",{class:g(["stat-chip",t(s).connected?"is-on":C.value?"is-pending":"is-off"])},[Z(t(o2),{size:18,weight:"duotone"}),l("div",null,[a[15]||(a[15]=l("strong",null,"手柄",-1)),l("p",null,u(e0.value),1)])],2),l("article",{class:g(["stat-chip",R.value?"is-on":"is-warn"])},[Z(t(K),{size:18,weight:"duotone"}),l("div",null,[a[16]||(a[16]=l("strong",null,"摇杆中心",-1)),l("p",null,u(F.value),1)])],2)]),l("div",c8,[l("div",g8,[l("section",m8,[l("div",v8,[a[17]||(a[17]=l("span",null,"设备预览",-1)),l("div",p8,[(n(!0),o(b0,null,M0(t(L),m=>(n(),o("button",{key:m.index,type:"button",role:"tab",class:g(["gp-slot",{active:t(N)===m.index,linked:m.connected}]),"aria-selected":t(N)===m.index,onClick:k4=>t(Q)(m.index)},[Y(" P"+u(m.index+1)+" ",1),m.connected?(n(),o("i",A8)):$("",!0)],10,h8))),128))])]),l("div",f8,[l("div",H8,[l("div",Z8,[Z(s8,{fill:"",buttons:t(s).connected?t(d).buttons:t(_),"left-x":t(s).connected?t(d).leftX:0,"left-y":t(s).connected?t(d).leftY:0,"right-x":t(s).connected?t(d).rightX:0,"right-y":t(s).connected?t(d).rightY:0,"left-trigger":t(s).connected?t(d).leftTrigger:0,"right-trigger":t(s).connected?t(d).rightTrigger:0},null,8,["buttons","left-x","left-y","right-x","right-y","left-trigger","right-trigger"])]),l("div",y8,[a[18]||(a[18]=l("span",{class:"axis-bar-label"},"轴向镜像",-1)),l("div",V8,[Z(b,{modelValue:t(S),"onUpdate:modelValue":a[1]||(a[1]=m=>k(S)?S.value=m:null),size:"small"},null,8,["modelValue"]),l("span",{onClick:a[2]||(a[2]=m=>S.value=!t(S))},"X 左右")]),l("div",$8,[Z(b,{modelValue:t(z),"onUpdate:modelValue":a[3]||(a[3]=m=>k(z)?z.value=m:null),size:"small"},null,8,["modelValue"]),l("span",{onClick:a[4]||(a[4]=m=>z.value=!t(z))},"Y 上下")]),a[19]||(a[19]=l("span",{class:"axis-bar-label axis-bar-split"},"震动",-1)),l("div",b8,[Z(b,{modelValue:t(x),"onUpdate:modelValue":a[5]||(a[5]=m=>k(x)?x.value=m:null),size:"small"},null,8,["modelValue"]),l("span",{onClick:a[6]||(a[6]=m=>x.value=!t(x))},"反馈")])]),t(s).connected?(n(),o("div",k8,[l("p",L8,u(u0.value),1),l("div",x8,[l("span",null,"左摇杆 "+u(M(t(d).leftX))+", "+u(M(t(d).leftY)),1),l("span",null,"右摇杆 "+u(M(t(d).rightX))+", "+u(M(t(d).rightY)),1),l("span",null,"LT "+u(M(t(d).leftTrigger))+" · RT "+u(M(t(d).rightTrigger)),1),t(S)?(n(),o("span",w8,"X 已镜像")):$("",!0),t(z)?(n(),o("span",S8,"Y 已镜像")):$("",!0),t(x)?(n(),o("span",z8,"震动"+u(t(E)?"已开":"已开 · 手柄不支持"),1)):$("",!0)])])):(n(),o("p",M8,u(C.value?"已检测到手柄,按任意键激活":"USB / 蓝牙连接后,按任意键激活"),1))])])]),l("section",C8,[l("div",B8,[Z(t(L0),{size:18,weight:"duotone"}),a[20]||(a[20]=l("span",null,"按键映射",-1))]),l("div",X8,[a[39]||(a[39]=l("p",{class:"panel-desc"},[Y("以下映射在"),l("strong",null,"全部页面"),Y("后台生效,无需停留本页。可在右侧查看实时输入与联动状态。")],-1)),l("div",T8,[l("article",Y8,[l("header",P8,[a[21]||(a[21]=l("span",{class:"key-badge"},"A",-1)),Z(b,{modelValue:t(v),"onUpdate:modelValue":a[7]||(a[7]=m=>k(v)?v.value=m:null),disabled:!t(e).mossOnline,size:"small"},null,8,["modelValue","disabled"])]),a[22]||(a[22]=l("h3",null,"语音唤醒 / 挂断",-1)),a[23]||(a[23]=l("p",null,"空闲时唤醒 MOSS;聆听或播报中再次按下挂断。",-1)),l("footer",{class:g(j.value?"ft-on":"ft-off")},u(j.value?"可用":"需 MOSS 在线"),3)]),l("article",O8,[l("header",N8,[a[24]||(a[24]=l("span",{class:"key-badge"},"X",-1)),Z(b,{modelValue:t(i),"onUpdate:modelValue":a[8]||(a[8]=m=>k(i)?i.value=m:null),disabled:!t(e).mossOnline,size:"small"},null,8,["modelValue","disabled"])]),a[25]||(a[25]=l("h3",null,"全部灯光",-1)),l("p",null,u(i0.value),1),l("footer",{class:g(G.value?"ft-on":"ft-muted")},u(o0.value),3)]),t(e).hasMotor?(n(),o("article",E8,[l("header",R8,[a[26]||(a[26]=l("span",{class:"key-badge"},"B",-1)),Z(b,{modelValue:t(i),"onUpdate:modelValue":a[9]||(a[9]=m=>k(i)?i.value=m:null),disabled:!t(e).mossOnline,size:"small"},null,8,["modelValue","disabled"])]),a[27]||(a[27]=l("h3",null,"眼部电机",-1)),a[28]||(a[28]=l("p",null,"启动正转;再次按下停止。",-1)),l("footer",{class:g(P.value?"ft-on":"ft-muted")},u(P.value?"运行中":"已停止"),3)])):$("",!0),l("article",G8,[l("header",U8,[l("span",F8,[a[29]||(a[29]=l("span",{class:"key-badge"},"LB",-1)),a[30]||(a[30]=l("span",{class:"key-badge key-badge--soft"},"A",-1)),a[31]||(a[31]=l("span",{class:"key-badge key-badge--soft"},"B",-1)),t(e).hasPanel?(n(),o("span",j8,"X")):$("",!0),t(e).hasBottom?(n(),o("span",D8,"Y")):$("",!0)]),Z(b,{modelValue:t(i),"onUpdate:modelValue":a[10]||(a[10]=m=>k(i)?i.value=m:null),disabled:!t(e).mossOnline,size:"small"},null,8,["modelValue","disabled"])]),a[32]||(a[32]=l("h3",null,"灯光分控",-1)),l("p",null,u(r0.value),1),l("footer",{class:g(D.value?"ft-on":"ft-off")},u(D.value?"可用":"需 MOSS 在线且开启灯光控制"),3)]),l("article",q8,[a[33]||(a[33]=l("header",{class:"map-card-hd"},[l("span",{class:"key-badges"},[l("span",{class:"key-badge"},"LT"),l("span",{class:"key-badge"},"RT")])],-1)),a[34]||(a[34]=l("h3",null,"设备音量",-1)),a[35]||(a[35]=l("p",null,"LT 减、RT 加,每次 5%。按住连续调节,到顶或到底时提示一次。",-1)),l("footer",{class:g(t(e).mossOnline?"ft-on":"ft-off")},u(q.value),3)]),l("article",I8,[l("header",W8,[a[36]||(a[36]=l("span",{class:"key-badge key-badge--soft"},"◎",-1)),Z(b,{modelValue:t(f),"onUpdate:modelValue":a[11]||(a[11]=m=>k(f)?f.value=m:null),size:"small"},null,8,["modelValue"])]),a[37]||(a[37]=l("h3",null,"云台控制",-1)),a[38]||(a[38]=l("p",null,"左摇杆或方向键平移。本机摄像头无变焦。方向反了时,打开预览下方的 X / Y 镜像。",-1)),l("footer",{class:g(t(h)&&t(f)?"ft-on":"ft-off")},u(d0.value),3)])])])])]),l("aside",K8,[l("section",J8,[l("div",Q8,[Z(t(x2),{size:18,weight:"duotone"}),a[40]||(a[40]=l("span",null,"联动状态",-1))]),l("div",_8,[l("ul",l4,[l("li",null,[a[41]||(a[41]=l("span",null,"语音链路",-1)),l("strong",{class:g(t(e).mossOnline?"ok":"muted")},u(t(e).voiceLabel),3)]),l("li",null,[a[42]||(a[42]=l("span",null,"云台",-1)),l("strong",{class:g(t(h)?"ok":"muted")},u(t(h)?"就绪":"不可用"),3)]),l("li",null,[a[43]||(a[43]=l("span",null,"灯光",-1)),l("strong",{class:g(G.value?"ok":"muted")},u(G.value?"部分开启":"全关"),3)]),t(e).hasMotor?(n(),o("li",a4,[a[44]||(a[44]=l("span",null,"电机",-1)),l("strong",{class:g(P.value?"ok":"muted")},u(P.value?"运行":"停止"),3)])):$("",!0),l("li",null,[a[45]||(a[45]=l("span",null,"音量",-1)),l("strong",{class:g(t(e).mossOnline?"ok":"muted")},u(q.value),3)]),l("li",null,[a[46]||(a[46]=l("span",null,"震动",-1)),l("strong",{class:g(c0.value?"ok":"muted")},u(g0.value),3)])])])]),l("section",t4,[l("div",e4,[Z(t(K),{size:18,weight:"duotone"}),a[47]||(a[47]=l("span",null,"输入检测",-1))]),l("div",s4,[l("div",n4,[a[50]||(a[50]=l("div",{class:"metric-label"},"摇杆",-1)),l("div",o4,[l("div",i4,[a[48]||(a[48]=l("span",null,"左",-1)),l("div",r4,[l("i",{class:"stick-dot",style:T(m0.value)},null,4)]),l("code",null,u(M(t(d).leftX))+", "+u(M(t(d).leftY)),1)]),l("div",d4,[a[49]||(a[49]=l("span",null,"右",-1)),l("div",u4,[l("i",{class:"stick-dot",style:T(v0.value)},null,4)]),l("code",null,u(M(t(d).rightX))+", "+u(M(t(d).rightY)),1)])])]),l("div",c4,[a[53]||(a[53]=l("div",{class:"metric-label"},"扳机",-1)),l("div",g4,[l("div",m4,[l("div",v4,[l("i",{style:T({height:`${t(d).leftTrigger*100}%`})},null,4)]),l("code",null,u(M(t(d).leftTrigger)),1),a[51]||(a[51]=l("em",null,"LT",-1))]),l("div",p4,[l("div",h4,[l("i",{style:T({height:`${t(d).rightTrigger*100}%`})},null,4)]),l("code",null,u(M(t(d).rightTrigger)),1),a[52]||(a[52]=l("em",null,"RT",-1))])])]),l("div",A4,[a[54]||(a[54]=l("div",{class:"metric-label"},"漂移检测",-1)),l("div",f4,[l("div",H4,[l("i",{class:"drift-dot",style:T(p0.value)},null,4)]),l("div",Z4,[l("code",null,"X "+u(I(t(d).leftX)),1),l("code",null,"Y "+u(I(t(d).leftY)),1),l("span",{class:g(R.value?"ok":"warn")},u(F.value),3)])])])])]),l("section",y4,[l("div",V4,[Z(t(W0),{size:18,weight:"duotone"}),a[55]||(a[55]=l("span",null,"使用说明",-1))]),l("div",$4,[l("ol",b4,[a[56]||(a[56]=l("li",null,"连接手柄后,在任意页面按一次按键完成浏览器激活。",-1)),a[57]||(a[57]=l("li",null,"保持顶部「全局监听」开启,即可在其他页面使用映射。",-1)),l("li",null,"按住 LB 再按 A / B"+u(t(e).hasPanel||t(e).hasBottom?" / X / Y":"")+",可单独开关"+u(t(e).hasPanel&&t(e).hasBottom?"四盏灯":"眼灯与流水灯")+"。",1),a[58]||(a[58]=l("li",null,"LT 减音量、RT 加音量;云台用左摇杆或方向键,不再用肩键变焦。",-1)),a[59]||(a[59]=l("li",null,"若摇杆漂移,可在本页查看中心偏移量并校准手柄。",-1)),a[60]||(a[60]=l("li",null,"Xbox 等手柄若推杆方向反了,打开镜像 X(左右对调)或镜像 Y(上下对调),预览与云台会一起反向。",-1)),a[61]||(a[61]=l("li",null,"震动开关在预览栏。推住摇杆或方向键会一直震,力度跟偏移成正比;松手即停。按键仍是点按短震。部分蓝牙手柄浏览器不提供马达,开关仍会记住。",-1))])])])])])])}}}),z4=J(M4,[["__scopeId","data-v-759e5c32"]]);export{z4 as default};
|