File: /www/server/panel/BTPanel/static/js/index314.js
import{M as T,k as N,cY as M,w as P,X as A,cP as C,cZ as x,cR as j}from"./utils-lib.js?v=1777008528";import{aJ as U,r as v,c as b,aI as S,g as R,e as a,x as o,o as q,j as B,k as F,p as d,q as I,v as O,z as L,aF as H,J as D,K as h,a8 as J,Q}from"./base-lib.js?v=1777008528";import{F as p,k as $,b as W,i as Y,m as z}from"./form-item.js?v=1777008528";import{getDatabaseTimeOut as K,setDatabaseTimeOut as X,getDatabasePasswordConfig as Z,setDatabasePasswordConfig as G,getDatabaseLoginLimit as k,setDatabaseLoginLimit as V}from"./database.js?v=1777008528";import{g as ee}from"./useStore4.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";const y=U("DATABASE-MYSQL-ADVANCED-REINFORCE-STORE",()=>{const i=v({default_password_lifetime:"90",expire_logs_days:"180",interactive_timeout:"300",wait_timeout:"300"}),u=v({validate_password_length:"",validate_password_mixed_case_count:"",validate_password_number_count:"",validate_password_policy:"STRONG",validate_password_special_char_count:"",status:!1,oldStatus:!1}),n=v({connection_control_failed_connections_threshold:"5",connection_control_max_connection_delay:"1800000",connection_control_min_connection_delay:"2147483647",status:!1,oldStatus:!1});return{resetData:()=>{i.value.default_password_lifetime="",i.value.expire_logs_days="",i.value.interactive_timeout="",i.value.wait_timeout="",u.value.validate_password_length="",u.value.validate_password_mixed_case_count="",u.value.validate_password_number_count="",u.value.validate_password_policy="STRONG",u.value.validate_password_special_char_count="",u.value.status=!1,u.value.oldStatus=!1,n.value.connection_control_failed_connections_threshold="5",n.value.connection_control_max_connection_delay="1800000",n.value.connection_control_min_connection_delay="2147483647",n.value.status=!1,n.value.oldStatus=!1},getBaseData:async()=>{var t,s,e,r;try{const E=await K();if(!E.status){T.error(E.msg);return}if(JSON.stringify(E.data)==="{}"){T.error("数据库状态异常");return}i.value.default_password_lifetime=(t=E.data)==null?void 0:t.default_password_lifetime,i.value.expire_logs_days=(s=E.data)==null?void 0:s.expire_logs_days,i.value.interactive_timeout=(e=E.data)==null?void 0:e.interactive_timeout,i.value.wait_timeout=(r=E.data)==null?void 0:r.wait_timeout}catch(E){}},baseFormData:i,setBaseData:async t=>{try{N({loading:"正在设置,请稍后...",message:!0,request:X(t)})}catch(s){}},passwordFormData:u,getPasswordData:async()=>{try{const t=await N({loading:"正在获取数据,请稍后...",request:Z()});t.status?(u.value.validate_password_length=t.data.validate_password_length||"10",u.value.validate_password_mixed_case_count=t.data.validate_password_mixed_case_count||"",u.value.validate_password_number_count=t.data.validate_password_number_count||"",u.value.validate_password_policy=t.data.validate_password_policy||"STRONG",u.value.validate_password_special_char_count=t.data.validate_password_special_char_count||"",u.value.status=t.data.status==="ON"||t.data.status==="on",u.value.oldStatus=t.data.status==="ON"||t.data.status==="on"):M(t)}catch(t){}},setPasswordData:async t=>{try{if(!t.status){try{await P({title:"关闭密码复杂度验证",content:"关闭后将不会进行密码复杂度验证,是否继续操作!"}),N({loading:"正在关闭,请稍后...",message:!0,request:G({...t,status:t.status?"on":"off"}),success:s=>{s.status||(u.value.status=!0)}})}catch(s){u.value.status=!0}return}N({loading:"正在保存,请稍后...",message:!0,request:G({...t,status:t.status?"on":"off"})})}catch(s){}},limitFormData:n,getLimitData:async()=>{try{const t=await N({loading:"正在获取数据,请稍后...",request:k()});t.status?(n.value.connection_control_failed_connections_threshold=t.data.connection_control_failed_connections_threshold||"",n.value.connection_control_max_connection_delay=t.data.connection_control_max_connection_delay||"1800000",n.value.connection_control_min_connection_delay=t.data.connection_control_min_connection_delay||"2147483647",n.value.status=t.data.status==="ON"||t.data.status==="on",n.value.oldStatus=t.data.status==="ON"||t.data.status==="on"):M(t)}catch(t){}},setLimitData:async t=>{try{if(!t.status){try{await P({title:"关闭登录限制",content:"关闭后将不会进行登录次数限制,是否继续操作!"}),N({loading:"正在关闭,请稍后...",message:!0,request:V({...t,status:t.status?"on":"off"}),success:s=>{s.status||(n.value.status=!0)}})}catch(s){n.value.status=!0}return}N({loading:"正在保存,请稍后...",message:!0,request:V({...t,status:t.status?"on":"off"})})}catch(s){}}}}),te={class:"p-[2rem]"},se={class:"flex justify-end pr-[28rem]"},ae=b({__name:"reinforce-base",setup(i,{expose:u}){const n=y(),{baseFormData:l}=S(n),{getBaseData:c,setBaseData:_}=n,m=[{content:"设置180天日志可能会占用大量磁盘空间,请注意是否留有充足空间"},{content:"设置密码到期后需及时更新密码,否则mysq|将连接异常"},{content:"以上均为等保默认推荐值"}],{BtForm:w,submit:g}=A({data:()=>l.value,options:f=>R(()=>[p("日志保存时间","expire_logs_days",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[o("天"),a("span",{class:"ml-[1.5rem]"},[o("建议180天")])])},attrs:{class:"!w-[20rem]",placeholder:"日志保存时间"},rules:[{required:!0,validator:(t,s,e)=>{s===""||isNaN(Number(s))?e(new Error("请输入正确的日志保存时间")):Number.isInteger(Number(s))?Number(s)<1?e(new Error("请输入正确的日志保存时间")):e():e(new Error("请输入正确的日志保存时间"))},trigger:"blur"}]}),p("等待超时时间","wait_timeout",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[o("秒"),a("span",{class:"ml-[1.5rem]"},[o("建议300秒")])])},attrs:{class:"!w-[20rem]",placeholder:"等待超时时间"},rules:[{required:!0,validator:(t,s,e)=>{s===""||isNaN(Number(s))?e(new Error("请输入正确的等待超时时间")):Number.isInteger(Number(s))?Number(s)<1?e(new Error("请输入正确的等待超时时间")):e():e(new Error("请输入正确的等待超时时间"))},trigger:"blur"}]}),p("命令行超时设置","interactive_timeout",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[o("秒"),a("span",{class:"ml-[1.5rem]"},[o("建议300秒")])])},attrs:{class:"!w-[20rem]",placeholder:"命令行超时时间"},rules:[{required:!0,validator:(t,s,e)=>{s===""||isNaN(Number(s))?e(new Error("请输入正确的命令行超时时间")):Number.isInteger(Number(s))?Number(s)<1?e(new Error("请输入正确的命令行超时时间")):e():e(new Error("请输入正确的命令行超时时间"))},trigger:"blur"}]}),p("密码到期时间","default_password_lifetime",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[o("天"),a("span",{class:"ml-[1.5rem]"},[o("建议90天,")]),a("span",{class:"text-dangerDark"},[o("请先重置mysql root密码后 再设置密码到期时间")])])},attrs:{class:"!w-[45.2rem]",placeholder:"密码到期时间"},rules:[{required:!0,validator:(t,s,e)=>{s===""||isNaN(Number(s))?e(new Error("请输入正确的密码到期时间")):Number.isInteger(Number(s))?Number(s)<1?e(new Error("密码到期时间最低设置1天")):e():e(new Error("请输入正确的密码到期时间"))},trigger:"blur"}]})]),submit:async(f,t,s)=>{await t(),_(f.value)}});return q(c),u({init:c}),(f,t)=>{const s=L,e=C;return B(),F("div",te,[a(d(w)),I("div",se,[a(s,{type:"primary",onClick:d(g)},{default:O(()=>[...t[0]||(t[0]=[o("保存",-1)])]),_:1},8,["onClick"])]),a(e,{class:"mt-[20rem]",options:m})])}}}),re=x(ae,[["__scopeId","data-v-0af02144"]]),oe={class:"p-[2rem]"},ue={class:"flex justify-end pr-[18rem]"},ne=b({__name:"reinforce-password",setup(i,{expose:u}){const n=y(),{passwordFormData:l}=S(n),{getPasswordData:c,setPasswordData:_}=n,m=[{content:'<span class="text-dangerDark">设置密码复杂度后 如不按照规则设置密码,可能无法正常创建数据库,修改用户密码/同步用户密码</span>',isHtml:!0},{content:"以上均为等保默认推荐值"},{content:()=>a("div",null,[o("密码验证强度类型:"),a("div",null,[a("p",null,[o("LOW:只检查密码长度")]),a("p",null,[o("MEDIUM:检查长度、数字、大写字母、小写字母、特殊字符")]),a("p",null,[o("STRONG:检查长度、数字、大写字母、小写字母、特殊字符、字典文件")])])])}],{BtForm:w,submit:g,ref:f}=A({data:()=>l.value,options:t=>R(()=>[$("开启密码复杂度验证","status",{attrs:{onChange:async s=>{!s&&l.value.oldStatus&&_({status:!1})}}}),...t.value.status?[p("最短密码长度","validate_password_length",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[a("span",{class:"ml-[.5rem]"},[o("建议10位")])])},attrs:{class:"!w-[17.6rem]",placeholder:"最短密码长度"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的最短密码长度")):Number.isInteger(Number(e))?Number(e)<6?r(new Error("最短密码长度不能小于6")):r():r(new Error("请输入正确的最短密码长度"))},trigger:"blur"}]}),p("密码最少数字个数","validate_password_number_count",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[a("span",{class:"ml-[.5rem]"},[o("建议至少1位")])])},attrs:{class:"!w-[19.3rem]",placeholder:"最少数字"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的密码最少数字个数")):Number.isInteger(Number(e))?r():r(new Error("请输入正确的密码最少数字个数"))},trigger:"blur"}]}),p("密码最少特殊字符个数","validate_password_special_char_count",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[a("span",{class:"ml-[.5rem]"},[o("建议至少1位")])])},attrs:{class:"!w-[19.3rem]",placeholder:"最少特殊字符"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的密码最少特殊字符个数")):Number.isInteger(Number(e))?r():r(new Error("请输入正确的密码最少特殊字符个数"))},trigger:"blur"}]}),p("密码最少大小写英文字符个数","validate_password_mixed_case_count",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[a("span",{class:"ml-[.5rem]"},[o("建议至少1位")])])},attrs:{class:"!w-[19.3rem]",placeholder:"大小写英文字符"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的最少大小写英文字符个数")):Number.isInteger(Number(e))?r():r(new Error("请输入正确的最少大小写英文字符个数"))},trigger:"blur"}]}),W([Y("密码验证强度","validate_password_policy",[{label:"LOW",value:"LOW"},{label:"MEDIUM",value:"MEDIUM"},{label:"STRONG",value:"STRONG"}],{attrs:{class:"!w-[11.1rem]",placeholder:"验证强度"},rules:[{required:!0,validator:(s,e,r)=>{e===""?r(new Error("请选择验证强度")):r()},trigger:"blur"}]}),z(()=>H("span",{class:"text-small text-secondary ml-[1.5rem] leading-[3.2rem]"},"建议设置为STRONG"),{key:"jump",rules:{}})])]:[]]),submit:async(t,s,e)=>{await s(),_(t.value)}});return q(()=>{c()}),u({init:c}),(t,s)=>{const e=L,r=C;return B(),F("div",oe,[a(d(w),{class:"h-[30rem]"}),D(I("div",ue,[a(e,{type:"primary",onClick:d(g)},{default:O(()=>[...s[0]||(s[0]=[o("保存",-1)])]),_:1},8,["onClick"])],512),[[h,d(l).status]]),D(a(r,{class:"mt-[4rem]",options:m},null,512),[[h,d(l).status]])])}}}),ie=x(ne,[["__scopeId","data-v-949fc655"]]),le={class:"p-[2rem]"},ce={class:"flex justify-end pr-[18rem]"},_e=b({__name:"reinforce-limit",setup(i,{expose:u}){const n=y(),{limitFormData:l}=S(n),{getLimitData:c,setLimitData:_}=n,m=[{content:"以上均为等保默认推荐值"}],{BtForm:w,submit:g,ref:f}=A({data:()=>l.value,options:t=>R(()=>[$("开启限制登录","status",{attrs:{onChange:async s=>{!s&&l.value.oldStatus&&_({status:!1})}}}),...t.value.status?[p("验证错误锁定次数","connection_control_failed_connections_threshold",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[o("次"),a("span",{class:"ml-[.5rem]"},[o("密码错误超过设置次数后进行锁定")])])},attrs:{class:"!w-[35rem]",placeholder:"验证错误锁定次数"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的验证错误锁定次数")):!Number.isInteger(Number(e))||Number(e)<1?r(new Error("请输入正确的验证错误锁定次数")):r()},trigger:"blur"}]}),p("最小锁定时间","connection_control_min_connection_delay",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[o("毫秒"),a("span",{class:"ml-[.5rem]"},[o("推荐1800000毫秒(5分钟)")])])},attrs:{class:"!w-[33.4rem]",placeholder:"最小锁定时间"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的密码最小锁定时间(毫秒)")):!Number.isInteger(Number(e))||Number(e)<1?r(new Error("请输入正确的密码最小锁定时间(毫秒)")):r()},trigger:"blur"}]}),p("最长锁定时间","connection_control_max_connection_delay",{slots:{unit:()=>a("span",{class:"whitespace-nowrap ml-[.5rem]"},[a("span",null,[o("毫秒")]),a("span",{class:"ml-[.5rem]"},[o("默认2147483647毫秒")])])},attrs:{class:"!w-[30rem]",placeholder:"最长锁定时间"},rules:[{required:!0,validator:(s,e,r)=>{e===""||isNaN(Number(e))?r(new Error("请输入正确的密码最长锁定时间")):!Number.isInteger(Number(e))||Number(e)<1?r(new Error("请输入正确的密码最长锁定时间")):r()},trigger:"blur"}]})]:[]]),submit:async(t,s,e)=>{await s(),_(t.value)}});return q(()=>{c()}),u({init:c}),(t,s)=>{const e=L,r=C;return B(),F("div",le,[a(d(w),{class:"h-[20rem]"}),D(I("div",ce,[a(e,{type:"primary",onClick:d(g)},{default:O(()=>[...s[0]||(s[0]=[o("保存",-1)])]),_:1},8,["onClick"])],512),[[h,d(l).status]]),D(a(r,{class:"mt-[24rem]",options:m},null,512),[[h,d(l).status]])])}}}),me=x(_e,[["__scopeId","data-v-5aa3fbf4"]]),ve=b({__name:"index",props:{compData:{default:"base"}},setup(i,{expose:u}){const n=y(),{resetData:l}=n;ee();const c=i,_=v(),m=v(c.compData||"base"),w=[{label:"基础设置",name:"base",render:()=>a(re,null,null)},{label:"密码复杂度",name:"password",render:()=>a(ie,null,null)},{label:"限制登录",name:"limit",render:()=>a(me,null,null)}],g=()=>{var t;const f=((t=_.value)==null?void 0:t.getRef())||null;f&&f[m.value].init()};return J(()=>{l()}),u({init:g}),(f,t)=>{const s=j;return B(),F("div",null,[a(s,{ref_key:"reinforceTab",ref:_,class:"w-full h-full",modelValue:d(m),"onUpdate:modelValue":t[0]||(t[0]=e=>Q(m)?m.value=e:null),options:w},null,8,["modelValue"])])}}});export{ve as default};