Files
lan-manager/web/dist/assets/PVEHosts-Ch6D9CK9.js
openclaw 8b80c2dd1a fix(pve): 修复编译错误,确保前后端可编译通过
- services/pve.go: 导入 db 包,DB -> db.DB
- handlers/pve.go: 重写为 Gin 风格(原为标准库 net/http)
- go.mod/go.sum: go mod tidy 更新依赖
- web/dist: 重新构建前端包含 PVEHosts 页面

[金渐层/K2.6-code-preview🐾]
2026-04-20 13:16:01 +08:00

2 lines
4.2 KiB
JavaScript

import{k as N,Q as $,o as m,c as f,a as t,b as s,w as o,e as b,M,m as S,n as k,N as z,O as D,r as y,d,h as p,v as L,t as c,a8 as F,as as I,E as V,at as O,au as Q}from"./index-BFjouPFU.js";import{_ as T}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"page"},A={class:"toolbar"},G={key:1,class:"hosts-grid"},J={class:"host-header"},K={class:"host-name"},R={class:"host-info"},W={class:"info-row"},X={class:"value"},Y={class:"info-row"},Z={class:"value"},ee={class:"host-actions"},le={__name:"PVEHosts",setup(ae){const v=y([]),i=y(!1),l=y({name:"",hostname:"",port:8006,username:"",password:"",verify_ssl:!1});N(()=>{w()});async function w(){const n=await $();v.value=n.data}function g(n){l.value=n?{...n,password:""}:{name:"",hostname:"",port:8006,username:"",password:"",verify_ssl:!1},i.value=!0}async function E(){if(!l.value.name||!l.value.hostname||!l.value.username){V.warning("请填写必填项");return}if(!l.value.id&&!l.value.password){V.warning("请填写密码");return}try{l.value.id?await O(l.value.id,l.value):await Q(l.value),V.success("保存成功"),i.value=!1,w()}catch{}}async function C(n){try{await F.confirm(`确定要删除主机 "${n.name}" 吗?`,"确认删除",{type:"warning"}),await I(n.id),V.success("删除成功"),w()}catch{}}return(n,e)=>{const r=d("el-button"),x=d("el-empty"),P=d("el-icon"),_=d("el-input"),u=d("el-form-item"),H=d("el-input-number"),U=d("el-switch"),h=d("el-form"),q=d("el-dialog");return m(),f("div",j,[t("div",A,[e[10]||(e[10]=t("h2",{class:"page-title"},"PVE 主机管理",-1)),s(r,{type:"primary",icon:b(M),onClick:e[0]||(e[0]=a=>g())},{default:o(()=>[...e[9]||(e[9]=[p("添加主机",-1)])]),_:1},8,["icon"])]),v.value.length?k("",!0):(m(),S(x,{key:0,description:"暂无 PVE 主机"})),v.value.length?(m(),f("div",G,[(m(!0),f(z,null,D(v.value,a=>(m(),f("div",{key:a.id,class:"host-card"},[t("div",J,[s(P,{class:"host-icon"},{default:o(()=>[s(b(L))]),_:1}),t("span",K,c(a.name),1)]),t("div",R,[t("div",W,[e[11]||(e[11]=t("span",{class:"label"},"地址:",-1)),t("span",X,c(a.hostname)+":"+c(a.port),1)]),t("div",Y,[e[12]||(e[12]=t("span",{class:"label"},"用户:",-1)),t("span",Z,c(a.username),1)])]),t("div",ee,[s(r,{size:"small",onClick:B=>g(a)},{default:o(()=>[...e[13]||(e[13]=[p("编辑",-1)])]),_:1},8,["onClick"]),s(r,{size:"small",type:"danger",onClick:B=>C(a)},{default:o(()=>[...e[14]||(e[14]=[p("删除",-1)])]),_:1},8,["onClick"])])]))),128))])):k("",!0),s(q,{modelValue:i.value,"onUpdate:modelValue":e[8]||(e[8]=a=>i.value=a),title:l.value.id?"编辑主机":"添加主机",width:"480px",class:"modern-dialog","destroy-on-close":""},{footer:o(()=>[s(r,{onClick:e[7]||(e[7]=a=>i.value=!1)},{default:o(()=>[...e[15]||(e[15]=[p("取消",-1)])]),_:1}),s(r,{type:"primary",onClick:E},{default:o(()=>[...e[16]||(e[16]=[p("保存",-1)])]),_:1})]),default:o(()=>[s(h,{model:l.value,"label-width":"90px"},{default:o(()=>[s(u,{label:"名称",required:""},{default:o(()=>[s(_,{modelValue:l.value.name,"onUpdate:modelValue":e[1]||(e[1]=a=>l.value.name=a),placeholder:"如 PVE-01"},null,8,["modelValue"])]),_:1}),s(u,{label:"地址",required:""},{default:o(()=>[s(_,{modelValue:l.value.hostname,"onUpdate:modelValue":e[2]||(e[2]=a=>l.value.hostname=a),placeholder:"192.168.1.100"},null,8,["modelValue"])]),_:1}),s(u,{label:"端口"},{default:o(()=>[s(H,{modelValue:l.value.port,"onUpdate:modelValue":e[3]||(e[3]=a=>l.value.port=a),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),s(u,{label:"用户名",required:""},{default:o(()=>[s(_,{modelValue:l.value.username,"onUpdate:modelValue":e[4]||(e[4]=a=>l.value.username=a),placeholder:"root@pam 或 root@vmbr0"},null,8,["modelValue"])]),_:1}),s(u,{label:"密码",required:!l.value.id},{default:o(()=>[s(_,{modelValue:l.value.password,"onUpdate:modelValue":e[5]||(e[5]=a=>l.value.password=a),type:"password","show-password":"",placeholder:l.value.id?"留空保持不变":"必填"},null,8,["modelValue","placeholder"])]),_:1},8,["required"]),s(u,{label:"SSL 验证"},{default:o(()=>[s(U,{modelValue:l.value.verify_ssl,"onUpdate:modelValue":e[6]||(e[6]=a=>l.value.verify_ssl=a)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},te=T(le,[["__scopeId","data-v-c935d190"]]);export{te as default};