Files
aaPanel/BTPanel/static/vite/js/accountState.js
T
2025-06-09 10:50:02 +08:00

2 lines
19 KiB
JavaScript

import{X as a,O as e,P as t,F as o,d as l,am as n,r as i,e as u,R as c,a0 as s,a1 as r,V as d,S as m,ao as p,U as _,c as v,_ as b,j as k,u as g,f as A,k as y,v as h,w as f,t as w,i as x}from"./vue.js?v=1749179669910";import{d as F,i as S,a as D,j as V,f as q}from"./public.js?v=1749179669910";import{ab as H,c as j,a7 as U,ac as P,n as L,m as C,ad as N,ae as E,af as M,ag as O,Y,ah as B,i as I,_ as R,O as z,a1 as T}from"./page_layout.js?v=1749179669910";import{T as W,bU as X,c3 as G,cj as J,cn as K,co as Q,_ as Z,c0 as $,bY as aa,cq as ea,a2 as ta,cp as oa}from"./naive.js?v=1749179669910";import{_ as la}from"./index.vue_vue_type_script_setup_true_lang.js?v=1749179669910";import{a as na}from"./quota.js?v=1749179669910";const ia=a("aapanelsub-account-store",(()=>{const a=_a(),{t:l}=e(),n=async()=>{try{u(!0);const{message:e}=await H(a.search);j(e)&&(a.table.data=e.list,a.table.total=e.page.count,a.account_total=e.account_total)}finally{u(!1)}},{loading:i,setLoading:u}=F(),c=async()=>{const{message:e}=await U();j(e)&&(a.packageSourceList=e.list,a.packageList=e.list.map((a=>({label:a.package_name,value:a.package_id}))),e.list.length>0&&(a.expendFormState.package_id=e.list[0].package_id,r(a.expendFormState.package_id)))},s=async()=>{const e=await P();if(j(e)){let t={};a.diskMountSourceList=e.message,a.diskMountPointList=e.message.map((a=>(a.is_default&&(t=a),{label:"".concat(a.mountpoint).concat(" ","(").concat(L(a.used),"/").concat(L(a.total),")").concat(" ").concat(l("Account.Account.account_533924-7"),":").concat(a.is_group_quota?l("Account.Account.account_533924-5"):l("Account.Account.account_533924-6")),value:a.mountpoint}))),e.message.length>0&&(a.expendFormState.mountpoint=t.mountpoint||e.message[0].mountpoint,a.currentChangeDisk=0===Object.keys(t).length?e.message[0]:t)}},r=async e=>{const t=a.packageSourceList.find((a=>a.package_id===e));if(t){const{package_name:e,disk_space_quota:o,monthly_bandwidth_limit:l,max_site_limit:n,max_database:i,php_start_children:u,php_max_children:c,remark:s}=t;a.wpForData.package_name=e,a.wpForData.disk_space_quota=0==o?{value:"",unlimited:!0}:{value:o/1024/1024,unlimited:!1},a.wpForData.monthly_bandwidth_limit=0==l?{value:"",unlimited:!0}:{value:l/1024/1024,unlimited:!1},a.wpForData.max_site_limit=0===n?{value:"",unlimited:!0}:{value:n,unlimited:!1},a.wpForData.max_database=0==i?{value:"",unlimited:!0}:{value:i,unlimited:!1},a.wpForData.php_start_children=u,a.wpForData.php_max_children=c,a.wpForData.remark=s}};const d=()=>{a.acForData.username="",a.acForData.password="",a.acForData.email="",a.acForData.expire_date="0000-00-00",a.expendFormState.package_id=void 0,a.domainForData.domain="",m()},m=()=>{a.wpForData.package_name="",a.wpForData.disk_space_quota={value:"",unlimited:!1},a.wpForData.monthly_bandwidth_limit={value:"",unlimited:!1},a.wpForData.max_site_limit={value:"",unlimited:!1},a.wpForData.max_database={value:"",unlimited:!1},a.wpForData.php_start_children=1,a.wpForData.php_max_children=1,a.wpForData.remark=""};return{init:n,addHost:async()=>{if(a.table.total>=30)return C.error(l("Account.Account.account_533924-9",[30])),!1;d(),await c(),await s(),a.addVisible=!0,a.isEdit=!1},setLoading:u,loading:i,onLogin:async a=>{const{message:e}=await N({account_id:a});j(e)&&window.open(e.login_url+"?token="+e.token)},modifyStatus:async a=>{const{status:e,username:t}=a;D({title:"".concat(l(0===e?"Site.PHP.index_21_2":"Site.PHP.index_21_3")," ").concat(l("Account.Account.account_533924-0",[t])),content:l(0===e?"Account.Account.account_533924-1":"Account.Account.account_533924-2"),onConfirm:async()=>{await E({...a,status:0===e?1:0}),a.status=0===e?1:0}})},removeAccount:async a=>{D({title:l("Account.Account.account_673836-0",[a.username]),content:()=>t(o,null,[t("div",null,[l("Account.Account.account_673836-1")])]),onConfirm:async()=>{await O({account_id:a.account_id,is_del_resources:!0}),n()}})},form_save:async()=>{var e,t;"yes"!==a.domainForData.website_and_email||a.isEdit||await(null==(e=a.accountDomainFormRef)?void 0:e.validate()),await(null==(t=a.accountFormRef)?void 0:t.validate());const{domainForData:o,isSupportAuto:i}=a;if(!i&&"yes"===a.domainForData.website_and_email&&!a.isEdit)return C.error("Your domain name does not support Create a website and email"),!1;const u=function(){const{package_id:e,mountpoint:t}=a.expendFormState,{username:o,password:l,email:n,expire_date:i,remark:u}=a.acForData,{disk_space_quota:c,monthly_bandwidth_limit:s,max_site_limit:r,max_database:d,php_start_children:m,php_max_children:p}=a.wpForData;return Object.assign({},{username:o,password:l,email:n,expire_date:i,package_id:e,mountpoint:t,disk_space_quota:c.unlimited?0:String(1024*Number(c.value)*1024),monthly_bandwidth_limit:s.unlimited?0:String(1024*Number(s.value)*1024),max_site_limit:r.unlimited?0:r.value,max_database:d.unlimited?0:d.value,php_start_children:m,php_max_children:p,remark:u})}();if(u.domain="yes"===o.website_and_email?o.domain:null,u.automatic_dns=2===o.dns_record&&"yes"===o.website_and_email?1:0,Number(u.disk_space_quota)>0&&!a.isEdit){const{is_group_quota:e,free:t}=a.currentChangeDisk;if(!e)return C.error(l("Account.Account.account_533924-3")),!1;if(t<Number(u.disk_space_quota))return C.error(l("Account.Account.account_533924-4")),!1}try{a.isEdit?(delete u.mountpoint,await E({account_id:a.current_account_id,...u}),d(),n()):(await M(u),d(),n())}catch(c){return Promise.reject(c)}},form_reset:d,package_form_reset:m,getPackageList:c,getDiskList:s,changePackage:r,copyInfo:a=>{const{url:e,user:t,pass:o}=a;S("Access address: ".concat(e,"\nUsername: ").concat(t,"\ninit Password: ").concat(o))}}})),ua={key:0,class:"color-desc"},ca=l({__name:"automatic",props:{domain:{}},setup(a,{expose:e}){const o=n(),l=a,b=i(),k=u((()=>{var a;return null==(a=b.value)?void 0:a.support.includes("auto")})),g=()=>{o.push("/ssl_domain/domain")};return e({getParseStatus:async()=>{const{message:a}=await V({domain:l.domain});j(a)&&(b.value=a)},parseStatus:b,isSupportAuto:k}),(a,e)=>{const o=W,l=X,n=G;return c(),s(l,null,{default:r((()=>[d(b)?p("",!0):(c(),m("span",ua," *The program will use the APl to automatically add the required DNS records forthe mail server and complete the installation of the SSL certifcate. ")),d(b)?(c(),s(l,{key:1},{default:r((()=>[d(k)?(c(),s(n,{key:1,type:"success"},{default:r((()=>e[2]||(e[2]=[v(" Your domain has been connccted to the domain managementccnter, and you can use this fcature to complcte onc-click deployment. ")]))),_:1})):(c(),s(n,{key:0,type:"error"},{default:r((()=>[t(l,{class:"items-center flex-nowrap!"},{default:r((()=>[e[1]||(e[1]=_("span",null,"Your domain has not yet been integrated with the Domain Name Management Center.",-1)),t(o,{type:"primary",size:"small",ghost:"",onClick:g},{default:r((()=>e[0]||(e[0]=[v("Add Now")]))),_:1})])),_:1})])),_:1}))])),_:1})):p("",!0)])),_:1})}}});const sa=l({props:{options:Array,modelValue:Object,rules:Object,exclude:Array},setup(a,{attrs:e,slots:l,expose:n}){const u=i(null),c=k({});return n(c),A((()=>{var a,e;Object.assign(c,{validate:null==(a=u.value)?void 0:a.validate,restoreValidation:null==(e=u.value)?void 0:e.restoreValidation})})),()=>t(o,null,[t(ea,g(e,{model:a.modelValue,ref:u,rules:a.rules}),{default:()=>{var n;return t(o,null,[null==(n=a.options)?void 0:n.filter((e=>{var t;return!(null==(t=a.exclude)?void 0:t.includes(e.key))})).map((o=>function(a,e,o,l){const{label:n,key:i,type:u,options:c,el:s}=a;switch(u){case"input":case"password":return t(J,g({label:n,path:i},o),{default:()=>[t(Z,g({value:e[i],"onUpdate:value":a=>e[i]=a},s),null)]});case"select":return t(J,g({label:n,path:a.key},o),{default:()=>[t(oa,g({options:c,value:e[i],"onUpdate:value":a=>e[i]=a},s),null)]});case"checkbox":return t(J,g({label:n,path:a.key},o),{default:()=>[t(ta,g({checked:e[i],"onUpdate:checked":a=>e[i]=a},s),null)]});case"date-picker":return t(J,g({label:n,path:a.key},o),{default:()=>[t(T,g({"formatted-value":e[i],"onUpdate:formatted-value":a=>e[i]=a,type:"date","value-format":"yyyy-MM-dd"},s),null)]});case"input-number":return t(J,g({label:n,path:a.key},o),{default:()=>[t(pa,g({value:e[i],"onUpdate:value":a=>e[i]=a},s),null)]});case"custom-item":return t(J,g({label:n,path:a.key},o,{disabled:o.disabled}),{default:()=>{var e;return[null==(e=a.slots)?void 0:e.default(o)]}});case"custom-slot":return t(J,g({label:n,path:a.key},o,{disabled:o.disabled}),{default:()=>{var e;return[l&&(null==(e=l[a.key])?void 0:e.call(l))]}})}}(o,a.modelValue,e,l)))])}})])}});function ra(){const a=[{type:"input",label:I.global.t("Account.Account.FormHooks-122755-1"),key:"username",el:{disabled:!0}},{type:"custom-slot",label:I.global.t("Account.Account.FormHooks-122755-2"),key:"password"},{type:"input",label:I.global.t("Account.Account.FormHooks-122755-4"),key:"email"},{type:"custom-slot",label:I.global.t("Account.Account.FormHooks-122755-5"),key:"expire_date"},{type:"input",label:I.global.t("Account.Account.FormHooks-122755-14"),key:"remark"}],e=k({username:"",password:"",email:"",expire_date:"0000-00-00",remark:""}),o=k({username:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-7"),trigger:"blur"}],password:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-8"),trigger:"blur"}],email:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-10"),trigger:"blur"}]});return[l({props:{isEdit:Boolean},setup(l,{attrs:n,expose:u,slots:c}){const s=i(),r=k({});return u(r),A((()=>{var a,e;Object.assign(r,{validate:null==(a=s.value)?void 0:a.validate,restoreValidation:null==(e=s.value)?void 0:e.restoreValidation})})),l.isEdit?(a[0].el.disabled=!0,o.password[0].required=!1):(a[0].el.disabled=!1,o.password[0].required=!0),()=>{return t(sa,g({options:a,modelValue:e,"onUpdate:modelValue":a=>e=a,"label-placement":"left","label-width":"130px"},n,{rules:o,ref:s}),"function"==typeof(l=c)||"[object Object]"===Object.prototype.toString.call(l)&&!x(l)?c:{default:()=>[c]});var l}}}),e]}const da=l({props:{modelValue:Object},setup(a,{attrs:e}){var o,l,n,i;const u=k({value:(null==(o=a.modelValue)?void 0:o.value)?null==(l=a.modelValue)?void 0:l.value:0,unlimited:!!(null==(n=a.modelValue)?void 0:n.unlimited)&&(null==(i=a.modelValue)?void 0:i.unlimited)});return f(u,(e=>{a.modelValue.value=e.value,a.modelValue.unlimited=e.unlimited})),()=>{var o;return t("div",{class:"inline-item"},[t("div",{class:"left-item"},[t(pa,{value:u.value,"onUpdate:value":a=>u.value=a,disabled:(null==(o=a.modelValue)?void 0:o.unlimited)||e.disabled},null)]),t("div",{class:"right-item"},[t($,{value:u.unlimited,"onUpdate:value":a=>u.unlimited=a,disabled:e.disabled},{checked:()=>I.global.t("Account.Account.FormHooks-122755-12"),unchecked:()=>I.global.t("Account.Account.FormHooks-122755-12")})])])}}});function ma(){const a=[{type:"input",label:I.global.t("Account.Account.FormHooks-122755-13"),key:"package_name"},{type:"input",label:I.global.t("Account.Account.FormHooks-122755-14"),key:"remark"},{type:"custom-item",label:I.global.t("Account.Account.FormHooks-122755-15"),key:"disk_space_quota",slots:{default:a=>t(da,g({modelValue:e.disk_space_quota,"onUpdate:modelValue":a=>e.disk_space_quota=a},a),null)}},{type:"custom-item",label:I.global.t("Account.Account.FormHooks-122755-16"),key:"monthly_bandwidth_limit",slots:{default:a=>t(da,g({modelValue:e.monthly_bandwidth_limit,"onUpdate:modelValue":a=>e.monthly_bandwidth_limit=a},a),null)}},{type:"custom-item",label:I.global.t("Account.Account.FormHooks-122755-17"),key:"max_site_limit",slots:{default:a=>t(da,g({modelValue:e.max_site_limit,"onUpdate:modelValue":a=>e.max_site_limit=a},a),null)}},{type:"input-number",label:I.global.t("Account.Account.FormHooks-122755-18"),key:"php_start_children"},{type:"input-number",label:I.global.t("Account.Account.FormHooks-122755-19"),key:"php_max_children"},{type:"custom-item",label:I.global.t("Account.Account.FormHooks-122755-21"),key:"max_database",slots:{default:a=>t(da,g({modelValue:e.max_database,"onUpdate:modelValue":a=>e.max_database=a},a),null)}}],e=k({package_name:"",remark:"",disk_space_quota:{value:0,unlimited:!0},monthly_bandwidth_limit:{value:0,unlimited:!0},max_site_limit:{value:0,unlimited:!0},php_start_children:1,php_max_children:3,max_email_account:{value:1,unlimited:!1},max_database:{value:0,unlimited:!0}}),n=k({package_name:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-22"),trigger:"blur"}],disk_space_quota:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-24"),trigger:"blur",validator:(a,e)=>!!e.unlimited||!!(e.value&&e.value>0)}],monthly_bandwidth_limit:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-25"),trigger:"blur",validator:(a,e)=>!!e.unlimited||!!(e.value&&e.value>0)}],max_site_limit:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-26"),trigger:"blur",validator:(a,e)=>!!e.unlimited||!!(e.value&&e.value>0)}],php_start_children:[{required:!0,validator:(a,e)=>!!e||new Error(I.global.t("Account.Account.FormHooks-122755-27"))}],php_max_children:[{required:!0,validator:(a,e)=>e>0||new Error(I.global.t("Account.Account.FormHooks-122755-28"))}],max_email_account:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-29"),trigger:"blur",validator:(a,e)=>!!e.unlimited||!!(e.value&&e.value>0)}],max_database:[{required:!0,message:I.global.t("Account.Account.FormHooks-122755-30"),trigger:"blur",validator:(a,e)=>!!e.unlimited||!!(e.value&&e.value>0)}]}),u=i();return[l({props:{isDisable:Boolean,exclude:Array},setup(l,{expose:c}){const s=k({}),r=i(!1);return c(s),A((()=>{var a,e;Object.assign(s,{validate:null==(a=u.value)?void 0:a.validate,restoreValidation:null==(e=u.value)?void 0:e.restoreValidation})})),f(l,(a=>{"isDisable"in a&&(r.value=a.isDisable)}),{immediate:!0}),()=>t(o,null,[t(sa,{exclude:l.exclude,options:a,modelValue:e,"onUpdate:modelValue":a=>e=a,"label-placement":"left","label-width":"130px",rules:n,ref:u,disabled:r.value},null)])}}),e]}const pa=l({props:{value:Number},emits:["update:value"],setup(a,{emit:e,attrs:o}){const l=w(a,"value"),n=i(a.value);function u(a){isNaN(Number(a))?(n.value=0,e("update:value",1)):(n.value=Math.round(a),e("update:value",Number(Math.floor(a))))}return f(l,(a=>{n.value=a})),()=>t(aa,g(o,{value:n.value,clearable:!0,"onUpdate:value":u,min:1}),null)}}),_a=a("account-state-store",(()=>{const a=ia(),{t:o}=e(),n=i(!1),c=i(!1),s=i(null),r=i(null),d=i(30),m=k({data:[],total:0,loading:!1}),p=i([{title:o("Account.Account.accountState-721844-0"),key:"username",width:130,render:e=>t("span",{class:"text-primary cursor-pointer",onClick:()=>a.onLogin(e.account_id)},[e.username])},{title:o("Account.Account.accountState-721844-1"),key:"package_name",width:100},{title:o("Account.Account.accountState-721844-2"),key:"email"},{title:o("Account.Account.accountState-721844-20"),key:"login_info",width:80,render:e=>t("span",{class:"text-primary cursor-pointer",onClick:()=>a.copyInfo({url:e.login_url,user:e.username,pass:e.init_password})},[o("Public.Btn.Copy")])},{key:"quota",title:o("Account.Account.accountState-721844-3"),render:a=>t("span",{class:0===a.disk_space_status?"text-error":""},[0===a.disk_space_used&&0===a.disk_space_quota?"-":L(a.disk_space_used,!0,0),v(" /")," ",0===a.disk_space_quota?t("img",{class:"icon",title:"",src:na},null):L(a.disk_space_quota,!0,0)])},{key:"bandwidth",title:o("Account.Account.accountState-721844-7"),render:a=>t("span",{class:0===a.monthly_bandwidth_status?"text-error":""},[L(a.monthly_bandwidth_used,!0,2),v(" /")," ",0===a.monthly_bandwidth_limit?t("img",{class:"icon",title:"",src:na},null):L(a.monthly_bandwidth_limit,!0,0)])},{title:o("Account.Account.accountState-721844-8"),key:"status",width:68,render:e=>{const l=new Map([[-1,o("Account.Account.accountState-721844-9")],[0,o("Account.Account.accountState-721844-10")],[1,o("Account.Account.accountState-721844-11")],[2,o("Account.Account.accountState-721844-12")]]);return t("span",{onClick:()=>a.modifyStatus(e),class:"cursor-pointer ".concat(1===e.status||-1===e.status?"text-primary":"text-error")},[l.get(e.status)])}},{title:o("Account.Account.accountState-721844-13"),key:"expire_date",width:106,render:a=>"0000-00-00"===a.expire_date?o("Account.Account.account_index_10"):a.expire_date},{title:o("Account.Account.accountState-721844-14"),key:"remark",render:a=>a.remark?a.remark:"--"},q({title:o("Public.Table.Action"),align:"right",width:200,options:e=>[{label:o("Account.Account.accountState-721844-15"),onClick:async()=>{a.onLogin(e.account_id)}},{label:o("Account.Account.accountState-721844-16"),onClick:async()=>{await a.getPackageList(),await a.getDiskList(),f.value=Number(e.account_id),c.value=!0,V.username=e.username,V.password="",V.email=e.email,V.expire_date=e.expire_date,V.remark=e.remark,P.value.package_id=Number(e.package_id),P.value.mountpoint=e.mountpoint,a.changePackage(e.package_id),j.domain=e.domain,n.value=!0}},{label:o("Account.Account.accountState-721844-17"),onClick:async()=>{a.removeAccount(e)}}]})]),_=i([]),g=k({p:1,rows:10,type_id:-1,search_value:""}),f=i(null),w=i([]),x=i([]),F=i([]),S=i([]),[D,V]=ra(),[H,j,U]=function(){const{isUserAutoMatic:a,isExistWhite:e}=b(Y()),o=B(),n=i(!1),c=k({website_and_email:"yes",domain:"",dns_record:2}),s=i(""),r=k({domain:[{required:!0,message:I.global.t("SSL.index_21"),trigger:"blur"}]}),d=i(),m=()=>{var a;""!==c.domain.trim()?s.value!==c.domain&&(null==(a=d.value)||a.getParseStatus(),s.value=c.domain):s.value=""},p=u((()=>{var a;return null==(a=d.value)?void 0:a.isSupportAuto}));return[l({props:{isEdit:Boolean},setup(l,{expose:u}){const s=i(),p=k({});return u(p),A((()=>{var t,l;(async()=>{try{n.value=!0,await o.getMailInfo(),o.install&&a.value&&e.value||(c.website_and_email="no")}finally{n.value=!1}})(),Object.assign(p,{validate:null==(t=s.value)?void 0:t.validate,restoreValidation:null==(l=s.value)?void 0:l.restoreValidation})})),()=>t(z,{show:n.value},{default:()=>[y(t(la,{ref:s,model:c,rules:r},{default:()=>[t(J,{label:"Create a website and email"},{default:()=>[t(K,{class:"w-150px",value:c.website_and_email,onUpdateValue:a=>c.website_and_email=a,"onUpdate:value":m,disabled:!a.value||!o.install||!e.value},{default:()=>[t(Q,{value:"yes"},{default:()=>[v("Yes")]}),t(Q,{value:"no"},{default:()=>[v("No")]})]}),y(t(G,{"show-icon":!1},{default:()=>[t("div",{class:"flex items-center"},[t(R,{name:"base-info",size:17,class:"mr-8px"},null),t("span",{class:"leading-17px"},[o.install&&a.value?"API not enabled or 127.0.0.1 not added to the API whitelist":"Current Mail Server is not installed or sub-panel version is lower than 1.0.9"])])]}),[[h,!o.install||!a.value||!e.value]])]}),y(t(J,{label:"Domain",path:"domain"},{default:()=>[t(Z,{value:c.domain,onUpdateValue:a=>c.domain=a,onBlur:m},null)]}),[[h,"yes"===c.website_and_email]]),y(t(J,{label:"DNS record"},{default:()=>[t(K,{value:c.dns_record,onUpdateValue:a=>{c.dns_record=a,m()}},{default:()=>[t(Q,{value:2},{default:()=>[t("div",{class:"flex h-15px items-center mr-16px"},[t("div",null,[v("Automatic")]),t(R,{name:"ssl-stars",size:22},null)])]}),t(Q,{value:1},{default:()=>[v("Manual")]})]})]}),[[h,"yes"===c.website_and_email]]),y(t(J,{label:" "},{default:()=>[t(ca,{ref:d,domain:c.domain},null)]}),[[h,"yes"===c.website_and_email]])]}),[[h,!l.isEdit]]),y(t(la,null,{default:()=>[y(t(J,{label:"Domain"},{default:()=>[t(Z,{value:c.domain,disabled:!0},null)]}),[[h,c.domain]])]}),[[h,l.isEdit]])]})}}),c,p]}(),P=i({package_id:-1,mountpoint:""}),C=i(),[N,E]=ma();return{addVisible:n,search:g,table:m,columns:p,keys:_,isEdit:c,accountFormRef:s,accountDomainFormRef:r,account_total:d,acForData:V,domainForData:j,expendFormState:P,wpForData:E,packageList:w,packageSourceList:x,diskMountPointList:F,diskMountSourceList:S,current_account_id:f,currentChangeDisk:C,initAccountForm:()=>D,initPackageForm:()=>N,initDomainForm:()=>H,isSupportAuto:U}}));export{ia as a,ma as b,_a as u};