import{d as Q,K as $,O as W,k as c,p as Y,r as k,o as X,c as ee,a as l,b as e,u as o,t as p,z as n,G as te,H as le}from"./vue.1703796278973.js";import{M as ae,I as oe,r as se,av as ne,a1 as re,k as ue,Y as de,a5 as ie,a6 as pe,aw as me,h as _e,K as ve,F as ce,aW as fe,aS as Ie,aB as ge}from"./index.17037962789732.js";import"./index.1703796278973308.js";import"./index.170379627897334.js";import"./index.170379627897319.js";import"./index.170379627897327.js";import"./index.1703796278973315.js";import"./index.1703796278973306.js";import"./index.170379627897318.js";import"./index.170379627897315.js";import"./index.170379627897314.js";import"./index.170379627897325.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import{_ as Pe}from"./index.17037962789739.js";import{a as y}from"./comm.1703796278973.js";import{c as P}from"./cascade.1703796278973.js";import{_ as be}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"./default.1703796278973.js";import"./permission.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const d=I=>(te("data-v-e6e304f1"),I=I(),le(),I),he={class:"doc"},Se=d(()=>n("h1",null,"1.概述",-1)),xe=d(()=>n("div",null," 配置国标级联,平台可以将已经接入到自身的摄像头共享给第三方调用播放。 ",-1)),we=d(()=>n("h1",null,"2.配置说明",-1)),je=d(()=>n("div",null," 以下配置说明以将本平台数据级联到LiveGBS平台为例。 ",-1)),ye=d(()=>n("h2",null,"1、上级SIP ID",-1)),Ue=d(()=>n("div",null,[p("请填写第三方平台中配置的"),n("b",null,"SIP ID"),p("。")],-1)),qe={class:"image"},De=d(()=>n("h2",null,"2、上级SIP 域",-1)),Ce=d(()=>n("div",null,[p("请填写第三方平台中配置的"),n("b",null,"SIP ID域"),p("。")],-1)),Ne={class:"image"},Ae=d(()=>n("h2",null,"3、上级SIP 地址",-1)),Le=d(()=>n("div",null,[p("请填写第三方平台中配置的"),n("b",null,"SIP ID地址"),p("。")],-1)),ke={class:"image"},Be=d(()=>n("h2",null,"4、本地SIP ID",-1)),Te=d(()=>n("div",null,[p(" 请填写本地的"),n("b",null,"SIP ID地址"),p("。 地址由中心编码(8位)、行业编码(2位)、类型编码(3位)和序号(7位)四个码段共20位十 进制数字字符构成。详细规则请参见《GB/T28181-2016》中附录D部分。 ")],-1)),Ee=d(()=>n("h2",null,"5、SIP本地地址",-1)),He=d(()=>n("div",null,[p(" 请选择"),n("b",null,"指定的网卡和端口"),p(",如有疑问请联系系统运维人员。 ")],-1)),ze=d(()=>n("h2",null,"6、用户",-1)),Je=d(()=>n("div",null,[p(" 部分平台有基于用户和接入密码的特殊认证。通常情况下,请填写"),n("b",null,"本地SIP ID"),p("值。 ")],-1)),Re=d(()=>n("h2",null,"7、接入密码",-1)),Ge=d(()=>n("div",null," 需与上级平台设置的接入密码一致,用于身份认证。 ",-1)),Oe=d(()=>n("h2",null,"8、厂商/型号/版本号",-1)),Ze=d(()=>n("div",null," 本平台将以“设备”的身份级联到上级平台,请设置本平台在上级平台中显示的厂商、型号、版本号。 ",-1)),Fe=d(()=>n("h2",null,"9、心跳周期",-1)),Me=d(()=>n("div",null," 需与上级平台设置的心跳周期保持一致,通常默认60秒。 ",-1)),Ve=d(()=>n("h2",null,"10、注册间隔",-1)),Ke=d(()=>n("div",null," 若SIP代理通过注册方式校时,其注册间隔时间宜设置为小于 SIP代理与 SIP服务器出现1s误 差所经过的运行时间。 ",-1)),Qe=Q({__name:"index",setup(I){const B=$(),b=W(),a=c({id:b.query.id||void 0,cascadeName:void 0,proxyStream:!1,clusterNodeId:void 0,name:void 0,sipId:void 0,domain:void 0,remoteAddress:void 0,remotePort:void 0,localSipId:void 0,host:void 0,port:void 0,publicHost:void 0,publicPort:void 0,transport:"UDP",user:void 0,password:void 0,manufacturer:void 0,model:void 0,firmware:void 0,keepaliveInterval:"60",registerInterval:"3600"}),U=c([]);(async()=>{const{result:u}=await P.clusters();U.value=u.map(t=>({label:t.name,value:t.id}))})();const h=c([]);(async()=>{const{result:u}=await P.all();h.value=u.map(t=>({label:t.host,value:t.host,...t})),S()})();const T=()=>{a.value.host=void 0,a.value.port=void 0,S()},q=c([]),S=()=>{var u,t;a.value.host&&(q.value=(t=(u=h.value.find(v=>v.host===a.value.host))==null?void 0:u.ports[a.value.transport||""])==null?void 0:t.map(v=>({label:v,value:v})))},E=async()=>{if(!b.query.id)return;const u=await P.detail(b.query.id),{id:t,name:v,proxyStream:m,sipConfigs:i,...r}=u.result;Object.keys(a.value).forEach(_=>{_==="id"?a.value[_]=t:_==="cascadeName"?a.value[_]=v:_==="proxyStream"?a.value[_]=m:a.value[_]=i[0][_]})};Y(()=>{E()});const H=/[j-zA-Z0-9][-j-zA-Z0-9]{0,62}(\.[j-zA-Z0-9][-j-zA-Z0-9]{0,62})+\.?/,z=(u,t)=>D(t,a.value.remotePort),J=(u,t)=>D(t,a.value.publicPort),D=(u,t)=>{if(u)if(u){if(u&&!H.test(u))return Promise.reject(new Error("请输入正确的IP地址"));if(t){if(u&&Number(u)<1||Number(u)>65535)return Promise.reject(new Error("端口请输入1~65535之间的正整数"))}else return Promise.reject(new Error("请输入端口"))}else return Promise.reject(new Error("请输入IP 地址"));else return Promise.resolve();return Promise.resolve()},R=(u,t)=>{if(t)if(t){if(!a.value.port)return Promise.reject(new Error("请选择端口"))}else return Promise.reject(new Error("请选择IP地址"));else return Promise.resolve();return Promise.resolve()},C=c(),x=c(!1),G=()=>{C.value.validate().then(()=>{const{id:u,cascadeName:t,proxyStream:v,publicHost:m,publicPort:i,...r}=a.value,_={id:u,name:t,proxyStream:v,sipConfigs:[{...r,remotePublic:{host:m,port:i}}]};x.value=!0,P[u?"update":"save"](_).then(()=>{ae.success("操作成功"),B.back()}).finally(()=>{x.value=!1})}).catch(u=>{console.log("err: ",u)})};return(u,t)=>{const v=Pe,m=oe,i=se,r=ne,_=re,N=ue,A=k("AIcon"),L=de,w=ie,g=pe,f=me,O=_e,Z=ve,F=ce,M=fe,j=Ie,V=ge,K=k("page-container");return X(),ee(K,null,{default:l(()=>[e(V,null,{default:l(()=>[e(f,{gutter:24},{default:l(()=>[e(r,{span:12},{default:l(()=>[e(F,{ref_key:"formRef",ref:C,layout:"vertical",model:o(a)},{default:l(()=>[e(f,{gutter:24},{default:l(()=>[e(v,{data:"基本信息"}),e(r,{span:12},{default:l(()=>[e(i,{label:"名称",name:"cascadeName",rules:[{required:!0,message:"请输入名称"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).cascadeName,"onUpdate:value":t[0]||(t[0]=s=>o(a).cascadeName=s),placeholder:"请输入名称"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"代理视频流",name:"proxyStream",rules:[{required:!0,message:"请选择代理视频流"}]},{default:l(()=>[e(N,{"button-style":"solid",value:o(a).proxyStream,"onUpdate:value":t[1]||(t[1]=s=>o(a).proxyStream=s)},{default:l(()=>[e(_,{value:!0},{default:l(()=>[p(" 启用 ")]),_:1}),e(_,{value:!1},{default:l(()=>[p(" 禁用 ")]),_:1})]),_:1},8,["value"])]),_:1})]),_:1}),e(v,{data:"信令服务配置"}),e(r,{span:12},{default:l(()=>[e(i,{name:"clusterNodeId",rules:[{required:!0,message:"请选择集群节点"}]},{label:l(()=>[n("span",null,[p(" 集群节点 "),e(L,{title:"使用此集群节点级联到上级平台"},{default:l(()=>[e(A,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:1})])]),default:l(()=>[e(w,{value:o(a).clusterNodeId,"onUpdate:value":t[2]||(t[2]=s=>o(a).clusterNodeId=s),placeholder:"请选择集群节点",options:o(U)},null,8,["value","options"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"信令名称",name:"name",rules:[{required:!0,message:"请输入信令名称"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).name,"onUpdate:value":t[3]||(t[3]=s=>o(a).name=s),placeholder:"请输入信令名称"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:24},{default:l(()=>[e(i,{label:"上级SIP ID",name:"sipId",rules:[{required:!0,message:"请输入上级SIP ID"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).sipId,"onUpdate:value":t[4]||(t[4]=s=>o(a).sipId=s),placeholder:"请输入上级SIP ID"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"上级SIP域",name:"domain",rules:[{required:!0,message:"请输入上级平台SIP域"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).domain,"onUpdate:value":t[5]||(t[5]=s=>o(a).domain=s),placeholder:"请输入上级平台SIP域"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"上级SIP 地址",name:"remoteAddress",rules:[{required:!0,message:"请输入上级SIP 地址"},{validator:z}]},{default:l(()=>[e(f,{gutter:10},{default:l(()=>[e(r,{span:14},{default:l(()=>[e(m,{value:o(a).remoteAddress,"onUpdate:value":t[6]||(t[6]=s=>o(a).remoteAddress=s),placeholder:"请输入IP地址"},null,8,["value"])]),_:1}),e(r,{span:10},{default:l(()=>[e(g,{min:1,max:65535,value:o(a).remotePort,"onUpdate:value":t[7]||(t[7]=s=>o(a).remotePort=s),placeholder:"请输入端口",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["rules"])]),_:1}),e(r,{span:24},{default:l(()=>[e(i,{label:"本地SIP ID",name:"localSipId",rules:[{required:!0,message:"请输入网关侧的SIP ID"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).localSipId,"onUpdate:value":t[8]||(t[8]=s=>o(a).localSipId=s),placeholder:"网关侧的SIP ID"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{name:"host",rules:[{required:!0,message:"请选择SIP本地地址"},{validator:R}]},{label:l(()=>[n("span",null,[p(" SIP本地地址 "),e(L,{title:"使用指定的网卡和端口进行请求"},{default:l(()=>[e(A,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:1})])]),default:l(()=>[e(f,{gutter:10},{default:l(()=>[e(r,{span:14},{default:l(()=>[e(w,{value:o(a).host,"onUpdate:value":t[9]||(t[9]=s=>o(a).host=s),placeholder:"请选择IP地址",options:o(h),onChange:S,showSearch:""},null,8,["value","options"])]),_:1}),e(r,{span:10},{default:l(()=>[e(w,{value:o(a).port,"onUpdate:value":t[10]||(t[10]=s=>o(a).port=s),placeholder:"请选择端口",options:o(q)},null,8,["value","options"])]),_:1})]),_:1})]),_:1},8,["rules"])]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"SIP远程地址",name:"publicHost",rules:[{required:!0,message:"请输入SIP远程地址"},{validator:J}]},{default:l(()=>[e(f,{gutter:10},{default:l(()=>[e(r,{span:14},{default:l(()=>[e(m,{value:o(a).publicHost,"onUpdate:value":t[11]||(t[11]=s=>o(a).publicHost=s),placeholder:"请输入IP地址"},null,8,["value"])]),_:1}),e(r,{span:10},{default:l(()=>[e(g,{min:1,max:65535,value:o(a).publicPort,"onUpdate:value":t[12]||(t[12]=s=>o(a).publicPort=s),placeholder:"请输入端口",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["rules"])]),_:1}),e(r,{span:24},{default:l(()=>[e(i,{label:"传输协议",name:"transport",rules:[{required:!0,message:"请选择传输协议"}]},{default:l(()=>[e(N,{"button-style":"solid",value:o(a).transport,"onUpdate:value":t[13]||(t[13]=s=>o(a).transport=s),onChange:T},{default:l(()=>[e(_,{value:"UDP"},{default:l(()=>[p(" UDP ")]),_:1}),e(_,{value:"TCP"},{default:l(()=>[p(" TCP ")]),_:1})]),_:1},8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"用户",name:"user",rules:[{required:!0,message:"请输入用户"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).user,"onUpdate:value":t[14]||(t[14]=s=>o(a).user=s),placeholder:"请输入用户"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"接入密码",name:"password",rules:[{required:!0,message:"请输入接入密码"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(O,{value:o(a).password,"onUpdate:value":t[15]||(t[15]=s=>o(a).password=s),placeholder:"请输入接入密码"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"厂商",name:"manufacturer",rules:[{required:!0,message:"请输入厂商"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).manufacturer,"onUpdate:value":t[16]||(t[16]=s=>o(a).manufacturer=s),placeholder:"请输入厂商"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"型号",name:"model",rules:[{required:!0,message:"请输入型号"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).model,"onUpdate:value":t[17]||(t[17]=s=>o(a).model=s),placeholder:"请输入型号"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"版本号",name:"firmware",rules:[{required:!0,message:"请输入版本号"},{max:64,message:"最多可输入64个字符"}]},{default:l(()=>[e(m,{value:o(a).firmware,"onUpdate:value":t[18]||(t[18]=s=>o(a).firmware=s),placeholder:"请输入版本号"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"心跳周期(秒)",name:"keepaliveInterval",rules:[{required:!0,message:"请输入心跳周期"}]},{default:l(()=>[e(g,{min:1,max:1e4,value:o(a).keepaliveInterval,"onUpdate:value":t[19]||(t[19]=s=>o(a).keepaliveInterval=s),placeholder:"请输入心跳周期",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1}),e(r,{span:12},{default:l(()=>[e(i,{label:"注册间隔(秒)",name:"registerInterval",rules:[{required:!0,message:"请输入注册间隔"}]},{default:l(()=>[e(g,{min:1,max:1e4,value:o(a).registerInterval,"onUpdate:value":t[20]||(t[20]=s=>o(a).registerInterval=s),placeholder:"请输入注册间隔",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1})]),_:1}),e(i,null,{default:l(()=>[e(Z,{type:"primary",onClick:G,loading:o(x)},{default:l(()=>[p(" 保存 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])]),_:1}),e(r,{span:12},{default:l(()=>[n("div",he,[Se,xe,n("div",null,[e(M,{message:"注:该配置只用于将本平台向上级联至第三方平台,如需第三方平台向上级联至本平台,请在“视频设备”页面新增设备时选择“GB/T28181”接入方式。",type:"info","show-icon":""})]),we,je,ye,Ue,n("div",qe,[e(j,{width:"100%",src:o(y)("/northbound/doc2.png")},null,8,["src"])]),De,Ce,n("div",Ne,[e(j,{width:"100%",src:o(y)("/northbound/doc1.png")},null,8,["src"])]),Ae,Le,n("div",ke,[e(j,{width:"100%",src:o(y)("/northbound/doc3.png")},null,8,["src"])]),Be,Te,Ee,He,ze,Je,Re,Ge,Oe,Ze,Fe,Me,Ve,Ke])]),_:1})]),_:1})]),_:1})]),_:1})}}});const Ct=be(Qe,[["__scopeId","data-v-e6e304f1"]]);export{Ct as default};