HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index69.js
import{_ as H}from"./index118.js?v=1777008528";import{_ as Z}from"./index217.js?v=1777008528";import{_,G as L,g$ as R,M,w as I,h0 as Q,h1 as K,m as T,h2 as Y,c as tt,e as $,h3 as et,J as q,o as at,h4 as st,Q as nt,h5 as ot,h6 as it,d3 as rt}from"./utils-lib.js?v=1777008528";import{aJ as S,aL as F,H as O,e as c,x as f,ap as lt,r as A,aI as V,a9 as ut,aF as x,c as mt,n as dt,a8 as ct,I as _t,j as pt,C as ft,v as w,p as u,J as vt,z as gt}from"./base-lib.js?v=1777008528";import{a as bt,b as wt,g as ht}from"./useMethod10.js?v=1777008528";import{u as Mt,g as yt}from"./index3.js?v=1777008528";const P=S("MAIL_MAILBOX",()=>{const e=F(),t=O({p:1,size:10}),r=bt("添加邮箱",{isEdit:!1,row:void 0,onRefresh:async()=>{const{getList:a}=await _(()=>Promise.resolve().then(()=>h),void 0,import.meta.url);a()}}),l=O({id:0,site_name:"",status:!1,ssl_status:!1}),{table:p,columns:g}=wt([{prop:"username",label:"用户名",showOverflowTooltip:!0},Mt(),{prop:"info",label:"登录信息",width:180,render:a=>c("a",{class:"bt-link",href:"javascript:;",onClick:async()=>{const{onCopy:o}=await _(()=>Promise.resolve().then(()=>h),void 0,import.meta.url);o(a)}},[f("复制")])},{prop:"quota",label:"邮箱配额",render:a=>L(a.quota)},{prop:"is_admin",label:"类型",render:a=>a.is_admin===1?"管理员":"普通用户"},{prop:"active",label:"状态",render:a=>c(lt,{modelValue:a.active,"onUpdate:modelValue":o=>a.active=o,size:"small",activeValue:1,inactiveValue:0,onChange:async o=>{const{data:b}=await R({username:a.username,full_name:a.full_name,quota:L(a.quota),active:o,is_admin:a.is_admin});a.active=o,M.request(b)}},null)},yt([{title:"WebMail",onClick:async a=>{if(l.status){const{onLogin:o}=await _(()=>Promise.resolve().then(()=>h),void 0,import.meta.url);o(a)}else try{await I({title:"WebMail未激活",content:()=>c("div",null,[f('WebMail尚未激活,请前往"'),c("a",{class:"bt-link",href:"javascript:;",onClick:()=>{e.push("/mail/setting")}},[f("邮局 > 设置")]),f('" 激活并安装它')])}),e.push({name:"mail-setting"})}catch(o){}}},{title:"编辑",onClick:async a=>{const{onShowEdit:o}=await _(()=>Promise.resolve().then(()=>h),void 0,import.meta.url);o(a)}},{title:"删除",onClick:async a=>{const{onDel:o}=await _(()=>Promise.resolve().then(()=>h),void 0,import.meta.url);o(a)}}],{width:200,fixed:"right",label:"操作"})]);return{search:t,formModal:r,info:l,table:p,columns:g,reset:()=>{t.p=1,t.size=10,l.id=0,l.status=!1,l.ssl_status=!1,l.site_name="",r.data.row=void 0,r.data.isEdit=!1,p.data=[]}}}),Et=S("MAIL_MAILBOX_ADD",()=>{const e=A(null),t=O({full_name:"",domain:null,quota:5,quota_unit:"GB",is_admin:0,username:"",password:"",active:1}),r=A({}),l=A([]),p=[{label:"GB",value:"GB"},{label:"MB",value:"MB"}],g=[{label:"普通用户",value:0},{label:"管理员",value:1}],C={full_name:[{trigger:["blur","input"],validator:(i,s,n)=>{if(!s||s.trim()==="")return n(new Error("用户名不能为空!"));n()}}],username:[{trigger:["blur","input"],validator:(i,s,n)=>{if(!s||s.trim()==="")return n(new Error("邮箱地址不能为空!"));n()}}],quota:[{trigger:["blur","input"],validator:(i,s,n)=>{if(!s)return n(new Error("邮箱配额大小不能为空!"));n()}}],password:[{trigger:["blur","input"],validator:(i,s,n)=>{if(r.value.isEdit){if(s){if(s.trim().length<8)return n(new Error("当前邮箱用户密码长度小于8位,请重新输入"));if(!/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,}$/.test(s))return n(new Error("当前邮箱用户密码必须至少包含大小写字母和数字,请重新输入"))}}else{if(!s||s.trim().length<8)return n(new Error("当前邮箱用户密码长度小于8位,请重新输入"));if(!/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,}$/.test(s))return n(new Error("当前邮箱用户密码必须至少包含大小写字母和数字,请重新输入"))}n()}}]},a=()=>({full_name:t.full_name,quota:t.quota+" "+t.quota_unit,is_admin:t.is_admin,username:t.username+"@"+t.domain,password:t.password,active:t.active}),o=async()=>{var i;await((i=e.value)==null?void 0:i.validate());try{let s;r.value.isEdit?s=await R(a()):s=await Q(a());const{data:n}=s;if(M.request(n),n.status)r.value.onRefresh&&r.value.onRefresh(),y();else return!1}catch(s){}},b=async()=>{const{data:i}=await K();T(i.data)&&(l.value=i.data.map(s=>({label:s,value:s})),t.domain===null&&(t.domain=i.data[0]))},y=()=>{t.full_name="",t.domain=null,t.quota=5,t.quota_unit="GB",t.is_admin=0,t.username="",t.password="",t.active=1};return{form:t,domainOptions:l,unitOptions:p,typeOptions:g,rules:C,getParams:a,onConfirm:o,getDomainOptions:b,initForm:i=>{const{row:s,isEdit:n}=i;if(r.value=i,y(),n&&s){t.full_name=s.full_name,t.is_admin=s.is_admin,t.username=s.username.split("@")[0],t.active=s.active;const[D,G]=s.username.split("@");t.username=D,t.domain=G;const N=L(s.quota),[X,J]=N.split(" ");t.quota=ht(X),t.quota_unit=J}},formRef:e}}),{refs:{tabActive:Ct}}=Y(),{formModal:d,info:m,table:v,search:Dt}=V(P()),{onConfirm:k}=Et(),{payment:At}=tt(),z=()=>{d.value.data.isEdit=!1,d.value.data.row=void 0,d.value.title="添加邮箱",$({title:d.value.title,area:48,showFooter:!0,component:()=>_(()=>import("./index337.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:d.value.data,onConfirm:k})},j=()=>{const e=F();return{onLoginMail:async()=>{if(!m.value.site_name)return M.msg({customClass:"bt-message-error-html",dangerouslyUseHTMLString:!0,type:"error",message:x("div",{class:"flex items-center leading-3rem mt-[4px]"},["请先在【系统设置】-【WebMail】中配置",x("span",{class:"bt-link",onClick:()=>{e.push("/mail/setting"),Ct.value="mail-setting"}}," WebMail")]),showClose:!0});window.open("".concat(m.value.ssl_status?"https":"http","://").concat(m.value.site_name),"_blank","noopener,noreferrer")}}},Lt=e=>{nt({value:"WebMail: ".concat(m.value.site_name?"".concat(m.value.ssl_status?"https":"http","://").concat(m.value.site_name):"未配置WebMail","\n用户名: ").concat(e.username,"\n密码: ").concat(e.password,"\nPOP 服务 [ 地址:").concat(e.mx," 端口:110/995 ]\nIMAP 服务 [ 地址:").concat(e.mx," 端口:143/993 ]\nSMTP 服务 [ 地址:").concat(e.mx," 端口:25/465/587 ]\n")})},Ot=async e=>{if(At.value.authType!=="ltd")return M.warn("请先购买企业版");const{data:t}=await ot({rc_user:e.username,rc_pass:e.password});q(t)&&window.open("".concat(m.value.ssl_status?"https":"http","://").concat(t.data),"_blank","noopener,noreferrer")},Pt=e=>{d.value.data.isEdit=!0,d.value.data.row=e,d.value.title="编辑邮箱 【".concat(e.username,"】"),$({title:d.value.title,area:48,showFooter:!0,component:()=>_(()=>import("./index337.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:d.value.data,onConfirm:k})},qt=async e=>{try{await I({title:"删除邮箱",content:"是否删除【".concat(e.username,"】邮箱?")});const{data:t}=await it({username:e.username});M.request(t),E()}catch(t){}},W=async()=>{const{data:e}=await st();q(e)&&(m.value.id=e.id,m.value.status=e.status,m.value.site_name=e.site_name,m.value.ssl_status=e.ssl_status)},E=async()=>{try{v.value.loading=!0;const{data:e}=await et(ut(Dt.value));q(e.data)&&(v.value.data=T(e.data.data)?e.data.data:[],v.value.total=at(e.data.page))}finally{v.value.loading=!1}},U=async()=>{try{v.value.loading=!0,await W(),await E()}finally{v.value.loading=!1}},h=Object.freeze(Object.defineProperty({__proto__:null,getInfo:W,getList:E,init:U,onCopy:Lt,onDel:qt,onLogin:Ot,onShowAdd:z,onShowEdit:Pt,useMailMethods:j},Symbol.toStringTag,{value:"Module"})),Bt=mt({__name:"index",setup(e){const{onLoginMail:t}=j(),{search:r,table:l,columns:p}=V(P()),{reset:g}=P();return dt(()=>{U()}),ct(()=>{g()}),(C,a)=>{const o=gt,b=rt,y=Z,B=H,i=_t("bt-loading");return pt(),ft(B,null,{"header-left":w(()=>[c(o,{type:"primary",onClick:u(z)},{default:w(()=>[...a[2]||(a[2]=[f("添加邮箱",-1)])]),_:1},8,["onClick"]),c(o,{onClick:u(t)},{default:w(()=>[...a[3]||(a[3]=[f("WebMail",-1)])]),_:1},8,["onClick"])]),content:w(()=>[vt(c(b,{data:u(l).data,column:u(p)},null,8,["data","column"]),[[i,u(l).loading]])]),"footer-right":w(()=>[c(y,{page:u(r).p,"onUpdate:page":a[0]||(a[0]=s=>u(r).p=s),row:u(r).size,"onUpdate:row":a[1]||(a[1]=s=>u(r).size=s),total:u(l).total,onChange:u(E)},null,8,["page","row","total","onChange"])]),_:1})}}}),Ft=Object.freeze(Object.defineProperty({__proto__:null,default:Bt},Symbol.toStringTag,{value:"Module"}));export{Et as M,Ft as i};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}