lgq
3 天以前 081f12a52906abe6c2d139fdc144135978681009
1
2
3
4
(function(e){function t(t){for(var a,o,n=t[0],c=t[1],l=t[2],m=0,u=[];m<n.length;m++)o=n[m],Object.prototype.hasOwnProperty.call(s,o)&&s[o]&&u.push(s[o][0]),s[o]=0;for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&(e[a]=c[a]);d&&d(t);while(u.length)u.shift()();return r.push.apply(r,l||[]),i()}function i(){for(var e,t=0;t<r.length;t++){for(var i=r[t],a=!0,n=1;n<i.length;n++){var c=i[n];0!==s[c]&&(a=!1)}a&&(r.splice(t--,1),e=o(o.s=i[0]))}return e}var a={},s={app:0},r=[];function o(t){if(a[t])return a[t].exports;var i=a[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=a,o.d=function(e,t,i){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},o.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)o.d(i,a,function(t){return e[t]}.bind(null,a));return i},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/";var n=window["webpackJsonp"]=window["webpackJsonp"]||[],c=n.push.bind(n);n.push=t,n=n.slice();for(var l=0;l<n.length;l++)t(n[l]);var d=c;r.push([0,"chunk-vendors"]),i()})({0:function(e,t,i){e.exports=i("56d7")},"0a9f":function(e,t,i){"use strict";i("5430")},"0f33":function(e,t,i){},"1eb6":function(e,t,i){},"29eb":function(e,t,i){"use strict";i("8591")},"2c22":function(e,t,i){"use strict";i("5843")},"32aa":function(e,t){!function(e){var t,i,a,s,r,o,n='<svg><symbol id="icon-dashujukeshihuaico-" viewBox="0 0 1024 1024"><path d="M611.413333 516.693333a231.253333 231.253333 0 1 0-199.253333 0 441.173333 441.173333 0 0 0-341.333333 429.653334h882.773333a441.173333 441.173333 0 0 0-342.186667-429.653334z" fill="#ffffff" ></path><path d="M611.413333 516.693333a231.253333 231.253333 0 1 0-199.253333 0 441.173333 441.173333 0 0 0-341.333333 429.653334h882.773333a441.173333 441.173333 0 0 0-342.186667-429.653334z" fill="#ffffff" ></path><path d="M611.413333 516.693333a231.253333 231.253333 0 1 0-199.253333 0 441.173333 441.173333 0 0 0-341.333333 429.653334h882.773333a441.173333 441.173333 0 0 0-342.186667-429.653334z" fill="#ffffff" ></path><path d="M953.6 946.346667a441.173333 441.173333 0 0 0-341.333333-429.653334 229.546667 229.546667 0 0 0 11.093333-409.173333 228.693333 228.693333 0 0 0-32-3.413333 230.4 230.4 0 0 0-99.413333 438.613333 440.32 440.32 0 0 0-341.333334 403.2z" fill="#ffffff" ></path><path d="M653.653333 334.933333a230.4 230.4 0 0 1-131.413333 207.786667 441.173333 441.173333 0 0 1 341.333333 403.2h90.453334a441.173333 441.173333 0 0 0-341.333334-429.653333 229.546667 229.546667 0 0 0 11.093334-409.173334 228.266667 228.266667 0 0 0-32-3.413333 229.973333 229.973333 0 0 0-85.333334 15.786667 230.826667 230.826667 0 0 1 147.2 215.466666z" fill="#ffffff" ></path><path d="M104.96 206.08A135.68 135.68 0 0 0 31.146667 131.84a9.813333 9.813333 0 0 1 0-18.346667A135.68 135.68 0 0 0 104.96 39.253333a9.813333 9.813333 0 0 1 18.346667 0 135.68 135.68 0 0 0 74.24 74.24 9.813333 9.813333 0 0 1 0 18.346667 135.68 135.68 0 0 0-74.24 74.24 9.813333 9.813333 0 0 1-18.346667 0z" fill="#ffffff" ></path><path d="M905.813333 416a69.546667 69.546667 0 0 0-37.973333-37.973333 5.12 5.12 0 0 1 0-9.386667 69.546667 69.546667 0 0 0 37.973333-37.973333 5.12 5.12 0 0 1 9.386667 0 69.546667 69.546667 0 0 0 37.973333 37.973333 5.12 5.12 0 0 1 0 9.386667 69.546667 69.546667 0 0 0-37.973333 37.973333 5.12 5.12 0 0 1-9.386667 0z" fill="#ffffff" ></path><path d="M42.666667 672a69.546667 69.546667 0 0 0-37.973334-37.973333 5.12 5.12 0 0 1 0-9.386667 69.546667 69.546667 0 0 0 37.973334-38.4 5.12 5.12 0 0 1 9.386666 0 69.546667 69.546667 0 0 0 37.973334 37.973333 5.12 5.12 0 0 1 0 9.386667 69.546667 69.546667 0 0 0-37.973334 37.973333 5.12 5.12 0 0 1-9.386666 0.426667z" fill="#ffffff" ></path></symbol><symbol id="icon-guanxi" viewBox="0 0 1024 1024"><path d="M683.008 689.664c-4.608 0-9.216-2.048-13.312-5.632L336.384 350.72c-7.168-7.168-7.168-18.944 0-26.112 7.168-7.168 18.944-7.168 26.112 0l333.824 333.824c7.168 7.168 7.168 18.944 0 26.112-3.584 3.584-8.704 5.12-13.312 5.12z" fill="#686464" ></path><path d="M337.408 677.888c-4.608 0-9.216-2.048-13.312-5.632-7.168-7.168-7.168-18.944 0-26.112L657.92 312.32c7.168-7.168 18.944-7.168 26.112 0 7.168 7.168 7.168 18.944 0 26.112l-333.824 333.824c-3.584 4.096-8.192 5.632-12.8 5.632z" fill="#686464" ></path></symbol><symbol id="icon-renlianshibie1" viewBox="0 0 1024 1024"><path d="M298.666667 896H149.333333c-12.8 0-21.333333-8.533333-21.333333-21.333333V725.333333c0-25.6-17.066667-42.666667-42.666667-42.666666s-42.666667 17.066667-42.666666 42.666666v149.333334C42.666667 934.4 89.6 981.333333 149.333333 981.333333H298.666667c25.6 0 42.666667-17.066667 42.666666-42.666666s-17.066667-42.666667-42.666666-42.666667zM938.666667 682.666667c-25.6 0-42.666667 17.066667-42.666667 42.666666v149.333334c0 12.8-8.533333 21.333333-21.333333 21.333333H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h149.333334c59.733333 0 106.666667-46.933333 106.666666-106.666666V725.333333c0-25.6-17.066667-42.666667-42.666666-42.666666zM874.666667 42.666667H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h149.333334c12.8 0 21.333333 8.533333 21.333333 21.333333V298.666667c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V149.333333C981.333333 89.6 934.4 42.666667 874.666667 42.666667zM85.333333 341.333333c25.6 0 42.666667-17.066667 42.666667-42.666666V149.333333c0-12.8 8.533333-21.333333 21.333333-21.333333H298.666667c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H149.333333C89.6 42.666667 42.666667 89.6 42.666667 149.333333V298.666667c0 25.6 17.066667 42.666667 42.666666 42.666666zM721.066667 661.333333c12.8-21.333333 4.266667-46.933333-17.066667-59.733333-21.333333-12.8-46.933333-4.266667-59.733333 17.066667 0 0-38.4 64-132.266667 64s-132.266667-59.733333-132.266667-64c-12.8-21.333333-38.4-25.6-59.733333-17.066667-21.333333 12.8-25.6 38.4-17.066667 59.733333 4.266667 4.266667 64 106.666667 209.066667 106.666667s204.8-102.4 209.066667-106.666667zM512 512c25.6 0 42.666667-17.066667 42.666667-42.666667V298.666667c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666667 42.666667v170.666666c0 25.6 17.066667 42.666667 42.666667 42.666667zM725.333333 384c25.6 0 42.666667-17.066667 42.666667-42.666667V298.666667c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666666 42.666667v42.666666c0 25.6 17.066667 42.666667 42.666666 42.666667zM298.666667 256c-25.6 0-42.666667 17.066667-42.666667 42.666667v42.666666c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666666-42.666667V298.666667c0-25.6-17.066667-42.666667-42.666666-42.666667z" fill="#dfe5f4" ></path></symbol><symbol id="icon-tuichu" viewBox="0 0 1024 1024"><path d="M511.924148 1023.924148a470.660741 470.660741 0 0 1-184.395852-37.167407 471.115852 471.115852 0 0 1-150.679703-101.376A471.87437 471.87437 0 0 1 236.468148 166.381037a37.091556 37.091556 0 1 1 43.159704 59.998815 404.745481 404.745481 0 0 0-121.742222 139.339852 392.305778 392.305778 0 0 0-45.700741 185.078518c0 106.571852 41.604741 206.810074 117.077333 282.206815a397.349926 397.349926 0 0 0 282.661926 117.001482c106.68563 0 207.151407-41.528889 282.737778-117.001482a396.09837 396.09837 0 0 0 117.039407-282.244741c0.227556-64.474074-15.435852-128.037926-45.662814-185.040592a404.366222 404.366222 0 0 0-121.742223-139.188148 36.939852 36.939852 0 1 1 43.159704-60.074667 471.798519 471.798519 0 0 1 59.58163 719.075555A472.936296 472.936296 0 0 1 511.924148 1024v-0.075852z m11.150222-513.403259a37.015704 37.015704 0 0 1-37.091555-36.939852V35.384889a37.129481 37.129481 0 0 1 74.221037 0v438.196148a36.939852 36.939852 0 0 1-37.167408 36.939852z" fill="#ffffff" ></path></symbol><symbol id="icon-biaoqiankuozhan_xiaoxi-157" viewBox="0 0 1024 1024"><path d="M393.7792 876.1344c-7.3728 0-14.848-1.6384-21.8624-5.0176-17.7664-8.4992-28.8256-26.0096-28.7744-45.6704l0.1536-59.4944c0-3.4304-1.7408-5.7344-2.7648-6.7584-1.024-1.024-3.328-2.816-6.7584-2.816H172.1344c-27.8528 0-50.4832-22.6304-50.4832-50.4832v-436.736c0-27.8528 22.6304-50.4832 50.4832-50.4832h665.6c27.8528 0 50.4832 22.6304 50.4832 50.4832v436.736c0 27.8528-22.6304 50.4832-50.4832 50.4832h-275.712c-2.2016 0-4.3008 0.768-6.0416 2.1504L425.472 864.7168a49.9968 49.9968 0 0 1-31.6928 11.4176zM172.1344 259.584c-5.2736 0-9.5232 4.3008-9.5232 9.5232v436.736c0 5.2736 4.2496 9.5232 9.5232 9.5232h161.5872c13.5168 0 26.2144 5.2736 35.7376 14.848a50.176 50.176 0 0 1 14.7456 35.7888l-0.1536 59.4944c0 5.4272 3.7888 7.8336 5.4272 8.6528 1.6384 0.768 5.888 2.2528 10.1376-1.2288l130.5088-106.1888a50.43712 50.43712 0 0 1 31.8464-11.3152h275.712c5.2736 0 9.5232-4.2496 9.5232-9.5232v-436.736c0-5.2736-4.3008-9.5232-9.5232-9.5232H172.1344z m525.056 295.4752c-36.7104 0-66.56-29.8496-66.56-66.56s29.8496-66.56 66.56-66.56 66.56 29.8496 66.56 66.56-29.8496 66.56-66.56 66.56z m0-92.16c-14.1312 0-25.6 11.4688-25.6 25.6s11.4688 25.6 25.6 25.6 25.6-11.4688 25.6-25.6-11.52-25.6-25.6-25.6z m-195.0208 92.16c-36.7104 0-66.56-29.8496-66.56-66.56s29.8496-66.56 66.56-66.56 66.56 29.8496 66.56 66.56-29.8496 66.56-66.56 66.56z m0-92.16c-14.1312 0-25.6 11.4688-25.6 25.6s11.4688 25.6 25.6 25.6 25.6-11.4688 25.6-25.6-11.4688-25.6-25.6-25.6z m-194.9696 92.16c-36.7104 0-66.56-29.8496-66.56-66.56s29.8496-66.56 66.56-66.56 66.56 29.8496 66.56 66.56-29.9008 66.56-66.56 66.56z m0-92.16c-14.1312 0-25.6 11.4688-25.6 25.6s11.4688 25.6 25.6 25.6 25.6-11.4688 25.6-25.6-11.52-25.6-25.6-25.6z" fill="#ffffff" ></path></symbol><symbol id="icon-xiaoxi" viewBox="0 0 1024 1024"><path d="M621.6 761.4c0 50.5-43 89.8-96.6 89.8s-96.6-39.3-96.6-89.8h193.2m-32.2-523.9c0-33.7-27.9-59.9-64.4-59.9s-64.4 26.2-64.4 59.9v9.3c-88 28.1-161 117.8-161 222.7v82.3s0 117.8-32.2 119.7c-19.3 0-32.2 13.1-32.2 29.9 0 16.9 15 29.9 32.2 29.9h515.3c17.2 0 32.2-13.1 32.2-29.9 0-16.9-15-29.9-32.2-29.9-32.2 0-32.2-119.7-32.2-119.7v-82.3c0-104.7-68.7-192.7-161-222.7v-9.3" fill="#ffffff" ></path></symbol><symbol id="icon-mima" viewBox="0 0 1024 1024"><path d="M760.171097 415.494703 346.927843 415.494703l0-67.441135c0-91.90006 74.809514-166.709574 166.811913-166.709574 92.002399 0 166.811913 74.911853 166.811913 166.914251 0 12.485309 10.029182 22.514491 22.514491 22.514491s22.514491-10.029182 22.514491-22.514491c0-116.870678-95.072556-211.943234-211.840895-211.943234-56.593244 0-109.809314 22.002798-149.823706 62.01719-40.014391 40.014391-62.01719 93.128123-62.01719 149.721367L301.898861 415.494703l-47.485109 0c-27.631421 0-49.736558 22.105137-49.736558 49.634219l0 341.913252c0 27.631421 22.207476 50.452928 49.736558 50.452928l505.655007 0c27.631421 0 50.35059-22.821507 50.35059-50.452928L810.419348 465.128923C810.521687 437.59984 787.802518 415.494703 760.171097 415.494703zM765.492704 807.553868c0 2.763142-2.251449 5.014591-5.014591 5.014591L254.720768 812.568459c-2.763142 0-5.014591-2.251449-5.014591-5.014591L249.706176 465.538277c0-2.763142 2.251449-5.014591 5.014591-5.014591l505.655007 0c2.763142 0 5.014591 2.251449 5.014591 5.014591L765.390366 807.553868zM503.505896 532.160704c-25.482311 0-46.052369 20.570058-46.052369 46.052369 0 16.78353 9.005797 31.520288 22.514491 39.605037L479.968019 707.159704c0 12.38297 10.131521 22.514491 22.514491 22.514491s22.514491-10.131521 22.514491-22.514491l0-88.21587c14.634419-7.675395 24.561263-23.026184 24.561263-40.730762C549.558265 552.730762 528.988207 532.160704 503.505896 532.160704z" fill="#666666" ></path></symbol><symbol id="icon-zhanghao" viewBox="0 0 1024 1024"><path d="M828.1 722.4c-17.3-40.9-42-77.5-73.5-109s-68.2-56.2-109.1-73.5c-10.2-4.3-20.6-8.1-31-11.4 54.5-34.7 90.8-95.7 90.8-164.9 0-107.7-87.6-195.4-195.4-195.4-107.7 0-195.4 87.6-195.4 195.4 0 69.9 36.9 131.3 92.2 165.8-9.6 3.1-19 6.6-28.3 10.5-40.9 17.3-77.5 42-109 73.5s-56.2 68.2-73.5 109c-17.9 42.3-27 87.2-27 133.6h46c0-163.8 133.3-297.1 297.1-297.1S809.1 692.2 809.1 856h46c0-46.4-9.1-91.3-27-133.6zM360.6 363.5c0-82.4 67-149.4 149.4-149.4s149.4 67 149.4 149.4-67 149.4-149.4 149.4c-82.4-0.1-149.4-67.1-149.4-149.4z" fill="#666666" ></path></symbol></svg>',c=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(c&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(e){console&&console.log(e)}}function l(){r||(r=!0,a())}t=function(){var e,t,i,a;(a=document.createElement("div")).innerHTML=n,n=null,(i=a.getElementsByTagName("svg")[0])&&(i.setAttribute("aria-hidden","true"),i.style.position="absolute",i.style.width=0,i.style.height=0,i.style.overflow="hidden",e=i,(t=document.body).firstChild?(a=e,(i=t.firstChild).parentNode.insertBefore(a,i)):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),t()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(a=t,s=e.document,r=!1,(o=function(){try{s.documentElement.doScroll("left")}catch(e){return void setTimeout(o,50)}l()})(),s.onreadystatechange=function(){"complete"==s.readyState&&(s.onreadystatechange=null,l())})}(window)},3491:function(e,t,i){"use strict";i("0f33")},"38ba":function(e,t,i){},"4f33":function(e,t,i){"use strict";i("c9da")},5430:function(e,t,i){},"56d7":function(e,t,i){"use strict";i.r(t);var a=i("5923"),s=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},r=[],o=(i("f16c"),{name:"App",mounted(){function e(){return"-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style}e()&&window.addEventListener("hashchange",()=>{var e=window.location.hash.slice(1);this.$route.path!==e&&this.$router.push(e)},!1)}}),n=o,c=(i("5891"),i("1805")),l=Object(c["a"])(n,s,r,!1,null,null,null),d=l.exports,m=i("f191"),u=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"login"}},[t("div",{staticClass:"decoration decoration-1"}),t("div",{staticClass:"decoration decoration-2"}),t("div",{staticClass:"loginMain"},[t("div",{staticClass:"loginForm"},[t("div",{staticClass:"formTop"},[e._v(e._s(e.$t("login.systemname")))]),t("div",{staticClass:"formMain"},[t("el-form",{ref:"loginForm",attrs:{model:e.loginForm,"status-icon":"",rules:e.rulesForm}},[t("el-form-item",{attrs:{prop:"userPassword",label:e.$t("login.pwd"),"label-width":"zh"==e.language?"40px":"70px"}},[t("el-input",{attrs:{type:"password",placeholder:e.$t("login.pwd_label"),"prefix-icon":"iconfont icon-mima"},model:{value:e.loginForm.userPassword,callback:function(t){e.$set(e.loginForm,"userPassword",t)},expression:"loginForm.userPassword"}})],1),t("el-form-item",[t("el-button",{staticClass:"loginFormBut",attrs:{type:"primary"},on:{click:e.submitForm}},[e._v(" "+e._s(e.$t("login.login"))+" ")])],1)],1)],1)])])])},g=[],p=(i("c0c2"),{data(){var e=(e,t,i)=>{""===t?i(new Error(this.$t("login.pwd_label"))):i()};return{language:"zh",loginForm:{userPassword:""},rulesForm:{userPassword:[{validator:e,trigger:"blur"}]}}},created(){this.getPublicConfig()},mounted(){window.addEventListener("keydown",this.keyDown,!1)},methods:{async getPublicConfig(){try{const e=await this.$http.post("/getPublicConfig",{});if(200==e.code){sessionStorage.setItem("publicConfig",JSON.stringify(e.data));let{language:t}=e.data;this.language=t,this.$i18n.locale=t}else this.$message.error(e.message)}catch(e){console.log(e)}},keyDown(e){13==e.keyCode&&(e.preventDefault(),this.submitForm())},submitForm(){this.$refs.loginForm.validate(async e=>{if(!e)return this.$message.error(this.$t("login.error_res")),!1;{const e=await this.$http.post("/login",this.loginForm);if(200!=e.code)return this.$message.error(this.$t("login.error_name")),!1;this.$message({message:this.$t("login.success_msg"),type:"success"}),this.$router.push({path:"/config"}),sessionStorage.setItem("token",e.data.accessToken)}})}},destroyed(){window.removeEventListener("keydown",this.keyDown,!1)}}),f=p,h=(i("58a5"),Object(c["a"])(f,u,g,!1,null,"acc9f4be",null)),v=h.exports,b=function(){var e=this,t=e._self._c;return t("div",{staticClass:"index"},[t("el-container",{attrs:{direction:"vertical"}},[t("el-aside",{staticClass:"modern-sidebar asideL"},[t("div",{staticClass:"sidebar-header"},[t("div",{staticClass:"system-logo"},[t("i",{staticClass:"el-icon-monitor"}),t("span",{staticClass:"system-name"},[e._v(e._s(e.$t("aside.systemname")))])])]),1==e.num?t("el-menu",{staticClass:"modern-menu",attrs:{router:"","unique-opened":"","default-active":e.activeIndex}},e._l(e.filteredMenu,(function(i){return t("el-menu-item",{key:i.name,staticClass:"modern-menu-item",attrs:{index:i.path},on:{click:function(t){return e.changeItem(i)}}},[t("i",{staticClass:"menu-icon",class:e.getMenuIcon(i.path)}),t("span",{staticClass:"menu-title"},[e._v(e._s(i.name))]),t("div",{staticClass:"menu-indicator"})])})),1):e._e(),2==e.num?t("el-menu",{staticClass:"modern-menu",attrs:{router:"","unique-opened":"","default-active":e.activeIndex2}},e._l(e.personMenuList,(function(i){return t("el-menu-item",{key:i.name,staticClass:"modern-menu-item",attrs:{index:i.path},on:{click:function(t){return e.changeItem(i)}}},[t("i",{staticClass:"menu-icon",class:e.getMenuIcon(i.path)}),t("span",{staticClass:"menu-title"},[e._v(e._s(i.name))]),t("div",{staticClass:"menu-indicator"})])})),1):e._e()],1),t("el-container",{staticClass:"asideR"},[t("el-header",{staticClass:"modern-header rightTop"},[t("div",{staticClass:"header-left"},[t("div",{staticClass:"page-title"},[t("span",[e._v(e._s(e.getCurrentPageTitle()))])])]),t("div",{staticClass:"header-right"},[t("div",{staticClass:"header-actions"},[t("el-button",{staticClass:"logout-btn",attrs:{type:"text"},on:{click:e.logout}},[t("i",{staticClass:"el-icon-switch-button"}),e._v(" "+e._s(e.$t("aside.quit"))+" ")])],1)])]),t("el-main",{staticClass:"modern-main pagemain"},[t("router-view")],1)],1)],1)],1)},y=[],w=(i("45d2"),i("4e1c"),{name:"Home",computed:{filteredMenu(){let e=sessionStorage.getItem("publicConfig"),{model:t}=e?JSON.parse(e):{};return this.systemMenuList.filter(e=>!(e.allowedModels&&!e.allowedModels.includes(t)))}},data(){return{num:"",systemMenuList:[{path:"/config",name:this.$t("aside.basicSetting")},{path:"/control",name:this.$t("aside.deviceControl")},{path:"/person",name:this.$t("aside.workerSetting")},{path:"/record",name:this.$t("aside.recordManagement")},{path:"/security",name:this.$t("aside.securityManagement"),allowedModels:["vf105","vf114"]}],activeIndex:"/",activeIndex2:"/",indexx:"/",language:"zh"}},watch:{$route(){this.setCurrentRoute()}},created(){this.setCurrentRoute(),this.num=1},mounted(){document.getElementsByTagName("body")[0].style.setProperty("--themeColor","#1890ff")},methods:{getMenuIcon(e){const t={"/config":"el-icon-setting","/person":"el-icon-user-solid","/control":"el-icon-key","/record":"el-icon-tickets","/security":"el-icon-connection"};return t[e]||"el-icon-menu"},getCurrentPageTitle(){const e={"/config":this.$t("aside.basicSetting"),"/person":this.$t("aside.workerSetting"),"/control":this.$t("aside.deviceControl"),"/record":this.$t("aside.recordManagement"),"/security":this.$t("aside.securityManagement")};return e[this.$route.path]||this.$t("aside.basicSetting")},changeItem(e){this.indexx=e.path,this.activeIndex=e.path,console.log(this.indexx)},setCurrentRoute(){this.activeIndex=this.$route.path,this.activeIndex2=this.$route.path,this.indexx=this.$route.path},logout(){const e=this;e.$confirm(this.$t("aside.tips_msg"),this.$t("aside.tips"),{type:"warning"}).then(async()=>{e.toDoLogout()}).catch(()=>!1)},toDoLogout(){this.$router.push("/login"),sessionStorage.removeItem("pass"),sessionStorage.removeItem("userName"),sessionStorage.removeItem("userPassword")},changeLang(){this.$i18n.locale=this.language,sessionStorage.setItem("language",this.language),this.systemMenuList=[{path:"/config",name:this.$t("aside.basicSetting")},{path:"/control",name:this.$t("aside.deviceControl")},{path:"/person",name:this.$t("aside.workerSetting")},{path:"/record",name:this.$t("aside.recordManagement")},{path:"/security",name:this.$t("aside.securityManagement"),allowedModels:["vf105","vf114"]}]}}}),C=w,S=(i("ee0f"),Object(c["a"])(C,b,y,!1,null,"484e762d",null)),_=S.exports,T=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"configMain"}},[t("div",{staticClass:"config-container"},[t("div",{staticClass:"config-tabs"},[t("el-tabs",{attrs:{type:"card"},on:{"tab-click":e.handleClick},model:{value:e.activeTab,callback:function(t){e.activeTab=t},expression:"activeTab"}},[t("el-tab-pane",{attrs:{label:e.$t("config.basicConfiguration"),name:"base"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-monitor config-card__header-icon"}),e._v(" "+e._s(e.$t("config.displaySettings"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"displayForm",attrs:{model:e.base,rules:e.baseRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.screenBrightness")}},[t("div",{staticClass:"compact-controls"},[t("el-slider",{staticStyle:{width:"60%"},attrs:{max:100,min:1},model:{value:e.base.backlight,callback:function(t){e.$set(e.base,"backlight",t)},expression:"base.backlight"}}),t("span",{staticClass:"value-display"},[e._v(e._s(e.base.backlight)+"%")])],1)])],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.autoTurnOffScreenTime"),prop:"screenOff"}},[t("el-select",{attrs:{placeholder:"请选择"},model:{value:e.base.screenOff,callback:function(t){e.$set(e.base,"screenOff",t)},expression:"base.screenOff"}},[t("el-option",{attrs:{label:e.$t("config.never"),value:0}}),t("el-option",{attrs:{label:e.$t("config.min1"),value:1}}),t("el-option",{attrs:{label:e.$t("config.min2"),value:2}}),t("el-option",{attrs:{label:e.$t("config.min3"),value:3}}),t("el-option",{attrs:{label:e.$t("config.min4"),value:4}}),t("el-option",{attrs:{label:e.$t("config.min5"),value:5}})],1)],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.autoScreenSaverTime"),prop:"screensaver"}},[t("el-select",{attrs:{placeholder:"请选择"},model:{value:e.base.screensaver,callback:function(t){e.$set(e.base,"screensaver",t)},expression:"base.screensaver"}},[t("el-option",{attrs:{label:e.$t("config.never"),value:0}}),t("el-option",{attrs:{label:e.$t("config.min1"),value:1}}),t("el-option",{attrs:{label:e.$t("config.min2"),value:2}}),t("el-option",{attrs:{label:e.$t("config.min3"),value:3}}),t("el-option",{attrs:{label:e.$t("config.min4"),value:4}}),t("el-option",{attrs:{label:e.$t("config.min5"),value:5}})],1)],1)],1),"vf105"==e.sys.model||"vf107"==e.sys.model||"vf114"==e.sys.model||"vf124"==e.sys.model||"vf202"==e.sys.model?t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.brightness")}},[t("div",{staticClass:"compact-controls"},[t("el-slider",{staticStyle:{width:"60%"},attrs:{max:100,min:0},model:{value:e.base.brightness,callback:function(t){e.$set(e.base,"brightness",t)},expression:"base.brightness"}}),t("span",{staticClass:"value-display"},[e._v(e._s(e.base.brightness)+"%")])],1)])],1):e._e()])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-info config-card__header-icon"}),e._v(" "+e._s(e.$t("config.informationDisplay"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"infoForm",attrs:{model:e.base,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.displayDeviceSn")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.base.showSn,callback:function(t){e.$set(e.base,"showSn",t)},expression:"base.showSn"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.displayIp")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.base.showIp,callback:function(t){e.$set(e.base,"showIp",t)},expression:"base.showIp"}})],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-mic config-card__header-icon"}),e._v(" "+e._s(e.$t("config.audioSettings"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"audioForm",attrs:{model:e.base,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.volume"),prop:"volume"}},[t("div",{staticClass:"compact-controls"},[t("el-slider",{staticStyle:{flex:"1"},attrs:{max:10,min:0},model:{value:e.base.volume,callback:function(t){e.$set(e.base,"volume",t)},expression:"base.volume"}}),t("span",{staticClass:"value-display"},[e._v(e._s(e.base.volume))])],1)])],1)])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-s-operation config-card__header-icon"}),e._v(" "+e._s(e.$t("config.languageAndThemes"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"systemForm",attrs:{model:e.base,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.language"),prop:"language"}},[t("el-radio-group",{staticClass:"language-radio-group",style:{"margin-bottom":0==e.version?"0px":"12px"},model:{value:e.base.language,callback:function(t){e.$set(e.base,"language",t)},expression:"base.language"}},[0==e.version?t("el-radio",{attrs:{label:"CN"}},[e._v(e._s(e.$t("config.cn")))]):t("div",[t("el-radio",{attrs:{label:"EN"}},[e._v(e._s(e.$t("config.en")))]),t("el-radio",{attrs:{label:"ES"}},[e._v(e._s(e.$t("config.es")))]),t("el-radio",{attrs:{label:"FR"}},[e._v(e._s(e.$t("config.fr")))]),t("el-radio",{attrs:{label:"DE"}},[e._v(e._s(e.$t("config.de")))]),t("el-radio",{attrs:{label:"RU"}},[e._v(e._s(e.$t("config.ru")))]),t("el-radio",{attrs:{label:"AR"}},[e._v(e._s(e.$t("config.ar")))]),t("el-radio",{attrs:{label:"PT"}},[e._v(e._s(e.$t("config.pt")))]),t("el-radio",{attrs:{label:"KO"}},[e._v(e._s(e.$t("config.ko")))])],1)],1)],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.themeMode")}},[t("el-radio-group",{model:{value:e.base.appMode,callback:function(t){e.$set(e.base,"appMode",t)},expression:"base.appMode"}},[t("el-radio",{attrs:{label:0}},[e._v(e._s(e.$t("config.standardMode")))]),t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.simpleMode")))])],1)],1)],1)])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.networkConfiguration"),name:"net"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-connection config-card__header-icon"}),e._v(" "+e._s(e.$t("config.networkType"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"networkForm",attrs:{model:e.net,rules:e.netRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.networkType")}},[t("el-radio-group",{model:{value:e.net.type,callback:function(t){e.$set(e.net,"type",t)},expression:"net.type"}},[t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.ethernet")))]),t("el-radio",{directives:[{name:"model-permission",rawName:"v-model-permission",value:["vf203","vf105","vf107","vf114","vf124","vf205"],expression:"['vf203', 'vf105', 'vf107', 'vf114', 'vf124', 'vf205']"}],attrs:{label:2}},[e._v("WiFi")]),t("el-radio",{directives:[{name:"model-permission",rawName:"v-model-permission",value:["vf203"],expression:"['vf203']"}],attrs:{label:4}},[e._v("4G")])],1)],1)],1),2===e.net.type?[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.wifiName")}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("config.msg_please_enter")},model:{value:e.net.ssid,callback:function(t){e.$set(e.net,"ssid",t)},expression:"net.ssid"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.wifiPassword")}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("config.msg_please_enter")},model:{value:e.net.psk,callback:function(t){e.$set(e.net,"psk",t)},expression:"net.psk"}})],1)],1)]:e._e()],2)],1)]),t("el-card",{staticClass:"config-card card-zhanwei"}),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-s-platform config-card__header-icon"}),e._v(" "+e._s(e.$t("config.ipConfiguration"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"ipForm",attrs:{model:e.net,rules:e.netRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.dhcpModeSelection")}},[t("el-radio-group",{model:{value:e.net.dhcp,callback:function(t){e.$set(e.net,"dhcp",t)},expression:"net.dhcp"}},[t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.customNetworkConfiguration")))]),t("el-radio",{attrs:{label:2}},[e._v(e._s(e.$t("config.dhcpMode")))])],1)],1)],1),1===e.net.dhcp?[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.ipAddress"),prop:"ip"}},[t("el-input",{attrs:{placeholder:"192.168.10.99"},model:{value:e.net.ip,callback:function(t){e.$set(e.net,"ip",t)},expression:"net.ip"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.gateway"),prop:"gateway"}},[t("el-input",{attrs:{placeholder:"192.168.1.1"},model:{value:e.net.gateway,callback:function(t){e.$set(e.net,"gateway",t)},expression:"net.gateway"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.subnetMask"),prop:"mask"}},[t("el-input",{attrs:{placeholder:"255.255.255.0"},model:{value:e.net.mask,callback:function(t){e.$set(e.net,"mask",t)},expression:"net.mask"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.dnsServer"),prop:"dns"}},[t("el-input",{attrs:{placeholder:"8.8.8.8"},model:{value:e.net.dns,callback:function(t){e.$set(e.net,"dns",t)},expression:"net.dns"}})],1)],1)]:e._e()],2)],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-s-platform config-card__header-icon"}),e._v(" "+e._s(e.$t("config.otherConfiguration"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"ipForm",attrs:{"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.mac")}},[t("el-input",{attrs:{placeholder:"D6:18:6C:CE:B4:60",disabled:!0},model:{value:e.net.mac,callback:function(t){e.$set(e.net,"mac",t)},expression:"net.mac"}})],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-zhanwei"})],1)]),e.isWeCom?e._e():t("el-tab-pane",{attrs:{label:e.$t("config.mqttRelatedConfiguration"),name:"mqtt"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-connection config-card__header-icon"}),e._v(" "+e._s(e.$t("config.mqttConnectionInformation"))+"("+e._s(e.$t("config.enterpriseWechat"))+") ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"mqttForm",attrs:{model:e.mqtt,rules:e.mqttRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.serverAddress"),prop:"addr"}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.mqtt.addr,callback:function(t){e.$set(e.mqtt,"addr",t)},expression:"mqtt.addr"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.userName")}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("config.msg_please_enter")},model:{value:e.mqtt.username,callback:function(t){e.$set(e.mqtt,"username",t)},expression:"mqtt.username"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.userPassword")}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("config.msg_please_enter")},model:{value:e.mqtt.password,callback:function(t){e.$set(e.mqtt,"password",t)},expression:"mqtt.password"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:"Qos"}},[t("el-radio-group",{model:{value:e.mqtt.qos,callback:function(t){e.$set(e.mqtt,"qos",t)},expression:"mqtt.qos"}},[t("el-radio",{attrs:{label:0}},[e._v("Qos0")]),t("el-radio",{attrs:{label:1}},[e._v("Qos1")]),t("el-radio",{attrs:{label:2}},[e._v("Qos2")])],1)],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.clientID")}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.mqtt.clientId,callback:function(t){e.$set(e.mqtt,"clientId",t)},expression:"mqtt.clientId"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.clientIdSuffix")}},[t("el-radio-group",{model:{value:e.mqtt.clientIdSuffix,callback:function(t){e.$set(e.mqtt,"clientIdSuffix",t)},expression:"mqtt.clientIdSuffix"}},[t("el-radio",{attrs:{label:0}},[e._v(e._s(e.$t("config.no")))]),t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.yes")))])],1)],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-s-operation config-card__header-icon"}),e._v(" "+e._s(e.$t("config.sessionConfiguration"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"onlineCheckingForm",attrs:{model:e.mqtt,rules:e.mqttRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.topicPrefix")}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("config.msg_please_enter")},model:{value:e.mqtt.prefix,callback:function(t){e.$set(e.mqtt,"prefix",t)},expression:"mqtt.prefix"}})],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-link config-card__header-icon"}),e._v(" "+e._s(e.$t("config.onlineChecking"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"onlineCheckingForm",attrs:{model:e.mqtt,rules:e.mqttRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.onlineChecking")}},[t("el-switch",{attrs:{"active-color":"#1890ff","inactive-color":"#ff4949","active-value":1,"inactive-value":0},model:{value:e.mqtt.onlinecheck,callback:function(t){e.$set(e.mqtt,"onlinecheck",t)},expression:"mqtt.onlinecheck"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.onlineCheckingTimeout"),prop:"timeout"}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.mqtt.timeout,callback:function(t){e.$set(e.mqtt,"timeout",t)},expression:"mqtt.timeout"}}),t("span",[e._v(" "+e._s(e.$t("config.second")))])],1)],1)])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.faceRelatedConfiguration"),name:"face"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-info config-card__header-icon"}),e._v(" "+e._s(e.$t("config.functionalInformation"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"faceForm",attrs:{model:e.face,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.faceSimilarityThreshold")}},[t("div",{staticClass:"compact-controls"},[t("el-slider",{staticStyle:{width:"60%"},attrs:{max:100,min:0},model:{value:e.face.similarity,callback:function(t){e.$set(e.face,"similarity",t)},expression:"face.similarity"}}),t("span",{staticClass:"value-display"},[e._v(e._s(e.face.similarity)+"%")])],1)])],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.livenessDetectionFunction")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.face.livenessOff,callback:function(t){e.$set(e.face,"livenessOff",t)},expression:"face.livenessOff"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.livenessDetectionThreshold")}},[t("div",{staticClass:"compact-controls"},[t("el-slider",{staticStyle:{width:"60%"},attrs:{max:100,min:0},model:{value:e.face.livenessVal,callback:function(t){e.$set(e.face,"livenessVal",t)},expression:"face.livenessVal"}}),t("span",{staticClass:"value-display"},[e._v(e._s(e.face.livenessVal))])],1)])],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.infraredImageDisplay")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.face.showNir,callback:function(t){e.$set(e.face,"showNir",t)},expression:"face.showNir"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.recognitionSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.face.recheck,callback:function(t){e.$set(e.face,"recheck",t)},expression:"face.recheck"}})],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-zhanwei"}),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-s-grid config-card__header-icon"}),e._v(" "+e._s(e.$t("config.prompt"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"faceMsgForm",attrs:{model:e.face,rules:e.faceRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.strangerVoice")}},[t("el-radio-group",{model:{value:e.face.stranger,callback:function(t){e.$set(e.face,"stranger",t)},expression:"face.stranger"}},[t("el-radio",{attrs:{label:0}},[e._v(e._s(e.$t("config.noVoice")))]),t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.broadcastPleaseRegisterFirst")))]),t("el-radio",{attrs:{label:2}},[e._v(e._s(e.$t("config.broadcastHelloStranger")))])],1)],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.voiceMode")}},[t("el-radio-group",{model:{value:e.face.voiceMode,callback:function(t){e.$set(e.face,"voiceMode",t)},expression:"face.voiceMode"}},[t("el-radio",{attrs:{label:0}},[e._v(e._s(e.$t("config.noVoice")))]),t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.broadcastName")))]),t("el-radio",{attrs:{label:2}},[e._v(e._s(e.$t("config.broadcastGreeting")))])],1)],1)],1),2==e.face.voiceMode?t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.voiceModeDate")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.face.voiceModeDate,callback:function(t){e.$set(e.face,"voiceModeDate",t)},expression:"face.voiceModeDate"}})],1)],1):e._e()])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.systemRelatedConfiguration"),name:"sys"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-video-play config-card__header-icon"}),e._v(" "+e._s(e.$t("config.functionSwitch"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"sysForm",attrs:{model:e.sys,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.cardSwipingSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.sys.nfc,callback:function(t){e.$set(e.sys,"nfc",t)},expression:"sys.nfc"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.passwordSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.sys.pwd,callback:function(t){e.$set(e.sys,"pwd",t)},expression:"sys.pwd"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.strangerImage")}},[t("el-radio-group",{model:{value:e.sys.strangerImage,callback:function(t){e.$set(e.sys,"strangerImage",t)},expression:"sys.strangerImage"}},[t("el-radio",{attrs:{label:0}},[e._v(e._s(e.$t("config.notsave")))]),t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.save")))])],1)],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.cloudCertificateSwitch")}},[t("el-switch",{attrs:{"active-value":3,"inactive-value":1,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.sys.nfcIdentityCardEnable,callback:function(t){e.$set(e.sys,"nfcIdentityCardEnable",t)},expression:"sys.nfcIdentityCardEnable"}})],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-setting config-card__header-icon"}),e._v(" "+e._s(e.$t("config.heartbeatConfig"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"sysForm",attrs:{model:e.sys,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.heartbeatSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.sys.heart_en,callback:function(t){e.$set(e.sys,"heart_en",t)},expression:"sys.heart_en"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.heartRateInterval"),prop:"heart_time"}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),type:"number",min:1},model:{value:e.sys.heart_time,callback:function(t){e.$set(e.sys,"heart_time",t)},expression:"sys.heart_time"}}),t("span",[e._v(" "+e._s(e.$t("config.second")))])],1)],1)])],1)]),t("el-card",{directives:[{name:"model-permission",rawName:"v-model-permission",value:["vf105","vf114"],expression:"['vf105', 'vf114']"}],staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-full-screen config-card__header-icon"}),e._v(" "+e._s(e.$t("config.scanSettings"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"sysForm",attrs:{model:e.sys,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.scanInterval"),prop:"scanInterval"}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.sys.scanInterval,callback:function(t){e.$set(e.sys,"scanInterval",t)},expression:"sys.scanInterval"}}),t("span",[e._v(" "+e._s(e.$t("config.second")))])],1)],1)])],1)]),t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-info config-card__header-icon"}),e._v(" "+e._s(e.$t("config.basicInformation"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"accessForm",attrs:{model:e.sys,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.deviceMac")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.mac,callback:function(t){e.$set(e.sys,"mac",t)},expression:"sys.mac"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.uuid")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.uuid,callback:function(t){e.$set(e.sys,"uuid",t)},expression:"sys.uuid"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.sn")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.sn,callback:function(t){e.$set(e.sys,"sn",t)},expression:"sys.sn"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.model")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.model,callback:function(t){e.$set(e.sys,"model",t)},expression:"sys.model"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.version")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.version,callback:function(t){e.$set(e.sys,"version",t)},expression:"sys.version"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.appVersion")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.appVersion,callback:function(t){e.$set(e.sys,"appVersion",t)},expression:"sys.appVersion"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.releaseTime")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.releaseTime,callback:function(t){e.$set(e.sys,"releaseTime",t)},expression:"sys.releaseTime"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.totaldisk")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.totaldisk,callback:function(t){e.$set(e.sys,"totaldisk",t)},expression:"sys.totaldisk"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.freedisk")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter"),disabled:""},model:{value:e.sys.freedisk,callback:function(t){e.$set(e.sys,"freedisk",t)},expression:"sys.freedisk"}})],1)],1)])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.passageConfiguration"),name:"access"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-connection config-card__header-icon"}),e._v(" "+e._s(e.$t("config.functionConfiguration"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"accessForm",attrs:{model:e.access,rules:e.accessRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.numberOfPassageRecords")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.access.offlineAccessNum,callback:function(t){e.$set(e.access,"offlineAccessNum",t)},expression:"access.offlineAccessNum"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.durationOfRelayOpening")}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.access.relayTime,callback:function(t){e.$set(e.access,"relayTime",t)},expression:"access.relayTime"}}),t("span",[e._v(" "+e._s(e.$t("config.second")))])],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.fireAlarmSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.access.fire,callback:function(t){e.$set(e.access,"fire",t)},expression:"access.fire"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.fireAlarmStatus")}},[t("el-radio-group",{model:{value:e.access.fireStatus,callback:function(t){e.$set(e.access,"fireStatus",t)},expression:"access.fireStatus"}},[t("el-radio",{attrs:{label:0}},[e._v(e._s(e.$t("config.normal")))]),t("el-radio",{attrs:{label:1}},[e._v(e._s(e.$t("config.warning")))])],1)],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.tamperSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.access.tamper,callback:function(t){e.$set(e.access,"tamper",t)},expression:"access.tamper"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.uploadToCloudSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.access.uploadToCloud,callback:function(t){e.$set(e.access,"uploadToCloud",t)},expression:"access.uploadToCloud"}})],1)],1)])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.clockConfiguration"),name:"ntp"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-connection config-card__header-icon"}),e._v(" "+e._s(e.$t("config.clockConfiguration"))+"("+e._s(e.$t("config.restartAfterSetting"))+") ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"ntpForm",attrs:{model:e.ntp,rules:e.ntpRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.timeSynchronizationSwitch")}},[t("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#1890ff","inactive-color":"#ff4949"},model:{value:e.ntp.ntp,callback:function(t){e.$set(e.ntp,"ntp",t)},expression:"ntp.ntp"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.timeSynchronizationServerIP"),prop:"server"}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.ntp.server,callback:function(t){e.$set(e.ntp,"server",t)},expression:"ntp.server"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.timedSynchronizationTime"),prop:"hour"}},[t("el-input",{attrs:{placeholder:e.$t("config.msg_please_enter")},model:{value:e.ntp.hour,callback:function(t){e.$set(e.ntp,"hour",e._n(t))},expression:"ntp.hour"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.timeZone"),prop:"gmt"}},[t("div",{staticClass:"timezone-selects"},[t("el-select",{attrs:{placeholder:e.$t("config.msg_please_enter")},on:{change:e.handleRegionChange},model:{value:e.selectedTimezoneRegion,callback:function(t){e.selectedTimezoneRegion=t},expression:"selectedTimezoneRegion"}},e._l(e.timezoneRegions,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),t("el-select",{attrs:{placeholder:e.$t("config.msg_please_enter")},on:{change:e.handleCityChange},model:{value:e.selectedTimezoneCity,callback:function(t){e.selectedTimezoneCity=t},expression:"selectedTimezoneCity"}},e._l(e.timezoneCities,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1)])],1)])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.cloudCertificateActivation"),name:"cloud"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header cloud-card-header"},[t("i",{staticClass:"el-icon-cloudy config-card__header-icon cloud-icon"}),e._v(" "+e._s(e.$t("config.cloudCertificateActivation"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"cloudForm",attrs:{model:e.cloudForm,rules:e.cloudRules,"label-position":"top"}},[t("div",{staticClass:"activation-container"},[t("div",{staticClass:"activation-input-section"},[t("el-form-item",{staticClass:"activation-form-item",attrs:{label:e.$t("config.activationKey"),prop:"activationKey"}},[t("el-input",{staticClass:"activation-input",attrs:{type:"textarea",placeholder:e.$t("config.msg_please_enter"),clearable:""},scopedSlots:e._u([{key:"prefix",fn:function(){return[t("i",{staticClass:"el-icon-key"})]},proxy:!0}]),model:{value:e.cloudForm.activationKey,callback:function(t){e.$set(e.cloudForm,"activationKey",t)},expression:"cloudForm.activationKey"}}),t("div",{staticClass:"activation-tips"},[t("div",{staticClass:"tip-item"},[t("i",{staticClass:"el-icon-info"}),t("span",[e._v(e._s(e.$t("config.cloudTips1")))])]),t("div",{staticClass:"tip-item"},[t("i",{staticClass:"el-icon-warning-outline"}),t("span",[e._v(e._s(e.$t("config.cloudTips2")))])])])],1)],1),t("div",{staticClass:"activation-action-section"},[t("el-button",{staticClass:"activation-btn",attrs:{type:"primary",loading:e.activating,disabled:!e.cloudForm.activationKey},on:{click:e.handleActivate}},[t("i",{staticClass:"el-icon-check"}),e._v(" "+e._s(e.activating?e.$t("config.activationInProgress"):e.$t("config.confirmActivation"))+" ")])],1)])])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.passwordModification"),name:"pwd"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-connection config-card__header-icon"}),e._v(" "+e._s(e.$t("config.password"))+" ")]),t("div",{staticClass:"config-card__body"},[t("el-form",{ref:"pwdForm",attrs:{model:e.pwd,rules:e.pwdRules,"label-width":"140px"}},[t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.oldPassword"),prop:"oldPwd"}},[t("el-input",{staticStyle:{border:"1px solid #eee",width:"370px","border-radius":"10px"},attrs:{autocomplete:"off"},model:{value:e.pwd.oldPwd,callback:function(t){e.$set(e.pwd,"oldPwd",t)},expression:"pwd.oldPwd"}})],1)],1),t("div",{staticClass:"config-form-item",staticStyle:{clear:"both"}},[t("el-form-item",{attrs:{label:e.$t("config.newPassword"),prop:"newPwd"}},[t("el-input",{staticStyle:{border:"1px solid #eee",width:"370px","border-radius":"10px"},attrs:{autocomplete:"off"},model:{value:e.pwd.newPwd,callback:function(t){e.$set(e.pwd,"newPwd",t)},expression:"pwd.newPwd"}})],1)],1),t("div",{staticClass:"config-form-item"},[t("el-form-item",{attrs:{label:e.$t("config.confirmPassword"),prop:"quePwd"}},[t("el-input",{staticStyle:{border:"1px solid #eee",width:"370px","border-radius":"10px"},attrs:{autocomplete:"off"},model:{value:e.pwd.quePwd,callback:function(t){e.$set(e.pwd,"quePwd",t)},expression:"pwd.quePwd"}})],1)],1)]),t("div",{staticClass:"password-rules-tip"},[t("div",{staticClass:"rules-title"},[e._v(e._s(e.$t("config.passwordRule"))+":")]),t("ul",{staticClass:"rules-list"},[t("li",[e._v(e._s(e.$t("config.passwordLength")))]),t("li",[e._v(e._s(e.$t("config.cannotBeTheSame")))]),t("li",[e._v(e._s(e.$t("config.cannotOrder")))]),t("li",[e._v(e._s(e.$t("config.cannotWeakPassword"))+":")]),t("li",{staticClass:"weak-passwords"},[e._v('"password", "admin", "qwerty", "iloveyou"'),t("br"),e._v(' "letmein", "welcome", "sunshine", "monkey"')])])])],1)])],1)]),t("el-tab-pane",{attrs:{label:e.$t("config.resourceConfiguration"),name:"resource"}},[t("div",{staticClass:"config-grid"},[t("el-card",{staticClass:"config-card card-theme-display"},[t("div",{staticClass:"config-card__header"},[t("i",{staticClass:"el-icon-picture-outline config-card__header-icon"}),e._v(" "+e._s(e.$t("config.backgroundImage"))+" ")]),t("div",{staticClass:"config-card__body"},[t("div",{staticClass:"background-upload-section"},[t("div",{staticClass:"upload-area"},[t("el-upload",{staticClass:"background-upload",attrs:{action:"#","show-file-list":!1,accept:"image/png","before-upload":e.handleBackgroundSelect}},[t("el-button",{attrs:{type:"primary",icon:"el-icon-folder-opened"}},[e._v(" "+e._s(e.$t("config.selectImage"))+" ")])],1),e.background.name?t("div",{staticClass:"file-info"},[t("i",{staticClass:"el-icon-document"}),t("span",[e._v(e._s(e.background.name))])]):e._e()],1),t("div",{staticClass:"upload-actions"},[t("el-button",{attrs:{type:"primary",icon:"el-icon-upload",disabled:!e.background.base64,loading:e.loading.background},on:{click:e.uploadBackground}},[e._v(" "+e._s(e.loading.background?e.$t("config.uploading"):e.$t("config.uploadBackground"))+" ")])],1),t("div",{staticClass:"upload-tips"},["vf202"==e.model?t("p",[e._v(e._s(e.$t("config.backgroundUploadTip").replace("{n}","480*854")))]):e._e(),"vf105"==e.model||"vf107"==e.model||"vf205"==e.model?t("p",[e._v(e._s(e.$t("config.backgroundUploadTip").replace("{n}","800*1280")))]):e._e(),"vf114"==e.model||"vf124"==e.model?t("p",[e._v(e._s(e.$t("config.backgroundUploadTip").replace("{n}","720*1280")))]):e._e(),"vf203"==e.model?t("p",[e._v(e._s(e.$t("config.backgroundUploadTip").replace("{n}","600*1024")))]):e._e()])])])])],1)])],1)],1),"cloud"!=e.activeTab&&"resource"!=e.activeTab?t("el-button",{staticClass:"config-save-btn",attrs:{type:"primary",icon:"el-icon-check",size:"large"},on:{click:e.saveAll}},[e._v(e._s(e.$t("config.saveConfig")))]):e._e()],1)])},k=[];i("951a"),i("8160"),i("9052"),i("308a"),i("a805"),i("3228"),i("617f"),i("7d10"),i("ea10"),i("1022"),i("1d88"),i("84ae"),i("13bd");function I(e){if(e){var t=new Date(e),i=t.getFullYear(),a=t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1,s=t.getDate()<10?"0"+t.getDate():t.getDate(),r=t.getHours()<10?"0"+t.getHours():t.getHours(),o=t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes(),n=t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds();return i+"-"+a+"-"+s+" "+r+":"+o+":"+n}return""}function $(e){const t={};for(const i in e)null!=e[i]&&""!==e[i]&&(t[i]=e[i]);return t}function F(e){return Object.keys(e).forEach(t=>{e[t]=""}),e}function A(e=16){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let i="";for(let a=0;a<e;a++)i+=t.charAt(Math.floor(Math.random()*t.length));return i}function P(e,t,i={}){let a,s,r,o=0;const n=()=>{o=!1===i.leading?0:Date.now(),a=null,e.apply(s,r),a||(s=r=null)},c=function(){const c=Date.now();o||!1!==i.leading||(o=c);const l=t-(c-o);s=this,r=arguments,l<=0||l>t?(a&&(clearTimeout(a),a=null),o=c,e.apply(s,r),a||(s=r=null)):a||!1===i.trailing||(a=setTimeout(n,l))};return c}const M={"Pacific/Midway":{utc_offset:"-11:00",name:{zh:"萨摩亚标准时间(中途岛)",en:"Samoa Standard Time (Midway)",ja:"サモア標準時(ミッドウェイ)",ko:"사모아 표준시 (미드웨이)",es:"Hora Estándar de Samoa (Midway)",fr:"Heure Standard de Samoa (Midway)",de:"Samoa-Standardzeit (Midway)",ru:"Самоанское стандартное время (Мидуэй)",ar:"التوقيت القياسي لساموا (ميدواي)",pt:"Hora Padrão de Samoa (Midway)"}},"America/Adak":{utc_offset:"-10:00",name:{zh:"夏威夷-阿留申标准时间(阿达克)",en:"Hawaii-Aleutian Standard Time (Adak)",ja:"ハワイ・アリューシャン標準時(アダック)",ko:"하와이-알류샨 표준시 (아닥)",es:"Hora Estándar de Hawái-Aleutianas (Adak)",fr:"Heure Standard d'Hawaï-Aléoutiennes (Adak)",de:"Hawaii-Aleuten-Standardzeit (Adak)",ru:"Гавайско-Алеутское стандартное время (Адак)",ar:"التوقيت القياسي لهاواي-ألوشيان (أداك)",pt:"Hora Padrão do Havaí-Aleutas (Adak)"}},"Pacific/Honolulu":{utc_offset:"-10:00",name:{zh:"夏威夷标准时间",en:"Hawaii Standard Time",ja:"ハワイ標準時",ko:"하와이 표준시",es:"Hora Estándar de Hawái",fr:"Heure Standard d'Hawaï",de:"Hawaii-Standardzeit",ru:"Гавайское стандартное время",ar:"التوقيت القياسي لهاواي",pt:"Hora Padrão do Havaí"}},"America/Anchorage":{utc_offset:"-09:00",name:{zh:"阿拉斯加标准时间",en:"Alaska Standard Time",ja:"アラスカ標準時",ko:"알래스카 표준시",es:"Hora Estándar de Alaska",fr:"Heure Standard de l'Alaska",de:"Alaska-Standardzeit",ru:"Аляскинское стандартное время",ar:"التوقيت القياسي لألاسكا",pt:"Hora Padrão do Alasca"}},"America/Los_Angeles":{utc_offset:"-08:00",name:{zh:"太平洋标准时间(洛杉矶)",en:"Pacific Standard Time (Los Angeles)",ja:"太平洋標準時(ロサンゼルス)",ko:"태평양 표준시 (로스앤젤레스)",es:"Hora Estándar del Pacífico (Los Ángeles)",fr:"Heure Standard du Pacifique (Los Angeles)",de:"Pazifische Standardzeit (Los Angeles)",ru:"Тихоокеанское стандартное время (Лос-Анджелес)",ar:"توقيت المحيط الهادئ (لوس أنجلوس)",pt:"Hora Padrão do Pacífico (Los Angeles)"}},"America/Denver":{utc_offset:"-07:00",name:{zh:"山地标准时间(丹佛)",en:"Mountain Standard Time (Denver)",ja:"山岳部標準時(デンバー)",ko:"산악 표준시 (덴버)",es:"Hora Estándar de la Montaña (Denver)",fr:"Heure Standard des Rocheuses (Denver)",de:"Rocky-Mountain-Standardzeit (Denver)",ru:"Горное стандартное время (Денвер)",ar:"التوقيت الجبلي (دنفر)",pt:"Hora Padrão das Montanhas (Denver)"}},"America/Chicago":{utc_offset:"-06:00",name:{zh:"中部标准时间(芝加哥)",en:"Central Standard Time (Chicago)",ja:"中部標準時(シカゴ)",ko:"중부 표준시 (시카고)",es:"Hora Estándar Central (Chicago)",fr:"Heure Standard du Centre (Chicago)",de:"Central-Standardzeit (Chicago)",ru:"Центральное стандартное время (Чикаго)",ar:"التوقيت المركزي (شيكاغو)",pt:"Hora Padrão Central (Chicago)"}},"America/New_York":{utc_offset:"-05:00",name:{zh:"东部标准时间(纽约)",en:"Eastern Standard Time (New York)",ja:"東部標準時(ニューヨーク)",ko:"동부 표준시 (뉴욕)",es:"Hora Estándar del Este (Nueva York)",fr:"Heure Standard de l'Est (New York)",de:"Östliche Standardzeit (New York)",ru:"Восточное стандартное время (Нью-Йорк)",ar:"التوقيت الشرقي (نيويورك)",pt:"Hora Padrão do Leste (Nova York)"}},"America/Toronto":{utc_offset:"-05:00",name:{zh:"东部标准时间(多伦多)",en:"Eastern Standard Time (Toronto)",ja:"東部標準時(トロント)",ko:"동부 표준시 (토론토)",es:"Hora Estándar del Este (Toronto)",fr:"Heure Standard de l'Est (Toronto)",de:"Östliche Standardzeit (Toronto)",ru:"Восточное стандартное время (Торонто)",ar:"التوقيت الشرقي (تورونتو)",pt:"Hora Padrão do Leste (Toronto)"}},"America/Mexico_City":{utc_offset:"-06:00",name:{zh:"墨西哥中部时间(墨西哥城)",en:"Central Time (Mexico City)",ja:"中部時間(メキシコシティ)",ko:"중부 시간 (멕시코시티)",es:"Hora Central (Ciudad de México)",fr:"Heure du Centre (Mexico)",de:"Zentralzeit (Mexiko-Stadt)",ru:"Центральное время (Мехико)",ar:"التوقيت المركزي (مكسيكو سيتي)",pt:"Hora Central (Cidade do México)"}},"America/Bogota":{utc_offset:"-05:00",name:{zh:"哥伦比亚时间(波哥大)",en:"Colombia Time (Bogotá)",ja:"コロンビア時間(ボゴタ)",ko:"콜롬비아 시간 (보고타)",es:"Hora de Colombia (Bogotá)",fr:"Heure de Colombie (Bogotá)",de:"Kolumbianische Zeit (Bogotá)",ru:"Колумбийское время (Богота)",ar:"توقيت كولومبيا (بوغوتا)",pt:"Hora da Colômbia (Bogotá)"}},"America/Lima":{utc_offset:"-05:00",name:{zh:"秘鲁时间(利马)",en:"Peru Time (Lima)",ja:"ペルー時間(リマ)",ko:"페루 시간 (리마)",es:"Hora de Perú (Lima)",fr:"Heure du Pérou (Lima)",de:"Peruanische Zeit (Lima)",ru:"Перуанское время (Лима)",ar:"توقيت بيرو (ليما)",pt:"Hora do Peru (Lima)"}},"America/Santiago":{utc_offset:"-04:00",name:{zh:"智利时间(圣地亚哥)",en:"Chile Time (Santiago)",ja:"チリ時間(サンティアゴ)",ko:"칠레 시간 (산티아고)",es:"Hora de Chile (Santiago)",fr:"Heure du Chili (Santiago)",de:"Chilenische Zeit (Santiago)",ru:"Чилийское время (Сантьяго)",ar:"توقيت تشيلي (سانتياغو)",pt:"Hora do Chile (Santiago)"}},"America/Argentina/Buenos_Aires":{utc_offset:"-03:00",name:{zh:"阿根廷时间(布宜诺斯艾利斯)",en:"Argentina Time (Buenos Aires)",ja:"アルゼンチン時間(ブエノスアイレス)",ko:"아르헨티나 시간 (부에노스아이레스)",es:"Hora de Argentina (Buenos Aires)",fr:"Heure d'Argentine (Buenos Aires)",de:"Argentinische Zeit (Buenos Aires)",ru:"Аргентинское время (Буэнос-Айрес)",ar:"توقيت الأرجنتين (بوينس آيرس)",pt:"Hora da Argentina (Buenos Aires)"}},"America/Sao_Paulo":{utc_offset:"-03:00",name:{zh:"巴西时间(圣保罗)",en:"Brazil Time (São Paulo)",ja:"ブラジル時間(サンパウロ)",ko:"브라질 시간 (상파울루)",es:"Hora de Brasil (São Paulo)",fr:"Heure du Brésil (São Paulo)",de:"Brasilianische Zeit (São Paulo)",ru:"Бразильское время (Сан-Паулу)",ar:"توقيت البرازيل (ساو باولو)",pt:"Hora do Brasil (São Paulo)"}},"Atlantic/Azores":{utc_offset:"-01:00",name:{zh:"亚速尔群岛时间",en:"Azores Time",ja:"アゾレス時間",ko:"아조레스 시간",es:"Hora de las Azores",fr:"Heure des Açores",de:"Azoren-Zeit",ru:"Азорское время",ar:"توقيت الأزور",pt:"Hora dos Açores"}},"Europe/London":{utc_offset:"+00:00",name:{zh:"格林尼治标准时间(伦敦)",en:"Greenwich Mean Time (London)",ja:"グリニッジ標準時(ロンドン)",ko:"그리니치 표준시 (런던)",es:"Hora del Meridiano de Greenwich (Londres)",fr:"Heure de Greenwich (Londres)",de:"Mittlere Greenwich-Zeit (London)",ru:"Среднее время по Гринвичу (Лондон)",ar:"توقيت غرينتش (لندن)",pt:"Hora Média de Greenwich (Londres)"}},"Europe/Lisbon":{utc_offset:"+00:00",name:{zh:"葡萄牙时间(里斯本)",en:"Portugal Time (Lisbon)",ja:"ポルトガル時間(リスボン)",ko:"포르투갈 시간 (리스본)",es:"Hora de Portugal (Lisboa)",fr:"Heure du Portugal (Lisbonne)",de:"Portugiesische Zeit (Lissabon)",ru:"Португальское время (Лиссабон)",ar:"توقيت البرتغال (لشبونة)",pt:"Hora de Portugal (Lisboa)"}},"Europe/Berlin":{utc_offset:"+01:00",name:{zh:"中欧时间(柏林)",en:"Central European Time (Berlin)",ja:"中央ヨーロッパ時間(ベルリン)",ko:"중앙유럽 시간 (베를린)",es:"Hora Central Europea (Berlín)",fr:"Heure d'Europe Centrale (Berlin)",de:"Mitteleuropäische Zeit (Berlin)",ru:"Центральноевропейское время (Берлин)",ar:"توقيت وسط أوروبا (برلين)",pt:"Hora da Europa Central (Berlim)"}},"Europe/Paris":{utc_offset:"+01:00",name:{zh:"中欧时间(巴黎)",en:"Central European Time (Paris)",ja:"中央ヨーロッパ時間(パリ)",ko:"중앙유럽 시간 (파리)",es:"Hora Central Europea (París)",fr:"Heure d'Europe Centrale (Paris)",de:"Mitteleuropäische Zeit (Paris)",ru:"Центральноевропейское время (Париж)",ar:"توقيت وسط أوروبا (باريس)",pt:"Hora da Europa Central (Paris)"}},"Europe/Madrid":{utc_offset:"+01:00",name:{zh:"中欧时间(马德里)",en:"Central European Time (Madrid)",ja:"中央ヨーロッパ時間(マドリード)",ko:"중앙유럽 시간 (마드리드)",es:"Hora Central Europea (Madrid)",fr:"Heure d'Europe Centrale (Madrid)",de:"Mitteleuropäische Zeit (Madrid)",ru:"Центральноевропейское время (Мадрид)",ar:"توقيت وسط أوروبا (مدريد)",pt:"Hora da Europa Central (Madri)"}},"Europe/Rome":{utc_offset:"+01:00",name:{zh:"中欧时间(罗马)",en:"Central European Time (Rome)",ja:"中央ヨーロッパ時間(ローマ)",ko:"중앙유럽 시간 (로마)",es:"Hora Central Europea (Roma)",fr:"Heure d'Europe Centrale (Rome)",de:"Mitteleuropäische Zeit (Rom)",ru:"Центральноевропейское время (Рим)",ar:"توقيت وسط أوروبا (روما)",pt:"Hora da Europa Central (Roma)"}},"Europe/Amsterdam":{utc_offset:"+01:00",name:{zh:"中欧时间(阿姆斯特丹)",en:"Central European Time (Amsterdam)",ja:"中央ヨーロッパ時間(アムステルダム)",ko:"중앙유럽 시간 (암스테르담)",es:"Hora Central Europea (Ámsterdam)",fr:"Heure d'Europe Centrale (Amsterdam)",de:"Mitteleuropäische Zeit (Amsterdam)",ru:"Центральноевропейское время (Амстердам)",ar:"توقيت وسط أوروبا (أمستردام)",pt:"Hora da Europa Central (Amsterdã)"}},"Europe/Stockholm":{utc_offset:"+01:00",name:{zh:"中欧时间(斯德哥尔摩)",en:"Central European Time (Stockholm)",ja:"中央ヨーロッパ時間(ストックホルム)",ko:"중앙유럽 시간 (스톡홀름)",es:"Hora Central Europea (Estocolmo)",fr:"Heure d'Europe Centrale (Stockholm)",de:"Mitteleuropäische Zeit (Stockholm)",ru:"Центральноевропейское время (Стокгольм)",ar:"توقيت وسط أوروبا (ستوكهولم)",pt:"Hora da Europa Central (Estocolmo)"}},"Europe/Athens":{utc_offset:"+02:00",name:{zh:"东欧时间(雅典)",en:"Eastern European Time (Athens)",ja:"東ヨーロッパ時間(アテネ)",ko:"동유럽 시간 (아테네)",es:"Hora de Europa Oriental (Atenas)",fr:"Heure d'Europe de l'Est (Athènes)",de:"Osteuropäische Zeit (Athen)",ru:"Восточноевропейское время (Афины)",ar:"توقيت شرق أوروبا (أثينا)",pt:"Hora da Europa Oriental (Atenas)"}},"Europe/Istanbul":{utc_offset:"+03:00",name:{zh:"土耳其时间(伊斯坦布尔)",en:"Turkey Time (Istanbul)",ja:"トルコ時間(イスタンブール)",ko:"터키 시간 (이스탄불)",es:"Hora de Turquía (Estambul)",fr:"Heure de Turquie (Istanbul)",de:"Türkische Zeit (Istanbul)",ru:"Турецкое время (Стамбул)",ar:"توقيت تركيا (إسطنبول)",pt:"Hora da Turquia (Istambul)"}},"Asia/Dubai":{utc_offset:"+04:00",name:{zh:"海湾标准时间(迪拜)",en:"Gulf Standard Time (Dubai)",ja:"湾岸標準時(ドバイ)",ko:"걸프 표준시 (두바이)",es:"Hora Estándar del Golfo (Dubái)",fr:"Heure Standard du Golfe (Dubaï)",de:"Golf-Standardzeit (Dubai)",ru:"Стандартное время Персидского залива (Дубай)",ar:"التوقيت القياسي الخليجي (دبي)",pt:"Hora Padrão do Golfo (Dubai)"}},"Asia/Karachi":{utc_offset:"+05:00",name:{zh:"巴基斯坦标准时间(卡拉奇)",en:"Pakistan Standard Time (Karachi)",ja:"パキスタン標準時(カラチ)",ko:"파키스탄 표준시 (카라치)",es:"Hora Estándar de Pakistán (Karachi)",fr:"Heure Standard du Pakistan (Karachi)",de:"Pakistanische Standardzeit (Karatschi)",ru:"Пакистанское стандартное время (Карачи)",ar:"التوقيت القياسي الباكستاني (كراتشي)",pt:"Hora Padrão do Paquistão (Carachi)"}},"Asia/Kolkata":{utc_offset:"+05:30",name:{zh:"印度标准时间(加尔各答)",en:"India Standard Time (Kolkata)",ja:"インド標準時(コルカタ)",ko:"인도 표준시 (콜카타)",es:"Hora Estándar de India (Calcuta)",fr:"Heure Standard de l'Inde (Calcutta)",de:"Indische Standardzeit (Kalkutta)",ru:"Индийское стандартное время (Калькутта)",ar:"التوقيت القياسي الهندي (كولكاتا)",pt:"Hora Padrão da Índia (Calcutá)"}},"Asia/Dhaka":{utc_offset:"+06:00",name:{zh:"孟加拉标准时间(达卡)",en:"Bangladesh Standard Time (Dhaka)",ja:"バングラデシュ標準時(ダッカ)",ko:"방글라데시 표준시 (다카)",es:"Hora Estándar de Bangladés (Daca)",fr:"Heure Standard du Bangladesh (Dacca)",de:"Bangladeschische Standardzeit (Dhaka)",ru:"Бангладешское стандартное время (Дакка)",ar:"التوقيت القياسي لبنغلاديش (دكا)",pt:"Hora Padrão de Bangladesh (Daca)"}},"Asia/Bangkok":{utc_offset:"+07:00",name:{zh:"中南半岛时间(曼谷)",en:"Indochina Time (Bangkok)",ja:"インドシナ時間(バンコク)",ko:"인도차이나 시간 (방콕)",es:"Hora de Indochina (Bangkok)",fr:"Heure d'Indochine (Bangkok)",de:"Indochina-Zeit (Bangkok)",ru:"Индокитайское время (Бангкок)",ar:"توقيت الهند الصينية (بانكوك)",pt:"Hora da Indochina (Bangcoc)"}},"Asia/Jakarta":{utc_offset:"+07:00",name:{zh:"印度尼西亚西部时间(雅加达)",en:"Western Indonesia Time (Jakarta)",ja:"西インドネシア時間(ジャカルタ)",ko:"서인도네시아 시간 (자카르타)",es:"Hora de Indonesia Occidental (Yakarta)",fr:"Heure de l'Indonésie Occidentale (Jakarta)",de:"Westindonesische Zeit (Jakarta)",ru:"Западноиндонезийское время (Джакарта)",ar:"توقيت غرب إندونيسيا (جاكرتا)",pt:"Hora da Indonésia Ocidental (Jacarta)"}},"Asia/Shanghai":{utc_offset:"+08:00",name:{zh:"中国标准时间(北京)",en:"China Standard Time (Beijing)",ja:"中国標準時(北京)",ko:"중국 표준시 (베이징)",es:"Hora Estándar de China (Pekín)",fr:"Heure Standard de Chine (Pékin)",de:"Chinesische Standardzeit (Peking)",ru:"Китайское стандартное время (Пекин)",ar:"التوقيت القياسي الصيني (بكين)",pt:"Hora Padrão da China (Pequim)"}},"Asia/Taipei":{utc_offset:"+08:00",name:{zh:"台湾标准时间(台北)",en:"Taiwan Standard Time (Taipei)",ja:"台湾標準時(台北)",ko:"대만 표준시 (타이베이)",es:"Hora Estándar de Taiwán (Taipéi)",fr:"Heure Standard de Taïwan (Taipei)",de:"Taiwanesische Standardzeit (Taipeh)",ru:"Тайваньское стандартное время (Тайбэй)",ar:"التوقيت القياسي لتايوان (تايبيه)",pt:"Hora Padrão de Taiwan (Taipei)"}},"Asia/Hong_Kong":{utc_offset:"+08:00",name:{zh:"香港时间",en:"Hong Kong Time",ja:"香港時間",ko:"홍콩 시간",es:"Hora de Hong Kong",fr:"Heure de Hong Kong",de:"Hongkong-Zeit",ru:"Гонконгское время",ar:"توقيت هونغ كونغ",pt:"Hora de Hong Kong"}},"Asia/Singapore":{utc_offset:"+08:00",name:{zh:"新加坡标准时间",en:"Singapore Standard Time",ja:"シンガポール標準時",ko:"싱가포르 표준시",es:"Hora Estándar de Singapur",fr:"Heure Standard de Singapour",de:"Singapur-Standardzeit",ru:"Сингапурское стандартное время",ar:"التوقيت القياسي لسنغافورة",pt:"Hora Padrão de Cingapura"}},"Asia/Seoul":{utc_offset:"+09:00",name:{zh:"韩国标准时间(首尔)",en:"Korea Standard Time (Seoul)",ja:"韓国標準時(ソウル)",ko:"한국 표준시 (서울)",es:"Hora Estándar de Corea (Seúl)",fr:"Heure Standard de Corée (Séoul)",de:"Koreanische Standardzeit (Seoul)",ru:"Корейское стандартное время (Сеул)",ar:"التوقيت القياسي الكوري (سيول)",pt:"Hora Padrão da Coreia (Seul)"}},"Asia/Tokyo":{utc_offset:"+09:00",name:{zh:"日本标准时间(东京)",en:"Japan Standard Time (Tokyo)",ja:"日本標準時(東京)",ko:"일본 표준시 (도쿄)",es:"Hora Estándar de Japón (Tokio)",fr:"Heure Standard du Japon (Tokyo)",de:"Japanische Standardzeit (Tokio)",ru:"Японское стандартное время (Токио)",ar:"التوقيت القياسي الياباني (طوكيو)",pt:"Hora Padrão do Japão (Tóquio)"}},"Australia/Perth":{utc_offset:"+08:00",name:{zh:"澳大利亚西部时间(珀斯)",en:"Australian Western Standard Time (Perth)",ja:"オーストラリア西部標準時(パース)",ko:"호주 서부 표준시 (퍼스)",es:"Hora Estándar Occidental de Australia (Perth)",fr:"Heure Standard de l'Ouest Australien (Perth)",de:"Westaustralische Standardzeit (Perth)",ru:"Западноавстралийское стандартное время (Перт)",ar:"التوقيت القياسي لغرب أستراليا (بيرث)",pt:"Hora Padrão da Austrália Ocidental (Perth)"}},"Australia/Sydney":{utc_offset:"+10:00",name:{zh:"澳大利亚东部时间(悉尼)",en:"Australian Eastern Standard Time (Sydney)",ja:"オーストラリア東部標準時(シドニー)",ko:"호주 동부 표준시 (시드니)",es:"Hora Estándar Oriental de Australia (Sídney)",fr:"Heure Standard de l'Est Australien (Sydney)",de:"Ostaustralische Standardzeit (Sydney)",ru:"Восточноавстралийское стандартное время (Сидней)",ar:"التوقيت القياسي لشرق أستراليا (سيدني)",pt:"Hora Padrão da Austrália Oriental (Sydney)"}},"Pacific/Guam":{utc_offset:"+10:00",name:{zh:"关岛时间",en:"Guam Time",ja:"グアム時間",ko:"괌 시간",es:"Hora de Guam",fr:"Heure de Guam",de:"Guam-Zeit",ru:"Время Гуама",ar:"توقيت غوام",pt:"Hora de Guam"}},"Pacific/Noumea":{utc_offset:"+11:00",name:{zh:"新喀里多尼亚时间(努美阿)",en:"New Caledonia Time (Noumea)",ja:"ニューカレドニア時間(ヌメア)",ko:"뉴칼레도니아 시간 (누메아)",es:"Hora de Nueva Caledonia (Numea)",fr:"Heure de Nouvelle-Calédonie (Nouméa)",de:"Neukaledonische Zeit (Noumea)",ru:"Новокаледонское время (Нумеа)",ar:"توقيت كاليدونيا الجديدة (نوميا)",pt:"Hora da Nova Caledônia (Numeá)"}},"Pacific/Auckland":{utc_offset:"+12:00",name:{zh:"新西兰标准时间(奥克兰)",en:"New Zealand Standard Time (Auckland)",ja:"ニュージーランド標準時(オークランド)",ko:"뉴질랜드 표준시 (오클랜드)",es:"Hora Estándar de Nueva Zelanda (Auckland)",fr:"Heure Standard de Nouvelle-Zélande (Auckland)",de:"Neuseeländische Standardzeit (Auckland)",ru:"Новозеландское стандартное время (Окленд)",ar:"التوقيت القياسي لنيوزيلندا (أوكلاند)",pt:"Hora Padrão da Nova Zelândia (Auckland)"}},"Pacific/Fiji":{utc_offset:"+12:00",name:{zh:"斐济时间",en:"Fiji Time",ja:"フィジー時間",ko:"피지 시간",es:"Hora de Fiyi",fr:"Heure de Fidji",de:"Fidschi-Zeit",ru:"Время Фиджи",ar:"توقيت فيجي",pt:"Hora de Fiji"}},"Pacific/Tongatapu":{utc_offset:"+13:00",name:{zh:"汤加时间(汤加塔普)",en:"Tonga Time (Tongatapu)",ja:"トンガ時間(トンガタプ)",ko:"통가 시간 (통가타푸)",es:"Hora de Tonga (Tongatapu)",fr:"Heure de Tonga (Tongatapu)",de:"Tonga-Zeit (Tongatapu)",ru:"Время Тонга (Тонгатапу)",ar:"توقيت تونغا (تونغاتابو)",pt:"Hora de Tonga (Tongatapu)"}}},x={zh:{Africa:"非洲",America:"美洲",Antarctica:"南极洲",Arctic:"北极",Asia:"亚洲",Atlantic:"大西洋",Australia:"澳大利亚",Europe:"欧洲",Indian:"印度洋",Pacific:"太平洋"},en:{Africa:"Africa",America:"America",Antarctica:"Antarctica",Arctic:"Arctic",Asia:"Asia",Atlantic:"Atlantic",Australia:"Australia",Europe:"Europe",Indian:"Indian",Pacific:"Pacific"},es:{Africa:"África",America:"América",Antarctica:"Antártida",Arctic:"Ártico",Asia:"Asia",Atlantic:"Atlántico",Australia:"Australia",Europe:"Europa",Indian:"Índico",Pacific:"Pacífico"},fr:{Africa:"Afrique",America:"Amérique",Antarctica:"Antarctique",Arctic:"Arctique",Asia:"Asie",Atlantic:"Atlantique",Australia:"Australie",Europe:"Europe",Indian:"Indien",Pacific:"Pacifique"},de:{Africa:"Afrika",America:"Amerika",Antarctica:"Antarktis",Arctic:"Arktis",Asia:"Asien",Atlantic:"Atlantik",Australia:"Australien",Europe:"Europa",Indian:"Indischer Ozean",Pacific:"Pazifik"},ru:{Africa:"Африка",America:"Америка",Antarctica:"Антарктида",Arctic:"Арктика",Asia:"Азия",Atlantic:"Атлантика",Australia:"Австралия",Europe:"Европа",Indian:"Индийский океан",Pacific:"Тихий океан"},ar:{Africa:"أفريقيا",America:"الأمريكتان",Antarctica:"أنتاركتيكا",Arctic:"القطب الشمالي",Asia:"آسيا",Atlantic:"الأطلسي",Australia:"أستراليا",Europe:"أوروبا",Indian:"المحيط الهندي",Pacific:"المحيط الهادئ"},pt:{Africa:"África",America:"América",Antarctica:"Antártida",Arctic:"Ártico",Asia:"Ásia",Atlantic:"Atlântico",Australia:"Austrália",Europe:"Europa",Indian:"Índico",Pacific:"Pacífico"},ko:{Africa:"아프리카",America:"아메리카",Antarctica:"남극",Arctic:"북극",Asia:"아시아",Atlantic:"대서양",Australia:"오스트레일리아",Europe:"유럽",Indian:"인도양",Pacific:"태평양"}};var R={data(){const e=(e,t,i)=>{t&&""!==t.trim()?i():i(new Error(this.$t("config.msg_inputPassword")))},t=(e,t,i)=>{t!==this.pwd.newPwd?i(new Error(this.$t("config.msg_password_mismatch"))):i()};return{activeTab:"base",isWeCom:!1,base:{screenOff:0,screensaver:0,brightness:70,volume:50,showIp:1,showSn:1,language:"CN",appMode:1,backlight:70},idleData:[this.$t("config.never"),this.$t("config.min1"),this.$t("config.min2"),this.$t("config.min3"),this.$t("config.min4"),this.$t("config.min5")],baseRules:{screenOff:[{message:this.$t("common.integerFormat"),trigger:["blur"],pattern:/^[0-9]+$/}],screensaver:[{message:this.$t("common.integerFormat"),trigger:["blur"],pattern:/^[0-9]+$/}]},net:{type:1,ssid:"",psk:"",dhcp:2,ip:"",gateway:"",mask:"",dns:"",mac:""},netRules:{ip:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/}],gateway:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/}],mask:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/}],dns:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/}]},mqtt:{addr:"",username:"",password:"",prefix:"",qos:0,onlinecheck:"",timeout:"",clientId:"",clientIdSuffix:""},mqttRules:{addr:[{validator:(e,t,i)=>{const a=["tcp://","ssl://","mqtt://","mqtts://"],s=/^(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,})(:\d{1,5})?$/;let r=t,o=!1;for(const c of a)if(t.startsWith(c)){o=!0,r=t.slice(c.length);break}if(!o&&t.includes("://")&&i(new Error(this.$t("common.incorrectFormat"))),!r)return void i();s.test(r)||i(new Error(this.$t("common.incorrectFormat")));const n=r.match(/:(\d{1,5})$/);if(n){const e=parseInt(n[1],10);(e<1||e>65535)&&i(new Error(this.$t("common.incorrectFormat")))}i()},trigger:["blur"]}],timeout:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^[1-9]\d*$/}]},face:{similarity:60,livenessOff:1,livenessVal:0,showNir:0,stranger:0,voiceMode:0,voiceModeDate:"",recheck:0},faceRules:{},sys:{nfc:1,pwd:1,strangerImage:1,heart_en:0,heart_time:30,mac:"",uuid:"",sn:"",model:"",version:"",appVersion:"",releaseTime:"",nfcIdentityCardEnable:1,scanInterval:"",totaldisk:"",freedisk:""},sysRules:{heart_time:[{message:this.$t("common.positiveIntegerFormat"),trigger:["blur"],pattern:/^[1-9]\d*$/}],scanInterval:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^[1-9]\d*$/}]},access:{offlineAccessNum:2e3,relayTime:2e3,fire:0,fireStatus:0,tamper:0,uploadToCloud:0},accessRules:{},ntp:{ntp:1,server:"182.92.12.11",hour:3,gmt:"Asia/Shanghai"},selectedTimezoneRegion:"",selectedTimezoneCity:"",ntpRules:{ip:[{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/}],hour:[{message:this.$t("config.msg_number_0_23"),trigger:["blur"],pattern:/^(2[0-3]|1[0-9]|[0-9])$/}],gmt:[{required:!0,message:this.$t("config.msg_please_enter"),trigger:["change"]}]},pwd:{orignPwd:"",oldPwd:"",newPwd:"",quePwd:""},pwdRules:{oldPwd:[{required:!0,validator:e,trigger:["blur"]}],newPwd:[{required:!0,validator:e,trigger:["blur"]}],quePwd:[{required:!0,validator:e,trigger:["blur"]},{validator:t,trigger:["blur"]}]},passwordStrength:0,isWeakPassword:!1,cloudForm:{activationKey:""},cloudRules:{activationKey:[{required:!0,message:"请输入激活密钥",trigger:"blur"},{message:this.$t("common.incorrectFormat"),trigger:["blur"],pattern:/^___VBAR_ID_ACTIVE_V/}]},activating:!1,activationResult:null,cloudStatus:"inactive",background:{base64:"",name:""},loading:{background:!1},reboot:{language:""},originalBase:null,version:0,model:""}},created(){let e=sessionStorage.getItem("publicConfig"),{version:t,isWeCom:i,model:a}=e?JSON.parse(e):{};this.version=null==t||void 0==t||"CN"==t?0:1,this.isWeCom=i,this.model=a,this.getConfig()},watch:{"ntp.gmt":function(){this.initTimezone()}},computed:{activeConfig(){let e=this[this.activeTab]||{};if("base"==this.activeTab&&this.reboot.language==e.language&&(e={...e},delete e.language),"face"==this.activeTab&&(e.similarity=e.similarity/100,e.livenessVal=e.livenessVal/10),"pwd"==this.activeTab&&(e={password:e.newPwd}),"ntp"==this.activeTab){const{gmt:t,...i}=e;e={...i,timeZone:t}}if("sys"==this.activeTab){let{nfc:t,pwd:i,strangerImage:a,heart_en:s,heart_time:r,nfcIdentityCardEnable:o,scanInterval:n}=e;e={nfc:t,pwd:i,strangerImage:a,heart_en:s,heart_time:r,nfcIdentityCardEnable:o,scanInterval:n}}return"mqtt"==this.activeTab&&(e={...e},delete e.clientId),"net"==this.activeTab&&delete e.mac,e},cloudStatusClass(){return"active"===this.cloudStatus?"active":"inactive"},cloudStatusText(){return"active"===this.cloudStatus?"已激活":"未激活"},activationResultClass(){var e;return(null===(e=this.activationResult)||void 0===e?void 0:e.type)||"success"},resultIcon(){var e;return"error"===(null===(e=this.activationResult)||void 0===e?void 0:e.type)?"el-icon-close":"el-icon-check"},passwordStrengthClass(){const e={0:"strength-weak",1:"strength-weak",2:"strength-medium",3:"strength-good",4:"strength-strong"};return e[this.passwordStrength]||"strength-weak"},passwordStrengthText(){const e={1:"弱",2:"中",3:"良",4:"强"};return e[this.passwordStrength]||"无"},timezoneRegions(){const e=new Set;Object.keys(M).forEach(t=>{const[i]=t.split("/");e.add(i)});const t=this.$i18n.locale||"en";return Array.from(e).map(e=>({label:this.getRegionLabel(e,t),value:e}))},timezoneCities(){return this.getCitiesByRegion(this.selectedTimezoneRegion||"Asia")}},methods:{initTimezone(){const e=this.ntp.gmt&&"string"===typeof this.ntp.gmt?this.ntp.gmt:"Asia/Shanghai",t=e.split("/"),i=t[0],a=t.slice(1).join("/");this.selectedTimezoneRegion=i||"Asia";const s=this.getCitiesByRegion(this.selectedTimezoneRegion),r=a&&s.find(e=>e.value===a)?a:s[0]&&s[0].value;this.selectedTimezoneCity=r||"",this.selectedTimezoneRegion&&this.selectedTimezoneCity&&(this.ntp.gmt=`${this.selectedTimezoneRegion}/${this.selectedTimezoneCity}`)},getCitiesByRegion(e){const t=this.$i18n.locale||"en";return Object.keys(M).filter(t=>t.startsWith(e+"/")).map(e=>{const i=e.split("/")[1],a=M[e],s=a.name&&(a.name[t]||a.name.en)||i;return{value:i,label:s}})},getRegionLabel(e){const t=this.$i18n.locale||"en",i=x[t]||x.en||{};return i[e]||e},handleRegionChange(e){const t=this.getCitiesByRegion(e);t.length?(this.selectedTimezoneCity=t[0].value,this.ntp.gmt=`${e}/${this.selectedTimezoneCity}`):(this.selectedTimezoneCity="",this.ntp.gmt="")},handleCityChange(e){this.selectedTimezoneRegion&&e&&(this.ntp.gmt=`${this.selectedTimezoneRegion}/${e}`)},handleActivate(){this.$refs["cloudForm"].validate(async e=>{if(e){let e={code:this.cloudForm.activationKey};try{const t=await this.$http.post("/eidActive",{data:e});200==t.code?(this.$message.success(this.$t("config.activationSuccessful")),this.cloudForm.activationKey=""):this.$message.error(t.message)}catch(t){console.log(t)}}})},handleScanQR(){},handleGetKey(){},handleClick(){"pwd"!==this.activeTab&&(this.getConfig(),this.pwd={orignPwd:"",oldPwd:"",newPwd:"",quePwd:""}),"cloud"!==this.activeTab&&this.cloudForm.activationKey&&(this.cloudForm.activationKey=""),this.$refs.displayForm&&this.$refs.displayForm.clearValidate(),this.$refs.infoForm&&this.$refs.infoForm.clearValidate(),this.$refs.audioForm&&this.$refs.audioForm.clearValidate(),this.$refs.systemForm&&this.$refs.systemForm.clearValidate(),this.$refs.networkForm&&this.$refs.networkForm.clearValidate(),this.$refs.ipForm&&this.$refs.ipForm.clearValidate(),this.$refs.mqttForm&&this.$refs.mqttForm.clearValidate(),this.$refs.onlineCheckingForm&&this.$refs.onlineCheckingForm.clearValidate(),this.$refs.faceForm&&this.$refs.faceForm.clearValidate(),this.$refs.faceMsgForm&&this.$refs.faceMsgForm.clearValidate(),this.$refs.sysForm&&this.$refs.sysForm.clearValidate(),this.$refs.accessForm&&this.$refs.accessForm.clearValidate(),this.$refs.ntpForm&&this.$refs.ntpForm.clearValidate(),this.$refs.pwdForm&&this.$refs.pwdForm.clearValidate(),this.$refs.cloudForm&&this.$refs.cloudForm.clearValidate()},async getConfig(){const e=await this.$http.post("/getConfig",{data:""});if(console.log(e),200==e.code){let{base:t,mqtt:i,sys:a,face:s,ntp:r,access:o,net:n}=e.data||{};if(t&&(this.base=this.mergeWithBase(this.base,t),this.originalBase={...t},this.pwd.orignPwd=t.password,this.reboot.language=t.language),i&&(this.mqtt=this.mergeWithBase(this.mqtt,i)),a&&(a.totaldisk=a.totaldisk+" M",a.freedisk=a.freedisk+" M",this.sys=this.mergeWithBase(this.sys,a)),s&&(s.similarity=Math.round(100*s.similarity),s.livenessVal=10*s.livenessVal,this.face=this.mergeWithBase(this.face,s)),r){const e=this.mergeWithBase(this.ntp,r);r.timeZone&&(e.gmt=r.timeZone),this.ntp=e,this.initTimezone()}else this.initTimezone();o&&(this.access=this.mergeWithBase(this.access,o)),n&&(this.net=this.mergeWithBase(this.net,n))}else this.$message.error(e.message)},saveAll:P((async function(){try{if("base"==this.activeTab&&await this.$refs.displayForm.validate(),"pwd"==this.activeTab&&(await this.$refs.pwdForm.validate(),console.log(this.pwd.orignPwd,this.pwd.oldPwd),this.pwd.orignPwd!=this.pwd.oldPwd))return void this.$message.error(this.$t("config.msg_oldPasswordError"));"face"==this.activeTab&&await this.$refs.faceMsgForm.validate(),await this.submitData()}catch(e){console.log(e)}}),2e3),async submitData(){const e=await this.$http.post("/setConfig",{data:{["pwd"==this.activeTab?"base":this.activeTab]:this.activeConfig}});200==e.code?(this.$message.success(this.$t("config.msg_saveSuccess")),"pwd"==this.activeTab&&(this.pwd={orignPwd:"",oldPwd:"",newPwd:"",quePwd:""}),this.getConfig()):this.$message.error(e.message)},mergeWithBase(e,t){if(!t||"object"!==typeof t)return{...e};const i={...e},a=Object.keys(e);for(let s=0;s<a.length;s++){const e=a[s];Object.prototype.hasOwnProperty.call(t,e)&&(i[e]=t[e])}return i},async handleBackgroundSelect(e){if("image/png"!==e.type)return this.$message.error(this.$t("config.backgroundImageOnlyPNG")),!1;if(e.size>5242880)return this.$message.error(this.$t("config.backgroundSizeLimit")),!1;const t=this.getBackgroundResolutionByModel();if(t)try{const{width:i,height:a}=await this.getImageSize(e);if(i!==t.width||a!==t.height)return this.$message.error(this.$t("config.backgroundResolutionMismatch").replace("{n}",`${t.width}*${t.height}`)),!1}catch(i){return this.$message.error(this.$t("config.backgroundParseFailed")),!1}try{const t=await this.readFileAsBase64(e);this.background={base64:t,name:e.name},this.$message.success(this.$t("config.backgroundImageSelected"))}catch(i){this.$message.error(this.$t("config.backgroundParseFailed"))}return!1},getBackgroundResolutionByModel(){const e={vf202:{width:480,height:854},vf105:{width:800,height:1280},vf107:{width:800,height:1280},vf205:{width:800,height:1280},vf114:{width:720,height:1280},vf124:{width:720,height:1280},vf203:{width:600,height:1024}};return e[this.model]||null},getImageSize(e){return new Promise((t,i)=>{const a=new Image,s=URL.createObjectURL(e);a.onload=()=>{URL.revokeObjectURL(s),t({width:a.width,height:a.height})},a.onerror=()=>{URL.revokeObjectURL(s),i(new Error("image read failed"))},a.src=s})},readFileAsBase64(e){return new Promise((t,i)=>{const a=new FileReader;a.onload=()=>{const e=a.result||"",s="string"===typeof e?e.split(",").pop():"";s?t(s):i(new Error("empty result"))},a.onerror=()=>i(new Error("read failed")),a.readAsDataURL(e)})},async uploadBackground(){if(this.background.base64){this.loading.background=!0;try{const e=await this.$http.post("/control",{data:{command:13,extra:{wallpaperBase64:this.background.base64}}});200==e.code?(this.$message.success(this.$t("config.backgroundSuccess")),this.background={base64:"",name:""}):this.$message.error(e.message||this.$t("config.backgroundFailed"))}catch(e){this.$message.error(this.$t("config.backgroundFailed"))}finally{this.loading.background=!1}}else this.$message.warning(this.$t("config.backgroundRequired"))}}},z=R,D=(i("d6f8"),Object(c["a"])(z,T,k,!1,null,"0e4bdee9",null)),E=D.exports,N=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"device-control-panel"}},[t("el-tabs",{staticClass:"main-tabs",attrs:{type:"border-card"},on:{"tab-click":e.handleClick},model:{value:e.activeTab,callback:function(t){e.activeTab=t},expression:"activeTab"}},[t("el-tab-pane",{attrs:{label:e.$t("control.remoteControl"),name:"remote"}},[t("div",{staticClass:"remote-control"},[t("el-row",{attrs:{gutter:20}},[t("el-col",{attrs:{span:8}},[t("div",{staticClass:"control-card restart-card",class:{loading:e.loading.restart},on:{click:e.handleRestart}},[t("div",{staticClass:"card-content"},[t("div",{staticClass:"card-icon"},[t("i",{staticClass:"el-icon-refresh"})]),t("h3",[e._v(e._s(e.$t("control.restart")))]),t("p",{staticClass:"card-description"},[e._v(e._s(e.$t("control.restartTips")))]),t("div",{staticClass:"card-hover-effect"},[t("span",[e._v(e._s(e.$t("control.clickToRestart")))])]),e.loading.restart?t("div",{staticClass:"loading-overlay"},[t("i",{staticClass:"fas fa-spinner"}),t("div",{staticClass:"loading-text"},[e._v(e._s(e.$t("control.restarting")))])]):e._e()])])]),t("el-col",{attrs:{span:8}},[t("div",{staticClass:"control-card open-card",class:{loading:e.loading.remoteOpen},on:{click:e.handleRemoteOpen}},[t("div",{staticClass:"card-content"},[t("div",{staticClass:"card-icon"},[t("i",{staticClass:"el-icon-unlock"})]),t("h3",[e._v(e._s(e.$t("control.remoteOpen")))]),t("p",{staticClass:"card-description"},[e._v(e._s(e.$t("control.remoteTips")))]),t("div",{staticClass:"card-hover-effect"},[t("span",[e._v(e._s(e.$t("control.clickToOpen")))])]),e.loading.remoteOpen?t("div",{staticClass:"loading-overlay"},[t("i",{staticClass:"fas fa-spinner"}),t("div",{staticClass:"loading-text"},[e._v(e._s(e.$t("control.opening")))])]):e._e()])])]),t("el-col",{attrs:{span:8}},[t("div",{staticClass:"control-card reset-card",class:{loading:e.loading.reset},on:{click:e.handleReset}},[t("div",{staticClass:"card-content"},[t("div",{staticClass:"card-icon"},[t("i",{staticClass:"el-icon-delete"})]),t("h3",[e._v(e._s(e.$t("control.reset")))]),t("p",{staticClass:"card-description"},[e._v(e._s(e.$t("control.resetTips")))]),t("div",{staticClass:"card-hover-effect"},[t("span",[e._v(e._s(e.$t("control.clickToReset")))])]),e.loading.reset?t("div",{staticClass:"loading-overlay"},[t("i",{staticClass:"fas fa-spinner"}),t("div",{staticClass:"loading-text"},[e._v(e._s(e.$t("control.reseting")))])]):e._e()])])])],1)],1)]),t("el-tab-pane",{attrs:{label:e.$t("control.firmwareUpgrade"),name:"upgrade"}},[t("div",{staticClass:"firmware-upgrade"},[t("el-row",{attrs:{gutter:30}},[t("el-col",{attrs:{span:12}},[t("el-card",{staticClass:"upgrade-card",attrs:{shadow:"never"}},[t("h3",[t("i",{staticClass:"fas fa-cloud-download-alt"}),e._v(e._s(e.$t("control.urlUpgrade")))]),t("el-form",{ref:"upgradeForm",staticClass:"upgrade-form",attrs:{model:e.upgradeForm,rules:e.upgradeRules,"label-position":"top"}},[t("el-form-item",{attrs:{label:e.$t("control.firmwareUrl"),prop:"url"}},[t("el-input",{attrs:{placeholder:"https://example.com/firmware.dpk",clearable:""},model:{value:e.upgradeForm.url,callback:function(t){e.$set(e.upgradeForm,"url",t)},expression:"upgradeForm.url"}},[t("i",{staticClass:"el-input__icon el-icon-link",attrs:{slot:"prefix"},slot:"prefix"})])],1),t("el-form-item",{attrs:{label:e.$t("control.md5Checksum"),prop:"md5"}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder"),clearable:""},model:{value:e.upgradeForm.md5,callback:function(t){e.$set(e.upgradeForm,"md5",t)},expression:"upgradeForm.md5"}},[t("i",{staticClass:"el-input__icon el-icon-key",attrs:{slot:"prefix"},slot:"prefix"})])],1),t("el-form-item",[t("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.loading.upgrade},on:{click:e.submitUpgrade}},[e._v(" "+e._s(e.$t("control.startUpgrade"))+" ")])],1)],1)],1)],1),t("el-col",{attrs:{span:12}},[t("el-card",{staticClass:"upgrade-card",attrs:{shadow:"never"}},[t("h3",[t("i",{staticClass:"fas fa-info-circle"}),e._v(" "+e._s(e.$t("control.fileUpgrade")))]),t("div",{staticClass:"upload-area",on:{click:e.triggerFileUpload}},[t("div",{staticClass:"upload-icon"},[t("i",{staticClass:"el-icon-upload"})]),t("div",{staticClass:"upload-text"},[e._v(e._s(e.$t("control.uploadFile")))]),t("div",{staticClass:"upload-hint"},[e._v(e._s(e.$t("control.formatFile")))]),t("input",{ref:"fileInput",staticStyle:{display:"none"},attrs:{type:"file",accept:".zip,.dpk"},on:{change:e.handleFileUpload}})]),t("el-form",[t("el-form-item",{attrs:{label:e.$t("control.md5Checksum")}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder"),clearable:""},model:{value:e.fileMd5,callback:function(t){e.fileMd5=t},expression:"fileMd5"}},[t("i",{staticClass:"el-input__icon el-icon-key",attrs:{slot:"prefix"},slot:"prefix"})])],1)],1),e.uploadedFile?t("div",{staticClass:"file-info"},[t("div",{staticClass:"file-info-item"},[t("div",{staticClass:"file-label"},[e._v(e._s(e.$t("control.fileName"))+":")]),t("div",{staticClass:"file-value"},[e._v(e._s(e.uploadedFile.name))])]),t("div",{staticClass:"file-info-item"},[t("div",{staticClass:"file-label"},[e._v(e._s(e.$t("control.size"))+":")]),t("div",{staticClass:"file-value"},[e._v(e._s(e.formatFileSize(e.uploadedFile.size)))])])]):e._e(),e.uploadedFile?t("div",{staticClass:"upload-actions"},[t("el-button",{on:{click:e.clearUpload}},[e._v(e._s(e.$t("control.clearFile")))]),t("el-button",{attrs:{type:"primary",loading:e.loading.fileUpgrade},on:{click:e.submitFileUpgrade}},[e._v(" "+e._s(e.loading.fileUpgrade?e.$t("control.uploading"):e.$t("control.uploadAndUpgrade"))+" ")])],1):e._e()],1)],1)],1)],1)])],1),t("el-dialog",{attrs:{title:e.$t("control.resetConfirm"),visible:e.resetDialogVisible,width:"30%","close-on-click-modal":!1,"custom-class":"reset-dialog"},on:{"update:visible":function(t){e.resetDialogVisible=t}}},[t("div",{staticClass:"reset-warning"},[t("el-alert",{attrs:{title:e.$t("control.resetWarningTitle"),type:"warning",description:e.$t("control.resetWarningDesc"),"show-icon":""}}),t("el-form",{ref:"resetForm",staticStyle:{"margin-top":"20px"},attrs:{model:e.resetForm,rules:e.resetRules}},[t("el-form-item",{attrs:{label:e.$t("control.resetPassword"),prop:"password"}},[t("el-input",{attrs:{type:"password","show-password":"",placeholder:e.$t("control.passwordPlaceholder")},model:{value:e.resetForm.password,callback:function(t){e.$set(e.resetForm,"password",t)},expression:"resetForm.password"}})],1)],1)],1),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:function(t){e.resetDialogVisible=!1}}},[e._v(e._s(e.$t("basicSetting.cancelButton")))]),t("el-button",{attrs:{type:"danger",loading:e.loading.reset},on:{click:e.confirmReset}},[e._v(e._s(e.$t("control.confirmResetBtn")))])],1)])],1)},O=[],B={name:"Control",data(){return{activeTab:"remote",upgradeForm:{type:0,url:"",md5:""},fileMd5:"",resetForm:{password:""},resetDialogVisible:!1,loading:{restart:!1,remoteOpen:!1,upgrade:!1,reset:!1,fileUpgrade:!1},upgradeRules:{url:[{required:!0,message:this.$t("control.urlRequired"),trigger:"blur"},{type:"url",message:this.$t("control.urlInvalid"),trigger:"blur"}],md5:[{required:!0,message:this.$t("control.md5Required"),trigger:"blur"},{pattern:/^[a-fA-F0-9]{32}$/,message:this.$t("control.md5Invalid"),trigger:"blur"}],password:[{required:!0,message:this.$t("control.passwordRequired"),trigger:"blur"}]},resetRules:{password:[{required:!0,message:this.$t("control.passwordRequired"),trigger:"blur"}]},uploadedFile:""}},methods:{handleRestart(){this.$confirm(this.$t("control.restartConfirm"),this.$t("control.restart"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{this.loading.restart=!0;const e=await this.$http.post("/control",{data:{command:0}});200==e.code?(this.loading.restart=!1,this.$message.success(this.$t("control.restartSuccess"))):(this.loading.restart=!1,this.$message.success(this.$t("control.restartFailed")))}).catch(()=>{this.loading.restart=!1})},handleRemoteOpen(){this.$confirm(this.$t("control.openConfirm"),this.$t("control.remoteOpen"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{this.loading.remoteOpen=!0;const e=await this.$http.post("/control",{data:{command:1}});200==e.code?(this.loading.remoteOpen=!1,this.$message.success(this.$t("control.remoteOpenSuccess"))):(this.loading.remoteOpen=!1,this.$message.success(this.$t("control.remoteOpenFailed")))}).catch(()=>{this.loading.remoteOpen=!1})},handleReset(){this.$confirm(this.$t("control.resetConfirm"),this.$t("control.reset"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{this.loading.reset=!0;const e=await this.$http.post("/control",{data:{command:4}});200==e.code?(this.loading.reset=!1,this.$message.success(this.$t("control.resetSuccess"))):(this.loading.reset=!1,this.$message.success(this.$t("control.resetFailed")))}).catch(()=>{this.loading.reset=!1})},handleClick(){this.$refs.upgradeForm&&this.$refs.upgradeForm.clearValidate()},submitUpgrade:P((function(){let e=this;this.$refs.upgradeForm.validate(t=>{t&&this.$confirm(this.$t("control.upgradeConfirm"),this.$t("control.firmwareUpgrade"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"primary"}).then(async()=>{e.loading.upgrade=!0;const t=await e.$http.post("/upgradeFirmware",{data:e.upgradeForm});200==t.code?(e.loading.upgrade=!1,e.$message.success(e.$t("control.upgradeSuccess")),F(e.upgradeForm)):e.$message.error(t.message)}).catch(()=>{e.loading.upgrade=!1})})}),2e3),confirmReset(){},triggerFileUpload(){this.$refs.fileInput.click()},handleFileUpload(e){const t=e.target.files[0];if(!t)return;const i=[".zip",".dpk"],a="."+t.name.split(".").pop().toLowerCase();i.includes(a)?t.size>20971520?this.$message.error(this.$t("control.formatFile")):this.uploadedFile=t:this.$message.error(this.$t("control.formatFile"))},formatFileSize(e){if(0===e)return"0 Bytes";const t=1024,i=["Bytes","KB","MB","GB"],a=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,a)).toFixed(2))+" "+i[a]},clearUpload(){this.uploadedFile=null,this.fileMd5="",this.fileUrl="",this.$refs.fileInput.value=""},async submitFileUpgrade(){if(!this.uploadedFile)return void this.$message.warning("请先选择要上传的文件");if(!this.fileMd5)return void this.$message.warning(this.$t("control.md5Required"));this.loading.fileUpgrade=!0;let e=new FormData;e.append("file",this.uploadedFile),e.append("md5",this.fileMd5);const t=await this.$http.post("/upload",e);200==t.code?(this.loading.fileUpgrade=!1,this.$message.success(this.$t("control.upgradeSuccess")),this.uploadedFile=null,this.fileMd5=""):(this.$message.error(t.message),this.loading.fileUpgrade=!1)}}},L=B,H=(i("29eb"),Object(c["a"])(L,N,O,!1,null,"3c6ad4dc",null)),U=H.exports,q=function(){var e=this,t=e._self._c;return t("el-main",[t("el-row",[t("el-form",{ref:"ruleForm",staticClass:"el-InputForm",attrs:{inline:!0,model:e.searchForm}},[t("el-form-item",{attrs:{label:e.$t("person.userId"),"label-width":"60px"}},[t("el-input",{attrs:{placeholder:e.$t("person.placeholderUserId"),clearable:""},model:{value:e.searchForm.userId,callback:function(t){e.$set(e.searchForm,"userId",t)},expression:"searchForm.userId"}})],1),t("el-form-item",{attrs:{label:e.$t("person.name"),"label-width":"80px"}},[t("el-input",{attrs:{placeholder:e.$t("person.placeholderName"),clearable:""},model:{value:e.searchForm.name,callback:function(t){e.$set(e.searchForm,"name",t)},expression:"searchForm.name"}})],1),t("div",{staticStyle:{position:"absolute",right:"25px",bottom:"25px"}},[t("el-button",{staticStyle:{"margin-left":"10px",border:"none"},attrs:{type:"info",size:"medium",icon:"el-icon-search"},on:{click:e.search}},[e._v(e._s(e.$t("common.query")))]),t("el-button",{staticStyle:{border:"none"},attrs:{type:"warning",size:"medium",icon:"el-icon-refresh-right"},on:{click:e.doReset}},[e._v(e._s(e.$t("common.reset")))])],1)],1),t("el-col",{staticStyle:{margin:"20px 0"},attrs:{span:24}},[t("el-button",{staticStyle:{border:"none"},attrs:{type:"primary",size:"mini",icon:"el-icon-plus"},on:{click:e.doAdd}},[e._v(e._s(e.$t("person.addUser")))]),t("el-button",{staticStyle:{border:"none"},attrs:{type:"warning",size:"mini",icon:"el-icon-delete"},on:{click:e.batchDelete}},[e._v(e._s(e.$t("common.batchDelete")))]),t("el-button",{staticStyle:{border:"none"},attrs:{type:"danger",size:"mini",icon:"el-icon-delete-solid"},on:{click:e.doClear}},[e._v(e._s(e.$t("person.oneClickClear")))])],1),t("AddOrEdit",{ref:"addOrEdit",on:{addOrEditSuccess:e.fetchData}}),t("el-col",{staticStyle:{padding:"0"},attrs:{span:24}},[t("Table",{directives:[{name:"loading",rawName:"v-loading",value:e.isSubmitLoading,expression:"isSubmitLoading"}],attrs:{"table-label":e.tableHeader,"table-data":e.tableData,"table-option":e.tableOption,"table-selection":e.tableSelection},on:{onHandleSelectionChange:e.handleSelectionChange}})],1),t("el-col",{staticStyle:{"text-align":"center"},attrs:{span:24}},[t("Pagination",{ref:"page",attrs:{total:e.total},on:{pageChange:e.pageChange}})],1)],1)],1)},V=[],j=function(){var e=this,t=e._self._c;return t("el-table",{staticClass:"el_tab_alage",attrs:{data:e.tableData,height:e.tableHeight,"show-header":e.showHeader,stripe:"","expand-row-keys":e.expands,"empty-text":e.$t("common.noData"),"header-cell-style":e.cellHeaderStyle,"row-key":e.getRowKeys},on:{"expand-change":e.expandSelect,"cell-click":e.handleCellClick,"selection-change":e.handleSelectionChange}},[!0===e.tableSelection.key&&"radio"===e.tableSelection.type?t("el-table-column",{attrs:{align:"center",width:"50",label:""},scopedSlots:e._u([{key:"default",fn:function(i){return[t("el-radio",{attrs:{label:i.$index},on:{change:function(t){return e.handleTemplateRow(i.$index,i.row)}},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v(" ")])]}}],null,!1,4038266332)}):e._e(),!0===e.tableSelection.key&&"index"===e.tableSelection.type?t("el-table-column",{attrs:{label:"序号",type:"index",width:"50",align:"center"}}):e._e(),!0===e.tableSelection.key&&"selection"===e.tableSelection.type?t("el-table-column",{attrs:{type:"selection",width:"50",align:"center"}}):e._e(),!0===e.tableSelection.key&&"expand"===e.tableSelection.type?t("el-table-column",{attrs:{type:"expand"},scopedSlots:e._u([{key:"default",fn:function(i){return[t("el-form",{staticClass:"demo-table-expand",attrs:{"label-position":"left",inline:""}},e._l(e.tableLabel,(function(a,s){return t("el-form-item",{directives:[{name:"show",rawName:"v-show",value:"expand"===a.type,expression:"index.type === 'expand'"}],key:s,attrs:{label:a.label}},[t("span",[e._v(e._s(i.row[a.list]))])])})),1)]}}],null,!1,3792328e3)}):e._e(),e._l(e.tableLabel,(function(i,a){return["expand"!==i.type?t("el-table-column",{key:a,attrs:{fit:"",align:i.tableAlign?i.tableAlign:"center",sortable:i.sort,label:i.label,width:i.width,"show-overflow-tooltip":"hidden"===i.overflowShow,prop:i.list},scopedSlots:e._u([{key:"default",fn:function(s){return["image"===i.type?[""!==s.row[i.list]?t("el-image",{staticStyle:{width:"100px",height:"50px"},attrs:{src:s.row[i.list]}}):t("div")]:e._e(),"productImage"===i.type?[""!==s.row[i.list]?t("el-image",{staticStyle:{width:"100px",height:"50px"},attrs:{src:e.getProductImageUrl(s.row[i.list])}}):t("div")]:"head"===i.type?[""!==s.row[i.list]&&null!==s.row[i.list]?t("el-image",{staticStyle:{width:"50px",height:"50px"},attrs:{src:s.row[i.list]}}):t("div")]:"btn"===i.type?[t("el-button",{attrs:{type:"text"},nativeOn:{click:function(e){return e.preventDefault(),i.method(s.row,s)}}},[t("u",[e._v(e._s(s.row[i.list]))])])]:"select"===i.type?[t("el-select",{attrs:{size:"medium"},on:{change:function(t){return e.changeType(t,s.row,a)}},model:{value:s.row[i.list],callback:function(t){e.$set(s.row,i.list,t)},expression:"scope.row[index.list]"}},e._l(i.options,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)]:"switch"===i.type?[i.noSwitch(s.row)?t("div",[t("el-switch",{attrs:{"inactive-value":null!==i.offValue?i.offValue:"off","active-value":i.onValue?i.onValue:"on","inactive-text":i.offText?i.offText:"","active-text":i.onText?i.onText:"","inactive-color":i.offColor?i.offColor:"#ff4949","active-color":i.onColor?i.onColor:"#13ce66"},on:{change:function(e){return i.method(s.row,s)}},model:{value:s.row[i.list],callback:function(t){e.$set(s.row,i.list,t)},expression:"scope.row[index.list]"}})],1):e._e()]:"html"===i.type?[t("div",{staticClass:"theHtml",domProps:{innerHTML:e._s(i.code(s.row))}})]:[e._v(" "+e._s(s.row[i.list]?s.row[i.list]:"-")+" ")]]}}],null,!0)}):e._e()]})),void 0!==e.tableOption.value?t("el-table-column",{attrs:{fit:"",align:e.tableOption.align?e.tableOption.align:"center",label:e.tableOption.label,fixed:!!e.tableOption.fixed&&e.tableOption.fixed,width:e.tableOption.width},scopedSlots:e._u([{key:"default",fn:function(i){return[e._l(e.filteredOptions(i.row),(function(a,s){return t("el-button",{key:s,style:a.style?a.style:{},attrs:{disabled:!!a.disabled&&a.disabled(i.row),type:a.type?a.type:"text",plain:!!a.plain&&a.plain,round:!!a.round&&a.round,size:a.size?a.size:"medium",icon:a.icon},nativeOn:{click:function(e){return e.preventDefault(),a.method(i.row,i)}}},[e._v(e._s(a.label)+" ")])})),e.tableOption.isShowMore&&e.tableOption.isShowMore(i.row)?t("el-popover",{attrs:{placement:"top",trigger:"hover"}},[t("div",{staticClass:"popover-content"},e._l(e.filteredPopoverOptions(i.row),(function(a,s){return t("el-button",{key:s,staticClass:"popover-button",style:a.style?a.style:{},attrs:{disabled:!!a.disabled&&a.disabled(i.row),type:a.type?a.type:"info",size:a.size?a.size:"mini"},nativeOn:{click:function(e){return e.preventDefault(),a.method(i.row,i)}}},[e._v(e._s(a.label)+" ")])})),1),t("el-button",{style:e.tableOption.buttonStyle?e.tableOption.buttonStyle:{},attrs:{slot:"reference",type:"text"},slot:"reference"},[e._v(e._s(e.tableOption.buttonText))])],1):e._e()]}}],null,!1,3598671298)}):e._e()],2)},W=[],K={data(){return{radio:"",cellHeaderStyle:{fontSize:"16px",color:"#606266"},expands:[],getRowKeys(e){return e.id}}},props:{tableData:{type:Array,default:()=>{}},tableHeight:{type:Number,default:()=>null},showHeader:{type:Boolean,default:()=>!0},tableSelection:{type:Object,default:()=>({key:!1,type:"",detaile:!1})},tableLabel:{type:Array,default:()=>{}},tableOption:{type:Object,default:()=>({value:void 0})}},methods:{handleSelectionChange(e){this.$emit("onHandleSelectionChange",e)},handleTemplateRow(e,t){this.$emit("onHandleTemplateRow",t)},changeType(e,t){this.$emit("onChangeType",e,t)},expandSelect(e,t){const i=this;t.length?(i.expands=[],e&&i.expands.push(e.id)):i.expands=[]},handleCellClick(e,t){this.$emit("onHandleCellClick",e,t)},getProductImageUrl(e){return Object({NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_BASE_API+"saas/sysadmin/product/download/id?id="+e},filteredOptions(e){return this.tableOption.options?this.tableOption.options.filter(t=>!t.show||t.show(e)):[]},filteredPopoverOptions(e){return this.tableOption.popoverOptions?this.tableOption.popoverOptions.filter(t=>!t.show||t.show(e)):[]}}},G=K,Z=Object(c["a"])(G,j,W,!1,null,null,null),J=Z.exports,Q=function(){var e=this,t=e._self._c;return t("div",{staticClass:"pagination"},[t("el-pagination",{attrs:{"current-page":e.page.page,"page-sizes":e.pageSizes,"page-size":e.page.limit,layout:"total, sizes, prev, pager, next, jumper",total:e.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)},Y=[],X={props:{total:{type:Number,default:()=>{}},pageSizes:{type:Array,default:()=>[5,10,20,100]}},data(){return{page:{page:1,limit:20}}},methods:{Page(e){this.page.page=e},handleSizeChange(e){this.page.limit=e,this.$emit("pageChange",this.page)},handleCurrentChange(e){this.page.page=e,this.$emit("pageChange",this.page)}}},ee=X,te=(i("2c22"),Object(c["a"])(ee,Q,Y,!1,null,"319c01ca",null)),ie=te.exports,ae=function(){var e=this,t=e._self._c;return t("div",[t("el-drawer",{attrs:{size:"50%","with-header":!1,visible:e.visible,"before-close":e.handleAddClose},on:{"update:visible":function(t){e.visible=t}}},[t("div",{staticClass:"config-tabs"},[t("el-menu",{staticClass:"quanxian-menu",attrs:{"default-active":e.activeTab,mode:"horizontal"}},[t("el-menu-item",{attrs:{index:"info"},on:{click:function(t){e.activeTab="info"}}},[e._v(e._s(e.$t("person.user")))]),t("el-menu-item",{attrs:{index:"vourcher"},on:{click:function(t){e.activeTab="vourcher"}}},[e._v(e._s(e.$t("person.voucher")))]),t("el-menu-item",{attrs:{index:"permission"},on:{click:function(t){e.activeTab="permission"}}},[e._v(e._s(e.$t("person.permission")))])],1),t("el-scrollbar",[t("div",{staticStyle:{padding:"20px"}},[t(e.currentComponent,{key:e.componentKey,tag:"component",attrs:{"form-data":e.form,"add-or-edit-type":e.addOrEditType,"fingerprint-enabled":e.fingerprintEnabled},on:{"close-drawer":e.handleAddClose,"operation-success":e.operationSuccess}})],1)])],1)])],1)},se=[],re=function(){var e=this,t=e._self._c;return t("div",[t("el-form",{ref:"localForm",staticStyle:{width:"90%",margin:"0 auto"},attrs:{model:e.localForm,"label-width":"100px",rules:e.rules}},["edit"==e.addOrEditType?t("el-form-item",{attrs:{label:e.$t("person.userId")}},[t("el-input",{attrs:{disabled:!0,placeholder:e.$t("common.placeholder")},model:{value:e.localForm.userId,callback:function(t){e.$set(e.localForm,"userId",t)},expression:"localForm.userId"}})],1):e._e(),t("el-form-item",{attrs:{label:e.$t("person.name"),prop:"name"}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder")},model:{value:e.localForm.name,callback:function(t){e.$set(e.localForm,"name",t)},expression:"localForm.name"}})],1),t("el-form-item",{attrs:{label:e.$t("person.idCard")}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder")},model:{value:e.localForm.idCard,callback:function(t){e.$set(e.localForm,"idCard",t)},expression:"localForm.idCard"}})],1),t("el-form-item",{attrs:{label:e.$t("person.userType")}},[t("el-checkbox",{model:{value:e.localForm.type,callback:function(t){e.$set(e.localForm,"type",t)},expression:"localForm.type"}},[e._v(e._s(e.$t("person.administrator")))])],1)],1),t("div",{staticClass:"dialog-footer"},[t("el-button",{attrs:{type:"warning"},on:{click:function(t){return e.handleAddClose()}}},[e._v(e._s(e.$t("common.cancel")))]),t("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.updata()}}},[e._v(e._s(e.$t("common.confirm")))])],1)],1)},oe=[],ne={props:{formData:{type:Object,default:()=>({})},addOrEditType:{type:String,default:"add"}},data(){return{localForm:{userId:"",name:"",type:!1,idCard:"",permissionIds:""},localFormCopy:{},rules:{name:[{required:!0,message:this.$t("common.placeholder"),trigger:["blur"]}],userId:[{required:!0,message:this.$t("common.placeholder"),trigger:["blur"]}]}}},created(){"edit"==this.addOrEditType&&this.getUser(),this.localFormCopy={...this.localForm}},mounted(){},methods:{async getUser(){try{let e={userId:this.formData.userId,page:0,size:99};const t=await this.$http.post("/getUser",{data:e});if(200==t.code){console.log(t);let{userId:e,name:i,extra:a,permissionIds:s}=t.data.content[0],{type:r,idCard:o}=JSON.parse(a);this.localForm.userId=e,this.localForm.name=i,this.localForm.type=1==r,this.localForm.idCard=o,this.localForm.permissionIds=s}else this.$message.error(t.message)}catch(e){console.log(e)}},handleAddClose(){this.$emit("close-drawer",!1)},updata:P((function(){let e={name:this.localForm.name,extra:{type:this.localForm.type?1:0,idCard:this.localForm.idCard}};this.localForm.permissionIds&&(e.permissionIds=this.localForm.permissionIds.split(",")),this.$refs["localForm"].validate(async t=>{if(t)if("add"==this.addOrEditType){e.userId=A();const t=await this.$http.post("/insertUser",{data:[e]});200==t.code?(this.$message.success(this.$t("common.addSuccess")),this.$emit("operation-success",{...e,permissionIds:e.permissionIds?e.permissionIds.join(","):""})):t.data&&t.data[0]&&this.$message.error(t.data[0].errmsg)}else{e.userId=this.localForm.userId;const t=await this.$http.post("/modifyUser",{data:[e]});200==t.code?(this.$message.success(this.$t("common.editSuccess")),this.$emit("operation-success",{...e,permissionIds:e.permissionIds?e.permissionIds.join(","):""})):t.data&&t.data[0]&&this.$message.error(t.data[0].errmsg)}})}),2e3)}},ce=ne,le=Object(c["a"])(ce,re,oe,!1,null,null,null),de=le.exports,me=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"drawContent"},[t("el-tabs",{staticClass:"voucher-tabs",model:{value:e.activeTab,callback:function(t){e.activeTab=t},expression:"activeTab"}},[t("el-tab-pane",{attrs:{name:"password",label:e.$t("voucher.password")}},[t("div",{staticClass:"tab-content"},[t("el-form",{ref:"passwordForm",attrs:{model:e.form,rules:e.rules}},[t("el-form-item",{attrs:{prop:"password"}},[t("el-input",{attrs:{type:"text",placeholder:e.$t("voucher.validPassword"),maxlength:"6","show-word-limit":"",clearable:""},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password",t)},expression:"form.password"}})],1)],1)],1)]),t("el-tab-pane",{attrs:{name:"card",label:e.$t("voucher.card")}},[t("div",{staticClass:"tab-content"},[t("el-form",{ref:"cardForm",attrs:{model:e.form,rules:e.rules}},[t("el-form-item",{attrs:{prop:"card"}},[t("el-input",{attrs:{placeholder:e.$t("voucher.validCard"),clearable:""},model:{value:e.form.card,callback:function(t){e.$set(e.form,"card",t)},expression:"form.card"}})],1)],1)],1)]),t("el-tab-pane",{attrs:{name:"face",label:e.$t("voucher.face")}},[t("div",{staticClass:"tab-content face-tab"},[t("div",{staticClass:"register-type-selector"},[t("el-radio-group",{on:{change:e.handleRegisterTypeChange},model:{value:e.faceType,callback:function(t){e.faceType=t},expression:"faceType"}},[t("el-radio-button",{attrs:{label:0}},[e._v(e._s(e.$t("voucher.photoRegistration")))]),t("el-radio-button",{attrs:{label:1}},[e._v(e._s(e.$t("voucher.featureValueRegistration")))])],1)],1),0==e.faceType?t("div",{staticClass:"photo-register"},[t("div",{staticClass:"upload-area"},[t("el-upload",{staticClass:"avatar-uploader",attrs:{action:"#","show-file-list":!1,accept:".jpg,.jpeg","on-change":e.handleUploadChange,"auto-upload":!1}},[e.faceImage?t("img",{staticClass:"avatar",attrs:{src:e.faceImage}}):t("i",{staticClass:"el-icon-plus avatar-uploader-icon"}),e.faceImage?t("el-button",{staticClass:"clear-btn",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(t){return t.stopPropagation(),e.clearImage.apply(null,arguments)}}}):e._e()],1)],1)]):e._e(),1==e.faceType?t("div",{staticClass:"feature-register"},[t("div",{staticClass:"feature-input-area"},[t("el-input",{staticClass:"feature-textarea",attrs:{type:"textarea",clearable:"",rows:6,placeholder:e.$t("common.placeholder")},model:{value:e.faceFeature,callback:function(t){e.faceFeature=t},expression:"faceFeature"}})],1)]):e._e()])]),e.fingerprintEnabled?t("el-tab-pane",{attrs:{name:"fingerprint",label:e.$t("voucher.finger")}},[t("div",{staticClass:"tab-content fingerprint-tab"},[t("div",{staticClass:"register-type-selector"},[t("el-radio-group",{on:{change:e.handleFingerprintTypeChange},model:{value:e.fingerprintType,callback:function(t){e.fingerprintType=t},expression:"fingerprintType"}},[t("el-radio-button",{attrs:{label:0}},[e._v(e._s(e.$t("voucher.fingerRegistration")))]),t("el-radio-button",{attrs:{label:1}},[e._v(e._s(e.$t("voucher.fingerFeatureRegistration")))])],1)],1),0==e.fingerprintType?t("div",{staticClass:"fingerprint-capture"},[t("div",{staticClass:"capture-area"},[t("div",{staticClass:"fingerprint-status"},[t("i",{staticClass:"status-icon",class:e.fingerprintStatusIcon}),t("p",{staticClass:"status-text"},[e._v(e._s(e.fingerprintStatusText))])]),t("el-button",{attrs:{type:"primary",loading:e.fingerprintLoading,disabled:e.fingerprintLoading},on:{click:e.enrollFinger}},[e._v(" "+e._s(e.fingerprintLoading?e.$t("voucher.fingerInputting"):e.hasFingerprint?e.$t("voucher.fingerReInput"):e.$t("voucher.startFingerInput"))+" ")]),e.fingerprintLoading?t("div",{staticClass:"capture-tips"},[t("p",[e._v(e._s(e.$t("voucher.fingerInput")))]),t("p",{staticClass:"timeout-text"},[e._v(e._s(e.$t("voucher.fingerRemainingTime"))+": "+e._s(e.fingerprintTimeout)+"S")])]):e._e()],1)]):e._e(),1==e.fingerprintType?t("div",{staticClass:"feature-register"},[t("div",{staticClass:"feature-input-area"},[t("el-input",{staticClass:"feature-textarea",attrs:{type:"textarea",clearable:"",rows:6,placeholder:e.$t("voucher.fingerInputTips")},model:{value:e.fingerprintFeature,callback:function(t){e.fingerprintFeature=t},expression:"fingerprintFeature"}})],1)]):e._e()])]):e._e()],1)],1),t("div",{staticClass:"dialog-footer"},[t("el-button",{attrs:{type:"warning"},on:{click:e.handleAddClose}},[e._v(" "+e._s(e.$t("common.cancel"))+" ")]),t("el-button",{attrs:{type:"primary",loading:e.isLoading,disabled:e.isLoading},on:{click:e.addConfirm}},[e._v(" "+e._s(e.$t("common.confirm"))+" ")])],1)])},ue=[],ge={props:{formData:{type:Object,default:()=>({})},addOrEditType:{type:String,default:"add"},fingerprintEnabled:{type:Boolean,default:!0}},watch:{fingerprintEnabled(){this.ensureFingerprintTabVisible()}},data(){return{visible:!1,userId:"",name:"",form:{password:"",card:"",face:"",fingerprint:"",oldPassword:"",oldCard:"",oldFace:"",oldFingerprint:""},keyId:{password:"",card:"",face:"",fingerprint:""},rules:{password:[{message:this.$t("voucher.validPassword"),trigger:["blur"],pattern:/^\d{6}$/}],card:[{message:this.$t("voucher.validCard"),trigger:["blur"],pattern:/^[0-9a-zA-Z]+$/}]},isLoading:!1,activeTab:"password",faceType:0,faceImage:"",faceFeature:"",originalFaceData:null,fingerprintType:0,fingerprintFeature:"",fingerprintLoading:!1,fingerprintTimeout:60,fingerprintTimer:null,fingerprintPollTimer:null,fingerprintStatusText:"等待录入",fingerprintStatusIcon:"el-icon-fingerprint",originalFingerprintData:null,hasFingerprint:!1}},created(){this.initialForm=JSON.parse(JSON.stringify(this.form)),this.initialKeyId=JSON.parse(JSON.stringify(this.keyId)),this.userId=this.formData.userId,this.getVoucher(),this.ensureFingerprintTabVisible()},beforeDestroy(){this.interruptFinger(),this.clearFingerprintTimers()},methods:{hasModelPermission(e){let t=sessionStorage.getItem("publicConfig"),{model:i}=t?JSON.parse(t):{};return Array.isArray(e)?e.includes(i):e===i},async getVoucher(){let e={page:0,size:100,userId:this.userId};try{const t=await this.$http.post("/getKey",{data:e});if(200==t.code){console.log(t);let e=t.data.content,i=e.filter(e=>200==e.type)[0];i?(this.form.card=i.code,this.form.oldCard=i.code,this.keyId.card=i.keyId):this.keyId.card="";let a=e.filter(e=>300==e.type)[0];if(a){let e=a.extra?JSON.parse(a.extra).faceType:0;this.originalFaceData={keyId:a.keyId,code:a.code,faceType:e},a.extra&&(0==e?this.faceImage="data:image/jpeg;base64,"+a.code:1==e&&(this.faceFeature=a.code),this.faceType=e),this.form.face=a.code,this.form.oldFace=a.code,this.keyId.face=a.keyId}else this.keyId.face="",this.originalFaceData=null;let s=e.filter(e=>400==e.type)[0];s?(this.form.password=s.code,this.form.oldPassword=s.code,this.keyId.password=s.keyId):this.keyId.password="";let r=e.filter(e=>500==e.type)[0];if(r){let e=r.extra?JSON.parse(r.extra).fingerprintType:0;this.originalFingerprintData={keyId:r.keyId,code:r.code,fingerprintType:e},this.fingerprintType=0,this.hasFingerprint=!0,r.extra&&1==e&&(this.fingerprintFeature=r.code),this.form.fingerprint=r.code,this.form.oldFingerprint=r.code,this.keyId.fingerprint=r.keyId,this.fingerprintStatusText=this.$t("voucher.fingerInputed"),this.fingerprintStatusIcon="el-icon-success"}else this.keyId.fingerprint="",this.originalFingerprintData=null,this.hasFingerprint=!1,this.fingerprintStatusText=this.$t("voucher.fingerWaitInput"),this.fingerprintStatusIcon="el-icon-fingerprint"}else this.$message.error(t.message)}catch(t){console.log(t)}},ensureFingerprintTabVisible(){this.fingerprintEnabled||"fingerprint"!==this.activeTab||(this.activeTab="password")},handleRegisterTypeChange(e){console.log("切换注册方式:",e)},handleFingerprintTypeChange(e){console.log("切换指纹注册方式:",e),this.clearFingerprintTimers(),0===e?(this.fingerprintStatusText=this.hasFingerprint?this.$t("voucher.fingerInputed"):this.$t("voucher.fingerWaitInput"),this.fingerprintStatusIcon=this.hasFingerprint?"el-icon-success":"el-icon-fingerprint"):(this.fingerprintStatusText=this.$t("voucher.fingerWaitInput"),this.fingerprintStatusIcon="el-icon-fingerprint")},clearFingerprintTimers(){this.fingerprintTimer&&(clearInterval(this.fingerprintTimer),this.fingerprintTimer=null),this.fingerprintPollTimer&&(clearInterval(this.fingerprintPollTimer),this.fingerprintPollTimer=null)},async enrollFinger(){if(this.fingerprintEnabled){if(!this.userId)return this.$message.error(this.$t("person.userNotExist")),!1;this.fingerprintLoading=!0,this.fingerprintTimeout=60,this.fingerprintStatusText=this.$t("voucher.fingerInputNow"),this.fingerprintStatusIcon="el-icon-loading";try{const e=await this.$http.post("/control",{data:{command:12,extra:{userId:this.userId,fingerprintAction:0}}});if(200!==e.code)return this.$message.error(e.message||this.$t("voucher.fingerInputFailed")),void this.resetFingerprintStatus();this.fingerprintTimer=setInterval(()=>{this.fingerprintTimeout--,this.fingerprintTimeout<=0&&this.handleFingerprintTimeout()},1e3),this.fingerprintPollTimer=setInterval(async()=>{await this.checkFingerprintResult()},500)}catch(e){console.error("指纹录入失败:",e),this.$message.error(this.$t("voucher.fingerReTry")),this.resetFingerprintStatus()}}else this.$message.warning("当前设备不支持指纹操作")},async interruptFinger(){if(this.fingerprintLoading)try{await this.$http.post("/control",{data:{command:12,extra:{fingerprintAction:1}}})}catch(e){console.error("中断指纹采集失败:",e)}finally{this.fingerprintLoading=!1,this.clearFingerprintTimers()}},async checkFingerprintResult(){try{const e=await this.$http.post("/getFingerChar",{data:{userId:this.userId}});if(200===e.code&&e.data&&"string"==typeof e.data.ret){const t=e.data.ret;this.form.fingerprint=t,this.fingerprintFeature=t,this.fingerprintStatusText=this.$t("voucher.fingerInputSuccess"),this.fingerprintStatusIcon="el-icon-success",this.$message.success(this.$t("voucher.fingerFilled")),this.resetFingerprintStatus(!1),this.hasFingerprint=!0,this.fingerprintType=1}else 200===e.code&&e.data&&-1==e.data.ret&&(this.$message.error(this.$t("voucher.fingerFailed")),this.handleFingerprintError())}catch(e){console.error("查询指纹结果失败:",e)}},handleFingerprintTimeout(){this.$message.error(this.$t("voucher.fingerInputTimeout")),this.fingerprintStatusText=this.$t("voucher.fingerTimeout"),this.fingerprintStatusIcon="el-icon-error",this.resetFingerprintStatus()},handleFingerprintError(){this.$message.error(this.$t("voucher.fingerInputError")),this.fingerprintStatusText=this.$t("voucher.fingerError"),this.fingerprintStatusIcon="el-icon-error",this.resetFingerprintStatus()},resetFingerprintStatus(e=!0){this.fingerprintLoading=!1,this.clearFingerprintTimers(),e&&setTimeout(()=>{this.fingerprintStatusText=this.hasFingerprint?this.$t("voucher.fingerInputed"):this.$t("voucher.fingerWaitInput"),this.fingerprintStatusIcon=this.hasFingerprint?"el-icon-success":"el-icon-fingerprint"},2e3)},clearImage(){this.faceImage="",this.form.face=""},handleUploadChange(e){const t=new FileReader;t.onload=e=>{console.log(e);let t=e.target.result;this.faceImage=t,this.form.face=t.split(",").pop()},t.readAsDataURL(e.raw)},addConfirm:P((async function(){if(!this.isLoading)try{"face"===this.activeTab&&1===this.faceType&&(this.form.face=this.faceFeature),"fingerprint"===this.activeTab&&1===this.fingerprintType&&(this.form.fingerprint=this.fingerprintFeature),await this.$refs.passwordForm.validate(),await this.$refs.cardForm.validate(),this.submitData()}catch(e){console.log(e)}}),2e3),handleAddClose(){this.interruptFinger(),this.clearFingerprintTimers(),this.$emit("close-drawer",!1)},async submitData(){this.isLoading=!0;try{if(!this.userId)return this.$message.error(this.$t("person.userNotExist")),!1;let e=[],t=[],i=[];if(this.processPasswordVoucher(e,t,i),this.processCardVoucher(e,t,i),this.processFaceVoucher(e,t,i),this.fingerprintEnabled&&this.processFingerprintVoucher(e,t,i),e.length){const t=await this.$http.post("/insertKey",{data:e});200==t.code?(this.$message.success(this.$t("common.saveSuccess")),this.getVoucher()):t.data&&t.data[0]&&this.$message.error(t.data[0].errmsg)}if(t.length){const e=await this.$http.post("/modifyKey",{data:t});200==e.code?(this.$message.success(this.$t("common.saveSuccess")),this.getVoucher()):e.data&&e.data[0]&&this.$message.error(e.data[0].errmsg)}if(i.length){const e=await this.$http.post("/delKey",{data:{keyIds:i}});200==e.code?(this.$message.success(this.$t("common.saveSuccess")),this.getVoucher()):e.data&&e.data[0]&&this.$message.error(e.data[0].errmsg)}e.length||t.length||i.length||this.$message.info(this.$t("common.noDataSaved"))}catch(e){console.error("submitData error:",e)}finally{this.isLoading=!1}},processPasswordVoucher(e,t,i){if(this.keyId.password)this.form.password?this.form.password!==this.form.oldPassword&&t.push({keyId:this.keyId.password,userId:this.userId,type:"400",code:this.form.password}):i.push(this.keyId.password);else{if(!this.form.password)return;e.push({keyId:A(),userId:this.userId,type:"400",code:this.form.password})}},processCardVoucher(e,t,i){if(this.keyId.card)this.form.card?this.form.card!==this.form.oldCard&&t.push({keyId:this.keyId.card,userId:this.userId,type:"200",code:this.form.card}):i.push(this.keyId.card);else{if(!this.form.card)return;e.push({keyId:A(),userId:this.userId,type:"200",code:this.form.card})}},processFaceVoucher(e,t,i){const a=null!==this.originalFaceData;if(a){const e=this.form.face!==this.form.oldFace||this.faceType!==this.originalFaceData.faceType;e&&(this.form.face?t.push({keyId:this.keyId.face,userId:this.userId,type:"300",code:this.form.face,extra:{faceType:this.faceType}}):i.push(this.keyId.face))}else{if(!this.form.face)return;e.push({keyId:A(),userId:this.userId,type:"300",code:this.form.face,extra:{faceType:this.faceType}})}},processFingerprintVoucher(e,t,i){const a=null!==this.originalFingerprintData;if(a){let e=this.fingerprintType;0===this.fingerprintType&&this.form.fingerprint===this.form.oldFingerprint&&(e=this.originalFingerprintData.fingerprintType);const a=this.form.fingerprint!==this.form.oldFingerprint||e!==this.originalFingerprintData.fingerprintType;a&&(this.form.fingerprint?t.push({keyId:this.keyId.fingerprint,userId:this.userId,type:"500",code:this.form.fingerprint,extra:{fingerprintType:e}}):i.push(this.keyId.fingerprint))}else{if(!this.form.fingerprint)return;e.push({keyId:A(),userId:this.userId,type:"500",code:this.form.fingerprint,extra:{fingerprintType:this.fingerprintType}})}}}},pe=ge,fe=(i("789c"),Object(c["a"])(pe,me,ue,!1,null,"5bda693e",null)),he=fe.exports,ve=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticStyle:{position:"absolute",right:"25px",top:"65px"}},[t("el-button",{staticStyle:{border:"none"},attrs:{type:"primary",size:"medium",icon:"el-icon-plus"},on:{click:e.openTimeDialog}},[e._v(e._s(e.$t("permission.addPermission")))])],1),t("div",{staticStyle:{"margin-top":"150px"}},[t("Table",{attrs:{"table-label":e.tableHeader,"table-data":e.tableData,"table-option":e.tableOption}})],1),t("div",{staticClass:"dialog-footer",staticStyle:{"margin-top":"50px"}},[t("el-button",{attrs:{type:"warning"},on:{click:e.doClose}},[e._v(e._s(e.$t("common.close")))])],1),t("el-dialog",{staticClass:"time-range-dialog",attrs:{title:e.$t("permission.timeRange"),"append-to-body":"","modal-append-to-body":"",visible:e.timeVisible,width:"800px","before-close":e.handleClose},on:{"update:visible":function(t){e.timeVisible=t}}},[t("el-form",{staticStyle:{width:"80%",margin:"0 auto"},attrs:{"label-position":"right"}},[t("el-form-item",[t("div",[e._v(" "+e._s(e.$t("permission.effectiveType")))]),t("el-radio",{attrs:{label:0},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v(e._s(e.$t("permission.unlimitedMode")))]),t("el-radio",{attrs:{label:1},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v(e._s(e.$t("permission.usualMode")))]),t("el-radio",{attrs:{label:2},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v(e._s(e.$t("permission.dailyMode")))]),t("el-radio",{attrs:{label:3},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v(e._s(e.$t("permission.weeklyRepetitionMode")))])],1),1===e.radio?t("el-form-item",[t("div",[e._v(e._s(e.$t("permission.effectiveTime")))]),t("el-date-picker",{attrs:{clearable:!1,"value-format":"timestamp","default-time":["00:00:00","23:59:59"],type:"datetimerange","range-separator":e.$t("common.to"),"start-placeholder":e.$t("common.startDate"),"end-placeholder":e.$t("common.endDate")},model:{value:e.dateTimes,callback:function(t){e.dateTimes=t},expression:"dateTimes"}})],1):e._e(),2===e.radio||3==e.radio?t("el-form-item",[t("div",[e._v(e._s(e.$t("permission.effectiveTime")))]),t("el-date-picker",{staticStyle:{width:"400px"},attrs:{"value-format":"timestamp","default-time":["00:00:00","23:59:59"],clearable:!1,type:"datetimerange","range-separator":e.$t("common.to"),"start-placeholder":e.$t("common.startDate"),"end-placeholder":e.$t("common.endDate")},model:{value:e.dateTimes,callback:function(t){e.dateTimes=t},expression:"dateTimes"}}),t("div",{staticStyle:{"margin-top":"30px"}},[e._v(e._s(e.$t("permission.effectiveWeek")))]),2==e.radio?t("el-row",{staticClass:"the-week-box"},[t("el-col",{attrs:{span:24}},[t("div",{on:{click:function(t){return e.goSetTime(e.dayInfo)}}},[t("el-col",{attrs:{span:3}},[e._v(e._s(e.$t("permission.time_range")))]),t("el-col",{attrs:{span:20}},[e._v(e._s(e.dayInfo.timeArr?e.dayInfo.timeArr:"-"))]),t("el-col",{attrs:{span:1}},[t("img",{attrs:{src:i("5712"),alt:""}})])],1)])],1):e._e(),3==e.radio?t("el-row",{staticClass:"the-week-box"},e._l(e.weeks,(function(a){return t("el-col",{key:a.id,attrs:{span:24}},[t("div",{on:{click:function(t){return e.goSetTime(a)}}},[t("el-col",{attrs:{span:3}},[e._v(e._s(a.label))]),t("el-col",{attrs:{span:20}},[e._v(e._s(a.timeArr?a.timeArr:"-"))]),t("el-col",{attrs:{span:1}},[t("img",{attrs:{src:i("5712"),alt:""}})])],1)])})),1):e._e()],1):e._e()],1),t("div",{staticClass:"dialog-footer"},[t("el-button",{staticStyle:{color:"#1D2129"},on:{click:e.handleClose}},[e._v(e._s(e.$t("common.cancel")))]),t("el-button",{attrs:{type:"primary"},on:{click:e.doSubmit}},[e._v(e._s(e.$t("common.confirm")))])],1)],1),t("el-dialog",{attrs:{"append-to-body":"","modal-append-to-body":"",title:e.title,visible:e.timeAreaVisible,width:"500px","before-close":e.cancelTimeAdd},on:{"update:visible":function(t){e.timeAreaVisible=t}}},[t("el-form",{attrs:{"label-position":"right","label-width":"30px"}},[t("div",[e._v(e._s(e.$t("permission.timePeriod"))+" "),t("el-button",{staticStyle:{float:"right"},attrs:{type:"success",disabled:e.timeArr.length>=5,size:"mini",icon:"el-icon-s-grid"},on:{click:e.addTime}},[e._v(e._s(e.$t("permission.addTimePeriod")))])],1),e._l(e.timeArr,(function(i,a){return t("el-form-item",{key:a,attrs:{label:a+1+""}},[t("el-time-picker",{key:a,staticStyle:{width:"75%"},attrs:{"data-num":a,"default-value":["00:00","23:59"],clearable:!1,size:"mini","is-range":"","value-format":"HH:mm",format:"HH:mm","range-separator":e.$t("common.to"),"start-placeholder":e.$t("common.startTime"),"end-placeholder":e.$t("common.endTime"),placeholder:e.$t("placeholder.placeholder_choose_time_priod")},on:{focus:e.onTimePicker,change:e.theTimeChange},model:{value:i.theTime,callback:function(t){e.$set(i,"theTime",t)},expression:"item.theTime"}}),t("el-button",{staticStyle:{"margin-left":"20px"},attrs:{type:"text",icon:"el-icon-circle-close"},on:{click:function(t){return t.preventDefault(),e.removeTime(a)}}},[e._v(e._s(e.$t("common.delete")))])],1)}))],2),t("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{staticStyle:{color:"#1D2129"},on:{click:e.cancelTimeAdd}},[e._v(e._s(e.$t("common.cancel")))]),t("el-button",{attrs:{type:"primary"},on:{click:e.confirmTimeAdd}},[e._v(e._s(e.$t("common.confirm")))])],1)],1)],1)},be=[],ye=(i("792b"),{props:{formData:{type:Object,default:()=>({})},addOrEditType:{type:String,default:"add"}},components:{Table:J},data(){return{localForm:{},permissionIds:[],curPermissionId:"",tableHeader:[{label:this.$t("permission.permissionId"),list:"permissionId",overflowShow:"hidden",width:"150px"},{label:this.$t("permission.effectiveType"),type:"html",overflowShow:"hidden",width:"100px",code:e=>{let t=e.time.type;switch(t){case 0:return this.$t("permission.unlimitedMode");case 1:return this.$t("permission.usualMode");case 2:return this.$t("permission.dailyMode");case 3:return this.$t("permission.weeklyRepetitionMode")}}},{label:this.$t("permission.effectiveTime"),type:"html",overflowShow:"hidden",code:e=>{let t=e.time.type;if(0==t)return"-";{let{beginTime:t,endTime:i}=e.time.range;return`${I(1e3*t)} ~ ${I(1e3*i)}`}}},{label:this.$t("permission.effectiveWeek"),type:"html",overflowShow:"hidden",code:e=>{let t=e.time.type;switch(t){case 0:return"-";case 1:return"-";case 2:{let t=e.time.dayPeriodTime,i=t.split("|");return 0===i.length?"-":(i=i.map(e=>`<div>${e}<div>`),i.join(""))}case 3:{let t=e.time.weekPeriodTime;const i=[this.$t("common.monday"),this.$t("common.tuseday"),this.$t("common.wednesday"),this.$t("common.thursday"),this.$t("common.friday"),this.$t("common.saterday"),this.$t("common.sunday")];let a=[];for(let e=1;e<=7;e++){const s=String(e);t[s]&&a.push(`${i[e-1]}: ${t[s]}`)}return 0===a.length?"-":(a=a.map(e=>`<div>${e}<div>`),a.join(""))}default:break}}}],tableOption:{label:this.$t("common.operation"),width:"100px",value:0,options:[{label:this.$t("common.edit"),key:1,type:"text",State:!0,method:e=>{this.operationType="edit",this.handleEdit({...e})}},{label:this.$t("common.delete"),key:1,type:"text",State:!0,method:e=>{this.handleDelete(e.permissionId)}}]},tableData:[],timeRange:["00:00","23:59"],visible:!1,timeVisible:!1,timeAreaVisible:!1,chooseWeeks:[],radio:0,title:"",currentId:"",dateTimes:[],times:[],nowTimeVal:[],nowTimeIndex:9,count:"",timeType:"day",dayInfo:{timeArr:""},initWeeks:[{label:this.$t("common.monday"),id:"1",timeArr:""},{label:this.$t("common.tuseday"),id:"2",timeArr:""},{label:this.$t("common.wednesday"),id:"3",timeArr:""},{label:this.$t("common.thursday"),id:"4",timeArr:""},{label:this.$t("common.friday"),id:"5",timeArr:""},{label:this.$t("common.saterday"),id:"6",timeArr:""},{label:this.$t("common.sunday"),id:"7",timeArr:""}],weeks:[],timeArr:[],operationType:"add"}},created(){this.weeks=[...this.initWeeks],this.getUser()},mounted(){},methods:{openTimeDialog(){this.timeVisible=!0,this.operationType="add"},handleClose(){this.weeks=[...this.initWeeks],this.chooseWeeks.splice(0),this.radio=0,this.dateTimes.splice(0),this.times.splice(0),this.timeVisible=!1},doClose(){this.$emit("close-drawer",!1)},async getUser(){try{let e={userId:this.formData.userId,page:0,size:99};const t=await this.$http.post("/getUser",{data:e});if(200==t.code){console.log(t);let{userId:e,name:i,extra:a,permissionIds:s}=t.data.content[0];this.localForm.userId=e,this.localForm.name=i,this.localForm.extra=a?JSON.parse(a):"",this.permissionIds=s?s.split(","):[],this.getPermission()}else this.$message.error(t.message)}catch(e){console.log(e)}},getPermission(){let e=this;this.tableData=[],this.permissionIds&&this.permissionIds.forEach(async t=>{let i={page:0,size:100,permissionId:t};try{const t=await e.$http.post("/getPermission",{data:i});200==t.code?e.tableData=e.tableData.concat(t.data.content):e.$message.error(t.message)}catch(a){console.log(a)}})},handleEdit(e){if(console.log(e),this.curPermissionId=e.permissionId,this.radio=e.time.type,0!=e.time.type){let{beginTime:t,endTime:i}=e.time.range;this.dateTimes=[1e3*t,1e3*i]}if(2==e.time.type&&(this.dayInfo.timeArr=e.time.dayPeriodTime),3==e.time.type){let t=e.time.weekPeriodTime;this.weeks=this.initWeeks.map(e=>({...e,timeArr:t[e.id]||""}))}this.timeVisible=!0},handleDelete(e){let t=this;this.$confirm(this.$t("common.deleteTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{try{const i=await t.$http.post("delPermission",{data:{permissionIds:[e]}});200==i.code?(t.$message.success(this.$t("common.deleteSuccess")),t.updatePerson("delete",e)):t.$message.error(i.message)}catch(i){console.log(i)}}).catch(()=>{})},handleAddClose(){this.$emit("close-drawer",!1)},async doSubmit(){if(!this.formData.userId)return this.$message.error(this.$t("person.userNotExist")),!1;const e=this;let t={time:{type:this.radio}};switch(e.radio){case 1:if(!e.dateTimes.length)return e.$message.warning(this.$t("permission.choose_time_range")),!1;t.time.range={beginTime:new Date(e.dateTimes[0]).getTime()/1e3,endTime:new Date(e.dateTimes[1]).getTime()/1e3},console.log(t);break;case 2:if(0===e.dateTimes.length)return e.$message.warning(this.$t("power.choose_time_range")),!1;t.time.range={beginTime:new Date(e.dateTimes[0]).getTime()/1e3,endTime:new Date(e.dateTimes[1]).getTime()/1e3},t.time.dayPeriodTime=e.dayInfo.timeArr,console.log(t);break;case 3:{if(0===e.dateTimes.length)return e.$message.warning(this.$t("power.choose_time_range")),!1;t.time.range={beginTime:new Date(e.dateTimes[0]).getTime()/1e3,endTime:new Date(e.dateTimes[1]).getTime()/1e3};let i={};this.weeks.forEach(e=>{null!==e&&void 0!==e&&e.timeArr&&(i[e.id]=e.timeArr)}),t.time.weekPeriodTime=i,console.log(t);break}}if("add"==this.operationType)try{t.permissionId=A();const e=await this.$http.post("/insertPermission",{data:[t]});200==e.code?(this.$message.success(this.$t("common.addSuccess")),this.timeVisible=!1,this.updatePerson("add",t.permissionId)):e.data&&e.data[0]&&this.$message.error(e.data[0].errmsg)}catch(i){console.log(i)}else if("edit"==this.operationType)try{t.permissionId=this.curPermissionId;const e=await this.$http.post("/modifyPermission",{data:[t]});200==e.code?(this.$message.success(this.$t("common.editSuccess")),this.timeVisible=!1,this.getPermission()):e.data&&e.data[0]&&this.$message.error(e.data[0].errmsg)}catch(i){console.log(i)}},async updatePerson(e,t){let i={};i.userId=this.localForm.userId,i.name=this.localForm.name,i.extra=this.localForm.extra,"add"==e?i.permissionIds=this.permissionIds&&this.permissionIds.length?this.permissionIds.concat([t]):[t]:"delete"==e&&(i.permissionIds=this.permissionIds&&this.permissionIds.length?this.permissionIds.filter(e=>e!=t):[]);const a=await this.$http.post("/modifyUser",{data:[i]});200==a.code?(this.permissionIds=[...i.permissionIds],this.getPermission(),this.$emit("operation-success",{...i,permissionIds:i.permissionIds?i.permissionIds.join(","):""})):this.$message.error(a.message)},getSecondsFromMidnight(e){const[t,i]=e.split(":").map(Number);return 3600*t+60*i},goSetTime(e){if(this.timeAreaVisible=!0,this.timeArr.splice(0),""!==e.timeArr){let t=e.timeArr.split("|");t.forEach(e=>{this.timeArr.push({theTime:[e.split("-")[0],e.split("-")[1]]})})}this.currentId=e.id,this.title=e.label},addTime(){if(this.timeArr.length>0){let e=this.timeArr[this.timeArr.length-1].theTime;if("00:00"===e[0]&&"23:59"===e[1])return this.$message.warning(this.$t("permission.modify_previous_time")),!1}this.timeArr.push({theTime:["00:00","23:59"]})},removeTime(e){this.timeArr.splice(e,1)},onTimePicker(e){e.$attrs["data-num"]!==this.nowTimeIndex&&setTimeout(()=>{this.nowTimeIndex=e.$attrs["data-num"],this.nowTimeVal=e.value},300)},async theTimeChange(e){const[t,i]=e;if(this.toChangeNumber(t)>=this.toChangeNumber(i))return this.timeArr[this.nowTimeIndex].theTime=this.nowTimeVal,this.$message.warning(this.$t("permission.cannot_be_earlier")),void this.resetTimeSelection();const a=this.timeArr.some((t,i)=>i!==this.nowTimeIndex&&this.isCross(t.theTime,e));a&&(this.timeArr[this.nowTimeIndex].theTime=this.nowTimeVal,this.$message.warning(this.$t("permission.times_cannot_overlap"))),this.$nextTick(()=>{this.nowTimeIndex=9,this.nowTimeVal=[]})},toChangeNumber(e){let t=e.split(":");return 60*t[0]+(t[1]-0)},isCross(e,t){const i=e=>{const[t,i]=e.split(":").map(Number);return 60*t+i},[a,s]=e.map(i),[r,o]=t.map(i);return a<o&&r<s},cancelTimeAdd(){this.timeArr.splice(0),this.timeAreaVisible=!1},confirmTimeAdd(){let e=this;if(e.timeArr.length>1){let t=e.timeArr[e.timeArr.length-1].theTime;const i=e.timeArr.slice(0,-1).some(i=>e.isCross(i.theTime,t));if(i)return e.$message.warning(this.$t("permission.times_cannot_overlap")),!1}if(2==this.radio)this.dayInfo.timeArr=this.timeArr.map(e=>e.theTime.join("-")).join("|");else{let t=[];e.timeArr.length>0&&e.timeArr.forEach(e=>{t.push(e.theTime[0]+"-"+e.theTime[1])}),e.weeks.map(i=>{i.id===e.currentId&&(i.timeArr=t.join("|"))})}e.cancelTimeAdd()}}}),we=ye,Ce=(i("0a9f"),Object(c["a"])(we,ve,be,!1,null,"50d1bc62",null)),Se=Ce.exports,_e={components:{Info:de,Vourcher:he,Permission:Se},data(){return{form:{userId:"",name:"",permissionIds:"",extra:""},addOrEditType:"add",visible:!1,activeTab:"info",componentKey:0,deviceModel:"",fingerprintEnabled:!1}},computed:{currentComponent(){return this.activeTab}},created(){this.initialForm=JSON.parse(JSON.stringify(this.form)),this.fetchDeviceModel()},mounted(){},methods:{async fetchDeviceModel(){try{const e=await this.$http.post("/getDeviceModel",{data:{}});200===e.code&&e.data&&e.data.model?(this.deviceModel=e.data.model,this.fingerprintEnabled=e.data.finger):this.fingerprintEnabled=!1}catch(e){console.log(e),this.fingerprintEnabled=!1}},open(e,t){if(console.log(e,t),this.fetchDeviceModel(),this.visible=!0,this.addOrEditType=e,this.activeTab="info",t){let e=t.extra?JSON.parse(t.extra):"";this.form={...t,extra:e}}this.componentKey+=1},handleAddClose(e=!0){const t=()=>{this.visible=!1,this.form={...this.initialForm},this.componentKey+=1};e?this.$confirm(this.$t("common.closeTips")).then(t).catch(()=>{}):t()},operationSuccess(e){this.form={...e},this.$emit("addOrEditSuccess")}}},Te=_e,ke=(i("6aef"),Object(c["a"])(Te,ae,se,!1,null,"26099e5a",null)),Ie=ke.exports,$e={components:{Pagination:ie,Table:J,AddOrEdit:Ie},data(){return{tableHeader:[{label:this.$t("person.userId"),list:"userId",overflowShow:"hidden"},{label:this.$t("person.name"),list:"name",overflowShow:"hidden"}],tableSelection:{key:!0,type:"selection",detaile:!1},tableOption:{label:this.$t("common.operation"),width:"300px",value:0,options:[{label:this.$t("common.edit"),key:0,type:"text",State:!0,method:e=>{this.$refs.addOrEdit.open("edit",{...e})}},{label:this.$t("common.delete"),key:1,type:"text",State:!0,method:e=>{this.handleDelete(e.userId)}}]},tableHeight:450,currentPage:0,pageSize:20,total:0,tableData:[],searchForm:{userId:"",name:""},selectIdList:[],isSubmitLoading:!1}},created(){this.fetchData()},methods:{async fetchData(){let e=$({...this.searchForm});e.page=this.currentPage,e.size=this.pageSize;try{const t=await this.$http.post("/getUser",{data:e});200==t.code?(this.tableData=t.data.content,this.total=t.data.total):this.$message.error(t.message)}catch(t){console.log(t)}},doAdd(){this.$refs.addOrEdit.open("add")},doReset(){F(this.searchForm),this.fetchData()},handleDelete(e){let t=this;this.$confirm(this.$t("common.deleteTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{try{const i=await t.$http.post("delUser",{data:[e]});200==i.code?(t.$message.success(this.$t("common.deleteSuccess")),t.fetchData()):t.$message.error(i.message)}catch(i){console.log(i)}}).catch(()=>{})},batchDelete(){let e=this;this.selectIdList.length<=0?this.$message.warning(this.$t("common.placeholderSelect")):this.$confirm(this.$t("common.deleteTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{e.isSubmitLoading=!0;const t=await this.$http.post("delUser",{data:this.selectIdList});e.isSubmitLoading=!1,200==t.code?(e.$message.success(this.$t("common.deleteSuccess")),e.fetchData()):e.$message.error(t.message)}).catch(()=>!1)},doClear(){let e=this;this.$confirm(this.$t("person.clearTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{e.isSubmitLoading=!0;try{const t=await this.$http.post("/clearUser",{});e.isSubmitLoading=!1,200==t.code?(e.$message.success(this.$t("person.clearSuccess")),e.fetchData()):e.$message.error(e.$t("person.clearFailed"))}catch(t){console.log(t)}}).catch(()=>!1)},handleSelectionChange(e){this.selectIdList=[],e.map(e=>{this.selectIdList.push(e.userId)})},pageChange(e){this.pageSize=e.limit,this.currentPage=e.page-1,this.fetchData()},search(){this.currentPage=0,this.$refs.page.Page(1),this.fetchData()}}},Fe=$e,Ae=(i("4f33"),Object(c["a"])(Fe,q,V,!1,null,"5714b639",null)),Pe=Ae.exports,Me=function(){var e=this,t=e._self._c;return t("div",{staticClass:"container"},[t("div",{staticClass:"dashboard"},[t("div",{staticClass:"card"},[e._m(0),t("div",{staticClass:"stats-grid"},[t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-label"},[e._v("设备状态")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.deviceStatus.online?"在线":"离线"))]),t("div",{staticClass:"stat-label"},[e._v(e._s(e.deviceStatus.online?"运行正常":"设备异常"))])]),t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-label"},[e._v("注册人数")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.deviceStats.recognitions))]),t("div",{staticClass:"stat-label"},[e._v("人次")])]),t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-label"},[e._v("白名单数")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.whitelist.face)+" / "+e._s(e.whitelist.password)+" / "+e._s(e.whitelist.card))]),t("div",{staticClass:"stat-label"},[e._v("人脸/密码/卡片")])]),t("div",{staticClass:"stat-item"},[t("div",{staticClass:"stat-label"},[e._v("通行记录总数")]),t("div",{staticClass:"stat-value"},[e._v(e._s(e.systemStatus.memory))]),t("div",{staticClass:"stat-label"},[e._v("条数")])])])]),e._m(1),e._m(2)]),t("div",{staticClass:"main-content"},[t("div",{staticClass:"card"},[e._m(3),t("div",{staticClass:"logs-container"},e._l(e.logs,(function(i){return t("div",{key:i.id,class:["log-item",i.type]},[t("div",{staticClass:"log-time"},[e._v(e._s(i.time))]),t("div",{staticClass:"log-message"},[e._v(e._s(i.message))])])})),0)]),t("div",{staticClass:"card"},[e._m(4),t("div",{staticClass:"device-info-container"},[t("div",{staticClass:"device-status"},[t("div",{class:["status-indicator",e.deviceStatus.online?"status-online pulse":"status-offline"]}),t("div",{staticClass:"device-details"},[t("div",{staticClass:"device-id"},[e._v("设备SN: "+e._s(e.deviceInfo.id)+" | IP: "+e._s(e.deviceInfo.ip))])])]),t("div",{staticClass:"info-grid"},[t("div",{staticClass:"info-item"},[t("div",{staticClass:"info-label"},[e._v("设备型号")]),t("div",{staticClass:"info-value"},[e._v(e._s(e.deviceInfo.model))])]),t("div",{staticClass:"info-item"},[t("div",{staticClass:"info-label"},[e._v("固件版本")]),t("div",{staticClass:"info-value"},[e._v(e._s(e.deviceInfo.firmware))])]),t("div",{staticClass:"info-item"},[t("div",{staticClass:"info-label"},[e._v("运行时间")]),t("div",{staticClass:"info-value"},[e._v(e._s(e.deviceInfo.uptime))])]),t("div",{staticClass:"info-item"},[t("div",{staticClass:"info-label"},[e._v("存储空间")]),t("div",{staticClass:"info-value"},[e._v(e._s(e.deviceInfo.storage))])])])])])])])},xe=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-header"},[t("h2",{staticClass:"card-title"},[e._v("设备概览")]),t("i",{staticClass:"fas fa-microchip card-icon"})])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"card"},[t("div",{staticClass:"card-header"},[t("h2",{staticClass:"card-title"},[e._v("CPU使用率")]),t("i",{staticClass:"fas fa-tachometer-alt card-icon"})]),t("div",{staticClass:"chart-container",attrs:{id:"cpuChart"}})])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"card"},[t("div",{staticClass:"card-header"},[t("h2",{staticClass:"card-title"},[e._v("内存使用率")]),t("i",{staticClass:"fas fa-memory card-icon"})]),t("div",{staticClass:"chart-container",attrs:{id:"memoryChart"}})])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-header"},[t("h2",{staticClass:"card-title"},[e._v("设备运行日志")]),t("i",{staticClass:"fas fa-clipboard-list card-icon"})])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"card-header"},[t("h2",{staticClass:"card-title"},[e._v("设备信息")]),t("i",{staticClass:"fas fa-server card-icon"})])}],Re=i("ada4"),ze={data(){return{currentTime:"",deviceStatus:{online:!0},userCount:888,whitelist:{face:99,password:88,card:66},deviceStats:{recognitions:1247},systemStatus:{cpu:45,memory:62},deviceInfo:{name:"人脸识别终端-A01",id:"FRD-2023-A01",ip:"192.168.1.101",model:"FRD-X3000",firmware:"v2.5.3",uptime:"15天 8小时 32分钟",storage:"78% (128GB/164GB)",network:"稳定",lastMaintenance:"2023-10-28"},logs:[{id:1,time:"2023-11-15 14:23:45",message:"人脸识别成功 - 用户: 张三",type:"normal"},{id:2,time:"2023-11-15 14:22:30",message:"CPU使用率超过80%",type:"warning"},{id:3,time:"2023-11-15 14:21:15",message:"网络连接短暂中断,已恢复",type:"error"},{id:4,time:"2023-11-15 14:20:05",message:"系统重启完成",type:"normal"},{id:5,time:"2023-11-15 14:19:50",message:"内存使用率超过阈值",type:"warning"},{id:6,time:"2023-11-15 14:18:30",message:"识别引擎更新完成",type:"normal"},{id:7,time:"2023-11-15 14:17:15",message:"人脸识别成功 - 用户: 李四",type:"normal"},{id:8,time:"2023-11-15 14:16:20",message:"数据库备份完成",type:"normal"}],cpuChart:null,memoryChart:null,cpuData:[],memoryData:[],timeData:[]}},mounted(){this.updateTime(),setInterval(this.updateTime,1e3),this.initCharts(),this.simulateDataUpdate(),setInterval(this.updateCharts,2e3),setInterval(this.addRandomLog,5e3),setInterval(this.updateDeviceStats,3e3)},methods:{updateTime(){const e=new Date;this.currentTime=e.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})},initCharts(){this.cpuChart=Re["b"](document.getElementById("cpuChart"));const e={tooltip:{trigger:"axis",formatter:"{b}<br/>CPU: {c}%"},grid:{top:"15%",left:"3%",right:"4%",bottom:"10%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:this.timeData,axisLine:{lineStyle:{color:"#a0a0ff"}}},yAxis:{type:"value",max:100,axisLine:{lineStyle:{color:"#a0a0ff"}},splitLine:{lineStyle:{color:"rgba(160, 160, 255, 0.1)"}}},series:[{name:"CPU使用率",type:"line",smooth:!0,symbol:"circle",symbolSize:8,lineStyle:{width:3,color:"#1890ff"},itemStyle:{color:"#1890ff",borderColor:"#fff",borderWidth:2},areaStyle:{color:new Re["a"].LinearGradient(0,0,0,1,[{offset:0,color:"rgba(24, 144, 255, 0.5)"},{offset:1,color:"rgba(24, 144, 255, 0.1)"}])},data:this.cpuData}]};this.cpuChart.setOption(e),this.memoryChart=Re["b"](document.getElementById("memoryChart"));const t={tooltip:{formatter:"{a} <br/>{b} : {c}%"},series:[{name:"内存使用率",type:"gauge",radius:"90%",center:["50%","60%"],progress:{show:!0,width:20,itemStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#40e0d0"},{offset:1,color:"#ff0080"}]}}},axisLine:{lineStyle:{width:20,color:[[.3,"#40e0d0"],[.7,"#ff8c00"],[1,"#ff0080"]]}},axisTick:{distance:-20,length:8,lineStyle:{color:"#fff",width:2}},splitLine:{distance:-20,length:20,lineStyle:{color:"#fff",width:3}},axisLabel:{distance:-20,color:"#fff",fontSize:14},anchor:{show:!0,size:15,showAbove:!0,itemStyle:{borderWidth:4,borderColor:"#1890ff"}},detail:{valueAnimation:!0,formatter:"{value}%",color:"#fff",fontSize:24,offsetCenter:[0,"30%"]},title:{show:!0,offsetCenter:[0,"50%"],color:"#fff",fontSize:12,fontWeight:"bold"},data:[{value:this.systemStatus.memory,name:"已用/总(M):353/780"}]}]};this.memoryChart.setOption(t)},simulateDataUpdate(){const e=new Date;for(let t=10;t>=0;t--){const i=new Date(e.getTime()-2e3*t);this.timeData.push(this.formatTime(i)),this.cpuData.push(Math.floor(30*Math.random())+30),this.memoryData.push(Math.floor(20*Math.random())+50)}},updateCharts(){const e=new Date,t=this.formatTime(e);this.timeData.push(t),this.timeData.shift();const i=Math.floor(30*Math.random())+30;this.cpuData.push(i),this.cpuData.shift(),this.systemStatus.cpu=i;const a=Math.floor(20*Math.random())+50;this.systemStatus.memory=a,this.cpuChart.setOption({xAxis:{data:this.timeData},series:[{data:this.cpuData}]}),this.memoryChart.setOption({series:[{data:[{value:a,name:"已用/总(M):353/780"}]}]})},formatTime(e){const t=e.getHours().toString().padStart(2,"0"),i=e.getMinutes().toString().padStart(2,"0"),a=e.getSeconds().toString().padStart(2,"0");return`${t}:${i}:${a}`},addRandomLog(){const e=["normal","warning","error"],t=["人脸识别成功 - 用户: 王五","设备温度异常","网络连接恢复","存储空间不足警告","识别准确率下降","系统备份完成","安全策略已更新","设备固件升级可用","数据库优化完成","人脸库更新完成"],i=new Date,a=i.getFullYear()+"-"+(i.getMonth()+1).toString().padStart(2,"0")+"-"+i.getDate().toString().padStart(2,"0")+" "+i.getHours().toString().padStart(2,"0")+":"+i.getMinutes().toString().padStart(2,"0")+":"+i.getSeconds().toString().padStart(2,"0"),s=e[Math.floor(Math.random()*e.length)],r=t[Math.floor(Math.random()*t.length)];this.logs.unshift({id:this.logs.length+1,time:a,message:r,type:s}),this.logs.length>15&&this.logs.pop()},updateDeviceStats(){Math.random()>.7&&(this.deviceStats.recognitions+=Math.floor(3*Math.random())+1),Math.random()>.95&&(this.deviceStatus.online=!this.deviceStatus.online)},beforeDestroy(){this.cpuChart&&this.cpuChart.dispose(),this.memoryChart&&this.memoryChart.dispose()}}},De=ze,Ee=(i("66c9"),Object(c["a"])(De,Me,xe,!1,null,null,null)),Ne=Ee.exports,Oe=function(){var e=this,t=e._self._c;return t("el-main",[t("el-row",[t("el-col",{attrs:{span:24}},[t("el-form",{staticClass:"el-InputForm",attrs:{inline:!0}},[t("el-form-item",{attrs:{label:e.$t("person.name"),"label-width":"80px"}},[t("el-input",{attrs:{placeholder:e.$t("person.placeholderName"),clearable:""},model:{value:e.searchForm.name,callback:function(t){e.$set(e.searchForm,"name",t)},expression:"searchForm.name"}})],1),t("el-form-item",{attrs:{label:e.$t("log.passingTime"),"label-width":"100px"}},[t("el-date-picker",{attrs:{"value-format":"yyyy-MM-dd HH:mm:ss",type:"datetimerange","range-separator":e.$t("common.to"),"start-placeholder":e.$t("common.startTime"),"end-placeholder":e.$t("common.endTime")},model:{value:e.time,callback:function(t){e.time=t},expression:"time"}})],1),t("div",{staticStyle:{position:"absolute",right:"25px",bottom:"25px"}},[t("el-button",{staticStyle:{"margin-left":"10px",border:"none"},attrs:{type:"info",size:"medium",icon:"el-icon-search"},on:{click:function(t){return e.search()}}},[e._v(e._s(e.$t("common.query")))]),t("el-button",{attrs:{type:"warning",size:"medium",icon:"el-icon-refresh-right"},on:{click:function(t){return e.doReset()}}},[e._v(e._s(e.$t("common.reset")))])],1)],1),t("el-col",{staticStyle:{margin:"20px 0"},attrs:{span:24}},[t("el-button",{staticStyle:{"font-size":"12px"},attrs:{type:"danger",size:"mini",icon:"el-icon-delete"},on:{click:function(t){return e.batchDelete()}}},[e._v(e._s(e.$t("common.batchDelete")))])],1)],1)],1),t("el-col",{attrs:{span:24}},[t("Table",{directives:[{name:"loading",rawName:"v-loading",value:e.isSubmitLoading,expression:"isSubmitLoading"}],attrs:{"table-label":e.tableHeader,"table-data":e.tableData,"table-option":e.tableOption,"table-selection":e.tableSelection},on:{onHandleSelectionChange:e.handleSelectionChange}}),t("pagination",{ref:"page",attrs:{total:e.total},on:{pageChange:e.pageChange}})],1),t("el-dialog",{attrs:{visible:e.dialogTableVisible,width:"30%"},on:{"update:visible":function(t){e.dialogTableVisible=t}}},[t("div",{staticClass:"imgDiv"},[t("img",{attrs:{src:e.urlImg,alt:""}})])])],1)},Be=[],Le={name:"Record",components:{Table:J,Pagination:ie},data(){return{tableHeader:[{label:this.$t("person.userId"),list:"userId",overflowShow:"hidden"},{type:"html",label:this.$t("person.name"),code:e=>e.name?e.name:"-"},{label:this.$t("log.passingTime"),type:"html",overflowShow:"hidden",code:e=>I(1e3*e.timeStamp)},{type:"html",label:this.$t("log.accessMethod"),code:e=>200==e.type?this.$t("voucher.card"):300==e.type?this.$t("voucher.face"):400==e.type?this.$t("voucher.password"):500==e.type?this.$t("voucher.finger"):void 0},{type:"html",label:this.$t("log.accessPass"),overflowShow:"hidden",code:e=>300==e.type?"-":e.code},{type:"html",label:this.$t("log.accessResult"),code:e=>1===e.result?`<span style="color:#ff5722;font-weight:600">${this.$t("common.failure")}</span>`:0===e.result?`<span style="color:#1fab89;font-weight:600">${this.$t("common.success")}</span>`:void 0}],tableSelection:{key:!0,type:"selection",detaile:!1},tableOption:{label:this.$t("common.operation"),width:"180px",value:0,options:[{label:this.$t("common.delete"),key:0,type:"text",State:!0,method:e=>{this.handleDelete(e.id)}},{label:this.$t("log.viewPhotos"),key:0,type:"text",State:!0,show:e=>300==e.type,method:e=>{this.getPhoto(e.code)}}]},tableData:[],isSubmitLoading:!1,dialogTableVisible:!1,urlImg:"",total:0,pageSize:20,currentPage:0,searchForm:{name:""},time:[],selectIdList:[]}},created(){this.fetchData()},mounted(){},methods:{search(){let e=this;e.currentPage=0,e.$refs.page.Page(1),e.fetchData()},pageChange(e){this.pageSize=e.limit,this.currentPage=e.page-1,this.fetchData()},handleSelectionChange(e){this.selectIdList=[],e.map(e=>{this.selectIdList.push(e.id)})},async fetchData(){let e=$({...this.searchForm});this.time.length&&(e.startTime=new Date(this.time[0]).getTime()/1e3,e.endTime=new Date(this.time[1]).getTime()/1e3),e.page=this.currentPage,e.size=this.pageSize,e.flag=!1;try{const t=await this.$http.post("/getRecord",{data:e});200===t.code?(this.tableData=t.data.content,this.total=t.data.total):this.$message.error(t.message)}catch(t){console.log(t)}},handleDelete(e){let t=this;this.$confirm(this.$t("common.deleteTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{try{const i=await t.$http.post("delRecord",{data:{recordId:[e]}});200==i.code?(t.$message.success(this.$t("common.deleteSuccess")),t.fetchData()):t.$message.error(i.message)}catch(i){console.log(i)}}).catch(()=>{})},batchDelete(){let e=this;this.selectIdList.length<=0?this.$message.warning(this.$t("common.placeholderSelect")):this.$confirm(this.$t("common.deleteTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{e.isSubmitLoading=!0;const t=await this.$http.post("delRecord",{data:{recordId:this.selectIdList}});e.isSubmitLoading=!1,200==t.code?(e.$message.success(this.$t("common.deleteSuccess")),e.fetchData()):e.$message.error(t.message)}).catch(()=>!1)},doReset(){F(this.searchForm),this.time=[],this.fetchData()},async getPhoto(e){try{const t=await this.$http.post("/getRecordMsg",{data:e});200==t.code?(console.log(t),this.urlImg="data:image/png;base64,"+t.data,this.dialogTableVisible=!0):this.$message.error(t.message)}catch(t){console.log(t)}},handleCellClick(e,t){if(JSON.parse(e.extra).pic&&"通行照片"===t.label){this.dialogTableVisible=!0;let t=JSON.parse(e.extra).pic;this.urlImg=t.split("&imageView")[0]}}}},He=Le,Ue=(i("a86e"),Object(c["a"])(He,Oe,Be,!1,null,"95993940",null)),qe=Ue.exports,Ve=function(){var e=this,t=e._self._c;return t("el-main",[t("el-row",[t("el-col",{attrs:{span:24}},[t("el-form",{staticClass:"el-InputForm",attrs:{inline:!0}},[t("el-form-item",{attrs:{label:e.$t("security.keyId"),"label-width":"80px"}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder"),clearable:""},model:{value:e.searchForm.securityId,callback:function(t){e.$set(e.searchForm,"securityId",t)},expression:"searchForm.securityId"}})],1),t("div",{staticStyle:{position:"absolute",right:"25px",bottom:"25px"}},[t("el-button",{staticStyle:{"margin-left":"10px",border:"none"},attrs:{type:"info",size:"medium",icon:"el-icon-search"},on:{click:function(t){return e.search()}}},[e._v(e._s(e.$t("common.query")))]),t("el-button",{attrs:{type:"warning",size:"medium",icon:"el-icon-refresh-right"},on:{click:function(t){return e.doReset()}}},[e._v(e._s(e.$t("common.reset")))])],1)],1),t("el-col",{staticStyle:{margin:"20px 0"},attrs:{span:24}},[t("el-button",{staticStyle:{border:"none"},attrs:{type:"primary",size:"mini",icon:"el-icon-plus"},on:{click:e.doAdd}},[e._v(e._s(e.$t("security.newKey")))]),t("el-button",{staticStyle:{"font-size":"12px"},attrs:{type:"danger",size:"mini",icon:"el-icon-delete"},on:{click:function(t){return e.batchDelete()}}},[e._v(e._s(e.$t("security.clearKey")))])],1)],1)],1),t("el-col",{attrs:{span:24}},[t("Table",{directives:[{name:"loading",rawName:"v-loading",value:e.isSubmitLoading,expression:"isSubmitLoading"}],attrs:{"table-label":e.tableHeader,"table-data":e.tableData,"table-option":e.tableOption}}),t("pagination",{ref:"page",attrs:{total:e.total},on:{pageChange:e.pageChange}})],1),t("add",{ref:"add",on:{"operation-success":e.fetchData}})],1)},je=[],We=function(){var e=this,t=e._self._c;return t("div",[t("el-drawer",{attrs:{size:"40%","with-header":!1,visible:e.visible,"before-close":e.handleAddClose},on:{"update:visible":function(t){e.visible=t}}},[t("el-form",{ref:"form",staticStyle:{width:"90%",margin:"50px auto"},attrs:{model:e.form,"label-width":"100px",rules:e.rules}},["detail"==e.type?t("el-form-item",{attrs:{label:e.$t("security.keyId")}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder")},model:{value:e.form.securityId,callback:function(t){e.$set(e.form,"securityId",t)},expression:"form.securityId"}})],1):e._e(),t("el-form-item",{attrs:{label:e.$t("security.keyType")}},[t("el-radio-group",{model:{value:e.form.type,callback:function(t){e.$set(e.form,"type",t)},expression:"form.type"}},[t("el-radio",{attrs:{label:"RSA"}},[e._v("RSA")]),t("el-radio",{attrs:{label:"AES"}},[e._v("AES")])],1)],1),t("el-form-item",{attrs:{label:e.$t("security.keyEncoding"),prop:"key"}},[t("el-input",{attrs:{placeholder:e.$t("common.placeholder")},model:{value:e.form.key,callback:function(t){e.$set(e.form,"key",t)},expression:"form.key"}})],1),t("el-form-item",{attrs:{label:e.$t("security.keyValue"),prop:"value"}},[t("el-input",{attrs:{type:"textarea",clearable:"",rows:5,placeholder:e.$t("common.placeholder")},model:{value:e.form.value,callback:function(t){e.$set(e.form,"value",t)},expression:"form.value"}})],1),t("el-form-item",{attrs:{label:e.$t("security.validTime")}},[t("el-date-picker",{attrs:{clearable:!1,"value-format":"timestamp","default-time":["00:00:00","23:59:59"],type:"datetimerange","range-separator":e.$t("common.to"),"start-placeholder":e.$t("common.startTime"),"end-placeholder":e.$t("common.endTime")},model:{value:e.dateTimes,callback:function(t){e.dateTimes=t},expression:"dateTimes"}})],1)],1),t("div",{staticClass:"dialog-footer"},[t("el-button",{attrs:{type:"warning"},on:{click:function(t){return e.handleAddClose(!1)}}},[e._v(e._s(e.$t("common.cancel")))]),"add"==e.type?t("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.updata()}}},[e._v(e._s(e.$t("common.confirm")))]):e._e()],1)],1)],1)},Ke=[],Ge={data(){return{form:{securityId:"",type:"",key:"",value:""},rules:{key:[{required:!0,message:this.$t("common.placeholder"),trigger:["blur"]}],value:[{required:!0,message:this.$t("common.placeholder"),trigger:["blur"]}]},dateTimes:[],visible:!1,type:"info"}},created(){this.initialForm=JSON.parse(JSON.stringify(this.form))},mounted(){},methods:{open(e,t){"add"==e?(this.form.type="RSA",console.log("add")):(this.form.securityId=t.securityId,this.form.type=t.type,this.form.key=t.key,this.form.value=t.value,this.dateTimes=[1e3*t.startTime,1e3*t.endTime]),this.type=e,this.visible=!0},handleAddClose(e=!0){const t=()=>{this.$refs.form&&this.$refs.form.clearValidate(),this.visible=!1,this.form={...this.initialForm},this.dateTimes=[]};e?this.$confirm(this.$t("common.closeTips")).then(t).catch(()=>{}):t()},updata(){let e=this;this.$refs["form"].validate(async t=>{if(t){if(!e.dateTimes.length)return e.$message.warning(this.$t("permission.choose_time_range")),!1;let t={securityId:A(),type:e.form.type,key:e.form.key,value:e.form.value,startTime:new Date(e.dateTimes[0]).getTime()/1e3,endTime:new Date(e.dateTimes[1]).getTime()/1e3};const i=await this.$http.post("/insertSecurity",{data:[t]});200==i.code?(this.$message.success(this.$t("common.addSuccess")),this.visible=!1,F(this.form),this.$emit("operation-success")):i.data&&i.data[0]&&this.$message.error(i.data[0].errmsg)}})}}},Ze=Ge,Je=Object(c["a"])(Ze,We,Ke,!1,null,null,null),Qe=Je.exports,Ye={name:"Record",components:{Table:J,Pagination:ie,Add:Qe},data(){return{tableHeader:[{label:this.$t("security.keyId"),list:"securityId",overflowShow:"hidden"},{label:this.$t("security.keyType"),list:"type",overflowShow:"hidden"},{label:this.$t("security.keyEncoding"),list:"key",overflowShow:"hidden"},{label:this.$t("security.keyValue"),list:"value",overflowShow:"hidden"},{label:this.$t("security.startTime"),type:"html",overflowShow:"hidden",code:e=>I(1e3*e.startTime)},{label:this.$t("security.expirationTime"),type:"html",overflowShow:"hidden",code:e=>I(1e3*e.endTime)}],tableOption:{label:this.$t("common.operation"),width:"180px",value:0,options:[{label:this.$t("common.delete"),key:0,type:"text",State:!0,method:e=>{this.handleDelete(e.securityId)}},{label:this.$t("common.detail"),key:0,type:"text",State:!0,method:e=>{this.$refs.add.open("detail",{...e})}}]},tableData:[],isSubmitLoading:!1,total:0,pageSize:20,currentPage:0,searchForm:{securityId:""},time:[],selectIdList:[]}},created(){this.fetchData()},mounted(){},methods:{search(){let e=this;e.currentPage=0,e.$refs.page.Page(1),e.fetchData()},pageChange(e){this.pageSize=e.limit,this.currentPage=e.page-1,this.fetchData()},async fetchData(){let e=$({...this.searchForm});e.page=this.currentPage,e.size=this.pageSize;try{const t=await this.$http.post("/getSecurity",{data:e});200===t.code?(this.tableData=t.data.content,this.total=t.data.total):this.$message.error(t.message)}catch(t){console.log(t)}},doAdd(){this.$refs.add.open("add")},handleDelete(e){let t=this;this.$confirm(this.$t("common.deleteTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{try{const i=await t.$http.post("/delSecurity",{data:[e]});200==i.code?(t.$message.success(this.$t("common.deleteSuccess")),t.fetchData()):i.data&&i.data[0]&&t.$message.error(i.data[0].errmsg)}catch(i){console.log(i)}}).catch(()=>{})},batchDelete(){let e=this;this.$confirm(this.$t("common.clearTips"),this.$t("common.tips"),{confirmButtonText:this.$t("common.confirm"),cancelButtonText:this.$t("common.cancel"),type:"warning"}).then(async()=>{e.isSubmitLoading=!0;const t=await this.$http.post("/clearSecurity",{data:{}});e.isSubmitLoading=!1,200==t.code?(e.$message.success(this.$t("common.clearSuccess")),e.fetchData()):e.$message.error(t.message)}).catch(()=>!1)},doReset(){F(this.searchForm),this.time=[],this.fetchData()}}},Xe=Ye,et=(i("3491"),Object(c["a"])(Xe,Ve,je,!1,null,"24d1ef3e",null)),tt=et.exports;a["default"].use(m["a"]);var it=new m["a"]({routes:[{path:"/",name:"login",redirect:"login"},{path:"/login",name:"login",component:v},{path:"/home",name:"home",component:_,redirect:"/config",children:[{path:"/monitor",name:"monitor",component:Ne},{path:"/config",name:"config",component:E},{path:"/control",name:"control",component:U},{path:"/person",name:"person",component:Pe},{path:"/record",name:"record",component:qe},{path:"/security",name:"security",component:tt}]}]}),at=i("eb06"),st=i.n(at),rt=i("2e36"),ot=i.n(rt),nt=i("c3e6"),ct=i("5ea2"),lt=i.n(ct),dt=i("dc5a"),mt=i.n(dt),ut=i("1760"),gt=i.n(ut),pt={login:{lang:"language",systemname:"Face Login",username:"username",username_label:"Please input one user name",pwd:"password",pwd_label:"Please input a password",pwd_info:"Please enter the correct password format",success_msg:"Login successfully",error_name:"Wrong password",error_res:"Does not meet the login requirements",login:"Login"},aside:{systemname:"Face System",help:"Help",administrator:"Administrator",quit:"Quit",deviceControl:"Control",basicSetting:"Settings",workerSetting:"Personnel",deviceMonitoring:"Monitoring",recordManagement:"Records",securityManagement:"Key",tips:"Tips",tips_msg:"Do you want to log out"},control:{remoteControl:"Remote",restart:"Restart",clickToRestart:"Click to restart the device",restartConfirm:"Are you sure you want to restart the device?",restartSuccess:"Successful restart",restartFailed:"Failed to restart",remoteOpen:"Remote door opening",clickToOpen:"Click remote door opening",openConfirm:"Are you sure you want to open the door remotely?",remoteOpenSuccess:"Remote door opening successful",remoteOpenFailed:"Remote door opening failed",reset:"Device reset",clickToReset:"Click reset device",resetConfirm:"Are you sure you want to reset the device?",resetSuccess:"The device reset was successful",resetFailed:"Device reset failed",firmwareUpgrade:"Equipment upgrade",upgradeConfig:"Upgrade configuration",firmwareUrl:"Firmware address",md5Checksum:"md5 value",startUpgrade:"Start upgrading",urlRequired:"The file address is mandatory",md5Required:"The md5 value is required",urlInvalid:"Please enter the correct address",md5Invalid:"Please enter the correct md5",upgradeConfirm:"Are you sure you want to upgrade the equipment?",upgradeSuccess:"The equipment upgrade was successful.",clearFile:"Clear the file",uploading:"Uploading",uploadAndUpgrade:"Upload and upgrade",restartTips:"Safely restart the device system without losing data",restarting:"Restarting...",remoteTips:"Remotely control the access control device to open",opening:"Opening...",resetTips:"Restore factory Settings and clear all data",reseting:"Reseting...",urlUpgrade:"URL upgrade method",fileUpgrade:"File upload upgrade",uploadFile:"Click to upload the firmware file",formatFile:"Supports.zip or.dpk format files, with a maximum size of 20MB",fileName:"File name",size:"Size"},config:{second:"s",millisecond:"Milliseconds",min:"Minutes",notsave:"Not saved",save:"Save",noVoice:"No voice",no:"NO",yes:"YES",basicConfiguration:"Basic configuration",informationDisplay:"Information display",audioSettings:"Audio Settings",displaySettings:"Display Settings",languageAndThemes:"Language and Themes",autoAdjustScreenBrightness:"Automatically adjust the screen brightness",screenBrightness:"Screen brightness",autoTurnOffScreen:"Automatic screen-off",autoTurnOffScreenTime:"Automatic screen-off time",autoScreenSaver:"Automatic screen saver",autoScreenSaverTime:"Automatic screen saver time",displayDeviceSn:"Display SN",displayIp:"Display IP",displayIdentityCard:"Display Cloud Certificate",volume:"Volume",language:"Language",displayCode:"Display the mini-program code",themeMode:"Work theme",cn:"Chinese",en:"English",es:"Spanish",fr:"French",de:"German",ru:"Russian",ar:"Arabic",pt:"Port.",ko:"Korean",standardMode:"Standard Mode",simpleMode:"Simple Mode",firstLogin:"This is my first time logging into the backend",backlight:"Screen backlight",brightness:"White fill light",nirBrightness:"Infrared supplementary light",never:"Never",min1:"1 Min",min2:"2 Min",min3:"3 Min",min4:"4 Min",min5:"5 Min",networkConfiguration:"Network configuration",otherConfiguration:"Other configurations",ipConfiguration:"IP configuration",devicePassword:"Device password ",protocolPassword:"Communication protocol password",networkType:"Network type ",ethernet:"Ethernet",wifiName:"Wi-Fi name",wifiPassword:"Wi-Fi password",dhcpModeSelection:"DHCP mode",dhcpMode:"Automatic acquisition",customNetworkConfiguration:"Manual configuration",ipAddress:"IP address",gateway:"Gateway",subnetMask:"Subnet mask",dnsServer:"DNS server",mac:"Mac address",mqttRelatedConfiguration:"MQTT configuration",mqttConnectionInformation:"MQTT connection information",sessionConfiguration:"Session configuration",serverAddress:"Server address",clientID:"Client ID",userName:"User name",userPassword:"User password",topicPrefix:"Theme prefix",onlineChecking:"Online verification",onlineCheckingTimeout:"Online verification timeout",cleanSession:"Clear the session",clientIdSuffix:"ClientId suffix",willTopic:"WillTopic",enterpriseWechat:"The Enterprise wechat mode is ineffective",faceRelatedConfiguration:"Face configuration",functionalInformation:"Functional information",prompt:"Prompt",faceSimilarityThreshold:"Face similarity threshold",livenessDetectionFunction:"Live detection function",livenessDetectionThreshold:"Live detection threshold",infraredImageDisplay:"Infrared image display",maskRecognition:"Mask recognition",strangerVoice:"Stranger's voice",voiceMode:"Voice mode",voiceModeDate:"Customized greeting",imageSaveType:"Image saving type",saveStrangerImage:"Save images of strangers",fullView:"Panoramic view",face:"Face",broadcastPleaseRegisterFirst:"Play please register for a facial recognition voucher",broadcastHelloStranger:"Play unregistered personnel",broadcastName:"Play the name",broadcastGreeting:"Play a custom greeting",greeting:"Greeting",broadcastWelcome:"Play welcome",recognitionSwitch:"Re-detection switch",systemRelatedConfiguration:"System configuration",functionSwitch:"Function switch",cardSwipingSwitch:"Card swiping switch",passwordSwitch:"Password switch",cloudCertificateSwitch:"Cloud Certificate switch",strangerImage:"Stranger save picture switch",physicalCardNumber:"Physical card number",cloudCertificateAcquisition:"Cloud Certificate Acquisition",heartbeatConfig:"Heartbeat config",heartbeatSwitch:"Heartbeat switch",heartRateInterval:"Heart rate interval",heartbeatTopic:"Heartbeat Topic",heartbeatContent:"Heartbeat content",basicInformation:"Basic information",deviceMac:"Device Mac",uuid:"UUID",sn:"SN",model:"Model",version:"Version",appVersion:"Firmware version",releaseTime:"Update time",totaldisk:"Total storage space",freedisk:"Remaining space",passageConfiguration:"Passage configuration",functionConfiguration:"Function Configuration",numberOfPassageRecords:"The maximum number of passage records",durationOfRelayOpening:"Duration of relay opening",alarmSwitch:"Alarm switch",fireAlarmSwitch:"Fire alarm switch",fireAlarmStatus:"Fire alarm status",normal:"Normal",warning:"Warning",tamperSwitch:"Tamper switch",uploadToCloudSwitch:"Face upload switch",clockConfiguration:"Clock configuration",timeSynchronizationSwitch:"Time synchronization switch",timeSynchronizationServerIP:"Time synchronization server IP",timedSynchronizationTime:"Timed synchronization time",timeZone:"Time zone",setDeviceTime:"Set device time",restartAfterSetting:"After setting, the device will automatically restart",cloudCertificateActivation:"Cloud Certificate Activation",activationKey:"Activation key",cloudTips1:"Please enter the activation key and make sure there are no Spaces",cloudTips2:"After successful activation, the device will connect to the cloud authentication service",confirmActivation:"Confirm activation",activationInProgress:"Activation in progress...",activationFailed:"Activation failed",activationSuccessful:"Activation successful",passwordModification:"Password modification",password:"Password",oldPassword:"Old password",newPassword:"New password",confirmPassword:"Confirm password",passwordRule:"Password rule recommendation",passwordLength:"Length ≥6",cannotBeTheSame:"All characters cannot be the same",cannotOrder:"It cannot contain at least three consecutive numbers or sequences of lowercase letters (in ascending or descending order).",cannotWeakPassword:"It cannot be common weak passwords, including",submit:"Submit",saveConfig:"Save config",msg_please_enter:"Please enter the content",msg_inputPassword:"Please enter the password.",msg_oldPasswordError:"The old password is incorrect",msg_password_mismatch:"The passwords entered twice are inconsistent",msg_password_min_length:"The password length should be at least 6 characters",msg_is_weak_password:"This is a weak password. Please reset it",msg_pswChangeSuccessAndLogin:"Your password has been modified successfully. Please log in again",msg_pswChangeSuccess:"The password has been modified successfully.",msg_pswChangeFail:"Password modification failed.",msg_saveSuccess:"Saved successfully",msg_saveFail:"Save failed",msg_formFilled:"Please check whether the form is filled out correctly",msg_number_0_23:"Only supports 0 to 23",msg_number_0_24:"Only supports 0 to 24",msg_noChange:"No configuration changes need to be saved",resourceConfiguration:"Resource configuration",backgroundImage:"Background image",selectImage:"Select image",uploadBackground:"Upload background",uploading:"Uploading...",backgroundUploadTip:"Please upload a PNG image with pixel size of {n}. The image will be converted to Base64 format and then uploaded to the device",backgroundResolutionMismatch:"Image resolution must be {n}",backgroundRequired:"Please select a background image first",backgroundImageOnlyPNG:"Please upload a PNG image",backgroundSizeLimit:"Image size cannot exceed 5MB",backgroundParseFailed:"Failed to read image, please retry",backgroundImageSelected:"Image selected successfully",backgroundSuccess:"Background uploaded successfully",backgroundFailed:"Background upload failed",scanSettings:"Scan Settings",scanSwitch:"Scan Switch",scanInterval:"Scan Interval"},person:{idCard:"Id number",userType:"Type",userId:"ID",name:"name",user:"User",administrator:"Administrator",voucher:"Voucher",permission:"Permission",placeholderUserId:"Please enter the userId",placeholderName:"Please enter the name",addUser:"Add user",editUser:"Edit user",userNotExist:"The personnel do not exist",oneClickClear:"One-click clear",clearTips:"This operation will permanently delete all personnel, credentials and permission data. Do you want to continue?",clearSuccess:"Cleared successfully",clearFailed:"Failed to clear"},voucher:{password:"Password",card:"Card",face:"Face",finger:"Finger",code:"Code",codeType:"Code Type",passthroughCode:"Passthrough Code",staticCode:"Static Code",dynamicCode:"Dynamic Code",placeholderCode:"Please enter code certificate",placeholderPwd:"Please enter the password credential",placeholderCard:"Please enter the card voucher",validPassword:"Please enter six digits",validCard:"Please enter 8 digits or letters",photoRegistration:"Photo registration",featureValueRegistration:"Feature value registration",fingerRegistration:"Finger registration",fingerFeatureRegistration:"Feature value registration",fingerInput:"Please put your finger on the fingerprint scanner",fingerRemainingTime:"Remaining time",fingerInputting:"Inputting...",startFingerInput:"Start inputting fingerprint",fingerInputTips:"Please enter the fingerprint feature value",fingerWaitInput:"Waiting for input",fingerInputNow:"Inputting fingerprint...",fingerInputSuccess:"Input success",fingerInputFailed:"Finger input failed",fingerReTry:"Finger input failed, please try again",fingerFilled:"Finger input success, feature value has been automatically filled",fingerFailed:"Finger input failed",fingerTimeout:"Input timeout",fingerInputTimeout:"Finger input timeout, please try again",fingerError:"Input failed",fingerInputError:"Finger input failed, please try again",fingerInputed:"Fingerprint has been entered",fingerReInput:"Re enter fingerprint"},permission:{deletePermission:"Delete permission",addPermission:"Add permissions",permissionId:"Permission ID",userId:"User ID",timeRange:"Time interval",extra:"Extra",effectiveType:"Effective Type",effectiveTime:"Effective Time",effectiveWeek:"Effective Week",timePeriod:"Time period",addTimePeriod:"Add a time period",modify_previous_time:"Please modify the previously added time period first",cannot_be_earlier:"The end time must not be less than the start time",times_cannot_overlap:"The selected times cannot overlap",choose_time_range:"Please select the effective time range",unlimitedMode:"Unlimited mode",usualMode:"Usual mode",dailyMode:"Daily mode",weeklyRepetitionMode:"Weekly repetition mode",time_range:"Time range"},common:{startDate:"Start date",endDate:"End date",to:"to",cancel:"Cancel",confirm:"Confirm",close:"Close",delete:"Delete",edit:"Edit",batchDelete:"Batch Delete",startTime:"Start time",endTime:"End time",monday:"Monday",tuseday:"Tuseday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saterday:"Saterday",sunday:"Sunday",placeholder:"Please enter",placeholderSelect:"Please select",closeTips:"Is it confirmed to be closed?",deleteTips:"Are you sure to delete it?",deleteSuccess:"Deleted successfully",addSuccess:"Added successfully",editSuccess:"Edited successfully",saveSuccess:"Saved successfully",tips:"Tips",operation:"Operation",query:"Query",reset:"Reset",noData:"No data available for the time being.",export:"Export",success:"success",failure:"failure",incorrectFormat:"Incorrect format",integerFormat:"Should be an integer greater than or equal to 0",positiveIntegerFormat:"Should be an integer greater than 0",noDataSaved:"No data needs to be saved",chinese:"Chinese",english:"English",spanish:"Spanish",french:"French",german:"German",russian:"Russian",arabic:"Arabic",portuguese:"Portuguese",korean:"Korean",detail:"Detail",clearTips:"Confirm clear?",clearSuccess:"Cleared successfully"},log:{accessMethod:"Access method",passingTime:"Passing time",accessPass:"Access pass",accessResult:"Access result",accessPhoto:"Access photo",viewPhotos:"View photos"},error:{networkError:"Network request failed, please check your connection",timeout:"Request timeout, please check your network or try again later",serverError:"Server internal error, please try again later",notFound:"Requested resource does not exist",unauthorized:"Unauthorized, please login again",noResponse:"Unable to connect to server, please check network or server status",unknownError:"Request failed, error code:",requestFailed:"Request failed"},security:{keyId:"Key ID",keyType:"Key Type",keyEncoding:"Key Encoding",keyValue:"Key Value",startTime:"Start Time",expirationTime:"Expiration Time",newKey:"Add Key",clearKey:"Clear Key",validTime:"Valid Time"}},ft={login:{lang:"语言",systemname:"人脸设备后台登录",username:"用户名",username_label:"请输入用户名",pwd:"密码",pwd_label:"请输入密码",pwd_info:"请输入正确密码格式",success_msg:"登录成功",error_name:"密码错误",error_res:"不符合登录要求",login:"登录"},aside:{systemname:"人脸设备后台",quit:"退出",deviceControl:"设备控制",basicSetting:"基础设置",workerSetting:"人员设置",deviceMonitoring:"设备监控",recordManagement:"记录管理",securityManagement:"密钥管理",tips:"提示",tips_msg:"是否退出登录"},control:{remoteControl:"远程控制",restart:"设备重启",clickToRestart:"点击重启设备",restartConfirm:"确定要重启设备吗?",restartSuccess:"重启成功",restartFailed:"重启失败",remoteOpen:"远程开门",clickToOpen:"点击远程开门",openConfirm:"确定要远程开门吗?",remoteOpenSuccess:"远程开门成功",remoteOpenFailed:"远程开门失败",reset:"设备重置",clickToReset:"点击重置设备",resetConfirm:"确定要重置设备吗?",resetSuccess:"设备重置成功",resetFailed:"设备重置失败",firmwareUpgrade:"设备升级",upgradeConfig:"升级配置",firmwareUrl:"固件地址",md5Checksum:"md5值",startUpgrade:"开始升级",urlRequired:"文件地址必填",md5Required:"md5值必填",urlInvalid:"请输入正确的地址",md5Invalid:"请输入正确的md5",upgradeConfirm:"确定升级设备吗?",upgradeSuccess:"设备升级成功",clearFile:"清除文件",uploading:"上传升级中...",uploadAndUpgrade:"上传并升级",restartTips:"安全重启设备系统,不会丢失数据",restarting:"重启中...",remoteTips:"远程控制门禁设备开启",opening:"开门中...",resetTips:"恢复出厂设置,清除所有数据",reseting:"重置中...",urlUpgrade:"URL升级方式",fileUpgrade:"文件上传升级",uploadFile:"点击上传固件文件",formatFile:"支持 .zip 或 .dpk 格式文件,最大 20MB",fileName:"文件名",size:"大小"},config:{second:"秒",millisecond:"毫秒",min:"分钟",notsave:"不保存",save:"保存",noVoice:"无语音",no:"否",yes:"是",basicConfiguration:"基础配置",displaySettings:"显示设置",informationDisplay:"信息显示",audioSettings:"音频设置",languageAndThemes:"语言与主题",autoAdjustScreenBrightness:"自动调节屏幕亮度",screenBrightness:"屏幕亮度",autoTurnOffScreen:"自动息屏",autoTurnOffScreenTime:"自动息屏时间",autoScreenSaver:"自动屏保",autoScreenSaverTime:"自动屏保时间",displayDeviceSn:"显示SN",displayIp:"显示IP",displayIdentityCard:"显示云证",volume:"音量",language:"语言",displayCode:"显示小程序码",themeMode:"工作主题",cn:"中文",en:"英文",es:"西班牙语",fr:"法语",de:"德语",ru:"俄语",ar:"阿拉伯语",pt:"葡萄牙语",ko:"韩语",standardMode:"标准模式",simpleMode:"简约模式",firstLogin:"第一次登录后台",backlight:"屏幕背光",brightness:"白色补光灯",nirBrightness:"红外补光灯",never:"永不",min1:"1分钟",min2:"2分钟",min3:"3分钟",min4:"4分钟",min5:"5分钟",networkConfiguration:"网络配置",otherConfiguration:"其他配置",ipConfiguration:"IP配置",devicePassword:"设备密码 ",protocolPassword:"通信协议密码",networkType:"网络类型 ",ethernet:"以太网",wifiName:"Wi-Fi名",wifiPassword:"Wi-Fi密码",dhcpModeSelection:"DHCP模式",dhcpMode:"自动获取",customNetworkConfiguration:"手动配置",ipAddress:"ip地址",gateway:"网关",subnetMask:"子网掩码",dnsServer:"DNS服务器",mac:"网络mac",mqttRelatedConfiguration:"MQTT配置",mqttConnectionInformation:"MQTT连接信息",sessionConfiguration:"会话配置",serverAddress:"服务器地址",clientID:"客户端ID",userName:"用户名",userPassword:"用户密码",topicPrefix:"主题前缀",onlineChecking:"在线验证",onlineCheckingTimeout:"在线验证超时",cleanSession:"清除会话",clientIdSuffix:"客户端ID后缀",willTopic:"遗嘱主题",enterpriseWechat:"企微模式无效",faceRelatedConfiguration:"人脸配置",functionalInformation:"功能信息",prompt:"提示语",faceSimilarityThreshold:"人脸相似度阈值",livenessDetectionFunction:"活体检测功能",livenessDetectionThreshold:"活体检测阈值",infraredImageDisplay:"红外图像显示",maskRecognition:"口罩识别",strangerVoice:"陌生人语音",voiceMode:"语音模式",voiceModeDate:"自定义问候语",imageSaveType:"图像保存类型",saveStrangerImage:"保存陌生人图像",fullView:"全景",face:"人脸",broadcastPleaseRegisterFirst:"播放请先注册刷脸凭证",broadcastHelloStranger:"播放未登记人员",broadcastName:"播放名字",broadcastGreeting:"播放自定义问候语",greeting:"问候语  ",broadcastWelcome:"播放欢迎光临",recognitionSwitch:"重检开关",systemRelatedConfiguration:"系统配置",functionSwitch:"功能开关",cardSwipingSwitch:"刷卡开关",passwordSwitch:"密码开关",strangerImage:"陌生人图片开关",cloudCertificateSwitch:"云证开关",physicalCardNumber:"物理卡号",cloudCertificateAcquisition:"云证获取",heartbeatConfig:"心跳设置",heartbeatSwitch:"心跳开关",heartRateInterval:"心跳间隔",heartbeatTopic:"心跳主题",heartbeatContent:"心跳内容",basicInformation:"基础信息",deviceMac:"mac地址",uuid:"设备uuid",sn:"设备sn号",model:"设备型号",version:"版本号",appVersion:"固件版本号",releaseTime:"更新时间",totaldisk:"设备总空间",freedisk:"剩余空间",passageConfiguration:"通行配置",functionConfiguration:"功能配置",numberOfPassageRecords:"通行记录最大数量",durationOfRelayOpening:"继电器打开时长",alarmSwitch:"报警开关",fireAlarmSwitch:"火警开关",fireAlarmStatus:"火警状态",normal:"正常",warning:"预警",tamperSwitch:"防拆报警开关",uploadToCloudSwitch:"人脸上报开关",clockConfiguration:"时钟配置",timeSynchronizationSwitch:"对时开关",timeSynchronizationServerIP:"对时服务器IP",timedSynchronizationTime:"定时同步时间",timeZone:"时区",setDeviceTime:"设置设备时间",restartAfterSetting:"操作后设备自动重启",cloudCertificateActivation:"云证激活",activationKey:"激活密钥",cloudTips1:"请输入激活密钥,确保没有空格",cloudTips2:"激活成功后设备将连接到云认证服务",confirmActivation:"确认激活",activationInProgress:"激活中...",activationFailed:"激活失败",activationSuccessful:"激活成功",passwordModification:"密码修改",password:"密码",oldPassword:"旧密码",newPassword:"新密码",confirmPassword:"确认密码",passwordRule:"密码规则推荐",passwordLength:"长度≥6",cannotBeTheSame:"不能所有字符相同",cannotOrder:"不能包含至少3个连续数字或小写字母序列(升序或降序)",cannotWeakPassword:"不能是常见弱密码,包括",submit:"提交",saveConfig:"保存设置",msg_please_enter:"请输入内容",msg_inputPassword:"请输入密码",msg_oldPasswordError:"旧密码错误",msg_password_mismatch:"两次输入的密码不一致",msg_password_min_length:"密码长度至少为6位",msg_is_weak_password:"此密码为弱密码,请重新设置",msg_pswChangeSuccessAndLogin:"密码修改成功,请重新登录",msg_pswChangeSuccess:"密码修改成功",msg_pswChangeFail:"密码修改失败",msg_saveSuccess:"保存成功",msg_saveFail:"保存失败",msg_formFilled:"请检查表单填写是否正确",msg_number_0_23:"仅支持0到23",msg_number_0_24:"仅支持0到24",msg_noChange:"没有需要保存的配置变更",resourceConfiguration:"资源配置",backgroundImage:"背景图片",selectImage:"选择图片",uploadBackground:"上传背景",uploading:"上传中...",backgroundUploadTip:"请上传 像素为{n}的PNG格式 的图片,图片将转换为 Base64 格式后上传到设备",backgroundResolutionMismatch:"图片分辨率需为 {n}",backgroundRequired:"请先选择背景图片",backgroundImageOnlyPNG:"请上传 PNG 格式的图片",backgroundSizeLimit:"图片大小不能超过 5MB",backgroundParseFailed:"图片读取失败,请重试",backgroundImageSelected:"图片选择成功",backgroundSuccess:"背景上传成功",backgroundFailed:"背景上传失败",scanSettings:"扫码设置",scanSwitch:"扫码开关",scanInterval:"扫码间隔"},person:{idCard:"身份证号",userType:"人员类型",administrator:"管理员",userId:"人员ID",user:"人员",voucher:"凭证",permission:"权限",addUser:"添加人员",name:"姓名",editUser:"编辑人员",placeholderUserId:"请输入人员ID",placeholderName:"请输入人员姓名",userNotExist:"人员不存在",oneClickClear:"一键清空",clearTips:"此操作将永久删除所有人员、凭证和权限数据,是否继续?",clearSuccess:"清空成功",clearFailed:"清空失败"},voucher:{password:"密码",card:"卡片",face:"人脸",finger:"指纹",code:"码",codeType:"码类型",passthroughCode:"透传码",staticCode:"静态码",dynamicCode:"动态码",placeholderCode:"请输入码凭证",placeholderPwd:"请输入密码凭证",placeholderCard:"请输入卡片凭证",validPassword:"请输入6位数字",validCard:"请输入数字或字母",photoRegistration:"照片注册",featureValueRegistration:"特征值注册",fingerRegistration:"指纹注册",fingerFeatureRegistration:"特征值注册",fingerInput:"请将手指放在指纹采集器上",fingerRemainingTime:"剩余时间",fingerInputting:"录入中...",startFingerInput:"开始录入指纹",fingerInputTips:"请输入指纹特征值",fingerWaitInput:"等待录入",fingerInputNow:"正在录入指纹...",fingerInputSuccess:"录入成功",fingerInputFailed:"指纹录入启动失败",fingerReTry:"指纹录入失败,请重试",fingerFilled:"指纹录入成功,特征值已自动填充",fingerFailed:"指纹录入失败",fingerTimeout:"录入超时",fingerInputTimeout:"指纹录入超时,请重试",fingerError:"录入失败",fingerInputError:"指纹录入失败,请重试",fingerInputed:"指纹已录入",fingerReInput:"重新录入指纹"},permission:{deletePermission:"删除权限",addPermission:"添加权限",permissionId:"权限ID",userId:"人员ID",timeRange:"时间区间",extra:"额外属性",effectiveType:"有效类型",effectiveTime:"生效时段",effectiveWeek:"生效周期",timePeriod:"时间段",addTimePeriod:"添加时间段",modify_previous_time:"请先修改上一个添加的时间段",cannot_be_earlier:"结束时间不可小于开始时间",times_cannot_overlap:"所选时间不可重叠",choose_time_range:"请选择生效时间范围",unlimitedMode:"无限制",usualMode:"通常模式",dailyMode:"每日模式",weeklyRepetitionMode:"周重复模式",time_range:"时段"},common:{startDate:"开始日期",endDate:"结束日期",to:"至",cancel:"取消",confirm:"确认",close:"关闭",delete:"删除",edit:"编辑",batchDelete:"批量删除",startTime:"开始时间",endTime:"结束时间",monday:"星期一",tuseday:"星期二",wednesday:"星期三",thursday:"星期四",friday:"星期五",saterday:"星期六",sunday:"星期日",placeholder:"请输入",placeholderSelect:"请选择",closeTips:"确认关闭吗?",deleteTips:"确认删除吗?",deleteSuccess:"删除成功",addSuccess:"新增成功",editSuccess:"编辑成功",saveSuccess:"保存成功",tips:"提示",operation:"操作",query:"查询",reset:"重置",noData:"暂无数据",export:"导出",success:"成功",failure:"失败",incorrectFormat:"格式不正确",integerFormat:"只能为大于等于0的整数",positiveIntegerFormat:"只能为大于0的整数",noDataSaved:"没有数据需要保存",chinese:"中文",english:"英文",spanish:"西班牙语",french:"法语",german:"德语",russian:"俄语",arabic:"阿拉伯语",portuguese:"葡萄牙语",korean:"韩语",detail:"详情",clearTips:"确认清空吗?",clearSuccess:"清空成功"},log:{accessMethod:"通行方式",passingTime:"通行时间",accessPass:"通行凭证",accessResult:"通行结果",accessPhoto:"通行照片",viewPhotos:"查看照片"},error:{networkError:"网络请求失败,请检查网络连接",timeout:"请求超时,请检查网络连接或稍后重试",serverError:"服务器内部错误,请稍后重试",notFound:"请求的资源不存在",unauthorized:"未授权,请重新登录",noResponse:"无法连接到服务器,请检查网络连接或服务器状态",unknownError:"请求失败,错误代码:",requestFailed:"请求失败"},security:{keyId:"密钥ID",keyType:"密钥类型",keyEncoding:"密钥编码",keyValue:"密钥值",startTime:"开始时间",expirationTime:"过期时间",newKey:"新增密钥",clearKey:"清空密钥",validTime:"有效时间"}},ht={login:{lang:"Idioma",systemname:"Login Facial",username:"Usuario",username_label:"Por favor ingrese el usuario",pwd:"Contraseña",pwd_label:"Por favor ingrese la contraseña",pwd_info:"Ingrese el formato correcto de contraseña",success_msg:"Inicio de sesión exitoso",error_name:"Contraseña incorrecta",error_res:"No cumple con los requisitos de inicio de sesión",login:"Iniciar sesión"},aside:{systemname:"Panel Facial",quit:"Salir",deviceControl:"Control",basicSetting:"Config.",workerSetting:"Personal",deviceMonitoring:"Monitor",recordManagement:"Registros",securityManagement:"La clave",tips:"Aviso",tips_msg:"¿Desea cerrar sesión?"},control:{remoteControl:"Remoto",restart:"Reiniciar",clickToRestart:"Clic para reiniciar",restartConfirm:"¿Seguro que desea reiniciar?",restartSuccess:"Reinicio exitoso",restartFailed:"Reinicio fallido",remoteOpen:"Abrir puerta de forma remota",clickToOpen:"Clic para abrir",openConfirm:"¿Seguro que desea abrir remotamente?",remoteOpenSuccess:"Apertura exitosa",remoteOpenFailed:"Apertura fallida",reset:"Restablecer dispositivo",clickToReset:"Clic para restablecer",resetConfirm:"¿Seguro que desea restablecer?",resetSuccess:"Restablecimiento exitoso",resetFailed:"Restablecimiento fallido",firmwareUpgrade:"Actualización de firmware",upgradeConfig:"Config. de actualización",firmwareUrl:"URL del firmware",md5Checksum:"Valor md5",startUpgrade:"Iniciar actualización",urlRequired:"La URL es obligatoria",md5Required:"El md5 es obligatorio",urlInvalid:"Ingrese una URL válida",md5Invalid:"Ingrese un md5 válido",upgradeConfirm:"¿Confirmar actualización?",upgradeSuccess:"Actualización exitosa",clearFile:"Borrar archivo",uploading:"Subiendo...",uploadAndUpgrade:"Subir y actualizar",restartTips:"Reinicio seguro, no se perderán datos",restarting:"Reiniciando...",remoteTips:"Control remoto de acceso",opening:"Abriendo...",resetTips:"Restaurar de fábrica, borrará datos",reseting:"Restableciendo...",urlUpgrade:"Actualización por URL",fileUpgrade:"Subida de archivo",uploadFile:"Clic para subir firmware",formatFile:"Soporta .zip o .dpk, máx 20MB",fileName:"Nombre",size:"Tamaño"},config:{second:"s",millisecond:"ms",min:"minutos",notsave:"No guardar",save:"Guardar",noVoice:"Sin voz",no:"No",yes:"Sí",basicConfiguration:"Configuración básica",displaySettings:"Pantalla",informationDisplay:"Mostrar información",audioSettings:"Audio",languageAndThemes:"Idioma y tema",autoAdjustScreenBrightness:"Brillo automático",screenBrightness:"Brillo de pantalla",autoTurnOffScreen:"Apagado automático",autoTurnOffScreenTime:"Tiempo de apagado",autoScreenSaver:"Salvapantallas automático",autoScreenSaverTime:"Tiempo de salvapantallas",displayDeviceSn:"Mostrar SN",displayIp:"Mostrar IP",displayIdentityCard:"Mostrar credencial en la nube",volume:"Volumen",language:"Idioma",displayCode:"Mostrar código de miniapp",themeMode:"Tema",cn:"Chino",en:"Inglés",es:"Español",fr:"Francés",de:"Alemán",ru:"Ruso",ar:"Árabe",pt:"Port.",ko:"Coreano",standardMode:"Modo estándar",simpleMode:"Modo simple",firstLogin:"Primer inicio de sesión",backlight:"Luz de fondo",brightness:"Luz blanca",nirBrightness:"Luz IR",never:"Nunca",min1:"1 minuto",min2:"2 minutos",min3:"3 minutos",min4:"4 minutos",min5:"5 minutos",networkConfiguration:"Red",otherConfiguration:"Otros",ipConfiguration:"IP",devicePassword:"Contraseña del dispositivo",protocolPassword:"Contraseña de protocolo",networkType:"Tipo de red",ethernet:"Ethernet",wifiName:"Wi‑Fi",wifiPassword:"Contraseña Wi‑Fi",dhcpModeSelection:"Modo DHCP",dhcpMode:"Automático",customNetworkConfiguration:"Manual",ipAddress:"IP",gateway:"Puerta de enlace",subnetMask:"Máscara de subred",dnsServer:"DNS",mac:"MAC de red",mqttRelatedConfiguration:"MQTT",mqttConnectionInformation:"Conexión MQTT",sessionConfiguration:"Sesión",serverAddress:"Servidor",clientID:"ID de cliente",userName:"Usuario",userPassword:"Contraseña",topicPrefix:"Prefijo de tema",onlineChecking:"Verificación en línea",onlineCheckingTimeout:"Tiempo de espera",cleanSession:"Limpiar sesión",clientIdSuffix:"Sufijo de ID",willTopic:"Tema de voluntad",enterpriseWechat:"Modo WeChat Enterprise sin efecto",faceRelatedConfiguration:"Configuración facial",functionalInformation:"Función",prompt:"Mensaje",faceSimilarityThreshold:"Umbral de similitud",livenessDetectionFunction:"Detección de vivacidad",livenessDetectionThreshold:"Umbral de vivacidad",infraredImageDisplay:"Mostrar infrarrojo",maskRecognition:"Reconocer mascarilla",strangerVoice:"Voz de desconocido",voiceMode:"Modo de voz",voiceModeDate:"Saludo personalizado",imageSaveType:"Tipo de guardado",saveStrangerImage:"Guardar imagen de desconocido",fullView:"Panorámica",face:"Rostro",broadcastPleaseRegisterFirst:"Reproducir “Registre primero”",broadcastHelloStranger:"Reproducir “Desconocido”",broadcastName:"Reproducir nombre",broadcastGreeting:"Reproducir saludo personalizado",greeting:"Saludo",broadcastWelcome:'Reproducir "Bienvenido"',recognitionSwitch:"Interruptor de re-detección",systemRelatedConfiguration:"Sistema",functionSwitch:"Interruptores",cardSwipingSwitch:"Tarjeta",passwordSwitch:"Contraseña",strangerImage:"Imagen de desconocido",cloudCertificateSwitch:"Certificado en la nube",physicalCardNumber:"Número de tarjeta física",cloudCertificateAcquisition:"Obtención de certificado en la nube",heartbeatConfig:"Heartbeat",heartbeatSwitch:"Heartbeat on/off",heartRateInterval:"Intervalo",heartbeatTopic:"Tema heartbeat",heartbeatContent:"Contenido",basicInformation:"Información básica",deviceMac:"MAC",uuid:"UUID",sn:"SN",model:"Modelo",version:"Versión",appVersion:"Versión de firmware",releaseTime:"Hora de actualización",totaldisk:"Espacio total",freedisk:"Espacio restante",passageConfiguration:"Paso",functionConfiguration:"Funciones",numberOfPassageRecords:"Máx. registros",durationOfRelayOpening:"Duración del relé",alarmSwitch:"Alarma",fireAlarmSwitch:"Alarma de incendios",fireAlarmStatus:"Estado de incendios",normal:"Normal",warning:"Aviso",tamperSwitch:"Antimanipulación",uploadToCloudSwitch:"Interruptor de carga facial",clockConfiguration:"Reloj",timeSynchronizationSwitch:"Sincronización horaria",timeSynchronizationServerIP:"Servidor de tiempo",timedSynchronizationTime:"Hora de sincronización",timeZone:"Zona horaria",setDeviceTime:"Configurar hora",restartAfterSetting:"El dispositivo se reiniciará",cloudCertificateActivation:"Activación de certificado",activationKey:"Clave de activación",cloudTips1:"Ingrese la clave sin espacios",cloudTips2:"Tras activar, conectará al servicio de autenticación",confirmActivation:"Confirmar activación",activationInProgress:"Activando...",activationFailed:"Activación fallida",activationSuccessful:"Activación exitosa",passwordModification:"Cambiar contraseña",password:"Contraseña",oldPassword:"Contraseña anterior",newPassword:"Nueva contraseña",confirmPassword:"Confirmar contraseña",passwordRule:"Recomendación de contraseña",passwordLength:"Longitud ≥6",cannotBeTheSame:"No puede ser todos los caracteres iguales",cannotOrder:"No incluir 3+ números/letras consecutivos",cannotWeakPassword:"No usar contraseñas débiles comunes",submit:"Enviar",saveConfig:"Guardar",msg_please_enter:"Ingrese contenido",msg_inputPassword:"Ingrese contraseña",msg_oldPasswordError:"Contraseña anterior incorrecta",msg_password_mismatch:"Las contraseñas no coinciden",msg_password_min_length:"Mínimo 6 caracteres",msg_is_weak_password:"Contraseña débil, cambie",msg_pswChangeSuccessAndLogin:"Cambio exitoso, inicie sesión",msg_pswChangeSuccess:"Cambio de contraseña exitoso",msg_pswChangeFail:"Cambio de contraseña fallido",msg_saveSuccess:"Guardado exitoso",msg_saveFail:"Guardado fallido",msg_formFilled:"Revise el formulario",msg_number_0_23:"Solo 0-23",msg_number_0_24:"Solo 0-24",msg_noChange:"No hay cambios de configuración para guardar",resourceConfiguration:"Configuración de recursos",backgroundImage:"Imagen de fondo",selectImage:"Seleccionar imagen",uploadBackground:"Subir fondo",uploading:"Subiendo...",backgroundUploadTip:"Suba una imagen PNG; se convertirá a Base64 y se enviará al dispositivo",backgroundResolutionMismatch:"La resolución de la imagen debe ser {n}",backgroundRequired:"Seleccione una imagen de fondo",backgroundImageOnlyPNG:"Solo imágenes PNG",backgroundSizeLimit:"La imagen no debe exceder 5MB",backgroundParseFailed:"Error al leer imagen, reintente",backgroundImageSelected:"Imagen seleccionada",backgroundSuccess:"Fondo subido",backgroundFailed:"Error al subir fondo",scanSettings:"Configuración de escaneo",scanSwitch:"Interruptor de Escaneo",scanInterval:"Intervalo de escaneo"},person:{idCard:"Número de ID",userType:"Tipo de persona",administrator:"Administrador",userId:"ID",user:"Usuario",voucher:"Credencial",permission:"Permiso",addUser:"Añadir persona",name:"Nombre",editUser:"Editar persona",placeholderUserId:"Ingrese ID de usuario",placeholderName:"Ingrese nombre",userNotExist:"La persona no existe",oneClickClear:"Borrar todo",clearTips:"Se borrarán todos los datos, ¿continuar?",clearSuccess:"Borrado exitoso",clearFailed:"Borrado fallido"},voucher:{password:"Contraseña",card:"Tarjeta",face:"Rostro",finger:"Huella",code:"Código",codeType:"Tipo de código",passthroughCode:"Código de paso",staticCode:"Código estático",dynamicCode:"Código dinámico",placeholderCode:"Por favor ingrese certificado de código",placeholderPwd:"Ingrese la credencial de contraseña",placeholderCard:"Ingrese la credencial de tarjeta",validPassword:"Ingrese 6 dígitos",validCard:"Ingrese 8 dígitos o letras",photoRegistration:"Registro de foto",featureValueRegistration:"Registro de rasgos",fingerRegistration:"Registro de huella",fingerFeatureRegistration:"Registro por valor de característica",fingerInput:"Coloque el dedo en el lector de huellas",fingerRemainingTime:"Tiempo restante",fingerInputting:"Registrando...",startFingerInput:"Iniciar registro de huella",fingerInputTips:"Ingrese el valor de característica de la huella",fingerWaitInput:"En espera de registro",fingerInputNow:"Registrando huella...",fingerInputSuccess:"Registro exitoso",fingerInputFailed:"No se pudo iniciar el registro de huella",fingerReTry:"Fallo en el registro de huella, inténtelo de nuevo",fingerFilled:"Registro de huella exitoso, el valor de característica se ha rellenado automáticamente",fingerFailed:"Fallo en el registro de huella",fingerTimeout:"Tiempo de espera agotado",fingerInputTimeout:"Tiempo de espera del registro de huella, inténtelo de nuevo",fingerError:"Registro fallido",fingerInputError:"Fallo en el registro de huella, inténtelo de nuevo",fingerInputed:"Huella registrada",fingerReInput:"Volver a registrar la huella"},permission:{deletePermission:"Eliminar permiso",addPermission:"Añadir permiso",permissionId:"ID de permiso",userId:"ID de usuario",timeRange:"Intervalo de tiempo",extra:"Extra",effectiveType:"Tipo de vigencia",effectiveTime:"Tiempo efectivo",effectiveWeek:"Semana efectiva",timePeriod:"Periodo",addTimePeriod:"Añadir periodo",modify_previous_time:"Primero modifique el periodo previo",cannot_be_earlier:"La hora final no puede ser menor que la inicial",times_cannot_overlap:"Los tiempos no pueden superponerse",choose_time_range:"Seleccione rango de tiempo",unlimitedMode:"Sin límite",usualMode:"Modo habitual",dailyMode:"Modo diario",weeklyRepetitionMode:"Repetición semanal",time_range:"Rango"},common:{startDate:"Fecha inicio",endDate:"Fecha fin",to:"a",cancel:"Cancelar",confirm:"Confirmar",close:"Cerrar",delete:"Eliminar",edit:"Editar",batchDelete:"Eliminación masiva",startTime:"Hora inicio",endTime:"Hora fin",monday:"Lunes",tuseday:"Martes",wednesday:"Miércoles",thursday:"Jueves",friday:"Viernes",saterday:"Sábado",sunday:"Domingo",placeholder:"Por favor ingrese",placeholderSelect:"Por favor seleccione",closeTips:"¿Confirmar cierre?",deleteTips:"¿Confirmar eliminación?",deleteSuccess:"Eliminado con éxito",addSuccess:"Añadido con éxito",editSuccess:"Editado con éxito",saveSuccess:"Guardado con éxito",tips:"Aviso",operation:"Operación",query:"Consulta",reset:"Reset",noData:"Sin datos por ahora",export:"Exportar",success:"Éxito",failure:"Fallo",incorrectFormat:"Formato incorrecto",integerFormat:"Debe ser entero ≥0",positiveIntegerFormat:"Debe ser entero >0",noDataSaved:"No hay datos para guardar",chinese:"Chino",english:"Inglés",spanish:"Español",french:"Francés",german:"Alemán",russian:"Ruso",arabic:"Árabe",portuguese:"Portugués",korean:"Coreano",detail:"Detalle",clearTips:"¿Confirmar borrado?",clearSuccess:"Borrado exitosamente"},log:{accessMethod:"Método de acceso",passingTime:"Hora de paso",accessPass:"Credencial de paso",accessResult:"Resultado",accessPhoto:"Foto",viewPhotos:"Ver fotos"},error:{networkError:"Error de red, verifique su conexión",timeout:"Tiempo de espera agotado, reintente",serverError:"Error interno del servidor, reintente",notFound:"El recurso no existe",unauthorized:"No autorizado, inicie sesión",noResponse:"No hay respuesta del servidor",unknownError:"Error de solicitud, código:",requestFailed:"Solicitud fallida"},security:{keyId:"ID de clave",keyType:"Tipo de clave",keyEncoding:"Codificación de clave",keyValue:"Valor de clave",startTime:"Hora de inicio",expirationTime:"Hora de expiración",newKey:"Agregar clave",clearKey:"Borrar clave",validTime:"Tiempo válido"}},vt={login:{lang:"Langue",systemname:"Login Facial",username:"Utilisateur",username_label:"Veuillez saisir l'utilisateur",pwd:"Mot de passe",pwd_label:"Veuillez saisir le mot de passe",pwd_info:"Entrez un mot de passe valide",success_msg:"Connexion réussie",error_name:"Mot de passe incorrect",error_res:"Ne répond pas aux exigences de connexion",login:"Se connecter"},aside:{systemname:"Console",quit:"Quitter",deviceControl:"Contrôle",basicSetting:"Réglages",workerSetting:"Personnel",deviceMonitoring:"Surveillance",recordManagement:"Journal",securityManagement:"Des clés",tips:"Conseil",tips_msg:"Voulez-vous vous déconnecter ?"},control:{remoteControl:"Distance",restart:"Redémarrer",clickToRestart:"Cliquer pour redémarrer",restartConfirm:"Confirmer le redémarrage ?",restartSuccess:"Redémarrage réussi",restartFailed:"Redémarrage échoué",remoteOpen:"Ouverture à distance",clickToOpen:"Cliquer pour ouvrir",openConfirm:"Confirmer l'ouverture à distance ?",remoteOpenSuccess:"Ouverture réussie",remoteOpenFailed:"Ouverture échouée",reset:"Réinitialiser",clickToReset:"Cliquer pour réinitialiser",resetConfirm:"Confirmer la réinitialisation ?",resetSuccess:"Réinitialisation réussie",resetFailed:"Réinitialisation échouée",firmwareUpgrade:"Mise à jour du firmware",upgradeConfig:"Config. mise à jour",firmwareUrl:"URL du firmware",md5Checksum:"Valeur md5",startUpgrade:"Démarrer la mise à jour",urlRequired:"L'URL est requise",md5Required:"Le md5 est requis",urlInvalid:"Entrez une URL valide",md5Invalid:"Entrez un md5 valide",upgradeConfirm:"Confirmer la mise à jour ?",upgradeSuccess:"Mise à jour réussie",clearFile:"Effacer le fichier",uploading:"Téléversement...",uploadAndUpgrade:"Téléverser et mettre à jour",restartTips:"Redémarrage sécurisé, sans perte de données",restarting:"Redémarrage...",remoteTips:"Contrôle distant de la porte",opening:"Ouverture...",resetTips:"Restauration usine, effacera les données",reseting:"Réinitialisation...",urlUpgrade:"Mise à jour par URL",fileUpgrade:"Mise à jour par fichier",uploadFile:"Cliquez pour téléverser le firmware",formatFile:"Supporte .zip ou .dpk, max 20MB",fileName:"Nom du fichier",size:"Taille"},config:{second:"s",millisecond:"ms",min:"minutes",notsave:"Ne pas enregistrer",save:"Enregistrer",noVoice:"Sans voix",no:"Non",yes:"Oui",basicConfiguration:"Configuration de base",displaySettings:"Affichage",informationDisplay:"Affichage d'information",audioSettings:"Audio",languageAndThemes:"Langue et thème",autoAdjustScreenBrightness:"Luminosité auto",screenBrightness:"Luminosité écran",autoTurnOffScreen:"Extinction auto",autoTurnOffScreenTime:"Temps d'extinction",autoScreenSaver:"Économiseur auto",autoScreenSaverTime:"Délai économiseur",displayDeviceSn:"Afficher SN",displayIp:"Afficher IP",displayIdentityCard:"Afficher certificat cloud",volume:"Volume",language:"Langue",displayCode:"Afficher code miniapp",themeMode:"Thème",cn:"Chinois",en:"Anglais",es:"Espagnol",fr:"Français",de:"Allemand",ru:"Russe",ar:"Arabe",pt:"Port.",ko:"Coréen",standardMode:"Mode standard",simpleMode:"Mode simple",firstLogin:"Première connexion",backlight:"Rétroéclairage",brightness:"Lumière blanche",nirBrightness:"Lumière IR",never:"Jamais",min1:"1 minute",min2:"2 minutes",min3:"3 minutes",min4:"4 minutes",min5:"5 minutes",networkConfiguration:"Réseau",otherConfiguration:"Autres",ipConfiguration:"Adresse IP",devicePassword:"Mot de passe appareil",protocolPassword:"Mot de passe protocole",networkType:"Type de réseau",ethernet:"Ethernet",wifiName:"Wi‑Fi",wifiPassword:"Mot de passe Wi‑Fi",dhcpModeSelection:"Mode DHCP",dhcpMode:"Automatique",customNetworkConfiguration:"Manuel",ipAddress:"IP",gateway:"Passerelle",subnetMask:"Masque",dnsServer:"DNS",mac:"MAC",mqttRelatedConfiguration:"MQTT",mqttConnectionInformation:"Connexion MQTT",sessionConfiguration:"Session",serverAddress:"Serveur",clientID:"ID client",userName:"Nom d'utilisateur",userPassword:"Mot de passe",topicPrefix:"Préfixe de topic",onlineChecking:"Vérification en ligne",onlineCheckingTimeout:"Délai d'attente",cleanSession:"Session propre",clientIdSuffix:"Suffixe d'ID client",willTopic:"Topic Will",enterpriseWechat:"Mode WeChat Entreprise sans effet",faceRelatedConfiguration:"Configuration faciale",functionalInformation:"Fonction",prompt:"Invite",faceSimilarityThreshold:"Seuil de similarité",livenessDetectionFunction:"Détection de vivacité",livenessDetectionThreshold:"Seuil de vivacité",infraredImageDisplay:"Affichage infrarouge",maskRecognition:"Reconnaissance de masque",strangerVoice:"Voix d'inconnu",voiceMode:"Mode voix",voiceModeDate:"Salutation personnalisée",imageSaveType:"Type de sauvegarde",saveStrangerImage:"Sauver image d'inconnu",fullView:"Panorama",face:"Visage",broadcastPleaseRegisterFirst:'Diffuser "Veuillez vous enregistrer"',broadcastHelloStranger:'Diffuser "Inconnu"',broadcastName:"Diffuser le nom",broadcastGreeting:"Diffuser salutation personnalisée",greeting:"Salutation",broadcastWelcome:'Diffuser "Bienvenue"',recognitionSwitch:"Interrupteur de re-détection",systemRelatedConfiguration:"Système",functionSwitch:"Commutateurs",cardSwipingSwitch:"Carte",passwordSwitch:"Mot de passe",strangerImage:"Image inconnue",cloudCertificateSwitch:"Certificat cloud",physicalCardNumber:"Numéro de carte physique",cloudCertificateAcquisition:"Obtention certificat cloud",heartbeatConfig:"Heartbeat",heartbeatSwitch:"Activer heartbeat",heartRateInterval:"Intervalle",heartbeatTopic:"Topic heartbeat",heartbeatContent:"Contenu",basicInformation:"Infos de base",deviceMac:"MAC",uuid:"UUID",sn:"SN",model:"Modèle",version:"Version",appVersion:"Version firmware",releaseTime:"Date de mise à jour",totaldisk:"Volume total",freedisk:"Espace restant",passageConfiguration:"Passage",functionConfiguration:"Fonctions",numberOfPassageRecords:"Nb. max de passages",durationOfRelayOpening:"Durée d'ouverture du relais",alarmSwitch:"Alarme",fireAlarmSwitch:"Alarme incendie",fireAlarmStatus:"État incendie",normal:"Normal",warning:"Alerte",tamperSwitch:"Anti-sabotage",uploadToCloudSwitch:"Interrupteur de téléversement facial",clockConfiguration:"Horloge",timeSynchronizationSwitch:"Synchronisation horaire",timeSynchronizationServerIP:"Serveur de temps",timedSynchronizationTime:"Heure de synchro",timeZone:"Fuseau horaire",setDeviceTime:"Régler l'heure",restartAfterSetting:"L'appareil redémarrera",cloudCertificateActivation:"Activation du certificat",activationKey:"Clé d'activation",cloudTips1:"Entrez la clé sans espaces",cloudTips2:"Après activation, connexion au service cloud",confirmActivation:"Confirmer l'activation",activationInProgress:"Activation...",activationFailed:"Échec activation",activationSuccessful:"Activation réussie",passwordModification:"Modifier le mot de passe",password:"Mot de passe",oldPassword:"Ancien mot de passe",newPassword:"Nouveau mot de passe",confirmPassword:"Confirmer mot de passe",passwordRule:"Recommandations",passwordLength:"Longueur ≥6",cannotBeTheSame:"Tous les caractères ne peuvent être identiques",cannotOrder:"Pas de 3+ nombres/lettres consécutifs",cannotWeakPassword:"Pas de mot de passe faible",submit:"Soumettre",saveConfig:"Enregistrer",msg_please_enter:"Veuillez saisir",msg_inputPassword:"Veuillez saisir le mot de passe",msg_oldPasswordError:"Ancien mot de passe incorrect",msg_password_mismatch:"Les mots de passe ne correspondent pas",msg_password_min_length:"Au moins 6 caractères",msg_is_weak_password:"Mot de passe faible, changez-le",msg_pswChangeSuccessAndLogin:"Mot de passe changé, reconnectez-vous",msg_pswChangeSuccess:"Mot de passe modifié",msg_pswChangeFail:"Échec de modification",msg_saveSuccess:"Enregistré",msg_saveFail:"Échec de l'enregistrement",msg_formFilled:"Vérifiez le formulaire",msg_number_0_23:"Supporte seulement 0-23",msg_number_0_24:"Supporte seulement 0-24",msg_noChange:"Aucun changement de configuration à enregistrer",resourceConfiguration:"Configuration des ressources",backgroundImage:"Image de fond",selectImage:"Choisir une image",uploadBackground:"Téléverser le fond",uploading:"Téléversement...",backgroundUploadTip:"Téléversez une image PNG avec un nombre de pixels égal à {n}; convertie en Base64 puis envoyée",backgroundResolutionMismatch:"La résolution de l'image doit être {n}",backgroundRequired:"Veuillez choisir l'image de fond",backgroundImageOnlyPNG:"Seulement PNG",backgroundSizeLimit:"La taille ne doit pas dépasser 5MB",backgroundParseFailed:"Échec de lecture de l'image",backgroundImageSelected:"Image sélectionnée",backgroundSuccess:"Fond téléversé",backgroundFailed:"Échec du téléversement",scanSettings:"Paramètres de scan",scanSwitch:"Interrupteur de Scan",scanInterval:"Intervalle de scan"},person:{idCard:"Numéro d'identité",userType:"Type de personne",administrator:"Administrateur",userId:"ID",user:"Utilisateur",voucher:"Credential",permission:"Permission",addUser:"Ajouter une personne",name:"Nom",editUser:"Modifier personne",placeholderUserId:"Entrez l'ID utilisateur",placeholderName:"Entrez le nom",userNotExist:"La personne n'existe pas",oneClickClear:"Tout effacer",clearTips:"Cette action effacera toutes les données, continuer ?",clearSuccess:"Effacé avec succès",clearFailed:"Échec de suppression"},voucher:{password:"Mot de passe",card:"Carte",face:"Visage",finger:"Empreinte",code:"Code",codeType:"Type de code",passthroughCode:"Code de transit",staticCode:"Code statique",dynamicCode:"Code dynamique",placeholderCode:"Veuillez saisir le certificat de code",placeholderPwd:"Entrez le mot de passe",placeholderCard:"Entrez la carte",validPassword:"Entrez 6 chiffres",validCard:"Entrez 8 chiffres ou lettres",photoRegistration:"Enregistrement d'image",featureValueRegistration:"Enregistrement de caractéristiques",fingerRegistration:"Enregistrement d'empreinte",fingerFeatureRegistration:"Enregistrement par valeur de caractéristique",fingerInput:"Veuillez poser votre doigt sur le lecteur d'empreintes",fingerRemainingTime:"Temps restant",fingerInputting:"En cours...",startFingerInput:"Démarrer l'enregistrement d'empreinte",fingerInputTips:"Veuillez saisir la valeur de caractéristique de l'empreinte",fingerWaitInput:"En attente",fingerInputNow:"Enregistrement de l'empreinte...",fingerInputSuccess:"Enregistrement réussi",fingerInputFailed:"Échec du démarrage de l'enregistrement d'empreinte",fingerReTry:"Échec de l'enregistrement d'empreinte, veuillez réessayer",fingerFilled:"Enregistrement réussi, la valeur de caractéristique a été remplie automatiquement",fingerFailed:"Échec de l'enregistrement d'empreinte",fingerTimeout:"Délai dépassé",fingerInputTimeout:"Délai dépassé pour l'enregistrement d'empreinte, veuillez réessayer",fingerError:"Échec de la saisie",fingerInputError:"Échec de l'enregistrement d'empreinte, veuillez réessayer",fingerInputed:"Empreinte déjà enregistrée",fingerReInput:"Réenregistrer l'empreinte"},permission:{deletePermission:"Supprimer permission",addPermission:"Ajouter permission",permissionId:"ID permission",userId:"ID utilisateur",timeRange:"Plage horaire",extra:"Extra",effectiveType:"Type de validité",effectiveTime:"Temps effectif",effectiveWeek:"Semaine effective",timePeriod:"Période",addTimePeriod:"Ajouter une période",modify_previous_time:"Modifiez la période précédente",cannot_be_earlier:"L'heure de fin ne peut être avant le début",times_cannot_overlap:"Les horaires ne peuvent se chevaucher",choose_time_range:"Choisissez une plage horaire",unlimitedMode:"Illimité",usualMode:"Mode habituel",dailyMode:"Mode quotidien",weeklyRepetitionMode:"Répétition hebdo",time_range:"Plage horaire"},common:{startDate:"Date début",endDate:"Date fin",to:"à",cancel:"Annuler",confirm:"Confirmer",close:"Fermer",delete:"Supprimer",edit:"Modifier",batchDelete:"Suppression multiple",startTime:"Heure début",endTime:"Heure fin",monday:"Lundi",tuseday:"Mardi",wednesday:"Mercredi",thursday:"Jeudi",friday:"Vendredi",saterday:"Samedi",sunday:"Dimanche",placeholder:"Veuillez saisir",placeholderSelect:"Veuillez sélectionner",closeTips:"Confirmer la fermeture ?",deleteTips:"Confirmer la suppression ?",deleteSuccess:"Suppression réussie",addSuccess:"Ajout réussi",editSuccess:"Modification réussie",saveSuccess:"Enregistré avec succès",tips:"Conseil",operation:"Opération",query:"Rechercher",reset:"Reset",noData:"Pas de données",export:"Exporter",success:"Succès",failure:"Échec",incorrectFormat:"Format incorrect",integerFormat:"Doit être un entier ≥0",positiveIntegerFormat:"Doit être un entier >0",noDataSaved:"Aucune donnée à enregistrer",chinese:"Chinois",english:"Anglais",spanish:"Espagnol",french:"Français",german:"Allemand",russian:"Russe",arabic:"Arabe",portuguese:"Portugais",korean:"Coréen",detail:"Détail",clearTips:"Confirmer l'effacement?",clearSuccess:"Effacé avec succès"},log:{accessMethod:"Méthode d'accès",passingTime:"Heure de passage",accessPass:"Credential",accessResult:"Résultat",accessPhoto:"Photo",viewPhotos:"Voir photos"},error:{networkError:"Échec réseau, vérifiez la connexion",timeout:"Délai dépassé, réessayez",serverError:"Erreur interne serveur, réessayez",notFound:"La ressource n'existe pas",unauthorized:"Non autorisé, reconnectez-vous",noResponse:"Impossible de contacter le serveur",unknownError:"Échec de la requête, code :",requestFailed:"Requête échouée"},security:{keyId:"ID de clé",keyType:"Type de clé",keyEncoding:"Encodage de clé",keyValue:"Valeur de clé",startTime:"Heure de début",expirationTime:"Heure d'expiration",newKey:"Ajouter une clé",clearKey:"Effacer la clé",validTime:"Durée de validité"}},bt={login:{lang:"Sprache",systemname:"Login",username:"Benutzername",username_label:"Bitte Benutzername eingeben",pwd:"Passwort",pwd_label:"Bitte Passwort eingeben",pwd_info:"Bitte korrektes Passwortformat eingeben",success_msg:"Erfolgreich angemeldet",error_name:"Falsches Passwort",error_res:"Anmeldeanforderungen nicht erfüllt",login:"Anmelden"},aside:{systemname:"Konsole",quit:"Abmelden",deviceControl:"Steuerung",basicSetting:"Einstellungen",workerSetting:"Personen",deviceMonitoring:"Überwachung",recordManagement:"Aufzeichnungen",securityManagement:"Schlüsselverwaltung",tips:"Hinweis",tips_msg:"Möchten Sie sich abmelden?"},control:{remoteControl:"Fern",restart:"Neustart",clickToRestart:"Zum Neustart klicken",restartConfirm:"Neustart bestätigen?",restartSuccess:"Neustart erfolgreich",restartFailed:"Neustart fehlgeschlagen",remoteOpen:"Tür fernöffnen",clickToOpen:"Zum Öffnen klicken",openConfirm:"Fernöffnung bestätigen?",remoteOpenSuccess:"Öffnen erfolgreich",remoteOpenFailed:"Öffnen fehlgeschlagen",reset:"Gerät zurücksetzen",clickToReset:"Zum Zurücksetzen klicken",resetConfirm:"Zurücksetzen bestätigen?",resetSuccess:"Zurücksetzen erfolgreich",resetFailed:"Zurücksetzen fehlgeschlagen",firmwareUpgrade:"Firmware-Update",upgradeConfig:"Update-Konfiguration",firmwareUrl:"Firmware-URL",md5Checksum:"md5-Wert",startUpgrade:"Update starten",urlRequired:"URL ist erforderlich",md5Required:"md5 ist erforderlich",urlInvalid:"Bitte gültige URL eingeben",md5Invalid:"Bitte gültiges md5 eingeben",upgradeConfirm:"Update bestätigen?",upgradeSuccess:"Update erfolgreich",clearFile:"Datei löschen",uploading:"Hochladen...",uploadAndUpgrade:"Hochladen & Aktualisieren",restartTips:"Sicherer Neustart, keine Daten gehen verloren",restarting:"Neustart...",remoteTips:"Fernsteuerung der Zugangstür",opening:"Öffnet...",resetTips:"Werksreset, löscht alle Daten",reseting:"Setzt zurück...",urlUpgrade:"Update per URL",fileUpgrade:"Update per Datei",uploadFile:"Firmware-Datei hochladen",formatFile:"Unterstützt .zip oder .dpk, max 20MB",fileName:"Dateiname",size:"Größe"},config:{second:"s",millisecond:"ms",min:"Minuten",notsave:"Nicht speichern",save:"Speichern",noVoice:"Keine Stimme",no:"Nein",yes:"Ja",basicConfiguration:"Grundkonfiguration",displaySettings:"Anzeige",informationDisplay:"Infoanzeige",audioSettings:"Audio",languageAndThemes:"Sprache & Thema",autoAdjustScreenBrightness:"Auto-Helligkeit",screenBrightness:"Bildschirmhelligkeit",autoTurnOffScreen:"Auto-Bildschirm aus",autoTurnOffScreenTime:"Zeit bis Ausschalten",autoScreenSaver:"Auto-Bildschirmschoner",autoScreenSaverTime:"Zeit Bildschirmschoner",displayDeviceSn:"SN anzeigen",displayIp:"IP anzeigen",displayIdentityCard:"Cloud-Zertifikat anzeigen",volume:"Lautstärke",language:"Sprache",displayCode:"Mini-App-Code anzeigen",themeMode:"Thema",cn:"Chinesisch",en:"Englisch",es:"Spanisch",fr:"Französisch",de:"Deutsch",ru:"Russisch",ar:"Arabisch",pt:"Port.",ko:"Koreanisch",standardMode:"Standardmodus",simpleMode:"Einfacher Modus",firstLogin:"Erste Anmeldung",backlight:"Hintergrundlicht",brightness:"Weißlicht",nirBrightness:"IR-Licht",never:"Nie",min1:"1 Minute",min2:"2 Minuten",min3:"3 Minuten",min4:"4 Minuten",min5:"5 Minuten",networkConfiguration:"Netzwerk",otherConfiguration:"Andere",ipConfiguration:"IP-Konfiguration",devicePassword:"Gerätepasswort",protocolPassword:"Protokollpasswort",networkType:"Netzwerktyp",ethernet:"Ethernet",wifiName:"Wi‑Fi",wifiPassword:"Wi‑Fi-Passwort",dhcpModeSelection:"DHCP-Modus",dhcpMode:"Automatisch",customNetworkConfiguration:"Manuell",ipAddress:"IP-Adresse",gateway:"Gateway",subnetMask:"Subnetzmaske",dnsServer:"DNS-Server",mac:"Netzwerk-MAC",mqttRelatedConfiguration:"MQTT",mqttConnectionInformation:"MQTT-Verbindung",sessionConfiguration:"Sitzung",serverAddress:"Serveradresse",clientID:"Client-ID",userName:"Benutzername",userPassword:"Passwort",topicPrefix:"Topic-Präfix",onlineChecking:"Online-Prüfung",onlineCheckingTimeout:"Zeitüberschreitung",cleanSession:"Saubere Sitzung",clientIdSuffix:"Client-ID-Suffix",willTopic:"Will-Topic",enterpriseWechat:"Enterprise WeChat Modus ohne Wirkung",faceRelatedConfiguration:"Gesichtskonfiguration",functionalInformation:"Funktion",prompt:"Hinweis",faceSimilarityThreshold:"Ähnlichkeitsschwelle",livenessDetectionFunction:"Lebenderkennung",livenessDetectionThreshold:"Schwelle Lebendigkeit",infraredImageDisplay:"Infrarotbild",maskRecognition:"Maskenerkennung",strangerVoice:"Stimme Unbekannt",voiceMode:"Sprachmodus",voiceModeDate:"Benutzerdefinierter Gruß",imageSaveType:"Speichertyp",saveStrangerImage:"Bild von Unbekannt speichern",fullView:"Panorama",face:"Gesicht",broadcastPleaseRegisterFirst:'Spiele "Bitte zuerst registrieren"',broadcastHelloStranger:'Spiele "Unbekannt"',broadcastName:"Namen abspielen",broadcastGreeting:"Benutzerdefinierten Gruß abspielen",greeting:"Gruß",broadcastWelcome:'"Willkommen" abspielen',recognitionSwitch:"Erneute Erkennung Schalter",systemRelatedConfiguration:"System",functionSwitch:"Funktionsschalter",cardSwipingSwitch:"Karte",passwordSwitch:"Passwort",strangerImage:"Bild Unbekannter",cloudCertificateSwitch:"Cloud-Zertifikat",physicalCardNumber:"Physische Kartennr.",cloudCertificateAcquisition:"Cloud-Zertifikat Bezug",heartbeatConfig:"Heartbeat",heartbeatSwitch:"Heartbeat Schalter",heartRateInterval:"Intervall",heartbeatTopic:"Heartbeat-Topic",heartbeatContent:"Heartbeat-Inhalt",basicInformation:"Basisinfo",deviceMac:"MAC-Adresse",uuid:"UUID",sn:"SN",model:"Modell",version:"Version",appVersion:"Firmware-Version",releaseTime:"Aktualisierungszeit",totaldisk:"Gesamtbereich",freedisk:"Verbleibender Platz",passageConfiguration:"Passage",functionConfiguration:"Funktionen",numberOfPassageRecords:"Max. Durchgangsaufzeichnungen",durationOfRelayOpening:"Relais-Öffnungsdauer",alarmSwitch:"Alarm",fireAlarmSwitch:"Brandalarm",fireAlarmStatus:"Brandstatus",normal:"Normal",warning:"Warnung",tamperSwitch:"Sabotageschutz",uploadToCloudSwitch:"Gesicht-Upload-Schalter",clockConfiguration:"Uhr",timeSynchronizationSwitch:"Zeitsynchronisation",timeSynchronizationServerIP:"Zeitserver-IP",timedSynchronizationTime:"Synchronisationszeit",timeZone:"Zeitzone",setDeviceTime:"Gerätezeit setzen",restartAfterSetting:"Gerät startet neu",cloudCertificateActivation:"Cloud-Zertifikat Aktivierung",activationKey:"Aktivierungsschlüssel",cloudTips1:"Schlüssel ohne Leerzeichen eingeben",cloudTips2:"Nach Aktivierung verbindet sich das Gerät mit dem Cloud-Service",confirmActivation:"Aktivierung bestätigen",activationInProgress:"Aktivierung läuft...",activationFailed:"Aktivierung fehlgeschlagen",activationSuccessful:"Aktivierung erfolgreich",passwordModification:"Passwort ändern",password:"Passwort",oldPassword:"Altes Passwort",newPassword:"Neues Passwort",confirmPassword:"Passwort bestätigen",passwordRule:"Passwortempfehlung",passwordLength:"Länge ≥6",cannotBeTheSame:"Alle Zeichen dürfen nicht gleich sein",cannotOrder:"Keine 3+ aufeinanderfolgende Zahlen/Buchstaben",cannotWeakPassword:"Kein schwaches Passwort",submit:"Senden",saveConfig:"Einstellungen speichern",msg_please_enter:"Bitte eingeben",msg_inputPassword:"Bitte Passwort eingeben",msg_oldPasswordError:"Altes Passwort falsch",msg_password_mismatch:"Passwörter stimmen nicht überein",msg_password_min_length:"Mindestens 6 Zeichen",msg_is_weak_password:"Schwaches Passwort, bitte ändern",msg_pswChangeSuccessAndLogin:"Passwort geändert, bitte neu anmelden",msg_pswChangeSuccess:"Passwort geändert",msg_pswChangeFail:"Passwortänderung fehlgeschlagen",msg_saveSuccess:"Erfolgreich gespeichert",msg_saveFail:"Speichern fehlgeschlagen",msg_formFilled:"Bitte Formular prüfen",msg_number_0_23:"Nur 0 bis 23",msg_number_0_24:"Nur 0 bis 24",msg_noChange:"Keine Konfigurationsänderungen zu speichern",resourceConfiguration:"Ressourcenkonfiguration",backgroundImage:"Hintergrundbild",selectImage:"Bild auswählen",uploadBackground:"Hintergrund hochladen",uploading:"Lädt hoch...",backgroundUploadTip:"Bitte laden Sie ein PNG-Bild mit einer Auflösung von {n} Pixeln hoch. Das Bild wird in Base64-Format konvertiert und auf das Gerät hochgeladen",backgroundResolutionMismatch:"Die Bildauflösung muss {n} sein",backgroundRequired:"Bitte ein Hintergrundbild wählen",backgroundImageOnlyPNG:"Nur PNG-Bilder",backgroundSizeLimit:"Bild darf 5MB nicht überschreiten",backgroundParseFailed:"Bild konnte nicht gelesen werden",backgroundImageSelected:"Bild ausgewählt",backgroundSuccess:"Hintergrund hochgeladen",backgroundFailed:"Upload fehlgeschlagen",scanSettings:"Scan-Einstellungen",scanSwitch:"Scan-Schalter",scanInterval:"Scan-Intervall"},person:{idCard:"Ausweisnummer",userType:"Personentyp",administrator:"Administrator",userId:"ID",user:"Benutzer",voucher:"Nachweis",permission:"Berechtigung",addUser:"Person hinzufügen",name:"Name",editUser:"Person bearbeiten",placeholderUserId:"Benutzer-ID eingeben",placeholderName:"Name eingeben",userNotExist:"Person existiert nicht",oneClickClear:"Alles löschen",clearTips:"Dies löscht alle Daten, fortfahren?",clearSuccess:"Löschen erfolgreich",clearFailed:"Löschen fehlgeschlagen"},voucher:{password:"Passwort",card:"Karte",face:"Gesicht",finger:"Fingerabdruck",code:"Code",codeType:"Codetyp",passthroughCode:"Durchgangscode",staticCode:"Statischer Code",dynamicCode:"Dynamischer Code",placeholderCode:"Bitte Codezertifikat eingeben",placeholderPwd:"Passwortnachweis eingeben",placeholderCard:"Kartennachweis eingeben",validPassword:"Bitte 6 Ziffern eingeben",validCard:"Bitte 8 Ziffern oder Buchstaben eingeben",photoRegistration:"Foto-Registrierung",featureValueRegistration:"Merkmals-Registrierung",fingerRegistration:"Fingerabdruck-Registrierung",fingerFeatureRegistration:"Registrierung über Merkmalswert",fingerInput:"Bitte legen Sie den Finger auf den Fingerabdruckscanner",fingerRemainingTime:"Verbleibende Zeit",fingerInputting:"Wird erfasst...",startFingerInput:"Fingerabdruck erfassen",fingerInputTips:"Bitte Fingerabdruck-Merkmalswert eingeben",fingerWaitInput:"Warten auf Erfassung",fingerInputNow:"Fingerabdruck wird erfasst...",fingerInputSuccess:"Erfassung erfolgreich",fingerInputFailed:"Start der Fingerabdruckerfassung fehlgeschlagen",fingerReTry:"Fingerabdruckerfassung fehlgeschlagen, bitte erneut versuchen",fingerFilled:"Erfassung erfolgreich, Merkmalswert wurde automatisch eingetragen",fingerFailed:"Fingerabdruckerfassung fehlgeschlagen",fingerTimeout:"Zeitüberschreitung",fingerInputTimeout:"Zeitüberschreitung bei der Fingerabdruckerfassung, bitte erneut versuchen",fingerError:"Erfassung fehlgeschlagen",fingerInputError:"Fingerabdruckerfassung fehlgeschlagen, bitte erneut versuchen",fingerInputed:"Fingerabdruck bereits erfasst",fingerReInput:"Fingerabdruck erneut erfassen"},permission:{deletePermission:"Berechtigung löschen",addPermission:"Berechtigung hinzufügen",permissionId:"Berechtigungs-ID",userId:"Benutzer-ID",timeRange:"Zeitraum",extra:"Extra",effectiveType:"Gültigkeitstyp",effectiveTime:"Gültige Zeit",effectiveWeek:"Gültige Woche",timePeriod:"Zeitabschnitt",addTimePeriod:"Zeitabschnitt hinzufügen",modify_previous_time:"Vorherigen Abschnitt zuerst ändern",cannot_be_earlier:"Endzeit darf nicht vor Startzeit liegen",times_cannot_overlap:"Zeiten dürfen sich nicht überschneiden",choose_time_range:"Zeitraum wählen",unlimitedMode:"Unbegrenzt",usualMode:"Normalmodus",dailyMode:"Täglich",weeklyRepetitionMode:"Wöchentliche Wiederholung",time_range:"Zeitbereich"},common:{startDate:"Startdatum",endDate:"Enddatum",to:"bis",cancel:"Abbrechen",confirm:"Bestätigen",close:"Schließen",delete:"Löschen",edit:"Bearbeiten",batchDelete:"Stapel löschen",startTime:"Startzeit",endTime:"Endzeit",monday:"Montag",tuseday:"Dienstag",wednesday:"Mittwoch",thursday:"Donnerstag",friday:"Freitag",saterday:"Samstag",sunday:"Sonntag",placeholder:"Bitte eingeben",placeholderSelect:"Bitte wählen",closeTips:"Schließen bestätigen?",deleteTips:"Löschen bestätigen?",deleteSuccess:"Erfolgreich gelöscht",addSuccess:"Erfolgreich hinzugefügt",editSuccess:"Erfolgreich bearbeitet",saveSuccess:"Erfolgreich gespeichert",tips:"Hinweis",operation:"Operation",query:"Abfrage",reset:"Reset",noData:"Keine Daten",export:"Exportieren",success:"Erfolg",failure:"Fehler",incorrectFormat:"Falsches Format",integerFormat:"Ganzzahl ≥0 erforderlich",positiveIntegerFormat:"Ganzzahl >0 erforderlich",noDataSaved:"Keine Daten zu speichern",chinese:"Chinesisch",english:"Englisch",spanish:"Spanisch",french:"Französisch",german:"Deutsch",russian:"Russisch",arabic:"Arabisch",portuguese:"Portugiesisch",korean:"Koreanisch",detail:"Details",clearTips:"Wirklich leeren?​",clearSuccess:"Erfolgreich gelöscht"},log:{accessMethod:"Zugriffsmethode",passingTime:"Durchgangszeit",accessPass:"Zugangsnachweis",accessResult:"Ergebnis",accessPhoto:"Foto",viewPhotos:"Fotos ansehen"},error:{networkError:"Netzwerkfehler, Verbindung prüfen",timeout:"Zeitüberschreitung, bitte erneut versuchen",serverError:"Serverfehler, später erneut versuchen",notFound:"Ressource nicht gefunden",unauthorized:"Nicht autorisiert, bitte neu anmelden",noResponse:"Keine Serverantwort, Netzwerk prüfen",unknownError:"Anfrage fehlgeschlagen, Code:",requestFailed:"Anfrage fehlgeschlagen"},security:{keyId:"Schlüssel-ID",keyType:"Schlüsseltyp",keyEncoding:"Schlüsselkodierung",keyValue:"Schlüsselwert",startTime:"Startzeit",expirationTime:"Ablaufzeit",newKey:"Neuer Schlüssel",clearKey:"Schlüssel löschen",validTime:"Gültigkeitsdauer"}},yt={login:{lang:"Язык",systemname:"Вход",username:"Пользователь",username_label:"Введите имя пользователя",pwd:"Пароль",pwd_label:"Введите пароль",pwd_info:"Введите корректный пароль",success_msg:"Вход выполнен",error_name:"Неверный пароль",error_res:"Не соответствует требованиям входа",login:"Войти"},aside:{systemname:"Панель",quit:"Выйти",deviceControl:"Управление",basicSetting:"Настройки",workerSetting:"Персонал",deviceMonitoring:"Мониторинг",recordManagement:"Журналы",securityManagement:"ключами",tips:"Подсказка",tips_msg:"Выйти из системы?"},control:{remoteControl:"Удалённое",restart:"Перезапуск",clickToRestart:"Нажмите для перезапуска",restartConfirm:"Подтвердить перезапуск?",restartSuccess:"Перезапуск успешен",restartFailed:"Перезапуск неудачен",remoteOpen:"Удалённое открытие",clickToOpen:"Нажмите для открытия",openConfirm:"Подтвердить удалённое открытие?",remoteOpenSuccess:"Открыто успешно",remoteOpenFailed:"Открыть не удалось",reset:"Сброс устройства",clickToReset:"Нажмите для сброса",resetConfirm:"Подтвердить сброс?",resetSuccess:"Сброс успешен",resetFailed:"Сброс неудачен",firmwareUpgrade:"Обновление прошивки",upgradeConfig:"Настройки обновления",firmwareUrl:"URL прошивки",md5Checksum:"md5",startUpgrade:"Начать обновление",urlRequired:"URL обязателен",md5Required:"md5 обязателен",urlInvalid:"Введите корректный URL",md5Invalid:"Введите корректный md5",upgradeConfirm:"Подтвердить обновление?",upgradeSuccess:"Обновление успешно",clearFile:"Очистить файл",uploading:"Загрузка...",uploadAndUpgrade:"Загрузить и обновить",restartTips:"Безопасный перезапуск, данные не потеряются",restarting:"Перезапуск...",remoteTips:"Удалённый контроль доступа",opening:"Открывается...",resetTips:"Сброс к заводским, данные удалятся",reseting:"Сбрасывается...",urlUpgrade:"Обновление по URL",fileUpgrade:"Обновление файлом",uploadFile:"Кликните для загрузки прошивки",formatFile:"Поддержка .zip или .dpk, до 20MB",fileName:"Имя файла",size:"Размер"},config:{second:"с",millisecond:"мс",min:"минут",notsave:"Не сохранять",save:"Сохранить",noVoice:"Без голоса",no:"Нет",yes:"Да",basicConfiguration:"Базовая конфигурация",displaySettings:"Настройки экрана",informationDisplay:"Отображение инфо",audioSettings:"Аудио",languageAndThemes:"Язык и тема",autoAdjustScreenBrightness:"Автояркость",screenBrightness:"Яркость экрана",autoTurnOffScreen:"Автовыключение экрана",autoTurnOffScreenTime:"Время отключения",autoScreenSaver:"Авто заставка",autoScreenSaverTime:"Время заставки",displayDeviceSn:"Показать SN",displayIp:"Показать IP",displayIdentityCard:"Показать облачный сертификат",volume:"Громкость",language:"Язык",displayCode:"Показать код мини-приложения",themeMode:"Тема",cn:"Китайский",en:"Английский",es:"Испанский",fr:"Французский",de:"Немецкий",ru:"Русский",ar:"Арабский",pt:"Порт.",ko:"Корейский",standardMode:"Стандартный режим",simpleMode:"Простой режим",firstLogin:"Первый вход",backlight:"Подсветка",brightness:"Белая подсветка",nirBrightness:"ИК-подсветка",never:"Никогда",min1:"1 минута",min2:"2 минуты",min3:"3 минуты",min4:"4 минуты",min5:"5 минут",networkConfiguration:"Сеть",otherConfiguration:"Прочее",ipConfiguration:"IP настройки",devicePassword:"Пароль устройства",protocolPassword:"Пароль протокола",networkType:"Тип сети",ethernet:"Ethernet",wifiName:"Wi‑Fi",wifiPassword:"Пароль Wi‑Fi",dhcpModeSelection:"Режим DHCP",dhcpMode:"Авто",customNetworkConfiguration:"Ручной",ipAddress:"IP-адрес",gateway:"Шлюз",subnetMask:"Маска подсети",dnsServer:"DNS сервер",mac:"MAC",mqttRelatedConfiguration:"MQTT",mqttConnectionInformation:"Подключение MQTT",sessionConfiguration:"Сессия",serverAddress:"Адрес сервера",clientID:"ID клиента",userName:"Имя пользователя",userPassword:"Пароль",topicPrefix:"Префикс топика",onlineChecking:"Онлайн-проверка",onlineCheckingTimeout:"Тайм-аут",cleanSession:"Очистить сессию",clientIdSuffix:"Суффикс ID",willTopic:"Will-топик",enterpriseWechat:"Режим Enterprise WeChat не действует",faceRelatedConfiguration:"Настройки лица",functionalInformation:"Функция",prompt:"Подсказка",faceSimilarityThreshold:"Порог схожести",livenessDetectionFunction:"Проверка живости",livenessDetectionThreshold:"Порог живости",infraredImageDisplay:"Показ ИК-изображения",maskRecognition:"Распознавание маски",strangerVoice:"Голос незнакомца",voiceMode:"Режим голоса",voiceModeDate:"Пользовательское приветствие",imageSaveType:"Тип сохранения",saveStrangerImage:"Сохранять лицо незнакомца",fullView:"Панорама",face:"Лицо",broadcastPleaseRegisterFirst:'Проигрывать "Сначала зарегистрируйтесь"',broadcastHelloStranger:'Проигрывать "Незнакомец"',broadcastName:"Проигрывать имя",broadcastGreeting:"Проигрывать своё приветствие",greeting:"Приветствие",broadcastWelcome:'Проигрывать "Добро пожаловать"',recognitionSwitch:"Переключатель повторной проверки",systemRelatedConfiguration:"Система",functionSwitch:"Переключатели",cardSwipingSwitch:"Карта",passwordSwitch:"Пароль",strangerImage:"Фото незнакомца",cloudCertificateSwitch:"Облачный сертификат",physicalCardNumber:"Номер карты",cloudCertificateAcquisition:"Получение облачного сертификата",heartbeatConfig:"Heartbeat",heartbeatSwitch:"Вкл./выкл. heartbeat",heartRateInterval:"Интервал",heartbeatTopic:"Топик heartbeat",heartbeatContent:"Содержимое",basicInformation:"Базовая информация",deviceMac:"MAC",uuid:"UUID",sn:"SN",model:"Модель",version:"Версия",appVersion:"Версия прошивки",releaseTime:"Время обновления",totaldisk:"Общая площадь",freedisk:"Оставшееся пространство",passageConfiguration:"Проход",functionConfiguration:"Функции",numberOfPassageRecords:"Макс. записей прохода",durationOfRelayOpening:"Время реле",alarmSwitch:"Сигнализация",fireAlarmSwitch:"Пожарная сигнализация",fireAlarmStatus:"Статус пожара",normal:"Норма",warning:"Предупреждение",tamperSwitch:"Тамперовка",uploadToCloudSwitch:"Переключатель загрузки лица",clockConfiguration:"Часы",timeSynchronizationSwitch:"Синхронизация времени",timeSynchronizationServerIP:"Сервер времени",timedSynchronizationTime:"Время синхронизации",timeZone:"Часовой пояс",setDeviceTime:"Установить время",restartAfterSetting:"После установки устройство перезапустится",cloudCertificateActivation:"Активация сертификата",activationKey:"Ключ активации",cloudTips1:"Введите ключ без пробелов",cloudTips2:"После активации подключится к облачному сервису",confirmActivation:"Подтвердить активацию",activationInProgress:"Активация...",activationFailed:"Сбой активации",activationSuccessful:"Активация успешна",passwordModification:"Изменение пароля",password:"Пароль",oldPassword:"Старый пароль",newPassword:"Новый пароль",confirmPassword:"Подтвердите пароль",passwordRule:"Рекомендации по паролю",passwordLength:"Длина ≥6",cannotBeTheSame:"Все символы не могут быть одинаковыми",cannotOrder:"Не менее 3 подряд цифр/букв",cannotWeakPassword:"Не использовать слабые пароли",submit:"Отправить",saveConfig:"Сохранить",msg_please_enter:"Введите содержание",msg_inputPassword:"Введите пароль",msg_oldPasswordError:"Старый пароль неверен",msg_password_mismatch:"Пароли не совпадают",msg_password_min_length:"Минимум 6 символов",msg_is_weak_password:"Слабый пароль, смените",msg_pswChangeSuccessAndLogin:"Пароль изменён, войдите снова",msg_pswChangeSuccess:"Пароль изменён",msg_pswChangeFail:"Не удалось изменить пароль",msg_saveSuccess:"Успешно сохранено",msg_saveFail:"Сохранение не удалось",msg_formFilled:"Проверьте форму",msg_number_0_23:"Только 0-23",msg_number_0_24:"Только 0-24",msg_noChange:"Нет изменений конфигурации для сохранения",resourceConfiguration:"Настройки ресурсов",backgroundImage:"Фоновое изображение",selectImage:"Выбрать изображение",uploadBackground:"Загрузить фон",uploading:"Загрузка...",backgroundUploadTip:"Загрузите изображение в формате PNG с разрешением {n} пикселей, изображение будет преобразовано в Base64 и загружено на устройство",backgroundResolutionMismatch:"Разрешение изображения должно быть {n}",backgroundRequired:"Выберите фоновое изображение",backgroundImageOnlyPNG:"Только PNG",backgroundSizeLimit:"Размер ≤ 5MB",backgroundParseFailed:"Не удалось прочитать изображение",backgroundImageSelected:"Изображение выбрано",backgroundSuccess:"Фон загружен",backgroundFailed:"Ошибка загрузки фона",scanSettings:"Настройки сканирования",scanSwitch:"Переключатель сканирования",scanInterval:"Интервал сканирования"},person:{idCard:"Номер удостоверения",userType:"Тип пользователя",administrator:"Администратор",userId:"ID",user:"Пользователь",voucher:"Удостоверение",permission:"Разрешение",addUser:"Добавить пользователя",name:"Имя",editUser:"Редактировать",placeholderUserId:"Введите ID",placeholderName:"Введите имя",userNotExist:"Пользователь не найден",oneClickClear:"Очистить все",clearTips:"Будут удалены все данные, продолжить?",clearSuccess:"Успешно очищено",clearFailed:"Не удалось очистить"},voucher:{password:"Пароль",card:"Карта",face:"Лицо",finger:"Отпечаток",code:"Код",codeType:"Тип кода",passthroughCode:"Сквозной код",staticCode:"Статический код",dynamicCode:"Динамический код",placeholderCode:"Пожалуйста, введите код сертификата",placeholderPwd:"Введите пароль",placeholderCard:"Введите карту",validPassword:"Введите 6 цифр",validCard:"Введите 8 цифр или букв",photoRegistration:"Регистрация фото",featureValueRegistration:"Регистрация признаков",fingerRegistration:"Регистрация отпечатка",fingerFeatureRegistration:"Регистрация по значению признака",fingerInput:"Приложите палец к сканеру отпечатков",fingerRemainingTime:"Оставшееся время",fingerInputting:"Идёт ввод...",startFingerInput:"Начать ввод отпечатка",fingerInputTips:"Введите значение признака отпечатка",fingerWaitInput:"Ожидание ввода",fingerInputNow:"Идёт ввод отпечатка...",fingerInputSuccess:"Ввод успешен",fingerInputFailed:"Не удалось запустить ввод отпечатка",fingerReTry:"Ошибка ввода отпечатка, попробуйте ещё раз",fingerFilled:"Ввод отпечатка успешен, значение признака заполнено автоматически",fingerFailed:"Ошибка ввода отпечатка",fingerTimeout:"Время вышло",fingerInputTimeout:"Время ввода отпечатка истекло, попробуйте ещё раз",fingerError:"Ввод не выполнен",fingerInputError:"Ошибка ввода отпечатка, попробуйте ещё раз",fingerInputed:"Отпечаток уже зарегистрирован",fingerReInput:"Повторно ввести отпечаток"},permission:{deletePermission:"Удалить разрешение",addPermission:"Добавить разрешение",permissionId:"ID разрешения",userId:"ID пользователя",timeRange:"Временной диапазон",extra:"Дополнительно",effectiveType:"Тип действия",effectiveTime:"Время действия",effectiveWeek:"Неделя действия",timePeriod:"Период",addTimePeriod:"Добавить период",modify_previous_time:"Сначала измените предыдущий период",cannot_be_earlier:"Конец не может быть раньше начала",times_cannot_overlap:"Время не должно пересекаться",choose_time_range:"Выберите диапазон",unlimitedMode:"Без ограничений",usualMode:"Обычный режим",dailyMode:"Ежедневный",weeklyRepetitionMode:"Еженедельный",time_range:"Диапазон времени"},common:{startDate:"Дата начала",endDate:"Дата окончания",to:"до",cancel:"Отмена",confirm:"Подтвердить",close:"Закрыть",delete:"Удалить",edit:"Изменить",batchDelete:"Пакетное удаление",startTime:"Время начала",endTime:"Время окончания",monday:"Понедельник",tuseday:"Вторник",wednesday:"Среда",thursday:"Четверг",friday:"Пятница",saterday:"Суббота",sunday:"Воскресенье",placeholder:"Пожалуйста, введите",placeholderSelect:"Пожалуйста, выберите",closeTips:"Подтвердить закрытие?",deleteTips:"Подтвердить удаление?",deleteSuccess:"Удалено успешно",addSuccess:"Успешно добавлено",editSuccess:"Успешно изменено",saveSuccess:"Сохранено",tips:"Подсказка",operation:"Операция",query:"Запрос",reset:"Сброс",noData:"Нет данных",export:"Экспорт",success:"Успех",failure:"Неудача",incorrectFormat:"Неверный формат",integerFormat:"Целое число ≥0",positiveIntegerFormat:"Целое число >0",noDataSaved:"Нет данных для сохранения",chinese:"Китайский",english:"Английский",spanish:"Испанский",french:"Французский",german:"Немецкий",russian:"Русский",arabic:"Арабский",portuguese:"Португальский",korean:"Корейский",detail:"Подробности",clearTips:"Подтвердить очистку?",clearSuccess:"Успешно очищено"},log:{accessMethod:"Способ доступа",passingTime:"Время прохода",accessPass:"Удостоверение",accessResult:"Результат",accessPhoto:"Фото",viewPhotos:"Просмотр фото"},error:{networkError:"Сбой сети, проверьте подключение",timeout:"Тайм-аут, попробуйте снова",serverError:"Внутренняя ошибка сервера",notFound:"Ресурс не найден",unauthorized:"Не авторизован, войдите снова",noResponse:"Нет ответа сервера",unknownError:"Ошибка запроса, код:",requestFailed:"Запрос не выполнен"},security:{keyId:"ID ключа",keyType:"Тип ключа",keyEncoding:"Кодировка ключа",keyValue:"Значение ключа",startTime:"Время начала",expirationTime:"Время истечения",newKey:"Добавить ключ",clearKey:"Очистить ключ",validTime:"Срок действия"}},wt={login:{lang:"اللغة",systemname:"دخول",username:"المستخدم",username_label:"يرجى إدخال اسم المستخدم",pwd:"كلمة المرور",pwd_label:"يرجى إدخال كلمة المرور",pwd_info:"أدخل صيغة كلمة مرور صحيحة",success_msg:"تم تسجيل الدخول بنجاح",error_name:"كلمة المرور غير صحيحة",error_res:"لا يلبي متطلبات الدخول",login:"تسجيل الدخول"},aside:{systemname:"لوحة",quit:"تسجيل الخروج",deviceControl:"التحكم",basicSetting:"الإعدادات",workerSetting:"الأفراد",deviceMonitoring:"المراقبة",recordManagement:"السجلات",securityManagement:"إدارة المفاتيح",tips:"تنبيه",tips_msg:"هل تريد تسجيل الخروج؟"},control:{remoteControl:"عن بعد",restart:"إعادة تشغيل",clickToRestart:"اضغط لإعادة التشغيل",restartConfirm:"تأكيد إعادة التشغيل؟",restartSuccess:"تمت إعادة التشغيل",restartFailed:"فشلت إعادة التشغيل",remoteOpen:"فتح الباب عن بعد",clickToOpen:"اضغط للفتح",openConfirm:"تأكيد الفتح عن بعد؟",remoteOpenSuccess:"تم الفتح بنجاح",remoteOpenFailed:"فشل الفتح",reset:"إعادة ضبط الجهاز",clickToReset:"اضغط لإعادة الضبط",resetConfirm:"تأكيد إعادة الضبط؟",resetSuccess:"تمت إعادة الضبط",resetFailed:"فشلت إعادة الضبط",firmwareUpgrade:"تحديث البرنامج الثابت",upgradeConfig:"إعدادات التحديث",firmwareUrl:"رابط البرنامج",md5Checksum:"قيمة md5",startUpgrade:"بدء التحديث",urlRequired:"الرابط مطلوب",md5Required:"قيمة md5 مطلوبة",urlInvalid:"يرجى إدخال رابط صحيح",md5Invalid:"يرجى إدخال md5 صحيح",upgradeConfirm:"تأكيد التحديث؟",upgradeSuccess:"تم التحديث بنجاح",clearFile:"مسح الملف",uploading:"جاري الرفع...",uploadAndUpgrade:"رفع وتحديث",restartTips:"إعادة تشغيل آمنة دون فقدان البيانات",restarting:"جاري إعادة التشغيل...",remoteTips:"تحكم عن بعد بالوصول",opening:"جاري الفتح...",resetTips:"إرجاع إعدادات المصنع، سيحذف البيانات",reseting:"جاري الإعادة...",urlUpgrade:"تحديث عبر الرابط",fileUpgrade:"تحديث عبر ملف",uploadFile:"اضغط لرفع ملف البرنامج",formatFile:"يدعم .zip أو .dpk، الحد 20MB",fileName:"اسم الملف",size:"الحجم"},config:{second:"ث",millisecond:"ملث",min:"دقائق",notsave:"لا تحفظ",save:"حفظ",noVoice:"بدون صوت",no:"لا",yes:"نعم",basicConfiguration:"الإعدادات الأساسية",displaySettings:"إعدادات العرض",informationDisplay:"عرض المعلومات",audioSettings:"إعدادات الصوت",languageAndThemes:"اللغة والسمات",autoAdjustScreenBrightness:"سطوع تلقائي",screenBrightness:"سطوع الشاشة",autoTurnOffScreen:"إيقاف الشاشة تلقائياً",autoTurnOffScreenTime:"زمن الإيقاف",autoScreenSaver:"حافظة شاشة تلقائية",autoScreenSaverTime:"زمن الحافظة",displayDeviceSn:"عرض SN",displayIp:"عرض IP",displayIdentityCard:"عرض شهادة السحابة",volume:"مستوى الصوت",language:"اللغة",displayCode:"عرض رمز التطبيق المصغر",themeMode:"نمط العمل",cn:"الصينية",en:"الإنجليزية",es:"الإسبانية",fr:"الفرنسية",de:"الألمانية",ru:"الروسية",ar:"العربية",pt:"البرتغال",ko:"الكورية",standardMode:"الوضع القياسي",simpleMode:"الوضع المبسط",firstLogin:"أول تسجيل دخول",backlight:"إضاءة خلفية الشاشة",brightness:"الإضاءة البيضاء",nirBrightness:"إضاءة الأشعة تحت الحمراء",never:"أبداً",min1:"دقيقة",min2:"دقيقتان",min3:"3 دقائق",min4:"4 دقائق",min5:"5 دقائق",networkConfiguration:"إعدادات الشبكة",otherConfiguration:"إعدادات أخرى",ipConfiguration:"تكوين IP",devicePassword:"كلمة مرور الجهاز",protocolPassword:"كلمة مرور البروتوكول",networkType:"نوع الشبكة",ethernet:"إيثرنت",wifiName:"اسم Wi‑Fi",wifiPassword:"كلمة مرور Wi‑Fi",dhcpModeSelection:"وضع DHCP",dhcpMode:"تلقائي",customNetworkConfiguration:"يدوي",ipAddress:"عنوان IP",gateway:"البوابة",subnetMask:"قناع الشبكة",dnsServer:"خادم DNS",mac:"عنوان MAC",mqttRelatedConfiguration:"إعدادات MQTT",mqttConnectionInformation:"معلومات اتصال MQTT",sessionConfiguration:"إعدادات الجلسة",serverAddress:"عنوان الخادم",clientID:"معرّف العميل",userName:"اسم المستخدم",userPassword:"كلمة المرور",topicPrefix:"بادئة الموضوع",onlineChecking:"تحقق عبر الإنترنت",onlineCheckingTimeout:"مهلة التحقق",cleanSession:"تنظيف الجلسة",clientIdSuffix:"لاحقة المعرّف",willTopic:"موضوع Will",enterpriseWechat:"وضع Enterprise WeChat غير مفعل",faceRelatedConfiguration:"إعدادات الوجه",functionalInformation:"معلومات الوظيفة",prompt:"تنبيه",faceSimilarityThreshold:"عتبة التشابه",livenessDetectionFunction:"كشف الحيوية",livenessDetectionThreshold:"عتبة الحيوية",infraredImageDisplay:"عرض الأشعة تحت الحمراء",maskRecognition:"التعرف على القناع",strangerVoice:"صوت الغريب",voiceMode:"وضع الصوت",voiceModeDate:"تحية مخصصة",imageSaveType:"نوع الحفظ",saveStrangerImage:"حفظ صورة الغريب",fullView:"بانوراما",face:"الوجه",broadcastPleaseRegisterFirst:'تشغيل "سجل أولاً"',broadcastHelloStranger:'تشغيل "غريب"',broadcastName:"تشغيل الاسم",broadcastGreeting:"تشغيل تحية مخصصة",greeting:"تحية",broadcastWelcome:'تشغيل "مرحباً"',recognitionSwitch:"مفتاح إعادة الكشف",systemRelatedConfiguration:"إعدادات النظام",functionSwitch:"مفاتيح الوظائف",cardSwipingSwitch:"البطاقة",passwordSwitch:"كلمة المرور",strangerImage:"صورة الغريب",cloudCertificateSwitch:"شهادة السحابة",physicalCardNumber:"رقم البطاقة الفيزيائية",cloudCertificateAcquisition:"الحصول على شهادة السحابة",heartbeatConfig:"نبضات القلب",heartbeatSwitch:"تفعيل النبضات",heartRateInterval:"الفاصل الزمني",heartbeatTopic:"موضوع النبض",heartbeatContent:"محتوى النبض",basicInformation:"معلومات أساسية",deviceMac:"عنوان MAC",uuid:"UUID",sn:"SN",model:"الطراز",version:"الإصدار",appVersion:"إصدار البرنامج",releaseTime:"وقت التحديث",totaldisk:"المساحة الإجمالية",freedisk:"المساحة المتبقية",passageConfiguration:"إعدادات المرور",functionConfiguration:"إعدادات الوظائف",numberOfPassageRecords:"الحد الأقصى للسجلات",durationOfRelayOpening:"مدة فتح المرحل",alarmSwitch:"إنذار",fireAlarmSwitch:"إنذار حريق",fireAlarmStatus:"حالة الحريق",normal:"طبيعي",warning:"تحذير",tamperSwitch:"إنذار العبث",uploadToCloudSwitch:"مفتاح تحميل الوجه",clockConfiguration:"إعدادات الوقت",timeSynchronizationSwitch:"مزامنة الوقت",timeSynchronizationServerIP:"خادم الوقت",timedSynchronizationTime:"وقت المزامنة",timeZone:"المنطقة الزمنية",setDeviceTime:"ضبط وقت الجهاز",restartAfterSetting:"سيُعاد تشغيل الجهاز بعد الضبط",cloudCertificateActivation:"تفعيل شهادة السحابة",activationKey:"مفتاح التفعيل",cloudTips1:"أدخل المفتاح بدون مسافات",cloudTips2:"بعد التفعيل سيتصل بخدمة السحابة",confirmActivation:"تأكيد التفعيل",activationInProgress:"جاري التفعيل...",activationFailed:"فشل التفعيل",activationSuccessful:"تم التفعيل بنجاح",passwordModification:"تغيير كلمة المرور",password:"كلمة المرور",oldPassword:"كلمة المرور القديمة",newPassword:"كلمة المرور الجديدة",confirmPassword:"تأكيد كلمة المرور",passwordRule:"توصيات كلمة المرور",passwordLength:"الطول ≥6",cannotBeTheSame:"لا يمكن أن تكون كل الأحرف متطابقة",cannotOrder:"لا يشمل 3+ أرقام/حروف متتالية",cannotWeakPassword:"لا تستخدم كلمات مرور ضعيفة شائعة",submit:"إرسال",saveConfig:"حفظ الإعدادات",msg_please_enter:"يرجى الإدخال",msg_inputPassword:"يرجى إدخال كلمة المرور",msg_oldPasswordError:"كلمة المرور القديمة غير صحيحة",msg_password_mismatch:"كلمتا المرور غير متطابقتين",msg_password_min_length:"الحد الأدنى 6 أحرف",msg_is_weak_password:"كلمة مرور ضعيفة، يرجى التغيير",msg_pswChangeSuccessAndLogin:"تم تغيير كلمة المرور، يرجى تسجيل الدخول",msg_pswChangeSuccess:"تم تغيير كلمة المرور",msg_pswChangeFail:"فشل تغيير كلمة المرور",msg_saveSuccess:"تم الحفظ بنجاح",msg_saveFail:"فشل الحفظ",msg_formFilled:"تحقق من تعبئة النموذج",msg_number_0_23:"يدعم فقط 0 إلى 23",msg_number_0_24:"يدعم فقط 0 إلى 24",msg_noChange:"لا توجد تغييرات في الإعدادات للحفظ",resourceConfiguration:"إعدادات الموارد",backgroundImage:"صورة الخلفية",selectImage:"اختر صورة",uploadBackground:"رفع الخلفية",uploading:"جارٍ الرفع...",backgroundUploadTip:"يرجى تحميل صورة بصيغة PNG بحجم البكسلات {n}، وسيتم تحويل الصورة إلى صيغة Base64 ثم نقلها إلى الجهاز",backgroundResolutionMismatch:"يجب أن تكون دقة الصورة {n}",backgroundRequired:"يرجى اختيار صورة خلفية",backgroundImageOnlyPNG:"PNG فقط",backgroundSizeLimit:"الحجم لا يتجاوز 5MB",backgroundParseFailed:"فشل قراءة الصورة",backgroundImageSelected:"تم اختيار الصورة",backgroundSuccess:"تم رفع الخلفية",backgroundFailed:"فشل رفع الخلفية",scanSettings:"إعدادات المسح",scanSwitch:"مفتاح المسح",scanInterval:"فاصل المسح"},person:{idCard:"رقم الهوية",userType:"نوع المستخدم",administrator:"مسؤول",userId:"ID",user:"مستخدم",voucher:"بيان اعتماد",permission:"الصلاحية",addUser:"إضافة مستخدم",name:"الاسم",editUser:"تعديل المستخدم",placeholderUserId:"أدخل معرف المستخدم",placeholderName:"أدخل الاسم",userNotExist:"المستخدم غير موجود",oneClickClear:"مسح الكل",clearTips:"سيتم حذف جميع البيانات، المتابعة؟",clearSuccess:"تم المسح بنجاح",clearFailed:"فشل المسح"},voucher:{password:"كلمة المرور",card:"بطاقة",face:"وجه",finger:"بصمة",code:"الرمز",codeType:"نوع الرمز",passthroughCode:"رمز التمرير",staticCode:"رمز ثابت",dynamicCode:"رمز ديناميكي",placeholderCode:"الرجاء إدخال رمز الشهادة",placeholderPwd:"أدخل كلمة المرور",placeholderCard:"أدخل البطاقة",validPassword:"أدخل 6 أرقام",validCard:"أدخل 8 أرقام أو أحرف",photoRegistration:"تسجيل صورة",featureValueRegistration:"تسجيل السمات",fingerRegistration:"تسجيل البصمة",fingerFeatureRegistration:"تسجيل قيمة السمة",fingerInput:"يرجى وضع إصبعك على ماسح البصمة",fingerRemainingTime:"الوقت المتبقي",fingerInputting:"جارٍ التسجيل...",startFingerInput:"بدء تسجيل البصمة",fingerInputTips:"يرجى إدخال قيمة سمة البصمة",fingerWaitInput:"بانتظار التسجيل",fingerInputNow:"جارٍ تسجيل البصمة...",fingerInputSuccess:"تم التسجيل بنجاح",fingerInputFailed:"فشل بدء تسجيل البصمة",fingerReTry:"فشل تسجيل البصمة، يرجى المحاولة مرة أخرى",fingerFilled:"تم تسجيل البصمة بنجاح وتم تعبئة قيمة السمة تلقائيًا",fingerFailed:"فشل تسجيل البصمة",fingerTimeout:"انتهت المهلة",fingerInputTimeout:"انتهت مهلة تسجيل البصمة، يرجى المحاولة مرة أخرى",fingerError:"فشل التسجيل",fingerInputError:"فشل تسجيل البصمة، يرجى المحاولة مرة أخرى",fingerInputed:"تم تسجيل البصمة",fingerReInput:"إعادة تسجيل البصمة"},permission:{deletePermission:"حذف الصلاحية",addPermission:"إضافة صلاحية",permissionId:"معرّف الصلاحية",userId:"معرّف المستخدم",timeRange:"النطاق الزمني",extra:"إضافي",effectiveType:"نوع الفعالية",effectiveTime:"وقت الفعالية",effectiveWeek:"الأسبوع الفعال",timePeriod:"الفترة الزمنية",addTimePeriod:"إضافة فترة",modify_previous_time:"عدّل الفترة السابقة أولاً",cannot_be_earlier:"لا يمكن أن تكون النهاية قبل البداية",times_cannot_overlap:"لا يمكن تداخل الأوقات",choose_time_range:"اختر نطاق الزمن",unlimitedMode:"غير محدود",usualMode:"الوضع المعتاد",dailyMode:"وضع يومي",weeklyRepetitionMode:"تكرار أسبوعي",time_range:"النطاق الزمني"},common:{startDate:"تاريخ البدء",endDate:"تاريخ الانتهاء",to:"إلى",cancel:"إلغاء",confirm:"تأكيد",close:"إغلاق",delete:"حذف",edit:"تعديل",batchDelete:"حذف دفعة",startTime:"وقت البدء",endTime:"وقت الانتهاء",monday:"الاثنين",tuseday:"الثلاثاء",wednesday:"الأربعاء",thursday:"الخميس",friday:"الجمعة",saterday:"السبت",sunday:"الأحد",placeholder:"يرجى الإدخال",placeholderSelect:"يرجى الاختيار",closeTips:"تأكيد الإغلاق؟",deleteTips:"تأكيد الحذف؟",deleteSuccess:"تم الحذف بنجاح",addSuccess:"تمت الإضافة بنجاح",editSuccess:"تم التعديل بنجاح",saveSuccess:"تم الحفظ",tips:"تنبيه",operation:"عملية",query:"استعلام",reset:"إعادة",noData:"لا توجد بيانات",export:"تصدير",success:"نجاح",failure:"فشل",incorrectFormat:"صيغة غير صحيحة",integerFormat:"يجب أن يكون عدداً صحيحاً ≥0",positiveIntegerFormat:"يجب أن يكون عدداً صحيحاً >0",noDataSaved:"لا توجد بيانات للحفظ",chinese:"الصينية",english:"الإنجليزية",spanish:"الإسبانية",french:"الفرنسية",german:"الألمانية",russian:"الروسية",arabic:"العربية",portuguese:"البرتغالية",korean:"الكورية",detail:"التفاصيل",clearTips:"هل أنت متأكد من المسح؟",clearSuccess:"تم المسح بنجاح"},log:{accessMethod:"طريقة الدخول",passingTime:"وقت المرور",accessPass:"اعتماد الدخول",accessResult:"النتيجة",accessPhoto:"صورة",viewPhotos:"عرض الصور"},error:{networkError:"فشل الشبكة، تحقق من الاتصال",timeout:"انتهى الوقت، حاول لاحقاً",serverError:"خطأ داخلي في الخادم",notFound:"المورد غير موجود",unauthorized:"غير مصرح، يرجى تسجيل الدخول",noResponse:"لا يوجد استجابة من الخادم",unknownError:"فشل الطلب، الرمز:",requestFailed:"فشل الطلب"},security:{keyId:"معرف المفتاح",keyType:"نوع المفتاح",keyEncoding:"ترميز المفتاح",keyValue:"قيمة المفتاح",startTime:"وقت البدء",expirationTime:"وقت الانتهاء",newKey:"إضافة مفتاح جديد",clearKey:"مسح المفتاح",validTime:"الوقت الصالح"}},Ct={login:{lang:"Idioma",systemname:"Login",username:"Usuário",username_label:"Digite o usuário",pwd:"Senha",pwd_label:"Digite a senha",pwd_info:"Insira uma senha válida",success_msg:"Login bem-sucedido",error_name:"Senha incorreta",error_res:"Não atende aos requisitos de login",login:"Entrar"},aside:{systemname:"Painel",quit:"Sair",deviceControl:"Controle",basicSetting:"Config.",workerSetting:"Pessoas",deviceMonitoring:"Monitor",recordManagement:"Registros",securityManagement:"Chaves",tips:"Aviso",tips_msg:"Deseja sair?"},control:{remoteControl:"Remoto",restart:"Reiniciar",clickToRestart:"Clique para reiniciar",restartConfirm:"Confirmar reinício?",restartSuccess:"Reinício bem-sucedido",restartFailed:"Reinício falhou",remoteOpen:"Abrir porta remotamente",clickToOpen:"Clique para abrir",openConfirm:"Confirmar abertura remota?",remoteOpenSuccess:"Abertura bem-sucedida",remoteOpenFailed:"Abertura falhou",reset:"Redefinir dispositivo",clickToReset:"Clique para redefinir",resetConfirm:"Confirmar redefinição?",resetSuccess:"Redefinição concluída",resetFailed:"Redefinição falhou",firmwareUpgrade:"Atualizar firmware",upgradeConfig:"Config. de atualização",firmwareUrl:"URL do firmware",md5Checksum:"Valor md5",startUpgrade:"Iniciar atualização",urlRequired:"URL é obrigatória",md5Required:"md5 é obrigatório",urlInvalid:"Informe uma URL válida",md5Invalid:"Informe um md5 válido",upgradeConfirm:"Confirmar atualização?",upgradeSuccess:"Atualização bem-sucedida",clearFile:"Limpar arquivo",uploading:"Enviando...",uploadAndUpgrade:"Enviar e atualizar",restartTips:"Reinício seguro, sem perder dados",restarting:"Reiniciando...",remoteTips:"Controle remoto de acesso",opening:"Abrindo...",resetTips:"Restaurar padrão, apagará dados",reseting:"Redefinindo...",urlUpgrade:"Atualização por URL",fileUpgrade:"Atualização por arquivo",uploadFile:"Clique para enviar firmware",formatFile:"Suporta .zip ou .dpk, até 20MB",fileName:"Nome do arquivo",size:"Tamanho"},config:{second:"s",millisecond:"ms",min:"minutos",notsave:"Não salvar",save:"Salvar",noVoice:"Sem voz",no:"Não",yes:"Sim",basicConfiguration:"Configuração básica",displaySettings:"Exibição",informationDisplay:"Mostrar informações",audioSettings:"Áudio",languageAndThemes:"Idioma e tema",autoAdjustScreenBrightness:"Brilho automático",screenBrightness:"Brilho da tela",autoTurnOffScreen:"Desligar tela automaticamente",autoTurnOffScreenTime:"Tempo para desligar",autoScreenSaver:"Protetor de tela automático",autoScreenSaverTime:"Tempo do protetor",displayDeviceSn:"Mostrar SN",displayIp:"Mostrar IP",displayIdentityCard:"Mostrar certificado em nuvem",volume:"Volume",language:"Idioma",displayCode:"Mostrar código da miniapp",themeMode:"Tema",cn:"Chinês",en:"Inglês",es:"Espanhol",fr:"Francês",de:"Alemão",ru:"Russo",ar:"Árabe",pt:"Português",ko:"Coreano",standardMode:"Modo padrão",simpleMode:"Modo simples",firstLogin:"Primeiro login",backlight:"Luz de fundo",brightness:"Luz branca",nirBrightness:"Luz IR",never:"Nunca",min1:"1 minuto",min2:"2 minutos",min3:"3 minutos",min4:"4 minutos",min5:"5 minutos",networkConfiguration:"Rede",otherConfiguration:"Outros",ipConfiguration:"IP",devicePassword:"Senha do dispositivo",protocolPassword:"Senha do protocolo",networkType:"Tipo de rede",ethernet:"Ethernet",wifiName:"Wi‑Fi",wifiPassword:"Senha Wi‑Fi",dhcpModeSelection:"Modo DHCP",dhcpMode:"Automático",customNetworkConfiguration:"Manual",ipAddress:"Endereço IP",gateway:"Gateway",subnetMask:"Máscara de sub-rede",dnsServer:"Servidor DNS",mac:"MAC de rede",mqttRelatedConfiguration:"MQTT",mqttConnectionInformation:"Conexão MQTT",sessionConfiguration:"Sessão",serverAddress:"Servidor",clientID:"ID do cliente",userName:"Usuário",userPassword:"Senha",topicPrefix:"Prefixo do tópico",onlineChecking:"Verificação online",onlineCheckingTimeout:"Tempo limite",cleanSession:"Sessão limpa",clientIdSuffix:"Sufixo do ID",willTopic:"Tópico Will",enterpriseWechat:"Modo WeChat Enterprise sem efeito",faceRelatedConfiguration:"Config. de rosto",functionalInformation:"Função",prompt:"Aviso",faceSimilarityThreshold:"Limite de similaridade",livenessDetectionFunction:"Detecção de vivacidade",livenessDetectionThreshold:"Limite de vivacidade",infraredImageDisplay:"Exibir infravermelho",maskRecognition:"Reconhecimento de máscara",strangerVoice:"Voz de desconhecido",voiceMode:"Modo de voz",voiceModeDate:"Saudação personalizada",imageSaveType:"Tipo de salvamento",saveStrangerImage:"Salvar imagem de desconhecido",fullView:"Panorâmico",face:"Rosto",broadcastPleaseRegisterFirst:'Reproduzir "Registre-se primeiro"',broadcastHelloStranger:'Reproduzir "Desconhecido"',broadcastName:"Reproduzir nome",broadcastGreeting:"Reproduzir saudação personalizada",greeting:"Saudação",broadcastWelcome:'Reproduzir "Bem-vindo"',recognitionSwitch:"Interruptor de re-detecção",systemRelatedConfiguration:"Sistema",functionSwitch:"Interruptores",cardSwipingSwitch:"Cartão",passwordSwitch:"Senha",strangerImage:"Imagem de desconhecido",cloudCertificateSwitch:"Certificado em nuvem",physicalCardNumber:"Número do cartão físico",cloudCertificateAcquisition:"Obter certificado em nuvem",heartbeatConfig:"Heartbeat",heartbeatSwitch:"Ativar heartbeat",heartRateInterval:"Intervalo",heartbeatTopic:"Tópico heartbeat",heartbeatContent:"Conteúdo",basicInformation:"Informações básicas",deviceMac:"MAC",uuid:"UUID",sn:"SN",model:"Modelo",version:"Versão",appVersion:"Versão do firmware",releaseTime:"Hora da atualização",totaldisk:"Espaço total",freedisk:"Espaço restante",passageConfiguration:"Passagem",functionConfiguration:"Funções",numberOfPassageRecords:"Máx. registros",durationOfRelayOpening:"Duração do relé",alarmSwitch:"Alarme",fireAlarmSwitch:"Alarme de incêndio",fireAlarmStatus:"Status de incêndio",normal:"Normal",warning:"Alerta",tamperSwitch:"Anti-violação",uploadToCloudSwitch:"Interruptor de upload facial",clockConfiguration:"Relógio",timeSynchronizationSwitch:"Sincronizar hora",timeSynchronizationServerIP:"Servidor de tempo",timedSynchronizationTime:"Hora de sincronização",timeZone:"Fuso horário",setDeviceTime:"Ajustar hora",restartAfterSetting:"O dispositivo reiniciará",cloudCertificateActivation:"Ativar certificado",activationKey:"Chave de ativação",cloudTips1:"Digite a chave sem espaços",cloudTips2:"Após ativar, conectará ao serviço em nuvem",confirmActivation:"Confirmar ativação",activationInProgress:"Ativando...",activationFailed:"Falha na ativação",activationSuccessful:"Ativação bem-sucedida",passwordModification:"Alterar senha",password:"Senha",oldPassword:"Senha antiga",newPassword:"Nova senha",confirmPassword:"Confirmar senha",passwordRule:"Recomendação de senha",passwordLength:"Comprimento ≥6",cannotBeTheSame:"Todos caracteres não podem ser iguais",cannotOrder:"Sem 3+ números/letras consecutivos",cannotWeakPassword:"Não usar senhas fracas comuns",submit:"Enviar",saveConfig:"Salvar",msg_please_enter:"Por favor, insira",msg_inputPassword:"Digite a senha",msg_oldPasswordError:"Senha antiga incorreta",msg_password_mismatch:"Senhas não coincidem",msg_password_min_length:"Mínimo 6 caracteres",msg_is_weak_password:"Senha fraca, altere",msg_pswChangeSuccessAndLogin:"Senha alterada, faça login",msg_pswChangeSuccess:"Senha alterada",msg_pswChangeFail:"Falha ao alterar senha",msg_saveSuccess:"Salvo com sucesso",msg_saveFail:"Falha ao salvar",msg_formFilled:"Verifique o formulário",msg_number_0_23:"Apenas 0-23",msg_number_0_24:"Apenas 0-24",msg_noChange:"Nenhuma alteração de configuração para salvar",resourceConfiguration:"Configuração de recursos",backgroundImage:"Imagem de fundo",selectImage:"Selecionar imagem",uploadBackground:"Enviar fundo",uploading:"Enviando...",backgroundUploadTip:"Por favor, envie uma imagem em formato PNG com pixels de {n}, que será convertida para o formato Base64 e enviada ao dispositivo",backgroundResolutionMismatch:"A resolução da imagem deve ser {n}",backgroundRequired:"Selecione uma imagem de fundo",backgroundImageOnlyPNG:"Apenas PNG",backgroundSizeLimit:"Imagem não pode exceder 5MB",backgroundParseFailed:"Falha ao ler imagem",backgroundImageSelected:"Imagem selecionada",backgroundSuccess:"Fundo enviado",backgroundFailed:"Falha ao enviar fundo",scanSettings:"Configurações de digitalização",scanSwitch:"Interruptor de Digitalização",scanInterval:"Intervalo de digitalização"},person:{idCard:"Número de identificação",userType:"Tipo de pessoa",administrator:"Administrador",userId:"ID",user:"Usuário",voucher:"Credencial",permission:"Permissão",addUser:"Adicionar pessoa",name:"Nome",editUser:"Editar pessoa",placeholderUserId:"Informe o ID do usuário",placeholderName:"Informe o nome",userNotExist:"Pessoa não existe",oneClickClear:"Limpar tudo",clearTips:"Isto apagará todos os dados, continuar?",clearSuccess:"Limpo com sucesso",clearFailed:"Falha ao limpar"},voucher:{password:"Senha",card:"Cartão",face:"Rosto",finger:"Impressão digital",code:"Código",codeType:"Tipo de código",passthroughCode:"Código de passagem",staticCode:"Código estático",dynamicCode:"Código dinâmico",placeholderCode:"Por favor insira o certificado de código",placeholderPwd:"Informe a senha",placeholderCard:"Informe o cartão",validPassword:"Insira 6 dígitos",validCard:"Insira 8 dígitos ou letras",photoRegistration:"Registro de foto",featureValueRegistration:"Registro de características",fingerRegistration:"Cadastro de digital",fingerFeatureRegistration:"Cadastro por valor de característica",fingerInput:"Coloque o dedo no leitor de digitais",fingerRemainingTime:"Tempo restante",fingerInputting:"Cadastrando...",startFingerInput:"Iniciar cadastro de digital",fingerInputTips:"Informe o valor de característica da digital",fingerWaitInput:"Aguardando cadastro",fingerInputNow:"Cadastrando digital...",fingerInputSuccess:"Cadastro bem-sucedido",fingerInputFailed:"Falha ao iniciar o cadastro de digital",fingerReTry:"Falha no cadastro de digital, tente novamente",fingerFilled:"Cadastro de digital bem-sucedido, o valor de característica foi preenchido automaticamente",fingerFailed:"Falha no cadastro de digital",fingerTimeout:"Tempo esgotado",fingerInputTimeout:"Tempo esgotado no cadastro de digital, tente novamente",fingerError:"Cadastro falhou",fingerInputError:"Falha no cadastro de digital, tente novamente",fingerInputed:"Digital já cadastrada",fingerReInput:"Cadastrar digital novamente"},permission:{deletePermission:"Excluir permissão",addPermission:"Adicionar permissão",permissionId:"ID da permissão",userId:"ID do usuário",timeRange:"Intervalo de tempo",extra:"Extra",effectiveType:"Tipo de vigência",effectiveTime:"Tempo efetivo",effectiveWeek:"Semana efetiva",timePeriod:"Período",addTimePeriod:"Adicionar período",modify_previous_time:"Altere primeiro o período anterior",cannot_be_earlier:"Hora final não pode ser menor que inicial",times_cannot_overlap:"Horários não podem se sobrepor",choose_time_range:"Selecione o intervalo",unlimitedMode:"Ilimitado",usualMode:"Modo usual",dailyMode:"Modo diário",weeklyRepetitionMode:"Repetição semanal",time_range:"Faixa de tempo"},common:{startDate:"Data inicial",endDate:"Data final",to:"a",cancel:"Cancelar",confirm:"Confirmar",close:"Fechar",delete:"Excluir",edit:"Editar",batchDelete:"Excluir em lote",startTime:"Hora inicial",endTime:"Hora final",monday:"Segunda",tuseday:"Terça",wednesday:"Quarta",thursday:"Quinta",friday:"Sexta",saterday:"Sábado",sunday:"Domingo",placeholder:"Por favor insira",placeholderSelect:"Por favor selecione",closeTips:"Confirmar fechamento?",deleteTips:"Confirmar exclusão?",deleteSuccess:"Excluído com sucesso",addSuccess:"Adicionado com sucesso",editSuccess:"Editado com sucesso",saveSuccess:"Salvo com sucesso",tips:"Dica",operation:"Operação",query:"Consulta",reset:"Reset",noData:"Sem dados",export:"Exportar",success:"Sucesso",failure:"Falha",incorrectFormat:"Formato incorreto",integerFormat:"Deve ser inteiro ≥0",positiveIntegerFormat:"Deve ser inteiro >0",noDataSaved:"Sem dados para salvar",chinese:"Chinês",english:"Inglês",spanish:"Espanhol",french:"Francês",german:"Alemão",russian:"Russo",arabic:"Árabe",portuguese:"Português",korean:"Coreano",detail:"Detalhe",clearTips:"Confirmar limpeza?",clearSuccess:"Limpo com sucesso"},log:{accessMethod:"Método de acesso",passingTime:"Hora de passagem",accessPass:"Credencial de acesso",accessResult:"Resultado",accessPhoto:"Foto",viewPhotos:"Ver fotos"},error:{networkError:"Falha de rede, verifique a conexão",timeout:"Tempo esgotado, tente novamente",serverError:"Erro interno, tente mais tarde",notFound:"Recurso não existe",unauthorized:"Não autorizado, faça login",noResponse:"Sem resposta do servidor",unknownError:"Falha na solicitação, código:",requestFailed:"Solicitação falhou"},security:{keyId:"ID da chave",keyType:"Tipo de chave",keyEncoding:"Codificação da chave",keyValue:"Valor da chave",startTime:"Hora de início",expirationTime:"Hora de expiração",newKey:"Adicionar chave",clearKey:"Limpar chave",validTime:"Tempo válido"}},St={login:{lang:"언어",systemname:"로그인",username:"사용자",username_label:"사용자명을 입력하세요",pwd:"비밀번호",pwd_label:"비밀번호를 입력하세요",pwd_info:"올바른 비밀번호 형식을 입력하세요",success_msg:"로그인 성공",error_name:"비밀번호가 올바르지 않습니다",error_res:"로그인 요구사항을 충족하지 않습니다",login:"로그인"},aside:{systemname:"관리",quit:"로그아웃",deviceControl:"제어",basicSetting:"설정",workerSetting:"인원",deviceMonitoring:"모니터링",recordManagement:"기록",securityManagement:"키 관리",tips:"알림",tips_msg:"로그아웃하시겠습니까?"},control:{remoteControl:"원격",restart:"재부팅",clickToRestart:"클릭하여 재부팅",restartConfirm:"재부팅을 확인하시겠습니까?",restartSuccess:"재부팅 성공",restartFailed:"재부팅 실패",remoteOpen:"원격 개방",clickToOpen:"클릭하여 개방",openConfirm:"원격 개방을 확인하시겠습니까?",remoteOpenSuccess:"개방 성공",remoteOpenFailed:"개방 실패",reset:"장치 초기화",clickToReset:"클릭하여 초기화",resetConfirm:"초기화를 확인하시겠습니까?",resetSuccess:"초기화 성공",resetFailed:"초기화 실패",firmwareUpgrade:"펌웨어 업그레이드",upgradeConfig:"업그레이드 설정",firmwareUrl:"펌웨어 URL",md5Checksum:"md5 값",startUpgrade:"업그레이드 시작",urlRequired:"URL은 필수입니다",md5Required:"md5는 필수입니다",urlInvalid:"올바른 URL을 입력하세요",md5Invalid:"올바른 md5를 입력하세요",upgradeConfirm:"업그레이드를 진행할까요?",upgradeSuccess:"업그레이드 성공",clearFile:"파일 지우기",uploading:"업로드 중...",uploadAndUpgrade:"업로드 후 업그레이드",restartTips:"안전한 재부팅, 데이터 손실 없음",restarting:"재부팅 중...",remoteTips:"출입 원격 제어",opening:"개방 중...",resetTips:"공장 초기화, 모든 데이터 삭제",reseting:"초기화 중...",urlUpgrade:"URL 업그레이드",fileUpgrade:"파일 업그레이드",uploadFile:"펌웨어 파일 업로드",formatFile:".zip 또는 .dpk 지원, 최대 20MB",fileName:"파일명",size:"크기"},config:{second:"초",millisecond:"밀리초",min:"분",notsave:"저장 안 함",save:"저장",noVoice:"음성 없음",no:"아니오",yes:"예",basicConfiguration:"기본 설정",displaySettings:"디스플레이 설정",informationDisplay:"정보 표시",audioSettings:"오디오 설정",languageAndThemes:"언어 및 테마",autoAdjustScreenBrightness:"자동 밝기 조절",screenBrightness:"화면 밝기",autoTurnOffScreen:"자동 화면 끄기",autoTurnOffScreenTime:"화면 끄기 시간",autoScreenSaver:"자동 화면보호기",autoScreenSaverTime:"화면보호기 시간",displayDeviceSn:"SN 표시",displayIp:"IP 표시",displayIdentityCard:"클라우드 인증 표시",volume:"볼륨",language:"언어",displayCode:"미니앱 코드 표시",themeMode:"테마",cn:"중국어",en:"영어",es:"스페인어",fr:"프랑스어",de:"독일어",ru:"러시아어",ar:"아랍어",pt:"포르투갈",ko:"한국어",standardMode:"표준 모드",simpleMode:"심플 모드",firstLogin:"첫 로그인",backlight:"배경 조명",brightness:"화이트 라이트",nirBrightness:"적외선 라이트",never:"안 함",min1:"1분",min2:"2분",min3:"3분",min4:"4분",min5:"5분",networkConfiguration:"네트워크 설정",otherConfiguration:"기타 설정",ipConfiguration:"IP 설정",devicePassword:"장치 비밀번호",protocolPassword:"프로토콜 비밀번호",networkType:"네트워크 유형",ethernet:"이더넷",wifiName:"Wi‑Fi 이름",wifiPassword:"Wi‑Fi 비밀번호",dhcpModeSelection:"DHCP 모드",dhcpMode:"자동",customNetworkConfiguration:"수동 설정",ipAddress:"IP 주소",gateway:"게이트웨이",subnetMask:"서브넷 마스크",dnsServer:"DNS 서버",mac:"네트워크 MAC",mqttRelatedConfiguration:"MQTT 설정",mqttConnectionInformation:"MQTT 연결 정보",sessionConfiguration:"세션 설정",serverAddress:"서버 주소",clientID:"클라이언트 ID",userName:"사용자명",userPassword:"비밀번호",topicPrefix:"토픽 접두사",onlineChecking:"온라인 확인",onlineCheckingTimeout:"타임아웃",cleanSession:"클린 세션",clientIdSuffix:"클라이언트 ID 접미사",willTopic:"Will 토픽",enterpriseWechat:"Enterprise WeChat 모드 적용 안 됨",faceRelatedConfiguration:"얼굴 설정",functionalInformation:"기능 정보",prompt:"프롬프트",faceSimilarityThreshold:"유사도 임계값",livenessDetectionFunction:"라이브니스 감지",livenessDetectionThreshold:"라이브니스 임계값",infraredImageDisplay:"적외선 이미지 표시",maskRecognition:"마스크 인식",strangerVoice:"낯선이 음성",voiceMode:"음성 모드",voiceModeDate:"맞춤 인사",imageSaveType:"이미지 저장 유형",saveStrangerImage:"낯선이 이미지 저장",fullView:"전경",face:"얼굴",broadcastPleaseRegisterFirst:'"등록 후 이용" 재생',broadcastHelloStranger:'"낯선이" 재생',broadcastName:"이름 재생",broadcastGreeting:"맞춤 인사 재생",greeting:"인사말",broadcastWelcome:'"환영합니다" 재생',recognitionSwitch:"재검사 스위치",systemRelatedConfiguration:"시스템 설정",functionSwitch:"기능 스위치",cardSwipingSwitch:"카드",passwordSwitch:"비밀번호",strangerImage:"낯선이 이미지",cloudCertificateSwitch:"클라우드 인증",physicalCardNumber:"물리 카드 번호",cloudCertificateAcquisition:"클라우드 인증 획득",heartbeatConfig:"하트비트",heartbeatSwitch:"하트비트 스위치",heartRateInterval:"인터벌",heartbeatTopic:"하트비트 토픽",heartbeatContent:"하트비트 내용",basicInformation:"기본 정보",deviceMac:"MAC 주소",uuid:"UUID",sn:"SN",model:"모델",version:"버전",appVersion:"펌웨어 버전",releaseTime:"업데이트 시간",totaldisk:"총 공간",freedisk:"잔여 공간",passageConfiguration:"출입 설정",functionConfiguration:"기능 설정",numberOfPassageRecords:"최대 출입 기록 수",durationOfRelayOpening:"릴레이 개방 시간",alarmSwitch:"경보",fireAlarmSwitch:"화재 경보",fireAlarmStatus:"화재 상태",normal:"정상",warning:"경고",tamperSwitch:"방범 알람",uploadToCloudSwitch:"얼굴 업로드 스위치",clockConfiguration:"시계 설정",timeSynchronizationSwitch:"시간 동기화",timeSynchronizationServerIP:"시간 서버 IP",timedSynchronizationTime:"동기화 시간",timeZone:"시간대",setDeviceTime:"장치 시간 설정",restartAfterSetting:"설정 후 장치 재부팅",cloudCertificateActivation:"클라우드 인증 활성화",activationKey:"활성화 키",cloudTips1:"공백 없이 키를 입력하세요",cloudTips2:"활성화 후 클라우드 서비스에 연결됩니다",confirmActivation:"활성화 확인",activationInProgress:"활성화 중...",activationFailed:"활성화 실패",activationSuccessful:"활성화 성공",passwordModification:"비밀번호 변경",password:"비밀번호",oldPassword:"현재 비밀번호",newPassword:"새 비밀번호",confirmPassword:"비밀번호 확인",passwordRule:"비밀번호 권장 사항",passwordLength:"길이 ≥6",cannotBeTheSame:"모두 같은 문자 불가",cannotOrder:"연속 3개 이상 숫자/소문자 불가",cannotWeakPassword:"일반적인 약한 비밀번호 금지",submit:"제출",saveConfig:"설정 저장",msg_please_enter:"내용을 입력하세요",msg_inputPassword:"비밀번호를 입력하세요",msg_oldPasswordError:"현재 비밀번호가 틀렸습니다",msg_password_mismatch:"비밀번호가 일치하지 않습니다",msg_password_min_length:"비밀번호는 최소 6자",msg_is_weak_password:"약한 비밀번호입니다. 변경하세요",msg_pswChangeSuccessAndLogin:"비밀번호 변경 완료, 다시 로그인하세요",msg_pswChangeSuccess:"비밀번호 변경 성공",msg_pswChangeFail:"비밀번호 변경 실패",msg_saveSuccess:"저장 성공",msg_saveFail:"저장 실패",msg_formFilled:"양식 입력을 확인하세요",msg_number_0_23:"0~23만 지원",msg_number_0_24:"0~24만 지원",msg_noChange:"저장할 구성 변경 사항이 없습니다",resourceConfiguration:"리소스 설정",backgroundImage:"배경 이미지",selectImage:"이미지 선택",uploadBackground:"배경 업로드",uploading:"업로드 중...",backgroundUploadTip:"픽셀 수가 {n}인 PNG 형식의 이미지를 업로드하세요. 이미지는 Base64 형식으로 변환된 후 기기로 업로드됩니다.",backgroundResolutionMismatch:"이미지 해상도는 {n} 이어야 합니다",backgroundRequired:"배경 이미지를 선택하세요",backgroundImageOnlyPNG:"PNG 이미지만 허용",backgroundSizeLimit:"이미지 크기는 5MB 이하",backgroundParseFailed:"이미지 읽기 실패, 다시 시도",backgroundImageSelected:"이미지가 선택되었습니다",backgroundSuccess:"배경 업로드 성공",backgroundFailed:"배경 업로드 실패",scanSettings:"스캔 설정",scanSwitch:"스캔 스위치",scanInterval:"스캔 간격"},person:{idCard:"신분증 번호",userType:"사용자 유형",administrator:"관리자",userId:"ID",user:"사용자",voucher:"자격 증명",permission:"권한",addUser:"사용자 추가",name:"이름",editUser:"사용자 수정",placeholderUserId:"사용자 ID를 입력하세요",placeholderName:"이름을 입력하세요",userNotExist:"사용자가 존재하지 않습니다",oneClickClear:"모두 삭제",clearTips:"모든 데이터가 삭제됩니다. 계속하시겠습니까?",clearSuccess:"삭제 완료",clearFailed:"삭제 실패"},voucher:{password:"비밀번호",card:"카드",face:"얼굴",finger:"지문",code:"코드",codeType:"코드 유형",passthroughCode:"통과 코드",staticCode:"정적 코드",dynamicCode:"동적 코드",placeholderCode:"코드 인증서를 입력하세요",placeholderPwd:"비밀번호 자격을 입력",placeholderCard:"카드 자격을 입력",validPassword:"6자리 숫자를 입력",validCard:"8자리 숫자 또는 문자 입력",photoRegistration:"사진 등록",featureValueRegistration:"특징값 등록",fingerRegistration:"지문 등록",fingerFeatureRegistration:"특징값 등록",fingerInput:"손가락을 지문 센서에 올려주세요",fingerRemainingTime:"남은 시간",fingerInputting:"등록 중...",startFingerInput:"지문 등록 시작",fingerInputTips:"지문 특징값을 입력하세요",fingerWaitInput:"등록 대기",fingerInputNow:"지문을 등록하는 중...",fingerInputSuccess:"등록 성공",fingerInputFailed:"지문 등록 시작 실패",fingerReTry:"지문 등록 실패, 다시 시도해 주세요",fingerFilled:"지문 등록 성공, 특징값이 자동으로 입력되었습니다",fingerFailed:"지문 등록 실패",fingerTimeout:"시간 초과",fingerInputTimeout:"지문 등록 시간 초과, 다시 시도해 주세요",fingerError:"등록 실패",fingerInputError:"지문 등록 실패, 다시 시도해 주세요",fingerInputed:"지문이 이미 등록되었습니다",fingerReInput:"지문 재등록"},permission:{deletePermission:"권한 삭제",addPermission:"권한 추가",permissionId:"권한 ID",userId:"사용자 ID",timeRange:"시간 범위",extra:"추가",effectiveType:"유효 유형",effectiveTime:"유효 시간",effectiveWeek:"유효 주",timePeriod:"시간대",addTimePeriod:"시간대 추가",modify_previous_time:"먼저 이전 시간대를 수정하세요",cannot_be_earlier:"종료 시간이 시작 시간보다 빠를 수 없습니다",times_cannot_overlap:"시간대가 겹칠 수 없습니다",choose_time_range:"시간 범위를 선택하세요",unlimitedMode:"무제한 모드",usualMode:"일반 모드",dailyMode:"일일 모드",weeklyRepetitionMode:"주간 반복 모드",time_range:"시간 범위"},common:{startDate:"시작 날짜",endDate:"종료 날짜",to:"부터",cancel:"취소",confirm:"확인",close:"닫기",delete:"삭제",edit:"수정",batchDelete:"일괄 삭제",startTime:"시작 시간",endTime:"종료 시간",monday:"월요일",tuseday:"화요일",wednesday:"수요일",thursday:"목요일",friday:"금요일",saterday:"토요일",sunday:"일요일",placeholder:"입력하세요",placeholderSelect:"선택하세요",closeTips:"닫기를 확인하시겠습니까?",deleteTips:"삭제를 확인하시겠습니까?",deleteSuccess:"삭제 성공",addSuccess:"추가 성공",editSuccess:"수정 성공",saveSuccess:"저장 성공",tips:"알림",operation:"작업",query:"조회",reset:"초기화",noData:"데이터 없음",export:"내보내기",success:"성공",failure:"실패",incorrectFormat:"형식이 올바르지 않습니다",integerFormat:"0 이상의 정수여야 합니다",positiveIntegerFormat:"0보다 큰 정수여야 합니다",noDataSaved:"저장할 데이터가 없습니다",chinese:"중국어",english:"영어",spanish:"스페인어",french:"프랑스어",german:"독일어",russian:"러시아어",arabic:"아랍어",portuguese:"포르투갈어",korean:"한국어",detail:"세부 정보",clearTips:"지우시겠습니까?",clearSuccess:"성공적으로 지워짐"},log:{accessMethod:"출입 방식",passingTime:"출입 시간",accessPass:"출입 증명",accessResult:"결과",accessPhoto:"사진",viewPhotos:"사진 보기"},error:{networkError:"네트워크 오류, 연결을 확인하세요",timeout:"요청 시간 초과, 다시 시도하세요",serverError:"서버 내부 오류, 나중에 다시 시도",notFound:"요청한 자원이 없습니다",unauthorized:"인증되지 않았습니다. 다시 로그인하세요",noResponse:"서버 응답이 없습니다",unknownError:"요청 실패, 오류 코드:",requestFailed:"요청에 실패했습니다"},security:{keyId:"키 ID",keyType:"키 유형",keyEncoding:"키 인코딩",keyValue:"키 값",startTime:"시작 시간",expirationTime:"만료 시간",newKey:"키 추가",clearKey:"키 지우기",validTime:"유효 시간"}};a["default"].use(nt["a"]);const _t={EN:{...pt,...lt.a},CN:{...ft,...mt.a},ES:{...ht,...lt.a},FR:{...vt,...lt.a},DE:{...bt,...lt.a},RU:{...yt,...lt.a},AR:{...wt,...lt.a},PT:{...Ct,...lt.a},KO:{...St,...lt.a}};let Tt=sessionStorage.getItem("publicConfig"),{language:kt}=Tt?JSON.parse(Tt):{};const It=new nt["a"]({locale:kt,messages:_t});gt.a.i18n((e,t)=>It.t(e,t));var $t=It;const Ft=(()=>{const{protocol:e,hostname:t}=window.location;return`${e}//${t}:8080`})(),At=st.a.create({baseURL:Ft,timeout:1e5});At.interceptors.request.use(e=>{let t=sessionStorage.getItem("token");return t&&(e.headers["Authorization"]=t),e},e=>Promise.reject(e)),At.interceptors.response.use(e=>{const t=e.data;if(401!=t.code)return t;rt["Message"].error($t.t("error.unauthorized")),sessionStorage.removeItem("token"),it.push("/login")},e=>{console.error("请求错误:",e);let t=$t.t("error.networkError");if("ECONNABORTED"===e.code||e.message.includes("timeout"))t=$t.t("error.timeout"),sessionStorage.removeItem("token"),it.push("/login");else if(e.response){const i=e.response.status;switch(i){case 500:t=$t.t("error.serverError"),sessionStorage.removeItem("token"),it.push("/login");break;case 404:t=$t.t("error.notFound");break;case 401:t=$t.t("error.unauthorized"),sessionStorage.removeItem("token"),it.push("/login");break;default:t=$t.t("error.unknownError")+": "+i}e.response.data&&e.response.data.message&&(t=e.response.data.message)}else e.request&&(t=$t.t("error.noResponse"));return rt["Message"].error(t),Promise.reject(e)});var Pt=At,Mt=(i("5ba9"),i("a342"),i("32aa"),i("df1a")),xt=i.n(Mt);i("608c"),i("76d2"),i("e0e4"),i("1cb4"),i("8470"),i("660b"),i("dcc5"),i("da2c"),i("b609"),i("274e"),i("37c1"),i("9f66"),i("f840"),i("51d2");i("56667"),i("df1a"),i("00bb");class Rt{}var zt={inserted(e,t){let i=sessionStorage.getItem("publicConfig"),{model:a}=i?JSON.parse(i):{};const{value:s}=t;var r;if(s)if(Array.isArray(s))s.includes(a)||null===(r=e.parentNode)||void 0===r||r.removeChild(e);else if("string"===typeof s){var o;if(a!==s)null===(o=e.parentNode)||void 0===o||o.removeChild(e)}else if("object"===typeof s){const{allow:t,deny:i}=s;var n,c;if(t&&!t.includes(a))null===(n=e.parentNode)||void 0===n||n.removeChild(e);if(i&&i.includes(a))null===(c=e.parentNode)||void 0===c||c.removeChild(e)}}};let Dt=sessionStorage.getItem("publicConfig"),{language:Et}=Dt?JSON.parse(Dt):{};"CN"===Et&&"人脸系统"!==document.title&&(document.title="人脸系统"),"EN"===Et&&"Face device system"!==document.title&&(document.title="Face device system"),a["default"].prototype.$Message=rt["Message"],a["default"].use(ot.a),a["default"].config.productionTip=!1,a["default"].prototype.$http=Pt,a["default"].directive("model-permission",zt),new a["default"]({Export2Excel:Rt,Blob:xt.a,i18n:$t,router:it,render:e=>e(d)}).$mount("#app")},5712:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAAXNSR0IArs4c6QAAASNQTFRFAAAA////gICA////v7+/////29vbv7+/39/fxsbGzMzM2NjYyMjIzMzMzs7OxcXF0dHR09PTzMzMzs7Oz8/PycnJ0tLSzs7OysrKy8vLzc3N0NDQz8/P0NDQzMzMzc3Nzs7Ozs7OzMzMzc3Ny8vLzs7Ozc3Ny8vLzs7OzMzMysrKzMzMzs7Oy8vLzMzMzc3NzMzMzMzMzMzMzMzMzc3Nzc3Ny8vLzc3NzMzMzc3NzMzMzMzMy8vLzMzMzMzMzMzMzc3Nzc3NzMzMzc3NzMzMzMzMzMzMzMzMzMzMy8vLzc3NzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzc3NzMzMzMzMzc3NzMzMy8vLzMzMzMzMzMzMzc3NzMzMBtOHYQAAAGB0Uk5TAAECAwQEBwgICQoNDg8VFhYXHh8gISgqKywuMTU2NzhDREZIU1RWWGJkZmhpcHl7fX6LjY6Qnp+hoq+wsrO+v8DCyczNzs/X2Nna2+Lj5OXr7O3w8vPz9Pj4+fz8/f7+MwWhEgAAAMxJREFUGBnFwec+ggEYxuH7VbaQFRkpM7OUbGWvjCSUxv/8j8IZPM8nP9elf9Mdla/Y2pGrDLlAjoUKHITkmH6Bk145Jh6hOCTH6A1cj8gRKcHDuBx9p/AckyN8CJV5OYI81JLy7Haor8iz2aS5Ic9qg/a6PKlPqgPypCEhTx7icuzBXZdMoQK8z8rUcwyvMzINnsPTpEzDV3AblWnsHi4iMk2V4axfprk3OArLtPgB+4FMy990MrKlf2htybbdprEmR5WvJXmylwn9tV+wKidze7rGOAAAAABJRU5ErkJggg=="},5843:function(e,t,i){},5891:function(e,t,i){"use strict";i("837f")},"58a5":function(e,t,i){"use strict";i("9a2b")},"5bf7":function(e,t,i){},"66c9":function(e,t,i){"use strict";i("38ba")},"6aef":function(e,t,i){"use strict";i("5bf7")},"789c":function(e,t,i){"use strict";i("1eb6")},"837f":function(e,t,i){},8591:function(e,t,i){},"894b":function(e,t,i){},"9a2b":function(e,t,i){},a342:function(e,t,i){},a568:function(e,t,i){},a86e:function(e,t,i){"use strict";i("a568")},b76a:function(e,t,i){},c9da:function(e,t,i){},d6f8:function(e,t,i){"use strict";i("894b")},df1a:function(e,t,i){i("f16c"),i("0daf"),
/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */
function(e){"use strict";if(e.URL=e.URL||e.webkitURL,e.Blob&&e.URL)try{return void new Blob}catch(i){}var t=e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||function(e){var t=function(e){return Object.prototype.toString.call(e).match(/^\[object\s(.*)\]$/)[1]},i=function(){this.data=[]},a=function(e,t,i){this.data=e,this.size=e.length,this.type=t,this.encoding=i},s=i.prototype,r=a.prototype,o=e.FileReaderSync,n=function(e){this.code=this[this.name=e]},c="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),l=c.length,d=e.URL||e.webkitURL||e,m=d.createObjectURL,u=d.revokeObjectURL,g=d,p=e.btoa,f=e.atob,h=e.ArrayBuffer,v=e.Uint8Array;a.fake=r.fake=!0;while(l--)n.prototype[c[l]]=l+1;return d.createObjectURL||(g=e.URL={}),g.createObjectURL=function(e){var t,i=e.type;return null===i&&(i="application/octet-stream"),e instanceof a?(t="data:"+i,"base64"===e.encoding?t+";base64,"+e.data:"URI"===e.encoding?t+","+decodeURIComponent(e.data):p?t+";base64,"+p(e.data):t+","+encodeURIComponent(e.data)):m?m.call(d,e):void 0},g.revokeObjectURL=function(e){"data:"!==e.substring(0,5)&&u&&u.call(d,e)},s.append=function(e){var i=this.data;if(v&&(e instanceof h||e instanceof v)){for(var s="",r=new v(e),c=0,l=r.length;c<l;c++)s+=String.fromCharCode(r[c]);i.push(s)}else if("Blob"===t(e)||"File"===t(e)){if(!o)throw new n("NOT_READABLE_ERR");var d=new o;i.push(d.readAsBinaryString(e))}else e instanceof a?"base64"===e.encoding&&f?i.push(f(e.data)):"URI"===e.encoding?i.push(decodeURIComponent(e.data)):"raw"===e.encoding&&i.push(e.data):("string"!==typeof e&&(e+=""),i.push(unescape(encodeURIComponent(e))))},s.getBlob=function(e){return arguments.length||(e=null),new a(this.data.join(""),e,"raw")},s.toString=function(){return"[object BlobBuilder]"},r.slice=function(e,t,i){var s=arguments.length;return s<3&&(i=null),new a(this.data.slice(e,s>1?t:this.data.length),i,this.encoding)},r.toString=function(){return"[object Blob]"},r.close=function(){this.size=this.data.length=0},i}(e);e.Blob=function(e,i){var a=i&&i.type||"",s=new t;if(e)for(var r=0,o=e.length;r<o;r++)s.append(e[r]);return s.getBlob(a)}}("undefined"!==typeof self&&self||"undefined"!==typeof window&&window||this.content||this)},ee0f:function(e,t,i){"use strict";i("b76a")}});
//# sourceMappingURL=app.da6752e9.js.map