const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./LoginPage-DECcLiBH.js","./vendor-vue-WEaOxmRs.js","./auth-BMPlNhOo.js","./vendor-element-D7IaNnTz.js","./vendor-misc-0uE2ETD1.js","./vendor-element-BaI2aKL6.css","./vendor-axios-B9ygI19o.js","./LoginPage-C2MRCnlU.css","./RegisterPage-BMX0En46.js","./RegisterPage-BOcNcW5D.css","./ResetPasswordPage-Dmc9OJGd.js","./ResetPasswordPage-DybfLMAw.css","./VerifyResultPage-CHa6D86j.js","./VerifyResultPage-CG6ZYNrm.css","./AccountsPage-DWpwj4Fi.js","./accounts-BtZQzP7N.js","./vendor-realtime-DJJ9FPhs.js","./AccountsPage-CRlBbogn.css","./SchedulesPage-C4jkMdDz.js","./SchedulesPage-DwfusXou.css","./ScreenshotsPage-yAHecmT2.js","./ScreenshotsPage-ByqUbmUI.css"])))=>i.map(i=>d[i]); import{aj as f,C as y,q as u,ax as lt,r as _,S as _e,o as it,R as rt,c as ut,ay as ct,az as dt,ap as ft,D as n,F as N,K as s,t as i,n as T,J as te,a2 as ve,G as Re,I as S,H as m,u as C,E as ye,ae as mt,aA as pt,aB as _t,as as vt,aC as yt}from"./vendor-vue-WEaOxmRs.js";import{E as p,u as wt,c as gt,a as bt,b as Te,i as ht,z as kt}from"./vendor-element-D7IaNnTz.js";import{a as Vt}from"./vendor-axios-B9ygI19o.js";import"./vendor-misc-0uE2ETD1.js";(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))r(c);new MutationObserver(c=>{for(const v of c)if(v.type==="childList")for(const b of v.addedNodes)b.tagName==="LINK"&&b.rel==="modulepreload"&&r(b)}).observe(document,{childList:!0,subtree:!0});function d(c){const v={};return c.integrity&&(v.integrity=c.integrity),c.referrerPolicy&&(v.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?v.credentials="include":c.crossOrigin==="anonymous"?v.credentials="omit":v.credentials="same-origin",v}function r(c){if(c.ep)return;c.ep=!0;const v=d(c);fetch(c.href,v)}})();const Ne=(t,l)=>{const d=t.__vccOpts||t;for(const[r,c]of l)d[r]=c;return d},Et={};function St(t,l){const d=f("RouterView");return u(),y(d)}const xt=Ne(Et,[["render",St]]),Pt="modulepreload",Ct=function(t,l){return new URL(t,l).href},Ae={},F=function(l,d,r){let c=Promise.resolve();if(d&&d.length>0){let q=function(E){return Promise.all(E.map(L=>Promise.resolve(L).then(U=>({status:"fulfilled",value:U}),U=>({status:"rejected",reason:U}))))};const b=document.getElementsByTagName("link"),h=document.querySelector("meta[property=csp-nonce]"),A=h?.nonce||h?.getAttribute("nonce");c=q(d.map(E=>{if(E=Ct(E,r),E in Ae)return;Ae[E]=!0;const L=E.endsWith(".css"),U=L?'[rel="stylesheet"]':"";if(r)for(let M=b.length-1;M>=0;M--){const K=b[M];if(K.href===E&&(!L||K.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${E}"]${U}`))return;const O=document.createElement("link");if(O.rel=L?"stylesheet":Pt,L||(O.as="script"),O.crossOrigin="",O.href=E,A&&O.setAttribute("nonce",A),document.head.appendChild(O),L)return new Promise((M,K)=>{O.addEventListener("load",M),O.addEventListener("error",()=>K(new Error(`Unable to preload CSS for ${E}`)))})}))}function v(b){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=b,window.dispatchEvent(h),!h.defaultPrevented)throw b}return c.then(b=>{for(const h of b||[])h.status==="rejected"&&v(h.reason);return l().catch(v)})};let Le="",Oe=0;const Rt=new Set([408,425,429,500,502,503,504]),Tt=1,At=300;function ne(t,l,d=1500){const r=Date.now();t===Le&&r-Oe=Tt)return!1;const r=String(t?.code||"");if(r==="ECONNABORTED"||r==="ERR_NETWORK")return!0;const c=Number(t?.response?.status||0);return Rt.has(c)}function Nt(t){return new Promise(l=>{window.setTimeout(l,Math.max(0,Number(t||0)))})}async function Ut(t,l){const d=t?.config||{},r=Number(d.__retry_count||0);d.__retry_count=r+1;const c=At*(r+1);return await Nt(c),l.request(d)}const w=Vt.create({baseURL:"/api",timeout:3e4,withCredentials:!0});w.interceptors.request.use(t=>{const l=String(t?.method||"GET").toUpperCase();if(!["GET","HEAD","OPTIONS"].includes(l)){const d=Lt("csrf_token");d&&(t.headers=t.headers||{},t.headers["X-CSRF-Token"]=d)}return t});w.interceptors.response.use(t=>t,t=>{if(It(t))return Ut(t,w);const l=t?.response?.status,d=t?.response?.data,r=d?.error||d?.message||t?.message||"请求失败";return l===401?(window.location?.pathname||"").startsWith("/login")||(ne("401",r,3e3),window.location.href="/login"):l===403?ne("403",r,5e3):t?.code==="ECONNABORTED"?ne("timeout","请求超时",3e3):l||ne(`net:${r}`,r,3e3),Promise.reject(t)});async function Dt(){const{data:t}=await w.get("/announcements/active");return t}async function Bt(t){const{data:l}=await w.post(`/announcements/${t}/dismiss`,{});return l}async function Mt(t){const{data:l}=await w.post("/feedback",t);return l}async function $t(){const{data:t}=await w.get("/feedback");return t}async function Ft(){const{data:t}=await w.get("/user/email");return t}async function Kt(t){const{data:l}=await w.post("/user/bind-email",t);return l}async function zt(){const{data:t}=await w.post("/user/unbind-email",{});return t}async function qt(){const{data:t}=await w.get("/user/email-notify");return t}async function Gt(t){const{data:l}=await w.post("/user/email-notify",t);return l}async function jt(t){const{data:l}=await w.post("/user/password",t);return l}async function Ht(){const{data:t}=await w.get("/user/kdocs");return t}async function Wt(t){const{data:l}=await w.post("/user/kdocs",t);return l}async function Gn(){const{data:t}=await w.get("/kdocs/status");return t}async function Yt(){const{data:t}=await w.get("/user/vip");return t}async function Xt(){const{data:t}=await w.post("/logout",{});return t}const Jt=lt("user",{state:()=>({vipInfo:null,loading:!1}),getters:{username:t=>t.vipInfo?.username||"",isVip:t=>!!t.vipInfo?.is_vip,vipDaysLeft:t=>Number(t.vipInfo?.days_left||0),vipExpireTime:t=>t.vipInfo?.expire_time||""},actions:{async refreshVipInfo(){this.loading=!0;try{this.vipInfo=await Yt()}finally{this.loading=!1}},async logout(){try{await Xt()}catch{}}}});function Qt(t){const l=String(t||"");return l.length<8?{ok:!1,message:"密码长度至少8位"}:!/[a-zA-Z]/.test(l)||!/\d/.test(l)?{ok:!1,message:"密码必须包含字母和数字"}:{ok:!0,message:""}}const Zt={class:"header-left"},en={class:"header-right"},tn={class:"user-meta"},nn={class:"user-name"},an={key:2,class:"vip-warn"},sn={class:"drawer-user"},on={class:"user-name"},ln={class:"drawer-actions"},rn={class:"announcement-body"},un={class:"announcement-content"},cn={key:0,class:"announcement-image"},dn=["src"],fn={class:"feedback-title"},mn={class:"feedback-title-text"},pn={class:"feedback-time app-muted"},_n={class:"feedback-body"},vn={class:"feedback-section"},yn={class:"feedback-text"},wn={key:0,class:"feedback-section"},gn={class:"feedback-text"},bn={class:"settings-section"},hn={class:"email-row"},kn={class:"email-value"},Vn={class:"notify-row"},En={class:"settings-section"},Sn={class:"settings-section"},xn={class:"settings-section"},Pn={key:0,class:"vip-info"},Cn={class:"vip-line"},Rn={class:"vip-line"},Tn={key:1,class:"vip-info"},An={__name:"AppLayout",setup(t){const l=ct(),d=dt(),r=Jt(),c=_(!1),v=_(!1);let b;const h=_(!1),A=_(null),q=_(!1),E=(()=>{try{const a=window.performance?.timeOrigin;if(typeof a=="number"&&Number.isFinite(a))return String(a)}catch{}return String(Date.now())})();function L(a){return`announcement_closed_once_${a}`}function U(a){return`announcement_closed_${a}`}function O(a){try{return window.sessionStorage.getItem(L(a))===E}catch{return!1}}function M(a){try{return window.localStorage.getItem(U(a))==="1"}catch{return!1}}function K(a){try{window.sessionStorage.setItem(L(a),E)}catch{}}function Ue(a){try{window.localStorage.setItem(U(a),"1")}catch{}}const G=_(!1),j=_("new"),ae=_(!1),se=_(!1),Q=_([]),V=_e({title:"",description:"",contact:""}),Z=_(!1),oe=_("email"),le=_(!1),ie=_(!1),x=_e({email:"",email_verified:!1}),H=_(""),W=_(!1),$=_(!0),re=_(!1),R=_e({current_password:"",new_password:"",confirm_password:""}),ue=_(!1),ce=_(!1),Y=_("");function de(){c.value=!!b?.matches,c.value||(v.value=!1)}it(()=>{b=window.matchMedia("(max-width: 768px)"),b.addEventListener?.("change",de),de(),r.refreshVipInfo().catch(()=>{window.location.href="/login"}),He()}),rt(()=>{b?.removeEventListener?.("change",de)});const we=[{path:"/app/accounts",label:"账号管理",icon:wt},{path:"/app/schedules",label:"定时任务",icon:gt},{path:"/app/screenshots",label:"截图管理",icon:bt}],ge=ut(()=>l.path);async function be(a){await d.push(a),v.value=!1}async function he(){try{await Te.confirm("确定退出登录吗?","退出登录",{confirmButtonText:"退出",cancelButtonText:"取消",type:"warning"})}catch{return}await r.logout(),window.location.href="/login"}function ke(){j.value="new",V.title="",V.description="",V.contact="",G.value=!0}async function Ve(){se.value=!0;try{const a=await $t();Q.value=Array.isArray(a)?a:[]}catch{Q.value=[]}finally{se.value=!1}}function De(a){return a==="replied"?"已回复":a==="closed"?"已关闭":"待处理"}function Be(a){return a==="replied"?"success":a==="closed"?"info":"warning"}async function Me(){const a=V.title.trim(),e=V.description.trim(),k=V.contact.trim();if(!a||!e){p.error("标题和描述不能为空");return}ae.value=!0;try{const P=await Mt({title:a,description:e,contact:k});p.success(P?.message||"反馈提交成功"),G.value=!1,V.title="",V.description="",V.contact=""}catch(P){const I=P?.response?.data;p.error(I?.error||"提交失败")}finally{ae.value=!1}}async function Ee(){Z.value=!0,oe.value="email",await $e()}async function $e(){await Promise.all([Se(),Fe(),Ke()])}async function Se(){le.value=!0;try{const a=await Ft();x.email=a?.email||"",x.email_verified=!!a?.email_verified,H.value=x.email||""}catch{x.email="",x.email_verified=!1,H.value=""}finally{le.value=!1}}async function Fe(){W.value=!0;try{const a=await qt();$.value=!!a?.enabled}catch{$.value=!0}finally{W.value=!1}}async function Ke(){ue.value=!0;try{const a=await Ht();Y.value=a?.kdocs_unit||""}catch{Y.value=""}finally{ue.value=!1}}async function ze(){ce.value=!0;try{await Wt({kdocs_unit:Y.value.trim()}),p.success("已更新表格县区设置")}catch{}finally{ce.value=!1}}async function qe(){const a=H.value.trim().toLowerCase();if(!a){p.error("请输入邮箱地址");return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a)){p.error("邮箱格式不正确");return}ie.value=!0;try{const k=await Kt({email:a});p.success(k?.message||"验证邮件已发送"),x.email=a,x.email_verified=!1}catch(k){const P=k?.response?.data;p.error(P?.error||"绑定失败")}finally{ie.value=!1}}async function Ge(){try{await Te.confirm("确定要解绑当前邮箱吗?","解绑邮箱",{confirmButtonText:"解绑",cancelButtonText:"取消",type:"warning"})}catch{return}try{const a=await zt();if(a?.success){p.success(a?.message||"邮箱已解绑"),await Se();return}p.error(a?.error||"解绑失败")}catch(a){const e=a?.response?.data;p.error(e?.error||"解绑失败")}}async function je(a){const e=$.value;$.value=!!a,W.value=!0;try{const k=await Gt({enabled:!!a});if(k?.success){p.success("已更新");return}$.value=e,p.error(k?.error||"更新失败")}catch(k){$.value=e;const P=k?.response?.data;p.error(P?.error||"更新失败")}finally{W.value=!1}}async function xe(){const a=R.current_password,e=R.new_password,k=R.confirm_password;if(!a||!e||!k){p.error("请填写完整信息");return}const P=Qt(e);if(!P.ok){p.error(P.message);return}if(e!==k){p.error("两次输入的新密码不一致");return}re.value=!0;try{const I=await jt({current_password:a,new_password:e});if(I?.success){p.success("密码修改成功"),R.current_password="",R.new_password="",R.confirm_password="";return}p.error(I?.error||"修改失败")}catch(I){const fe=I?.response?.data;p.error(fe?.error||"修改失败")}finally{re.value=!1}}async function He(){q.value=!0;try{const e=(await Dt())?.announcement;if(!e?.id||M(e.id)||O(e.id))return;A.value=e,h.value=!0}catch{}finally{q.value=!1}}function We(){const a=A.value;a?.id&&K(a.id),h.value=!1}async function Ye(){const a=A.value;if(!a?.id){h.value=!1;return}Ue(a.id);try{(await Bt(a.id))?.success&&p.success("已永久关闭")}catch{}finally{h.value=!1}}return(a,e)=>{const k=f("el-icon"),P=f("el-menu-item"),I=f("el-menu"),fe=f("el-aside"),g=f("el-button"),X=f("el-tag"),Xe=f("el-header"),Je=f("RouterView"),Qe=f("el-main"),Pe=f("el-container"),Ze=f("el-drawer"),me=f("el-dialog"),D=f("el-input"),B=f("el-form-item"),ee=f("el-form"),z=f("el-tab-pane"),et=f("el-skeleton"),tt=f("el-empty"),nt=f("el-collapse-item"),at=f("el-collapse"),Ce=f("el-tabs"),J=f("el-alert"),st=f("el-divider"),ot=f("el-switch"),pe=ft("loading");return u(),y(Pe,{class:"layout-root"},{default:n(()=>[c.value?N("",!0):(u(),y(fe,{key:0,width:"220px",class:"layout-aside"},{default:n(()=>[e[18]||(e[18]=i("div",{class:"brand"},[i("div",{class:"brand-title"},"知识管理平台"),i("div",{class:"brand-sub app-muted"},"用户中心")],-1)),s(I,{"default-active":ge.value,class:"aside-menu",router:"",onSelect:be},{default:n(()=>[(u(),T(te,null,ve(we,o=>s(P,{key:o.path,index:o.path},{default:n(()=>[s(k,null,{default:n(()=>[(u(),y(Re(o.icon)))]),_:2},1024),i("span",null,S(o.label),1)]),_:2},1032,["index"])),64))]),_:1},8,["default-active"])]),_:1})),s(Pe,null,{default:n(()=>[s(Xe,{class:"layout-header"},{default:n(()=>[i("div",Zt,[c.value?(u(),y(g,{key:0,text:"",class:"header-menu-btn",onClick:e[0]||(e[0]=o=>v.value=!0)},{default:n(()=>[...e[19]||(e[19]=[m(" 菜单 ",-1)])]),_:1})):N("",!0),e[20]||(e[20]=i("div",{class:"header-title"},"用户控制台",-1))]),i("div",en,[i("div",tn,[C(r).isVip?(u(),y(X,{key:0,type:"success",size:"small",effect:"light"},{default:n(()=>[...e[21]||(e[21]=[m("VIP",-1)])]),_:1})):(u(),y(X,{key:1,type:"info",size:"small",effect:"light"},{default:n(()=>[...e[22]||(e[22]=[m("普通",-1)])]),_:1})),i("span",nn,S(C(r).username||"用户"),1),C(r).isVip&&C(r).vipDaysLeft<=7&&C(r).vipDaysLeft>0?(u(),T("span",an," ("+S(C(r).vipDaysLeft)+"天后到期) ",1)):N("",!0)]),s(g,{text:"",type:"primary",onClick:ke},{default:n(()=>[...e[23]||(e[23]=[m("反馈",-1)])]),_:1}),s(g,{text:"",onClick:Ee},{default:n(()=>[...e[24]||(e[24]=[m("设置",-1)])]),_:1}),s(g,{type:"primary",plain:"",onClick:he},{default:n(()=>[...e[25]||(e[25]=[m("退出",-1)])]),_:1})])]),_:1}),s(Qe,{class:"layout-main"},{default:n(()=>[s(Je)]),_:1})]),_:1}),s(Ze,{modelValue:v.value,"onUpdate:modelValue":e[1]||(e[1]=o=>v.value=o),size:"240px","with-header":!1},{default:n(()=>[e[31]||(e[31]=i("div",{class:"drawer-brand"},[i("div",{class:"brand-title"},"知识管理平台"),i("div",{class:"brand-sub app-muted"},"用户中心")],-1)),i("div",sn,[C(r).isVip?(u(),y(X,{key:0,type:"success",size:"small",effect:"light"},{default:n(()=>[...e[26]||(e[26]=[m("VIP",-1)])]),_:1})):(u(),y(X,{key:1,type:"info",size:"small",effect:"light"},{default:n(()=>[...e[27]||(e[27]=[m("普通",-1)])]),_:1})),i("span",on,S(C(r).username||"用户"),1)]),s(I,{"default-active":ge.value,class:"aside-menu",router:"",onSelect:be},{default:n(()=>[(u(),T(te,null,ve(we,o=>s(P,{key:o.path,index:o.path},{default:n(()=>[s(k,null,{default:n(()=>[(u(),y(Re(o.icon)))]),_:2},1024),i("span",null,S(o.label),1)]),_:2},1032,["index"])),64))]),_:1},8,["default-active"]),i("div",ln,[s(g,{text:"",type:"primary",style:{width:"100%"},onClick:ke},{default:n(()=>[...e[28]||(e[28]=[m("问题反馈",-1)])]),_:1}),s(g,{text:"",style:{width:"100%"},onClick:Ee},{default:n(()=>[...e[29]||(e[29]=[m("个人设置",-1)])]),_:1}),s(g,{type:"primary",plain:"",style:{width:"100%"},onClick:he},{default:n(()=>[...e[30]||(e[30]=[m("退出登录",-1)])]),_:1})])]),_:1},8,["modelValue"]),s(me,{modelValue:h.value,"onUpdate:modelValue":e[2]||(e[2]=o=>h.value=o),width:"min(560px, 92vw)",title:A.value?.title||"系统公告"},{footer:n(()=>[s(g,{onClick:We},{default:n(()=>[...e[32]||(e[32]=[m("当次关闭",-1)])]),_:1}),s(g,{type:"primary",onClick:Ye},{default:n(()=>[...e[33]||(e[33]=[m("永久关闭",-1)])]),_:1})]),default:n(()=>[ye((u(),T("div",rn,[i("div",un,S(A.value?.content||""),1),A.value?.image_url?(u(),T("div",cn,[i("img",{src:A.value.image_url,alt:"公告图片",loading:"lazy"},null,8,dn)])):N("",!0)])),[[pe,q.value]])]),_:1},8,["modelValue","title"]),s(me,{modelValue:G.value,"onUpdate:modelValue":e[9]||(e[9]=o=>G.value=o),title:"问题反馈",width:"min(720px, 92vw)"},{footer:n(()=>[s(g,{onClick:e[8]||(e[8]=o=>G.value=!1)},{default:n(()=>[...e[36]||(e[36]=[m("关闭",-1)])]),_:1}),j.value==="list"?(u(),y(g,{key:0,onClick:Ve},{default:n(()=>[...e[37]||(e[37]=[m("刷新",-1)])]),_:1})):N("",!0),j.value==="new"?(u(),y(g,{key:1,type:"primary",loading:ae.value,onClick:Me},{default:n(()=>[...e[38]||(e[38]=[m("提交",-1)])]),_:1},8,["loading"])):N("",!0)]),default:n(()=>[s(Ce,{modelValue:j.value,"onUpdate:modelValue":e[6]||(e[6]=o=>j.value=o),onTabChange:e[7]||(e[7]=o=>o==="list"&&Ve())},{default:n(()=>[s(z,{label:"提交反馈",name:"new"},{default:n(()=>[s(ee,{"label-position":"top"},{default:n(()=>[s(B,{label:"标题"},{default:n(()=>[s(D,{modelValue:V.title,"onUpdate:modelValue":e[3]||(e[3]=o=>V.title=o),placeholder:"简要描述问题",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),s(B,{label:"详细描述"},{default:n(()=>[s(D,{modelValue:V.description,"onUpdate:modelValue":e[4]||(e[4]=o=>V.description=o),type:"textarea",rows:5,placeholder:"请详细描述您遇到的问题",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1}),s(B,{label:"联系方式(可选)"},{default:n(()=>[s(D,{modelValue:V.contact,"onUpdate:modelValue":e[5]||(e[5]=o=>V.contact=o),placeholder:"方便我们联系您"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),s(z,{label:"我的反馈",name:"list"},{default:n(()=>[se.value?(u(),y(et,{key:0,rows:6,animated:""})):(u(),T(te,{key:1},[Q.value.length===0?(u(),y(tt,{key:0,description:"暂无反馈"})):(u(),y(at,{key:1,accordion:""},{default:n(()=>[(u(!0),T(te,null,ve(Q.value,o=>(u(),y(nt,{key:o.id,name:String(o.id)},{title:n(()=>[i("div",fn,[i("span",mn,S(o.title),1),s(X,{size:"small",effect:"light",type:Be(o.status)},{default:n(()=>[m(S(De(o.status)),1)]),_:2},1032,["type"]),i("span",pn,S(o.created_at||""),1)])]),default:n(()=>[i("div",_n,[i("div",vn,[e[34]||(e[34]=i("div",{class:"feedback-label app-muted"},"描述",-1)),i("div",yn,S(o.description),1)]),o.admin_reply?(u(),T("div",wn,[e[35]||(e[35]=i("div",{class:"feedback-label app-muted"},"管理员回复",-1)),i("div",gn,S(o.admin_reply),1)])):N("",!0)])]),_:2},1032,["name"]))),128))]),_:1}))],64))]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),s(me,{modelValue:Z.value,"onUpdate:modelValue":e[17]||(e[17]=o=>Z.value=o),title:"个人设置",width:"min(720px, 92vw)"},{footer:n(()=>[s(g,{onClick:e[16]||(e[16]=o=>Z.value=!1)},{default:n(()=>[...e[47]||(e[47]=[m("关闭",-1)])]),_:1})]),default:n(()=>[s(Ce,{modelValue:oe.value,"onUpdate:modelValue":e[15]||(e[15]=o=>oe.value=o)},{default:n(()=>[s(z,{label:"邮箱绑定",name:"email"},{default:n(()=>[ye((u(),T("div",bn,[x.email&&x.email_verified?(u(),y(J,{key:0,type:"success",closable:!1,title:"邮箱已绑定并验证","show-icon":"",class:"settings-alert"},{default:n(()=>[i("div",hn,[i("div",kn,S(x.email),1),s(g,{type:"danger",text:"",onClick:Ge},{default:n(()=>[...e[39]||(e[39]=[m("解绑",-1)])]),_:1})])]),_:1})):x.email?(u(),y(J,{key:1,type:"warning",closable:!1,title:"邮箱待验证:请查收验证邮件(含垃圾箱)","show-icon":"",class:"settings-alert"})):N("",!0),s(ee,{"label-position":"top"},{default:n(()=>[s(B,{label:"邮箱地址"},{default:n(()=>[s(D,{modelValue:H.value,"onUpdate:modelValue":e[10]||(e[10]=o=>H.value=o),placeholder:"name@example.com"},null,8,["modelValue"])]),_:1}),s(g,{type:"primary",loading:ie.value,onClick:qe},{default:n(()=>[...e[40]||(e[40]=[m("发送验证邮件",-1)])]),_:1},8,["loading"])]),_:1}),s(st),i("div",Vn,[e[41]||(e[41]=i("div",null,[i("div",{class:"notify-title"},"任务完成通知"),i("div",{class:"app-muted notify-desc"},"定时任务完成后发送邮件")],-1)),s(ot,{"model-value":$.value,disabled:!x.email_verified||W.value,"inline-prompt":"","active-text":"开","inactive-text":"关",onChange:je},null,8,["model-value","disabled"])]),x.email_verified?N("",!0):(u(),y(J,{key:2,type:"info",closable:!1,title:"绑定并验证邮箱后可开启邮件通知。","show-icon":"",class:"settings-hint"}))])),[[pe,le.value]])]),_:1}),s(z,{label:"修改密码",name:"password"},{default:n(()=>[i("div",En,[s(ee,{"label-position":"top"},{default:n(()=>[s(B,{label:"当前密码"},{default:n(()=>[s(D,{modelValue:R.current_password,"onUpdate:modelValue":e[11]||(e[11]=o=>R.current_password=o),type:"password","show-password":"",autocomplete:"current-password"},null,8,["modelValue"])]),_:1}),s(B,{label:"新密码(至少8位且包含字母和数字)"},{default:n(()=>[s(D,{modelValue:R.new_password,"onUpdate:modelValue":e[12]||(e[12]=o=>R.new_password=o),type:"password","show-password":"",autocomplete:"new-password"},null,8,["modelValue"])]),_:1}),s(B,{label:"确认新密码"},{default:n(()=>[s(D,{modelValue:R.confirm_password,"onUpdate:modelValue":e[13]||(e[13]=o=>R.confirm_password=o),type:"password","show-password":"",autocomplete:"new-password",onKeyup:mt(xe,["enter"])},null,8,["modelValue"])]),_:1}),s(g,{type:"primary",loading:re.value,onClick:xe},{default:n(()=>[...e[42]||(e[42]=[m("确认修改",-1)])]),_:1},8,["loading"])]),_:1})])]),_:1}),s(z,{label:"表格上传",name:"kdocs"},{default:n(()=>[ye((u(),T("div",Sn,[s(ee,{"label-position":"top"},{default:n(()=>[s(B,{label:"县区(可选)"},{default:n(()=>[s(D,{modelValue:Y.value,"onUpdate:modelValue":e[14]||(e[14]=o=>Y.value=o),placeholder:"留空使用系统默认县区"},null,8,["modelValue"])]),_:1}),s(g,{type:"primary",loading:ce.value,onClick:ze},{default:n(()=>[...e[43]||(e[43]=[m("保存",-1)])]),_:1},8,["loading"])]),_:1}),s(J,{type:"info",closable:!1,title:"自动上传开关在“账号管理”页面设置(测试功能)。","show-icon":"",class:"settings-hint"})])),[[pe,ue.value]])]),_:1}),s(z,{label:"VIP信息",name:"vip"},{default:n(()=>[i("div",xn,[s(J,{type:C(r).isVip?"success":"info",closable:!1,title:C(r).isVip?"当前为 VIP 会员":"当前为普通用户","show-icon":"",class:"settings-alert"},null,8,["type","title"]),C(r).isVip?(u(),T("div",Pn,[i("div",Cn,[e[44]||(e[44]=i("span",{class:"app-muted"},"到期时间",-1)),i("span",null,S(C(r).vipExpireTime||"未知"),1)]),i("div",Rn,[e[45]||(e[45]=i("span",{class:"app-muted"},"剩余天数",-1)),i("span",null,S(C(r).vipDaysLeft),1)])])):(u(),T("div",Tn,[...e[46]||(e[46]=[i("div",{class:"app-muted"},"升级方式:请通过“反馈”联系管理员开通。",-1)])]))])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})}}},Ln=Ne(An,[["__scopeId","data-v-7ce33baa"]]),On=()=>F(()=>import("./LoginPage-DECcLiBH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url),In=()=>F(()=>import("./RegisterPage-BMX0En46.js"),__vite__mapDeps([8,1,2,3,4,5,6,9]),import.meta.url),Nn=()=>F(()=>import("./ResetPasswordPage-Dmc9OJGd.js"),__vite__mapDeps([10,1,2,3,4,5,6,11]),import.meta.url),Ie=()=>F(()=>import("./VerifyResultPage-CHa6D86j.js"),__vite__mapDeps([12,1,3,4,5,6,13]),import.meta.url),Un=()=>F(()=>import("./AccountsPage-DWpwj4Fi.js"),__vite__mapDeps([14,15,16,4,1,3,5,6,17]),import.meta.url),Dn=()=>F(()=>import("./SchedulesPage-C4jkMdDz.js"),__vite__mapDeps([18,15,3,1,4,5,6,19]),import.meta.url),Bn=()=>F(()=>import("./ScreenshotsPage-yAHecmT2.js"),__vite__mapDeps([20,3,1,4,5,6,21]),import.meta.url),Mn=[{path:"/",redirect:"/login"},{path:"/login",name:"login",component:On},{path:"/register",name:"register",component:In},{path:"/reset-password/:token",name:"reset_password",component:Nn},{path:"/api/verify-email/:token",name:"verify_email",component:Ie},{path:"/api/verify-bind-email/:token",name:"verify_bind_email",component:Ie},{path:"/app",component:Ln,children:[{path:"",redirect:"/app/accounts"},{path:"accounts",name:"accounts",component:Un},{path:"schedules",name:"schedules",component:Dn},{path:"screenshots",name:"screenshots",component:Bn}]},{path:"/:pathMatch(.*)*",redirect:"/login"}],$n=pt({history:_t(),routes:Mn});vt(xt).use(yt()).use($n).use(ht,{locale:kt}).mount("#app");export{Ne as _,Gn as a,Wt as b,Ht as f,w as p,Jt as u,Qt as v};