3 lines
24 KiB
JavaScript
3 lines
24 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./LoginPage-DjXmnzTj.js","./vendor-DR-vtVVc.js","./vendor-vue-l2lnRGj2.js","./vendor-element-D5SbqSD5.js","./vendor-element-BaI2aKL6.css","./auth-3qca7BnL.js","./vendor-axios-B9ygI19o.js","./LoginPage-DKpbim43.css","./RegisterPage-Nvd-XHp4.js","./RegisterPage-BOcNcW5D.css","./ResetPasswordPage-DluVIq7o.js","./ResetPasswordPage-DybfLMAw.css","./VerifyResultPage-CSJomZjC.js","./VerifyResultPage-CG6ZYNrm.css","./AccountsPage-BsKyQ62c.js","./accounts-DWKsGalm.js","./vendor-socket-ciQGyZ7q.js","./AccountsPage-CRlBbogn.css","./SchedulesPage-DglS5EqW.js","./SchedulesPage-DwfusXou.css","./ScreenshotsPage-L5gmloAw.js","./ScreenshotsPage-ByqUbmUI.css"])))=>i.map(i=>d[i]);
|
||
import{aY as f,I as y,A as u,r as _,a1 as _e,v as lt,a0 as it,c as rt,ba as ut,J as n,L as N,Q as s,B as i,z as A,P as te,aj as ve,M as Te,O as P,N as m,u as C,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 _t,r as vt,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 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 Pt(t,l){const d=f("RouterView");return u(),y(d)}const St=Ne(Et,[["render",Pt]]),xt="modulepreload",Ct=function(t,l){return new URL(t,l).href},Le={},F=function(l,d,r){let c=Promise.resolve();if(d&&d.length>0){let q=function(E){return Promise.all(E.map(R=>Promise.resolve(R).then(U=>({status:"fulfilled",value:U}),U=>({status:"rejected",reason:U}))))};const b=document.getElementsByTagName("link"),h=document.querySelector("meta[property=csp-nonce]"),L=h?.nonce||h?.getAttribute("nonce");c=q(d.map(E=>{if(E=Ct(E,r),E in Le)return;Le[E]=!0;const R=E.endsWith(".css"),U=R?'[rel="stylesheet"]':"";if(r)for(let M=b.length-1;M>=0;M--){const K=b[M];if(K.href===E&&(!R||K.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${E}"]${U}`))return;const O=document.createElement("link");if(O.rel=R?"stylesheet":xt,R||(O.as="script"),O.crossOrigin="",O.href=E,L&&O.setAttribute("nonce",L),document.head.appendChild(O),R)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 Re="",Oe=0;const Tt=new Set([408,425,429,500,502,503,504]),At=1,Lt=300;function ne(t,l,d=1500){const r=Date.now();t===Re&&r-Oe<d||(Re=t,Oe=r,p.error(l))}function Rt(t){const l=String(t).replace(/([.*+?^${}()|[\]\\])/g,"\\$1"),d=document.cookie.match(new RegExp(`(?:^|; )${l}=([^;]*)`));return d?decodeURIComponent(d[1]):""}function Ot(t){return["GET","HEAD","OPTIONS"].includes(String(t||"GET").toUpperCase())}function It(t){const l=t?.config;if(!l||l.__no_retry||!Ot(l.method)||Number(l.__retry_count||0)>=At)return!1;const r=String(t?.code||"");if(r==="ECONNABORTED"||r==="ERR_NETWORK")return!0;const c=Number(t?.response?.status||0);return Tt.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=Lt*(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=Rt("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 jt(t){const{data:l}=await w.post("/user/email-notify",t);return l}async function Yt(t){const{data:l}=await w.post("/user/password",t);return l}async function Gt(){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 jn(){const{data:t}=await w.get("/kdocs/status");return t}async function Ht(){const{data:t}=await w.get("/user/vip");return t}async function Qt(){const{data:t}=await w.post("/logout",{});return t}const Xt=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 Ht()}finally{this.loading=!1}},async logout(){try{await Qt()}catch{}}}});function Jt(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"},Pn={class:"settings-section"},Sn={class:"settings-section"},xn={key:0,class:"vip-info"},Cn={class:"vip-line"},Tn={class:"vip-line"},An={key:1,class:"vip-info"},Ln={__name:"AppLayout",setup(t){const l=mt(),d=pt(),r=Xt(),c=_(!1),v=_(!1);let b;const h=_(!1),L=_(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 R(a){return`announcement_closed_once_${a}`}function U(a){return`announcement_closed_${a}`}function O(a){try{return window.sessionStorage.getItem(R(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(R(a),E)}catch{}}function Ue(a){try{window.localStorage.setItem(U(a),"1")}catch{}}const j=_(!1),Y=_("new"),ae=_(!1),se=_(!1),J=_([]),V=_e({title:"",description:"",contact:""}),Z=_(!1),oe=_("email"),le=_(!1),ie=_(!1),S=_e({email:"",email_verified:!1}),G=_(""),W=_(!1),$=_(!0),re=_(!1),T=_e({current_password:"",new_password:"",confirm_password:""}),ue=_(!1),ce=_(!1),H=_("");function de(){c.value=!!b?.matches,c.value||(v.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(()=>l.path);async function be(a){await d.push(a),v.value=!1}async function he(){try{await Ae.confirm("确定退出登录吗?","退出登录",{confirmButtonText:"退出",cancelButtonText:"取消",type:"warning"})}catch{return}await r.logout(),window.location.href="/login"}function ke(){Y.value="new",V.title="",V.description="",V.contact="",j.value=!0}async function Ve(){se.value=!0;try{const a=await $t();J.value=Array.isArray(a)?a:[]}catch{J.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 x=await Mt({title:a,description:e,contact:k});p.success(x?.message||"反馈提交成功"),j.value=!1,V.title="",V.description="",V.contact=""}catch(x){const I=x?.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([Pe(),Fe(),Ke()])}async function Pe(){le.value=!0;try{const a=await Ft();S.email=a?.email||"",S.email_verified=!!a?.email_verified,G.value=S.email||""}catch{S.email="",S.email_verified=!1,G.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 Gt();H.value=a?.kdocs_unit||""}catch{H.value=""}finally{ue.value=!1}}async function ze(){ce.value=!0;try{await Wt({kdocs_unit:H.value.trim()}),p.success("已更新表格县区设置")}catch{}finally{ce.value=!1}}async function qe(){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 Kt({email:a});p.success(k?.message||"验证邮件已发送"),S.email=a,S.email_verified=!1}catch(k){const x=k?.response?.data;p.error(x?.error||"绑定失败")}finally{ie.value=!1}}async function je(){try{await Ae.confirm("确定要解绑当前邮箱吗?","解绑邮箱",{confirmButtonText:"解绑",cancelButtonText:"取消",type:"warning"})}catch{return}try{const a=await zt();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 Ye(a){const e=$.value;$.value=!!a,W.value=!0;try{const k=await jt({enabled:!!a});if(k?.success){p.success("已更新");return}$.value=e,p.error(k?.error||"更新失败")}catch(k){$.value=e;const x=k?.response?.data;p.error(x?.error||"更新失败")}finally{W.value=!1}}async function Se(){const a=T.current_password,e=T.new_password,k=T.confirm_password;if(!a||!e||!k){p.error("请填写完整信息");return}const x=Jt(e);if(!x.ok){p.error(x.message);return}if(e!==k){p.error("两次输入的新密码不一致");return}re.value=!0;try{const I=await Yt({current_password:a,new_password:e});if(I?.success){p.success("密码修改成功"),T.current_password="",T.new_password="",T.confirm_password="";return}p.error(I?.error||"修改失败")}catch(I){const fe=I?.response?.data;p.error(fe?.error||"修改失败")}finally{re.value=!1}}async function Ge(){q.value=!0;try{const e=(await Dt())?.announcement;if(!e?.id||M(e.id)||O(e.id))return;L.value=e,h.value=!0}catch{}finally{q.value=!1}}function We(){const a=L.value;a?.id&&K(a.id),h.value=!1}async function He(){const a=L.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"),x=f("el-menu-item"),I=f("el-menu"),fe=f("el-aside"),g=f("el-button"),Q=f("el-tag"),Qe=f("el-header"),Xe=f("RouterView"),Je=f("el-main"),xe=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"),X=f("el-alert"),st=f("el-divider"),ot=f("el-switch"),pe=ut("loading");return u(),y(xe,{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(),A(te,null,ve(we,o=>s(x,{key:o.path,index:o.path},{default:n(()=>[s(k,null,{default:n(()=>[(u(),y(Te(o.icon)))]),_:2},1024),i("span",null,P(o.label),1)]),_:2},1032,["index"])),64))]),_:1},8,["default-active"])]),_:1})),s(xe,null,{default:n(()=>[s(Qe,{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(Q,{key:0,type:"success",size:"small",effect:"light"},{default:n(()=>[...e[21]||(e[21]=[m("VIP",-1)])]),_:1})):(u(),y(Q,{key:1,type:"info",size:"small",effect:"light"},{default:n(()=>[...e[22]||(e[22]=[m("普通",-1)])]),_:1})),i("span",nn,P(C(r).username||"用户"),1),C(r).isVip&&C(r).vipDaysLeft<=7&&C(r).vipDaysLeft>0?(u(),A("span",an," ("+P(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(Je,{class:"layout-main"},{default:n(()=>[s(Xe)]),_: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(Q,{key:0,type:"success",size:"small",effect:"light"},{default:n(()=>[...e[26]||(e[26]=[m("VIP",-1)])]),_:1})):(u(),y(Q,{key:1,type:"info",size:"small",effect:"light"},{default:n(()=>[...e[27]||(e[27]=[m("普通",-1)])]),_:1})),i("span",on,P(C(r).username||"用户"),1)]),s(I,{"default-active":ge.value,class:"aside-menu",router:"",onSelect:be},{default:n(()=>[(u(),A(te,null,ve(we,o=>s(x,{key:o.path,index:o.path},{default:n(()=>[s(k,null,{default:n(()=>[(u(),y(Te(o.icon)))]),_:2},1024),i("span",null,P(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:L.value?.title||"系统公告"},{footer:n(()=>[s(g,{onClick:We},{default:n(()=>[...e[32]||(e[32]=[m("当次关闭",-1)])]),_:1}),s(g,{type:"primary",onClick:He},{default:n(()=>[...e[33]||(e[33]=[m("永久关闭",-1)])]),_:1})]),default:n(()=>[ye((u(),A("div",rn,[i("div",un,P(L.value?.content||""),1),L.value?.image_url?(u(),A("div",cn,[i("img",{src:L.value.image_url,alt:"公告图片",loading:"lazy"},null,8,dn)])):N("",!0)])),[[pe,q.value]])]),_:1},8,["modelValue","title"]),s(me,{modelValue:j.value,"onUpdate:modelValue":e[9]||(e[9]=o=>j.value=o),title:"问题反馈",width:"min(720px, 92vw)"},{footer:n(()=>[s(g,{onClick:e[8]||(e[8]=o=>j.value=!1)},{default:n(()=>[...e[36]||(e[36]=[m("关闭",-1)])]),_:1}),Y.value==="list"?(u(),y(g,{key:0,onClick:Ve},{default:n(()=>[...e[37]||(e[37]=[m("刷新",-1)])]),_:1})):N("",!0),Y.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:Y.value,"onUpdate:modelValue":e[6]||(e[6]=o=>Y.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},[J.value.length===0?(u(),y(tt,{key:0,description:"暂无反馈"})):(u(),y(at,{key:1,accordion:""},{default:n(()=>[(u(!0),A(te,null,ve(J.value,o=>(u(),y(nt,{key:o.id,name:String(o.id)},{title:n(()=>[i("div",fn,[i("span",mn,P(o.title),1),s(Q,{size:"small",effect:"light",type:Be(o.status)},{default:n(()=>[m(P(De(o.status)),1)]),_:2},1032,["type"]),i("span",pn,P(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,P(o.description),1)]),o.admin_reply?(u(),A("div",wn,[e[35]||(e[35]=i("div",{class:"feedback-label app-muted"},"管理员回复",-1)),i("div",gn,P(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(),A("div",bn,[S.email&&S.email_verified?(u(),y(X,{key:0,type:"success",closable:!1,title:"邮箱已绑定并验证","show-icon":"",class:"settings-alert"},{default:n(()=>[i("div",hn,[i("div",kn,P(S.email),1),s(g,{type:"danger",text:"",onClick:je},{default:n(()=>[...e[39]||(e[39]=[m("解绑",-1)])]),_:1})])]),_:1})):S.email?(u(),y(X,{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:G.value,"onUpdate:modelValue":e[10]||(e[10]=o=>G.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:!S.email_verified||W.value,"inline-prompt":"","active-text":"开","inactive-text":"关",onChange:Ye},null,8,["model-value","disabled"])]),S.email_verified?N("",!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(()=>[i("div",En,[s(ee,{"label-position":"top"},{default:n(()=>[s(B,{label:"当前密码"},{default:n(()=>[s(D,{modelValue:T.current_password,"onUpdate:modelValue":e[11]||(e[11]=o=>T.current_password=o),type:"password","show-password":"",autocomplete:"current-password"},null,8,["modelValue"])]),_:1}),s(B,{label:"新密码(至少8位且包含字母和数字)"},{default:n(()=>[s(D,{modelValue:T.new_password,"onUpdate:modelValue":e[12]||(e[12]=o=>T.new_password=o),type:"password","show-password":"",autocomplete:"new-password"},null,8,["modelValue"])]),_:1}),s(B,{label:"确认新密码"},{default:n(()=>[s(D,{modelValue:T.confirm_password,"onUpdate:modelValue":e[13]||(e[13]=o=>T.confirm_password=o),type:"password","show-password":"",autocomplete:"new-password",onKeyup:ct(Se,["enter"])},null,8,["modelValue"])]),_:1}),s(g,{type:"primary",loading:re.value,onClick:Se},{default:n(()=>[...e[42]||(e[42]=[m("确认修改",-1)])]),_:1},8,["loading"])]),_:1})])]),_:1}),s(z,{label:"表格上传",name:"kdocs"},{default:n(()=>[ye((u(),A("div",Pn,[s(ee,{"label-position":"top"},{default:n(()=>[s(B,{label:"县区(可选)"},{default:n(()=>[s(D,{modelValue:H.value,"onUpdate:modelValue":e[14]||(e[14]=o=>H.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(X,{type:"info",closable:!1,title:"自动上传开关在“账号管理”页面设置(测试功能)。","show-icon":"",class:"settings-hint"})])),[[pe,ue.value]])]),_:1}),s(z,{label:"VIP信息",name:"vip"},{default:n(()=>[i("div",Sn,[s(X,{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(),A("div",xn,[i("div",Cn,[e[44]||(e[44]=i("span",{class:"app-muted"},"到期时间",-1)),i("span",null,P(C(r).vipExpireTime||"未知"),1)]),i("div",Tn,[e[45]||(e[45]=i("span",{class:"app-muted"},"剩余天数",-1)),i("span",null,P(C(r).vipDaysLeft),1)])])):(u(),A("div",An,[...e[46]||(e[46]=[i("div",{class:"app-muted"},"升级方式:请通过“反馈”联系管理员开通。",-1)])]))])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})}}},Rn=Ne(Ln,[["__scopeId","data-v-7ce33baa"]]),On=()=>F(()=>import("./LoginPage-DjXmnzTj.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url),In=()=>F(()=>import("./RegisterPage-Nvd-XHp4.js"),__vite__mapDeps([8,1,2,3,4,5,6,9]),import.meta.url),Nn=()=>F(()=>import("./ResetPasswordPage-DluVIq7o.js"),__vite__mapDeps([10,1,2,3,4,5,6,11]),import.meta.url),Ie=()=>F(()=>import("./VerifyResultPage-CSJomZjC.js"),__vite__mapDeps([12,2,1,3,4,6,13]),import.meta.url),Un=()=>F(()=>import("./AccountsPage-BsKyQ62c.js"),__vite__mapDeps([14,15,16,1,3,2,4,6,17]),import.meta.url),Dn=()=>F(()=>import("./SchedulesPage-DglS5EqW.js"),__vite__mapDeps([18,15,3,1,2,4,6,19]),import.meta.url),Bn=()=>F(()=>import("./ScreenshotsPage-L5gmloAw.js"),__vite__mapDeps([20,3,1,2,4,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:Rn,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=_t({history:vt(),routes:Mn});dt(St).use(yt()).use($n).use(ht,{locale:kt}).mount("#app");export{Ne as _,jn as a,Wt as b,Gt as f,w as p,Xt as u,Jt as v};
|