import{B as e,F as t,G as n,H as r,J as i,K as a,L as ee,M as o,O as s,Q as c,U as l,V as u,W as te,X as d,Z as f,a as ne,at as re,ct as ie,et as ae,i as p,it as m,j as oe,k as h,lt as g,nt as se,ot as _,q as v,r as ce,rt as le,st as y,tt as b,ut as x}from"./vue-router-DiegbtGD.js";import{t as S}from"./UserOutlined-DRj_YW6J.js";import{n as C,t as w}from"./websocket-CR4BFqcQ.js";var T={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z`}}]},name:`bulb`,theme:`outlined`};function E(e){for(var t=1;t{i=n.subscribe(e,e=>{r.value(e)})}),f(()=>{i&&i()})}function He(){let e=_(window.innerWidth<768),t=()=>{e.value=window.innerWidth<768};return d(()=>{window.addEventListener(`resize`,t)}),f(()=>{window.removeEventListener(`resize`,t)}),e}var Ue={class:`sider-inner`},We={class:`logo-icon-wrapper`},Ge={class:`logo-text`},Ke={class:`sider-menu-wrapper`},qe={class:`sider-footer-inner`},Je={class:`footer-text`},Ye={class:`header-left`},Xe={class:`breadcrumb-wrapper`},Ze={class:`page-title`},Qe={class:`user-info`},$e={key:0,class:`user-name`},et={class:`drawer-header`},tt={class:`drawer-logo`},nt={class:`logo-icon-wrapper`},rt=220,it=64,at=v({__name:`AppLayout`,setup(o){let d=p(),f=ce(),v=ne(),w=C(),T=He(),E=_(!1),D=_(!1),k=_([f.path]),A=_([]),j=[`/mqtt`,`/system`],ue={"/dashboard":`仪表板`,"/devices":`设备管理`,"/ota":`OTA升级`,"/sensor-data":`传感器数据`,"/rooms":`房间管理`,"/connections":`连接管理`,"/messages":`消息管理`,"/mqtt/client-auth":`客户端认证`,"/mqtt/client-acl":`客户端授权`,"/settings":`系统设置`,"/mqtt/auth-logs":`认证日志`,"/system-logs":`系统日志`},N=e(()=>ue[f.path]||`MQTT 数据监控平台`),de=()=>{T.value?D.value=!0:E.value=!E.value};le(()=>f.path,e=>{k.value=[e],e.startsWith(`/mqtt`)?A.value=[...A.value.filter(e=>!j.includes(e)),`/mqtt`]:(e.startsWith(`/system`)||e.startsWith(`/settings`)||e.startsWith(`/mqtt/auth-logs`))&&(A.value=[...A.value.filter(e=>!j.includes(e)),`/system`])},{immediate:!0});let F=e=>{let t=e.find(e=>!A.value.includes(e));t&&j.includes(t)?A.value=e.filter(e=>!j.includes(e)||e===t):A.value=e},I=e(()=>{let e=[{key:`/dashboard`,icon:i(R),label:`仪表板`},{key:`/devices`,icon:i(Z),label:`设备管理`},{key:`/ota`,icon:i(M),label:`OTA升级`},{key:`/sensor-data`,icon:i(V),label:`传感器数据`},{key:`/rooms`,icon:i(U),label:`房间管理`},{key:`/connections`,icon:i(G),label:`连接管理`},{key:`/messages`,icon:i(X),label:`消息管理`},{key:`/mqtt`,icon:i(P),label:`MQTT登录管理`,children:[{key:`/mqtt/client-auth`,icon:i(S),label:`客户端认证`},{key:`/mqtt/client-acl`,icon:i(Q),label:`客户端授权`}]},{key:`/system`,icon:i($),label:`系统管理`,children:[{key:`/settings`,icon:i($),label:`系统设置`},{key:`/mqtt/auth-logs`,icon:i(s),label:`认证日志`},{key:`/system-logs`,icon:i(s),label:`系统日志`}]}],t=e=>e.filter(e=>e.children?(e.children=t(e.children),e.children.length>0):v.hasPermission(e.key));return t(e)}),L=({key:e})=>{k.value=[e],d.push(e)},z=({key:e})=>{k.value=[e],d.push(e),D.value=!1},B=()=>{v.logout(),h.success(`已成功登出`),d.replace(`/login`)};return(e,i)=>{let o=b(`a-menu`),s=b(`a-layout-sider`),d=b(`a-button`),f=b(`a-tooltip`),ne=b(`a-avatar`),p=b(`a-menu-item`),h=b(`a-menu-divider`),_=b(`a-dropdown`),ce=b(`a-space`),le=b(`a-layout-header`),C=b(`a-layout-content`),j=b(`a-layout`),M=b(`a-drawer`);return c(),r(j,{class:`app-layout`},{default:m(()=>[y(T)?l(``,!0):(c(),r(s,{collapsed:E.value,"onUpdate:collapsed":i[0]||=e=>E.value=e,trigger:null,collapsible:``,width:rt,"collapsed-width":it,theme:y(w).theme,key:`sider-`+y(w).theme,class:`app-sider`},{default:m(()=>[u(`div`,Ue,[u(`div`,{class:ie([`sider-logo`,{"sider-logo-collapsed":E.value}])},[u(`div`,We,[a(y(R),{style:{"font-size":`20px`}})]),a(t,{name:`logo-text-fade`},{default:m(()=>[re(u(`span`,Ge,`MQTT 仪表板`,512),[[ee,!E.value]])]),_:1})],2),u(`div`,Ke,[a(o,{theme:y(w).theme,mode:`inline`,"selected-keys":k.value,"open-keys":A.value,items:I.value,onClick:L,onOpenChange:F,class:`sider-menu`},null,8,[`theme`,`selected-keys`,`open-keys`,`items`])]),u(`div`,{class:`sider-footer`,onClick:de},[u(`div`,qe,[(c(),r(se(E.value?y(Y):y(q)),{class:`footer-icon`})),a(t,{name:`logo-text-fade`},{default:m(()=>[re(u(`span`,Je,`收起菜单`,512),[[ee,!E.value]])]),_:1})])])])]),_:1},8,[`collapsed`,`theme`])),a(j,{class:ie([`app-main`,{"app-main-mobile":y(T)}])},{default:m(()=>[a(le,{class:`app-header`},{default:m(()=>[u(`div`,Ye,[y(T)?(c(),r(d,{key:0,type:`text`,class:`trigger-btn`,onClick:i[1]||=e=>D.value=!0},{icon:m(()=>[a(y(J))]),_:1})):l(``,!0),u(`div`,Xe,[u(`span`,Ze,x(N.value),1)])]),a(ce,{size:`middle`,align:`center`,class:`header-right`},{default:m(()=>[a(f,{title:y(w).theme===`dark`?`切换亮色模式`:`切换暗色模式`},{default:m(()=>[a(d,{type:`text`,shape:`circle`,onClick:i[2]||=e=>y(w).toggleTheme(),class:`theme-toggle-btn`},{icon:m(()=>[a(y(O),{style:g({color:y(w).theme===`dark`?`#faad14`:void 0})},null,8,[`style`])]),_:1})]),_:1},8,[`title`]),y(v).user?(c(),r(_,{key:0},{overlay:m(()=>[a(o,null,{default:m(()=>[a(p,{key:`role`,disabled:``},{icon:m(()=>[a(y(Q))]),default:m(()=>[n(` `+x(y(v).user.role===`admin`?`管理员`:`普通用户`),1)]),_:1}),a(h),a(p,{key:`logout`,onClick:B,danger:``},{icon:m(()=>[a(y(K))]),default:m(()=>[i[5]||=n(` 退出登录 `,-1)]),_:1})]),_:1})]),default:m(()=>[u(`div`,Qe,[a(ne,{size:32,style:g({backgroundColor:y(v).user.role===`admin`?`#f5222d`:y(v).user.role===`user`?`#52c41a`:`#1890ff`})},{icon:m(()=>[a(y(S))]),_:1},8,[`style`]),y(T)?l(``,!0):(c(),te(`span`,$e,x(y(v).user.username),1))])]),_:1})):l(``,!0)]),_:1})]),_:1}),a(C,{class:`app-content`},{default:m(()=>[ae(e.$slots,`default`,{},void 0,!0)]),_:3})]),_:3},8,[`class`]),y(T)?(c(),r(M,{key:1,placement:`left`,open:D.value,onClose:i[4]||=e=>D.value=!1,width:280,closable:!1,"body-style":{padding:0},"header-style":{padding:0,border:`none`},class:`mobile-drawer`},{title:m(()=>[u(`div`,et,[u(`div`,tt,[u(`div`,nt,[a(y(R),{style:{"font-size":`20px`,color:`var(--theme-primary)`}})]),i[6]||=u(`span`,{class:`logo-text`},`MQTT 仪表板`,-1)]),a(d,{type:`text`,onClick:i[3]||=e=>D.value=!1,class:`drawer-close`},{icon:m(()=>[a(y(oe))]),_:1})])]),default:m(()=>[a(o,{theme:y(w).theme,mode:`inline`,"selected-keys":k.value,"open-keys":A.value,items:I.value,onClick:z,onOpenChange:F,class:`drawer-menu`},null,8,[`theme`,`selected-keys`,`open-keys`,`items`])]),_:1},8,[`open`])):l(``,!0)]),_:3})}}}),ot=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},st=ot(at,[[`__scopeId`,`data-v-f6d6aa0c`]]);export{U as a,Z as i,ot as n,Ve as r,st as t};