2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{d as X,o as Y,a as _,c as f,f as a,w as u,j as p,i as Z,b as t,F as ee,r as le,y as N,l as m,t as v,e as g,g as ae,h as y,v as r,E as d}from"./index-DLC2deeT.js";import{k as te,p as se,r as ne,v as oe,_ as ue}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const ie={class:"cleanup-section"},re={class:"cleanup-grid"},pe={class:"cleanup-group"},de={style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},ce={style:{display:"flex","align-items":"center",gap:"10px"}},_e={style:{width:"100%"}},me={key:0,style:{display:"flex",gap:"6px","flex-wrap":"wrap","margin-bottom":"6px"}},fe={style:{display:"flex",gap:"6px"}},ve={class:"cleanup-group"},ge={style:{display:"flex","align-items":"center",gap:"8px"}},ye={style:{display:"flex","align-items":"center",gap:"8px"}},he={style:{display:"flex","align-items":"center",gap:"8px"}},be={style:{display:"flex","align-items":"center",gap:"8px"}},xe={class:"cleanup-group"},we={class:"cleanup-group"},Ve={class:"cleanup-actions"},Ce={class:"cleanup-actions-buttons"},Se={key:0,class:"cleanup-info"},ke={key:0,style:{"margin-left":"12px"}},ze=X({__name:"Cleanup",setup(Ne){const s=Z({}),h=y(!1),b=y(!1),z=y(!1),D=r(()=>String(s.cleanup_last_run||"")),T=r(()=>{const l=String(s.cleanup_last_stats||"");if(!l)return"";try{const e=JSON.parse(l),n=[];return e.filesTrashed>0&&n.push(`移入回收站 ${e.filesTrashed} 个文件夹`),e.logsDeleted>0&&n.push(`删除 ${e.logsDeleted} 条日志`),e.trashEmptied&&n.push("已清空回收站"),e.errors>0&&n.push(`⚠️ ${e.errors} 个错误`),n.join(" / ")||"无操作"}catch{return""}}),U=r({get:()=>String(s.cleanup_enabled)==="true",set:l=>{s.cleanup_enabled=l?"true":"false"}}),E=r({get:()=>String(s.cleanup_empty_trash)!=="false",set:l=>{s.cleanup_empty_trash=l?"true":"false"}}),R=r({get:()=>Number(s.cleanup_file_retention_days??7),set:l=>{s.cleanup_file_retention_days=l}}),B=r({get:()=>Number(s.cleanup_log_retention_days??30),set:l=>{s.cleanup_log_retention_days=l}}),x=r({get:()=>String(s.cleanup_space_threshold_enabled)==="true",set:l=>{s.cleanup_space_threshold_enabled=l?"true":"false"}}),M=r({get:()=>Number(s.cleanup_space_threshold_percent??90),set:l=>{s.cleanup_space_threshold_percent=l}}),W=r({get:()=>Number(s.cleanup_space_threshold_delete_percent??10),set:l=>{s.cleanup_space_threshold_delete_percent=l}}),$=r({get:()=>String(s.save_reuse_enabled)!=="false",set:l=>{s.save_reuse_enabled=l?"true":"false"}}),c=y([]),w=y("");function L(){try{const l=String(s.cleanup_whitelist_dirs||"[]");c.value=JSON.parse(l)}catch{c.value=[]}}function F(){const l=w.value.trim();if(l){if(c.value.includes(l)){d.warning("该目录已在白名单中");return}c.value.push(l),w.value=""}}function P(l){c.value.splice(l,1)}const I=r({get:()=>Number(s.cleanup_verify_interval??30),set:l=>{s.cleanup_verify_interval=l}}),J=r({get:()=>Number(s.storage_refresh_interval??180),set:l=>{s.storage_refresh_interval=l}});async function O(){try{const l=await te();for(const e of l)s[e.key]=e.value;L()}catch(l){console.error("加载清理配置失败",l)}}async function A(){var l,e;z.value=!0;try{const i=["cleanup_enabled","cleanup_file_retention_days","cleanup_log_retention_days","cleanup_empty_trash","cleanup_space_threshold_enabled","cleanup_space_threshold_percent","cleanup_space_threshold_delete_percent","save_reuse_enabled","cleanup_verify_interval","storage_refresh_interval"].map(V=>({key:V,value:String(s[V]??"")}));i.push({key:"cleanup_whitelist_dirs",value:JSON.stringify(c.value)}),await se(i),d.success("清理配置已保存")}catch(n){d.error(((e=(l=n.response)==null?void 0:l.data)==null?void 0:e.error)||"保存失败")}finally{z.value=!1}}async function q(){var l,e;h.value=!0;try{const n=await ne();n.success?d.success(n.message):d.warning(n.message),await O()}catch(n){d.error(((e=(l=n.response)==null?void 0:l.data)==null?void 0:e.error)||"清理失败")}finally{h.value=!1}}async function G(){var l,e;b.value=!0;try{const n=await oe();n.success?d.success(n.message):d.warning(n.message)}catch(n){d.error(((e=(l=n.response)==null?void 0:l.data)==null?void 0:e.error)||"清空回收站失败")}finally{b.value=!1}}return Y(()=>{O()}),(l,e)=>{const n=p("el-switch"),i=p("el-form-item"),V=p("el-tag"),H=p("el-input"),C=p("el-button"),S=p("el-form"),k=p("el-input-number"),j=p("el-slider"),Q=p("el-card");return _(),f("div",ie,[a(Q,{class:"config-card"},{header:u(()=>[...e[11]||(e[11]=[t("span",null,"🧹 存储清理",-1)])]),default:u(()=>[t("div",re,[t("div",pe,[e[15]||(e[15]=t("div",{class:"cleanup-group-label"},"⏱ 基础清理策略",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"自动清理"},{default:u(()=>[t("div",de,[a(n,{modelValue:U.value,"onUpdate:modelValue":e[0]||(e[0]=o=>U.value=o),size:"small"},null,8,["modelValue"]),e[12]||(e[12]=t("span",{class:"cleanup-hint"},"每天自动检查一次,删除过期日志、移入回收站文件",-1))])]),_:1}),a(i,{label:"清空回收站"},{default:u(()=>[t("div",ce,[a(n,{modelValue:E.value,"onUpdate:modelValue":e[1]||(e[1]=o=>E.value=o),size:"small"},null,8,["modelValue"]),e[13]||(e[13]=t("span",{class:"cleanup-hint"},"清理时一并清空各网盘回收站",-1))])]),_:1}),a(i,{label:"白名单目录"},{default:u(()=>[t("div",_e,[c.value.length?(_(),f("div",me,[(_(!0),f(ee,null,le(c.value,(o,K)=>(_(),N(V,{key:K,closable:"",size:"small",onClose:De=>P(K)},{default:u(()=>[m(v(o),1)]),_:2},1032,["onClose"]))),128))])):g("",!0),t("div",fe,[a(H,{modelValue:w.value,"onUpdate:modelValue":e[2]||(e[2]=o=>w.value=o),placeholder:"输入目录名",size:"small",style:{width:"160px"},onKeyup:ae(F,["enter"])},null,8,["modelValue"]),a(C,{type:"primary",size:"small",onClick:F},{default:u(()=>[...e[14]||(e[14]=[m("添加",-1)])]),_:1})])])]),_:1})]),_:1})]),t("div",ve,[e[20]||(e[20]=t("div",{class:"cleanup-group-label"},"📦 保留设置",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"文件保留"},{default:u(()=>[t("div",ge,[a(k,{modelValue:R.value,"onUpdate:modelValue":e[3]||(e[3]=o=>R.value=o),min:1,max:365,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[16]||(e[16]=t("span",null,"天",-1))])]),_:1}),a(i,{label:"日志保留"},{default:u(()=>[t("div",ye,[a(k,{modelValue:B.value,"onUpdate:modelValue":e[4]||(e[4]=o=>B.value=o),min:1,max:365,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[17]||(e[17]=t("span",null,"天",-1))])]),_:1}),a(i,{label:"Cookie检测"},{default:u(()=>[t("div",he,[a(k,{modelValue:I.value,"onUpdate:modelValue":e[5]||(e[5]=o=>I.value=o),min:5,max:1440,step:5,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[18]||(e[18]=t("span",null,"分钟",-1))])]),_:1}),a(i,{label:"空间校准"},{default:u(()=>[t("div",be,[a(k,{modelValue:J.value,"onUpdate:modelValue":e[6]||(e[6]=o=>J.value=o),min:5,max:1440,step:5,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[19]||(e[19]=t("span",null,"分钟",-1))])]),_:1})]),_:1})]),t("div",xe,[e[22]||(e[22]=t("div",{class:"cleanup-group-label"},"📊 空间阈值自动清理",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"启用"},{default:u(()=>[a(n,{modelValue:x.value,"onUpdate:modelValue":e[7]||(e[7]=o=>x.value=o),size:"small"},null,8,["modelValue"]),e[21]||(e[21]=t("span",{class:"cleanup-hint",style:{"margin-left":"8px"}},"已用空间超过阈值时,按比例删除最旧的转存文件",-1))]),_:1}),x.value?(_(),N(i,{key:0,label:"使用阈值"},{default:u(()=>[a(j,{modelValue:M.value,"onUpdate:modelValue":e[8]||(e[8]=o=>M.value=o),min:50,max:99,style:{width:"140px"},"show-input":"",size:"small"},null,8,["modelValue"])]),_:1})):g("",!0),x.value?(_(),N(i,{key:1,label:"删除比例"},{default:u(()=>[a(j,{modelValue:W.value,"onUpdate:modelValue":e[9]||(e[9]=o=>W.value=o),min:5,max:50,step:5,style:{width:"140px"},"show-input":"",size:"small"},null,8,["modelValue"])]),_:1})):g("",!0)]),_:1})]),t("div",we,[e[24]||(e[24]=t("div",{class:"cleanup-group-label"},"🔗 分享链接复用",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"复用"},{default:u(()=>[a(n,{modelValue:$.value,"onUpdate:modelValue":e[10]||(e[10]=o=>$.value=o),size:"small"},null,8,["modelValue"]),e[23]||(e[23]=t("span",{class:"cleanup-hint",style:{"margin-left":"8px"}},"相同原始链接不再重复转存,复用已有分享链接(会自动验证原链接有效性;60秒内重复请求直接返回已有链接)",-1))]),_:1})]),_:1})])]),t("div",Ve,[t("div",Ce,[a(C,{type:"primary",loading:z.value,onClick:A},{default:u(()=>[...e[25]||(e[25]=[m("💾 保存清理配置",-1)])]),_:1},8,["loading"]),a(C,{type:"danger",loading:h.value,onClick:q},{default:u(()=>[m(v(h.value?"清理中...":"🗑️ 立即清理"),1)]),_:1},8,["loading"]),a(C,{type:"warning",loading:b.value,onClick:G},{default:u(()=>[m(v(b.value?"清空中...":"🧹 清空回收站"),1)]),_:1},8,["loading"])]),D.value?(_(),f("div",Se,[m(" ⏰ 上次清理:"+v(D.value)+" ",1),T.value?(_(),f("span",ke,"📊 "+v(T.value),1)):g("",!0)])):g("",!0)])]),_:1})])}}}),Ee=ue(ze,[["__scopeId","data-v-dfd5abc7"]]);export{Ee as default};
|