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