import{M as E,Y as F,I as B,r as O,av as V,a9 as z,a5 as L,a6 as A,aw as G,F as W,W as Y}from"./index.17037962789732.js";import"./index.170379627897337.js";import"./index.170379627897315.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897325.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import"./index.170379627897327.js";import"./index.170379627897314.js";import{a as f}from"./comm.1703796278973.js";import{f as $,h as K,i as X,j as Z,k as ee,l as te,m as ae,n as se,o as oe}from"./initHome.1703796278973.js";import{d as le,k as w,v as j,a3 as ne,r as re,o as x,x as N,z as l,u as t,b as s,a,t as Q,F as I,h as ie,c as ce,A as ue,y as me,M as pe,G as de,H as _e}from"./vue.1703796278973.js";import{_ as ve}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897332.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./permission.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const k=y=>(de("data-v-bc95aba8"),y=y(),_e(),y),fe=["src"],ge={class:"data-content"},be={class:"data-p-style"},he={style:{"margin-top":"20px"}},ye=k(()=>l("span",null,"本地地址 ",-1)),Te=["src"],Pe=k(()=>l("span",null,"公网地址 ",-1)),we=["src"],ke=k(()=>l("span",null,"本地端口 ",-1)),Me=["src"],Ce=k(()=>l("span",null,"公网端口 ",-1)),xe=["src"],je=le({__name:"index",setup(y,{expose:S}){const T=w(),g=w(!1),b=w(!1),n=j({host:"0.0.0.0"}),R=w({host:[{required:!0,message:"请选择本地地址"}],port:[{required:!0,message:"请选择本地端口"}],publicHost:[{required:!0,validator:async(r,e)=>{if(e){var c=new RegExp(/^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$/);return c.test(e)?Promise.resolve():Promise.reject("请输入正确的公网地址")}else return Promise.reject("请输入公网地址")},trigger:"change"}],publicPort:[{required:!0,validator:async(r,e)=>e?Number(e)<1||Number(e)>65535?Promise.reject("请输入1~65535的正整数"):Promise.resolve():Promise.reject("请输入公网端口"),trigger:"change"}]}),H=()=>{g.value?g.value=!1:b.value=!0},J=()=>{T.value.resetFields()},M=j({isSucessInit:0,optionPorts:[],getCurrentPort:async()=>{var u;const r=await $(),c=((u=(r==null?void 0:r.result).find(m=>m.host==="0.0.0.0"))==null?void 0:u.ports.TCP)||[];M.optionPorts=c==null?void 0:c.map(m=>({label:m,value:m}))}}),U=()=>new Promise(async r=>{if(!g.value)return r(!0);T.value.validate().then(async()=>{var e,c,u,m,d;try{const _=await K({type:"MQTT_SERVER",shareCluster:!0,name:"MQTT网络组件",configuration:{host:"0.0.0.0",secure:!1,port:n.port,publicHost:n.publicHost,publicPort:n.publicPort,maxMessageSize:8192}}),C=await X();let i;if(C.status===200){const v=await Z();v.status===200&&(i=((v==null?void 0:v.result)||[]).find(o=>o.name==="JetLinks官方协议"))}const P=await ee({name:"MQTT类型设备接入网关",provider:"mqtt-server-gateway",protocol:i==null?void 0:i.id,transport:"MQTT",channel:"network",channelId:(e=_==null?void 0:_.result)==null?void 0:e.id}),p=await te({name:"MQTT产品",messageProtocol:i==null?void 0:i.id,protocolName:i==null?void 0:i.name,transportProtocol:"MQTT",deviceType:"device",accessId:(c=P.result)==null?void 0:c.id,accessName:(u=P.result)==null?void 0:u.name,accessProvider:"mqtt-server-gateway"}),h=await ae({name:"MQTT设备",productId:(m=p==null?void 0:p.result)==null?void 0:m.id,productName:(d=p==null?void 0:p.result)==null?void 0:d.name});h.status===200&&(await se(p.result.id),await oe(h.result.id)),r(h.status==200)}catch{r(!1)}}).catch(()=>{r(!1)})}),{optionPorts:q,isSucessInit:Ie}=ne(M),D=()=>{T.value.validate().then(()=>{E.success("保存成功"),g.value=!0,b.value=!1})};return M.getCurrentPort(),S({save:U}),(r,e)=>{const c=re("ExclamationCircleOutlined"),u=F,m=B,d=O,_=V,C=z,i=L,P=A,p=G,h=W,v=Y;return x(),N(I,null,[l("div",null,[l("img",{class:"init-data-img",onClick:H,src:t(g)?t(f)("/init-home/data-enabled.png"):t(f)("/init-home/data-disabled.png")},null,8,fe)]),s(v,me({visible:t(b),"onUpdate:visible":e[4]||(e[4]=o=>pe(b)?b.value=o:null),title:"初始数据",width:"52vw",maskClosable:!1,onCancel:J,onOk:D,okText:"确定",cancelText:"取消",class:"modal-style"},r.layout),{default:a(()=>[l("div",ge,[l("p",be,[s(c,{style:{margin:"0 0 0 5px"}}),Q(" 初始化数据包括MQTT产品、MQTT设备、MQTT类型设备接入网关、MQTT网络组件、Jetlinks 官方协议 ")])]),l("div",he,[s(h,{layout:"vertical",model:t(n),ref_key:"formRef",ref:T,rules:t(R)},{default:a(()=>[s(p,{span:24,gutter:24},{default:a(()=>[s(_,{span:12},{default:a(()=>[s(d,{name:"host"},{label:a(()=>[ye,s(u,{title:"绑定到服务器上的网卡地址,绑定到所有网卡:0.0.0.0"},{default:a(()=>[l("img",{class:"img-style",src:t(f)("/init-home/mark.png")},null,8,Te)]),_:1})]),default:a(()=>[s(m,{value:t(n).host,"onUpdate:value":e[0]||(e[0]=o=>t(n).host=o),disabled:!0},null,8,["value"])]),_:1}),s(d,{name:"publicHost"},{label:a(()=>[Pe,s(u,{title:"对外提供访问的地址内网环境时填写服务器的内网IP地址"},{default:a(()=>[l("img",{class:"img-style",src:t(f)("/init-home/mark.png")},null,8,we)]),_:1})]),default:a(()=>[s(m,{value:t(n).publicHost,"onUpdate:value":e[1]||(e[1]=o=>t(n).publicHost=o),placeholder:"请输入公网地址"},null,8,["value"])]),_:1})]),_:1}),s(_,{span:12},{default:a(()=>[s(d,{name:"port"},{label:a(()=>[ke,s(u,{title:"监听指定端口的请求"},{default:a(()=>[l("img",{class:"img-style",src:t(f)("/init-home/mark.png")},null,8,Me)]),_:1})]),default:a(()=>[s(i,{value:t(n).port,"onUpdate:value":e[2]||(e[2]=o=>t(n).port=o),placeholder:"请选择本地端口","show-search":""},{default:a(()=>[(x(!0),N(I,null,ie(t(q),o=>(x(),ce(C,{key:o,value:o.value,label:o.label},{default:a(()=>[Q(ue(o.label),1)]),_:2},1032,["value","label"]))),128))]),_:1},8,["value"])]),_:1}),s(d,{name:"publicPort"},{label:a(()=>[Ce,s(u,{title:"对外提供访问的端口"},{default:a(()=>[l("img",{class:"img-style",src:t(f)("/init-home/mark.png")},null,8,xe)]),_:1})]),default:a(()=>[s(P,{value:t(n).publicPort,"onUpdate:value":e[3]||(e[3]=o=>t(n).publicPort=o),placeholder:"请输入公网端口",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model","rules"])])]),_:1},16,["visible"])],64)}}});const nt=ve(je,[["__scopeId","data-v-bc95aba8"]]);export{nt as default};