diff --git a/apps/base/utils.py b/apps/base/utils.py index 3224935..fc2bf3b 100644 --- a/apps/base/utils.py +++ b/apps/base/utils.py @@ -13,12 +13,19 @@ from core.utils import get_random_num, get_random_string, max_save_times_desc async def get_file_path_name(file: UploadFile) -> Tuple[str, str, str, str, str]: """获取文件路径和文件名""" today = datetime.datetime.now() - path = f"share/data/{today.strftime('%Y/%m/%d')}" - prefix, suffix = os.path.splitext(file.filename) + storage_path = settings.storage_path.strip('/') # 移除开头和结尾的斜杠 file_uuid = uuid.uuid4().hex - uuid_file_name = f"{file_uuid}{suffix}" - save_path = f"{path}/{uuid_file_name}" - return path, suffix, prefix, uuid_file_name, save_path + + # 使用 UUID 作为子目录名 + base_path = f"share/data/{today.strftime('%Y/%m/%d')}/{file_uuid}" + + # 如果设置了存储路径,将其添加到基础路径中 + path = f"{storage_path}/{base_path}" if storage_path else base_path + + prefix, suffix = os.path.splitext(file.filename) + # 保持原始文件名 + save_path = f"{path}/{file.filename}" + return path, suffix, prefix, file.filename, save_path async def get_expire_info(expire_value: int, expire_style: str) -> Tuple[Optional[datetime.datetime], int, int, str]: diff --git a/core/settings.py b/core/settings.py index c80b0a6..e5f90ea 100644 --- a/core/settings.py +++ b/core/settings.py @@ -12,6 +12,7 @@ if not data_root.exists(): DEFAULT_CONFIG = { 'file_storage': 'local', + 'storage_path': '', 'name': '文件快递柜 - FileCodeBox', 'description': '开箱即用的文件快传系统', 'notify_title': '系统通知', diff --git a/core/tasks.py b/core/tasks.py index d3e17ad..426d37d 100644 --- a/core/tasks.py +++ b/core/tasks.py @@ -16,6 +16,7 @@ from core.utils import get_now async def delete_expire_files(): file_storage: FileStorageInterface = storages[settings.file_storage]() + print(settings.file_storage) while True: try: # 遍历 share目录下的所有文件夹,删除空的文件夹,并判断父目录是否为空,如果为空也删除 diff --git a/main.py b/main.py index 713e7e0..bca8d2c 100644 --- a/main.py +++ b/main.py @@ -39,13 +39,13 @@ async def lifespan(app: FastAPI): # 初始化数据库 await init_db() - # 启动后台任务 - task = asyncio.create_task(delete_expire_files()) - # 加载配置 await load_config() app.mount('/assets', StaticFiles(directory=f'./{settings.themesSelect}/assets'), name="assets") + # 启动后台任务 + task = asyncio.create_task(delete_expire_files()) + try: yield finally: diff --git a/themes/2024/assets/AdminLayout-CYVTuRyJ.js b/themes/2024/assets/AdminLayout-CGK4cUFs.js similarity index 98% rename from themes/2024/assets/AdminLayout-CYVTuRyJ.js rename to themes/2024/assets/AdminLayout-CGK4cUFs.js index e012988..96737c9 100644 --- a/themes/2024/assets/AdminLayout-CYVTuRyJ.js +++ b/themes/2024/assets/AdminLayout-CGK4cUFs.js @@ -1,4 +1,4 @@ -import{c as i,B as k,r as h,o as u,I as v,d as x,e as t,n as o,g as e,i as w,f as n,X as _,F as M,q as C,p as z,y as B,J as L,m as D,K as F,t as I,z as d}from"./index-Dm7yhqOC.js";import{B as j}from"./box-D82IEWOS.js";/** +import{c as i,B as k,r as h,o as u,I as v,d as x,e as t,n as o,g as e,i as w,f as n,X as _,F as M,q as C,p as z,y as B,J as L,m as D,K as F,t as I,z as d}from"./index-Ch_yhQYc.js";import{B as j}from"./box-D_IdGY4o.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/DashboardView-hfXRelMZ.js b/themes/2024/assets/DashboardView-BJPa45w6.js similarity index 98% rename from themes/2024/assets/DashboardView-hfXRelMZ.js rename to themes/2024/assets/DashboardView-BJPa45w6.js index 8d08d2a..3839364 100644 --- a/themes/2024/assets/DashboardView-hfXRelMZ.js +++ b/themes/2024/assets/DashboardView-BJPa45w6.js @@ -1,4 +1,4 @@ -import{c as g,B as v,H as w,o as _,d as u,e as t,n as a,g as e,i as k,t as i,f as y,F as U,q as F,A as M,z as p,J as z,K as C}from"./index-Dm7yhqOC.js";import{F as m}from"./file-rOVCfWLN.js";import{H as D,T as S}from"./trash-CSx5DaSf.js";/** +import{c as g,B as v,H as w,o as _,d as u,e as t,n as a,g as e,i as k,t as i,f as y,F as U,q as F,A as M,z as p,J as z,K as C}from"./index-Ch_yhQYc.js";import{F as m}from"./file-CY1Cm1A5.js";import{H as D,T as S}from"./trash-Y8g6Hj4p.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/FileManageView-BpHyAu06.js b/themes/2024/assets/FileManageView-5nbkRxSF.js similarity index 98% rename from themes/2024/assets/FileManageView-BpHyAu06.js rename to themes/2024/assets/FileManageView-5nbkRxSF.js index 5e43b8f..7f55955 100644 --- a/themes/2024/assets/FileManageView-BpHyAu06.js +++ b/themes/2024/assets/FileManageView-5nbkRxSF.js @@ -1,4 +1,4 @@ -import{c as V,B as T,u as q,r as _,b as k,d as c,e as t,n as o,g as a,i as A,j as P,f as m,v as H,m as I,F as v,q as w,t as d,A as S,z as g}from"./index-Dm7yhqOC.js";import{F as L}from"./file-rOVCfWLN.js";/** +import{c as V,B as T,u as q,r as _,b as k,d as c,e as t,n as o,g as a,i as A,j as P,f as m,v as H,m as I,F as v,q as w,t as d,A as S,z as g}from"./index-Ch_yhQYc.js";import{F as L}from"./file-CY1Cm1A5.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/LoginView-zsYUSR2Y.js b/themes/2024/assets/LoginView-B7G0ZQAI.js similarity index 98% rename from themes/2024/assets/LoginView-zsYUSR2Y.js rename to themes/2024/assets/LoginView-B7G0ZQAI.js index 2b7c076..2ccb6fe 100644 --- a/themes/2024/assets/LoginView-zsYUSR2Y.js +++ b/themes/2024/assets/LoginView-B7G0ZQAI.js @@ -1 +1 @@ -import{G as y,r as u,B as v,u as b,d as w,e,n as l,g as o,i as x,f as h,h as k,j as S,v as A,m as V,t as B,y as D,z as j,A as P,_}from"./index-Dm7yhqOC.js";import{B as z}from"./box-D82IEWOS.js";const M=y("adminData",()=>{const d=u(localStorage.getItem("adminPassword")||"");function n(t){d.value=t,localStorage.setItem("token",t)}return{adminPassword:d,updateAdminPwd:n}}),I={class:"mx-auto h-16 w-16 relative"},L={class:"rounded-md shadow-sm -space-y-px"},N=["disabled"],T=v({__name:"LoginView",setup(d){const n=b(),t=u(""),i=u(!1),s=x("isDarkMode"),c=M(),p=()=>{let a=!0;return t.value?t.value.length<6&&(n.showAlert("密码长度至少为6位","error"),a=!1):(n.showAlert("无效的密码","error"),a=!1),a},m=D(),f=async()=>{if(p()){c.updateAdminPwd(t.value),P.post("/admin/login",{password:t.value}).then(()=>{m.push("/admin")}).catch(a=>{n.showAlert(a.response.data.detail,"error")}),i.value=!0;try{await new Promise(a=>setTimeout(a,2e3))}catch{}finally{i.value=!1}}};return(a,r)=>(j(),w("div",{class:l(["min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 transition-colors duration-200 relative overflow-hidden",o(s)?"bg-gray-900":"bg-gray-50"])},[r[6]||(r[6]=e("div",{class:"absolute inset-0 z-0"},[e("div",{class:"cyber-grid"}),e("div",{class:"floating-particles"})],-1)),e("div",{class:l(["max-w-md w-full space-y-8 backdrop-blur-lg bg-opacity-20 p-8 rounded-xl border border-opacity-20",[o(s)?"bg-gray-800 border-gray-600":"bg-white/70 border-gray-200"]])},[e("div",null,[e("div",I,[r[1]||(r[1]=e("div",{class:"absolute inset-0 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full animate-spin-slow"},null,-1)),r[2]||(r[2]=e("div",{class:"absolute -inset-2 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full opacity-50 blur-md animate-pulse"},null,-1)),e("div",{class:l(["absolute inset-1 rounded-full flex items-center justify-center",o(s)?"bg-gray-800":"bg-white"])},[h(o(z),{class:l(["h-8 w-8",o(s)?"text-cyan-400":"text-cyan-600"])},null,8,["class"])],2)]),e("h2",{class:l(["mt-6 text-center text-3xl font-extrabold",o(s)?"text-white":"text-gray-900"])}," 登录 ",2)]),e("form",{class:"mt-8 space-y-6",onSubmit:k(f,["prevent"])},[r[5]||(r[5]=e("input",{type:"hidden",name:"remember",value:"true"},null,-1)),e("div",L,[e("div",null,[r[3]||(r[3]=e("label",{for:"password",class:"sr-only"},"密码",-1)),S(e("input",{id:"password",name:"password",type:"password",autocomplete:"current-password",required:"","onUpdate:modelValue":r[0]||(r[0]=g=>t.value=g),class:l(["appearance-none rounded-t-md relative block w-full px-4 py-3 border transition-all duration-200 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-cyan-500 focus:z-10 sm:text-sm backdrop-blur-sm",o(s)?"bg-gray-800/50 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"bg-white/50 border-gray-300 text-gray-900 hover:border-gray-400"]),placeholder:"密码"},null,2),[[A,t.value]])])]),e("div",null,[e("button",{type:"submit",class:l(["group relative w-full flex justify-center py-3 px-4 border border-transparent text-sm font-medium rounded-md text-white transition-all duration-300 transform hover:scale-[1.02] focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-cyan-500 shadow-lg hover:shadow-cyan-500/50",o(s)?"bg-gradient-to-r from-cyan-500 to-purple-500 hover:from-cyan-600 hover:to-purple-600":"bg-gradient-to-r from-cyan-600 to-purple-600 hover:from-cyan-700 hover:to-purple-700",i.value?"opacity-75 cursor-not-allowed":""]),disabled:i.value},[r[4]||(r[4]=e("span",{class:"absolute left-0 inset-y-0 flex items-center pl-3"},null,-1)),V(" "+B(i.value?"登录中...":"登录"),1)],10,N)])],32)],2)],2))}}),E=_(T,[["__scopeId","data-v-2e50c3fa"]]);export{E as default}; +import{G as y,r as u,B as v,u as b,d as w,e,n as l,g as o,i as x,f as h,h as k,j as S,v as A,m as V,t as B,y as D,z as j,A as P,_}from"./index-Ch_yhQYc.js";import{B as z}from"./box-D_IdGY4o.js";const M=y("adminData",()=>{const d=u(localStorage.getItem("adminPassword")||"");function n(t){d.value=t,localStorage.setItem("token",t)}return{adminPassword:d,updateAdminPwd:n}}),I={class:"mx-auto h-16 w-16 relative"},L={class:"rounded-md shadow-sm -space-y-px"},N=["disabled"],T=v({__name:"LoginView",setup(d){const n=b(),t=u(""),i=u(!1),s=x("isDarkMode"),c=M(),p=()=>{let a=!0;return t.value?t.value.length<6&&(n.showAlert("密码长度至少为6位","error"),a=!1):(n.showAlert("无效的密码","error"),a=!1),a},m=D(),f=async()=>{if(p()){c.updateAdminPwd(t.value),P.post("/admin/login",{password:t.value}).then(()=>{m.push("/admin")}).catch(a=>{n.showAlert(a.response.data.detail,"error")}),i.value=!0;try{await new Promise(a=>setTimeout(a,2e3))}catch{}finally{i.value=!1}}};return(a,r)=>(j(),w("div",{class:l(["min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 transition-colors duration-200 relative overflow-hidden",o(s)?"bg-gray-900":"bg-gray-50"])},[r[6]||(r[6]=e("div",{class:"absolute inset-0 z-0"},[e("div",{class:"cyber-grid"}),e("div",{class:"floating-particles"})],-1)),e("div",{class:l(["max-w-md w-full space-y-8 backdrop-blur-lg bg-opacity-20 p-8 rounded-xl border border-opacity-20",[o(s)?"bg-gray-800 border-gray-600":"bg-white/70 border-gray-200"]])},[e("div",null,[e("div",I,[r[1]||(r[1]=e("div",{class:"absolute inset-0 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full animate-spin-slow"},null,-1)),r[2]||(r[2]=e("div",{class:"absolute -inset-2 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full opacity-50 blur-md animate-pulse"},null,-1)),e("div",{class:l(["absolute inset-1 rounded-full flex items-center justify-center",o(s)?"bg-gray-800":"bg-white"])},[h(o(z),{class:l(["h-8 w-8",o(s)?"text-cyan-400":"text-cyan-600"])},null,8,["class"])],2)]),e("h2",{class:l(["mt-6 text-center text-3xl font-extrabold",o(s)?"text-white":"text-gray-900"])}," 登录 ",2)]),e("form",{class:"mt-8 space-y-6",onSubmit:k(f,["prevent"])},[r[5]||(r[5]=e("input",{type:"hidden",name:"remember",value:"true"},null,-1)),e("div",L,[e("div",null,[r[3]||(r[3]=e("label",{for:"password",class:"sr-only"},"密码",-1)),S(e("input",{id:"password",name:"password",type:"password",autocomplete:"current-password",required:"","onUpdate:modelValue":r[0]||(r[0]=g=>t.value=g),class:l(["appearance-none rounded-t-md relative block w-full px-4 py-3 border transition-all duration-200 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-cyan-500 focus:z-10 sm:text-sm backdrop-blur-sm",o(s)?"bg-gray-800/50 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"bg-white/50 border-gray-300 text-gray-900 hover:border-gray-400"]),placeholder:"密码"},null,2),[[A,t.value]])])]),e("div",null,[e("button",{type:"submit",class:l(["group relative w-full flex justify-center py-3 px-4 border border-transparent text-sm font-medium rounded-md text-white transition-all duration-300 transform hover:scale-[1.02] focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-cyan-500 shadow-lg hover:shadow-cyan-500/50",o(s)?"bg-gradient-to-r from-cyan-500 to-purple-500 hover:from-cyan-600 hover:to-purple-600":"bg-gradient-to-r from-cyan-600 to-purple-600 hover:from-cyan-700 hover:to-purple-700",i.value?"opacity-75 cursor-not-allowed":""]),disabled:i.value},[r[4]||(r[4]=e("span",{class:"absolute left-0 inset-y-0 flex items-center pl-3"},null,-1)),V(" "+B(i.value?"登录中...":"登录"),1)],10,N)])],32)],2)],2))}}),E=_(T,[["__scopeId","data-v-2e50c3fa"]]);export{E as default}; diff --git a/themes/2024/assets/RetrievewFileView-B9XfNvQg.js b/themes/2024/assets/RetrievewFileView-DExKIrRO.js similarity index 99% rename from themes/2024/assets/RetrievewFileView-B9XfNvQg.js rename to themes/2024/assets/RetrievewFileView-DExKIrRO.js index fd65f13..6cc6b5e 100644 --- a/themes/2024/assets/RetrievewFileView-B9XfNvQg.js +++ b/themes/2024/assets/RetrievewFileView-DExKIrRO.js @@ -1,4 +1,4 @@ -var qe=Object.defineProperty;var De=(d,e,t)=>e in d?qe(d,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[e]=t;var v=(d,e,t)=>De(d,typeof e!="symbol"?e+"":e,t);import{c as $e,_ as Pe,u as Fe,s as Ze,r as q,o as Ue,a as Oe,w as Qe,b as He,d as I,e as h,f as $,n as w,g as f,i as Ne,h as Ve,j as Ge,k as Y,v as We,t as D,l as O,m as Z,p as Xe,X as ge,T as Ke,F as Je,q as Ye,x as oe,y as et,z as C,A as tt}from"./index-Dm7yhqOC.js";import{c as Q,u as nt,S as st,C as it,a as rt,Q as ot,E as lt}from"./_commonjsHelpers-BCjwediS.js";import{B as at}from"./box-D82IEWOS.js";import{F as xe}from"./file-rOVCfWLN.js";import{H as ct,T as ut}from"./trash-CSx5DaSf.js";/** +var qe=Object.defineProperty;var De=(d,e,t)=>e in d?qe(d,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[e]=t;var v=(d,e,t)=>De(d,typeof e!="symbol"?e+"":e,t);import{c as $e,_ as Pe,u as Fe,s as Ze,r as q,o as Ue,a as Oe,w as Qe,b as He,d as I,e as h,f as $,n as w,g as f,i as Ne,h as Ve,j as Ge,k as Y,v as We,t as D,l as O,m as Z,p as Xe,X as ge,T as Ke,F as Je,q as Ye,x as oe,y as et,z as C,A as tt}from"./index-Ch_yhQYc.js";import{c as Q,u as nt,S as st,C as it,a as rt,Q as ot,E as lt}from"./_commonjsHelpers-Bz0FHX1E.js";import{B as at}from"./box-D_IdGY4o.js";import{F as xe}from"./file-CY1Cm1A5.js";import{H as ct,T as ut}from"./trash-Y8g6Hj4p.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/SendFileView-Ca-fZPSX.js b/themes/2024/assets/SendFileView-Ca-fZPSX.js deleted file mode 100644 index 73cb9fa..0000000 --- a/themes/2024/assets/SendFileView-Ca-fZPSX.js +++ /dev/null @@ -1,21 +0,0 @@ -import{c as G,B as se,r as z,o as ae,w as xe,d as U,z as F,e as a,_ as ie,u as le,y as be,i as me,b as we,p as _e,f as M,n as h,g as l,h as J,l as N,k as q,t as $,j as K,v as Z,x as O,C as Ce,F as ee,q as te,m as V,X as Ae,T as Me,A as re}from"./index-Dm7yhqOC.js";import{g as Se,u as Be,S as Te,C as Ie,E as ke,a as Ue,Q as Fe}from"./_commonjsHelpers-BCjwediS.js";import{F as oe}from"./file-rOVCfWLN.js";import{T as ze,H as $e}from"./trash-CSx5DaSf.js";/** - * @license lucide-vue-next v0.445.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const De=G("ClipboardCopyIcon",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);/** - * @license lucide-vue-next v0.445.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pe=G("ClockIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** - * @license lucide-vue-next v0.445.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Le=G("CloudUploadIcon",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);/** - * @license lucide-vue-next v0.445.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const je=G("SendIcon",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),Re=se({__name:"BorderProgressBar",props:{progress:{}},setup(S){const D=S,k=z(null),u=z(null);let f=null;const A=()=>{if(!f||!u.value||!k.value)return;const x=k.value.clientWidth,m=k.value.clientHeight;u.value.width=x,u.value.height=m;const y=4,c=8;f.lineWidth=y;const _=f.createLinearGradient(0,0,x,m);_.addColorStop(0,"#4f46e5"),_.addColorStop(.5,"#7c3aed"),_.addColorStop(1,"#db2777"),f.strokeStyle="rgba(229, 231, 235, 0.2)",b(f,y/2,y/2,x-y,m-y,c),f.stroke();const I=((x+m)*2-8*c+2*Math.PI*c)*D.progress/100;f.strokeStyle=_,f.lineCap="round",f.lineJoin="round",f.beginPath();let v=I;const w=y/2,g=x-y,s=m-y;if(v>0){const n=Math.min(g-2*c,v);f.moveTo(c+w,w),f.lineTo(n+c+w,w),v-=n}if(v>0){const n=Math.min(Math.PI/2,v/c);f.arc(g-c+w,c+w,c,-Math.PI/2,n-Math.PI/2,!1),v-=n*c}if(v>0){const n=Math.min(s-2*c,v);f.lineTo(g+w,n+c+w),v-=n}if(v>0){const n=Math.min(Math.PI/2,v/c);f.arc(g-c+w,s-c+w,c,0,n,!1),v-=n*c}if(v>0){const n=Math.min(g-2*c,v);f.lineTo(g-n-c+w,s+w),v-=n}if(v>0){const n=Math.min(Math.PI/2,v/c);f.arc(c+w,s-c+w,c,Math.PI/2,Math.PI/2+n,!1),v-=n*c}if(v>0){const n=Math.min(s-2*c,v);f.lineTo(w,s-n-c+w),v-=n}if(v>0){const n=Math.min(Math.PI/2,v/c);f.arc(c+w,c+w,c,Math.PI,Math.PI+n,!1)}f.stroke()};function b(x,m,y,c,_,C){x.beginPath(),x.moveTo(m+C,y),x.lineTo(m+c-C,y),x.arcTo(m+c,y,m+c,y+C,C),x.lineTo(m+c,y+_-C),x.arcTo(m+c,y+_,m+c-C,y+_,C),x.lineTo(m+C,y+_),x.arcTo(m,y+_,m,y+_-C,C),x.lineTo(m,y+C),x.arcTo(m,y,m+C,y,C),x.closePath()}return ae(()=>{u.value&&(f=u.value.getContext("2d"),A())}),xe(()=>D.progress,A),(x,m)=>(F(),U("div",{class:"border-progress-container",ref_key:"container",ref:k},[a("canvas",{ref_key:"canvas",ref:u,class:"border-progress-canvas"},null,512)],512))}}),Ve=ie(Re,[["__scopeId","data-v-2fbf5085"]]);var ue={exports:{}};(function(S,D){(function(k){S.exports=k()})(function(k){var u=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function f(s,n){var t=s[0],e=s[1],o=s[2],r=s[3];t+=(e&o|~e&r)+n[0]-680876936|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[1]-389564586|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[2]+606105819|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[3]-1044525330|0,e=(e<<22|e>>>10)+o|0,t+=(e&o|~e&r)+n[4]-176418897|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[5]+1200080426|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[6]-1473231341|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[7]-45705983|0,e=(e<<22|e>>>10)+o|0,t+=(e&o|~e&r)+n[8]+1770035416|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[9]-1958414417|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[10]-42063|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[11]-1990404162|0,e=(e<<22|e>>>10)+o|0,t+=(e&o|~e&r)+n[12]+1804603682|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[13]-40341101|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[14]-1502002290|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[15]+1236535329|0,e=(e<<22|e>>>10)+o|0,t+=(e&r|o&~r)+n[1]-165796510|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[6]-1069501632|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[11]+643717713|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[0]-373897302|0,e=(e<<20|e>>>12)+o|0,t+=(e&r|o&~r)+n[5]-701558691|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[10]+38016083|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[15]-660478335|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[4]-405537848|0,e=(e<<20|e>>>12)+o|0,t+=(e&r|o&~r)+n[9]+568446438|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[14]-1019803690|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[3]-187363961|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[8]+1163531501|0,e=(e<<20|e>>>12)+o|0,t+=(e&r|o&~r)+n[13]-1444681467|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[2]-51403784|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[7]+1735328473|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[12]-1926607734|0,e=(e<<20|e>>>12)+o|0,t+=(e^o^r)+n[5]-378558|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[8]-2022574463|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[11]+1839030562|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[14]-35309556|0,e=(e<<23|e>>>9)+o|0,t+=(e^o^r)+n[1]-1530992060|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[4]+1272893353|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[7]-155497632|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[10]-1094730640|0,e=(e<<23|e>>>9)+o|0,t+=(e^o^r)+n[13]+681279174|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[0]-358537222|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[3]-722521979|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[6]+76029189|0,e=(e<<23|e>>>9)+o|0,t+=(e^o^r)+n[9]-640364487|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[12]-421815835|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[15]+530742520|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[2]-995338651|0,e=(e<<23|e>>>9)+o|0,t+=(o^(e|~r))+n[0]-198630844|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[7]+1126891415|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[14]-1416354905|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[5]-57434055|0,e=(e<<21|e>>>11)+o|0,t+=(o^(e|~r))+n[12]+1700485571|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[3]-1894986606|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[10]-1051523|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[1]-2054922799|0,e=(e<<21|e>>>11)+o|0,t+=(o^(e|~r))+n[8]+1873313359|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[15]-30611744|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[6]-1560198380|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[13]+1309151649|0,e=(e<<21|e>>>11)+o|0,t+=(o^(e|~r))+n[4]-145523070|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[11]-1120210379|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[2]+718787259|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[9]-343485551|0,e=(e<<21|e>>>11)+o|0,s[0]=t+s[0]|0,s[1]=e+s[1]|0,s[2]=o+s[2]|0,s[3]=r+s[3]|0}function A(s){var n=[],t;for(t=0;t<64;t+=4)n[t>>2]=s.charCodeAt(t)+(s.charCodeAt(t+1)<<8)+(s.charCodeAt(t+2)<<16)+(s.charCodeAt(t+3)<<24);return n}function b(s){var n=[],t;for(t=0;t<64;t+=4)n[t>>2]=s[t]+(s[t+1]<<8)+(s[t+2]<<16)+(s[t+3]<<24);return n}function x(s){var n=s.length,t=[1732584193,-271733879,-1732584194,271733878],e,o,r,B,P,j;for(e=64;e<=n;e+=64)f(t,A(s.substring(e-64,e)));for(s=s.substring(e-64),o=s.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=0;e>2]|=s.charCodeAt(e)<<(e%4<<3);if(r[e>>2]|=128<<(e%4<<3),e>55)for(f(t,r),e=0;e<16;e+=1)r[e]=0;return B=n*8,B=B.toString(16).match(/(.*?)(.{0,8})$/),P=parseInt(B[2],16),j=parseInt(B[1],16)||0,r[14]=P,r[15]=j,f(t,r),t}function m(s){var n=s.length,t=[1732584193,-271733879,-1732584194,271733878],e,o,r,B,P,j;for(e=64;e<=n;e+=64)f(t,b(s.subarray(e-64,e)));for(s=e-64>2]|=s[e]<<(e%4<<3);if(r[e>>2]|=128<<(e%4<<3),e>55)for(f(t,r),e=0;e<16;e+=1)r[e]=0;return B=n*8,B=B.toString(16).match(/(.*?)(.{0,8})$/),P=parseInt(B[2],16),j=parseInt(B[1],16)||0,r[14]=P,r[15]=j,f(t,r),t}function y(s){var n="",t;for(t=0;t<4;t+=1)n+=u[s>>t*8+4&15]+u[s>>t*8&15];return n}function c(s){var n;for(n=0;nr?new ArrayBuffer(0):(B=r-o,P=new ArrayBuffer(B),j=new Uint8Array(P),W=new Uint8Array(this,o,B),j.set(W),P)}}();function _(s){return/[\u0080-\uFFFF]/.test(s)&&(s=unescape(encodeURIComponent(s))),s}function C(s,n){var t=s.length,e=new ArrayBuffer(t),o=new Uint8Array(e),r;for(r=0;r>2]|=n.charCodeAt(e)<<(e%4<<3);return this._finish(o,t),r=c(this._hash),s&&(r=w(r)),this.reset(),r},g.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},g.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},g.prototype.setState=function(s){return this._buff=s.buff,this._length=s.length,this._hash=s.hash,this},g.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},g.prototype._finish=function(s,n){var t=n,e,o,r;if(s[t>>2]|=128<<(t%4<<3),t>55)for(f(this._hash,s),t=0;t<16;t+=1)s[t]=0;e=this._length*8,e=e.toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(e[2],16),r=parseInt(e[1],16)||0,s[14]=o,s[15]=r,f(this._hash,s)},g.hash=function(s,n){return g.hashBinary(_(s),n)},g.hashBinary=function(s,n){var t=x(s),e=c(t);return n?w(e):e},g.ArrayBuffer=function(){this.reset()},g.ArrayBuffer.prototype.append=function(s){var n=v(this._buff.buffer,s),t=n.length,e;for(this._length+=s.byteLength,e=64;e<=t;e+=64)f(this._hash,b(n.subarray(e-64,e)));return this._buff=e-64>2]|=n[o]<<(o%4<<3);return this._finish(e,t),r=c(this._hash),s&&(r=w(r)),this.reset(),r},g.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},g.ArrayBuffer.prototype.getState=function(){var s=g.prototype.getState.call(this);return s.buff=I(s.buff),s},g.ArrayBuffer.prototype.setState=function(s){return s.buff=C(s.buff,!0),g.prototype.setState.call(this,s)},g.ArrayBuffer.prototype.destroy=g.prototype.destroy,g.ArrayBuffer.prototype._finish=g.prototype._finish,g.ArrayBuffer.hash=function(s,n){var t=m(new Uint8Array(s)),e=c(t);return n?w(e):e},g})})(ue);var He=ue.exports;const Ee=Se(He),ce=async(S,D={})=>{const{successMsg:k="复制成功",errorMsg:u="复制失败,请手动复制",showMsg:f=!0}=D,A=le();try{if(navigator.clipboard&&navigator.clipboard.writeText)return await navigator.clipboard.writeText(S),f&&A.showAlert(k,"success"),!0;const b=document.createElement("textarea");b.value=S,b.style.position="fixed",b.style.opacity="0",document.body.appendChild(b),b.select();const x=document.execCommand("copy");if(document.body.removeChild(b),x)return f&&A.showAlert(k,"success"),!0;throw new Error("execCommand copy failed")}catch(b){return console.error("复制失败:",b),f&&A.showAlert(u,"error"),!1}},ne=async S=>{const D=`${window.location.origin}/#/?code=${S}`;return ce(D,{successMsg:"取件链接已复制到剪贴板",errorMsg:"复制失败,请手动复制取件链接"})},Ne=async S=>ce(S,{successMsg:"取件码已复制到剪贴板",errorMsg:"复制失败,请手动复制取件码"}),qe=S=>S>=1024*1024*1024?Math.round(S/(1024*1024*1024))+"GB":S>=1024*1024?Math.round(S/(1024*1024))+"MB":Math.round(S/1024)+"KB",We={class:"min-h-screen flex items-center justify-center p-4 overflow-hidden transition-colors duration-300"},Ge={class:"p-8"},Qe={class:"flex justify-center space-x-4 mb-6"},Je={key:"file",class:"grid grid-cols-1 gap-8"},Ke={key:0,class:"absolute inset-0 w-full h-full"},Oe={class:"block truncate"},Xe={key:"text",class:"grid grid-cols-1 gap-8"},Ye={key:0,class:"flex flex-col"},Ze={class:"flex flex-col space-y-4"},et=["value"],tt={key:0,class:"flex items-center space-x-2"},rt={class:"relative flex-grow"},ot=["placeholder"],nt={type:"submit",class:"w-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white font-bold py-4 px-6 rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition-all duration-300 transform hover:scale-105 hover:shadow-lg relative overflow-hidden group"},st={class:"relative z-10 flex items-center justify-center text-lg"},at={class:"mt-6 text-center"},it={class:"flex-grow overflow-y-auto p-6"},lt={class:"flex-shrink-0 mr-4"},ut={class:"flex-grow min-w-0 mr-4"},ct={class:"flex-shrink-0 flex space-x-2"},dt=["onClick"],ft=["onClick"],ht=["onClick"],gt={key:0,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50"},pt={class:"space-y-4"},yt={class:"flex items-center"},vt={class:"flex items-center"},xt={class:"flex items-center"},bt={class:"flex items-center"},mt={class:"mt-6 flex justify-between items-center"},wt={class:"flex flex-col items-center w-1/2 pr-2"},_t={class:"text-2xl font-bold text-indigo-600"},Ct={class:"flex flex-col items-center w-1/2 pl-2"},At={class:"bg-white p-2 rounded-lg shadow-md"},Mt=se({__name:"SendFileView",setup(S){const D=JSON.parse(localStorage.getItem("config")||"{}");console.log(D);const k=be(),u=me("isDarkMode"),f=Be(),A=z("file"),b=z(null),x=z(""),m=z(null),y=z("day"),c=z("1"),_=z(0),C=z(!1),I=z(null),v=le(),w=we(()=>f.shareData),g=z(""),s=z(new Set),n=()=>{var d;(d=m.value)==null||d.click()},t=async d=>{const i=d.target;i.files&&i.files.length>0&&(b.value=i.files[0],g.value=await o(b.value))},e=async d=>{var i;(i=d.dataTransfer)!=null&&i.files&&d.dataTransfer.files.length>0&&(b.value=d.dataTransfer.files[0],g.value=await o(b.value),r())},o=async d=>new Promise(i=>{const p=new Ee.ArrayBuffer,T=new FileReader;let R=0;const H=Math.ceil(d.size/2097152);T.onload=E=>{p.append(E.target.result),R++,R{const E=R*2097152,ve=E+2097152>=d.size?d.size:E+2097152;T.readAsArrayBuffer(d.slice(E,ve))};Y()}),r=async()=>{if(!b.value)return;const d=1024*1024,i=Math.ceil(b.value.size/d),{uploadedList:L}=await B(g.value);s.value=new Set(L);for(let p=0;p(console.log(d),new Promise(i=>{setTimeout(()=>{i({uploadedList:[]})},500)})),P=async(d,i,L)=>new Promise(p=>{setTimeout(()=>{console.log(`上传切片 ${i+1}/${L}`),s.value.add(i),p()},500)}),j=async(d,i)=>{console.log(`请求合并文件切片, fileHash: ${d}, totalChunks: ${i}`)},W=(d=y.value)=>{switch(d){case"day":return"输入天数";case"hour":return"输入小时数";case"minute":return"输入分钟数";case"count":return"输入查看次数";case"forever":return"永久";default:return"输入值"}},Q=(d=y.value)=>{switch(d){case"day":return"天";case"hour":return"小时";case"minute":return"分钟";case"count":return"次";case"forever":return"永久";default:return""}},de=async()=>{if(A.value==="file"&&!b.value){v.showAlert("请选择要上传的文件","error");return}if(A.value==="text"&&!x.value.trim()){v.showAlert("请输入要发送的文本","error");return}if(y.value!=="forever"&&!c.value){v.showAlert("请输入过期值","error");return}try{let d;const i=new FormData,L=A.value==="file";L?i.append("file",b.value):i.append("text",x.value),y.value!=="forever"&&i.append("expire_value",c.value),i.append("expire_style",y.value);const p={headers:{"Content-Type":"multipart/form-data"},onUploadProgress:T=>{const R=Math.round(T.loaded*100/T.total);_.value=R}};if(L?d=await re.post("/share/file/",i,p):d=await re.post("/share/text/",i,p),d&&d.code===200){const T=d.detail.code,R=d.detail.name,H={id:Date.now(),filename:R,date:new Date().toISOString().split("T")[0],size:A.value==="text"?`${(x.value.length/1024).toFixed(2)} KB`:`${(b.value.size/(1024*1024)).toFixed(1)} MB`,expiration:y.value==="forever"?"永久":`${c.value}${Q()}后过期`,retrieveCode:T};f.addShareData(H),v.showAlert(`文件发送成功!取件码:${T}`,"success"),b.value=null,x.value="",c.value="",_.value=0,C.value=!0,await ne(T)}else throw new Error("服务器响应异常")}catch(d){console.error("发送失败:",d),d.response.data.detail?v.showAlert(d.response.data.detail,"error"):v.showAlert("发送失败,请稍后重试","error")}finally{_.value=0}},fe=()=>{k.push("/")},X=()=>{C.value=!C.value},he=d=>{I.value=d},ge=d=>{const i=f.shareData.findIndex(L=>L.id===d);i!==-1&&f.deleteShareData(i)},pe=window.location.origin+"/#/",ye=d=>`${pe}?code=${d.retrieveCode}`;return ae(()=>{console.log("SendFileView mounted")}),(d,i)=>{const L=_e("router-link");return F(),U("div",We,[a("div",{class:h(["rounded-3xl shadow-2xl overflow-hidden border w-full max-w-md transition-colors duration-300",[l(u)?"bg-white bg-opacity-10 backdrop-filter backdrop-blur-xl border-gray-700":"bg-white border-gray-200"]])},[a("div",Ge,[a("h2",{class:h(["text-3xl font-extrabold text-center mb-8 cursor-pointer transition-colors duration-300",[l(u)?"text-transparent bg-clip-text bg-gradient-to-r from-indigo-300 via-purple-300 to-pink-300":"text-indigo-600"]]),onClick:fe}," FileCodeBox ",2),a("form",{onSubmit:J(de,["prevent"]),class:"space-y-8"},[a("div",Qe,[a("button",{type:"button",onClick:i[0]||(i[0]=p=>A.value="file"),class:h(["px-4 py-2 rounded-lg",A.value==="file"?"bg-indigo-600 text-white":"bg-gray-700 text-gray-300"])}," 发送文件 ",2),a("button",{type:"button",onClick:i[1]||(i[1]=p=>A.value="text"),class:h(["px-4 py-2 rounded-lg",A.value==="text"?"bg-indigo-600 text-white":"bg-gray-700 text-gray-300"])}," 发送文本 ",2)]),M(O,{name:"fade",mode:"out-in"},{default:N(()=>[A.value==="file"?(F(),U("div",Je,[a("div",{class:h(["rounded-xl p-8 flex flex-col items-center justify-center border-2 border-dashed transition-all duration-300 group cursor-pointer relative",[l(u)?"bg-gray-800 bg-opacity-50 border-gray-600 hover:border-indigo-500":"bg-gray-100 border-gray-300 hover:border-indigo-500"]]),onClick:n,onDragover:i[2]||(i[2]=J(()=>{},["prevent"])),onDrop:J(e,["prevent"])},[a("input",{id:"file-upload",type:"file",class:"hidden",onChange:t,ref_key:"fileInput",ref:m},null,544),_.value>0?(F(),U("div",Ke,[M(Ve,{progress:_.value},null,8,["progress"])])):q("",!0),M(l(Le),{class:h(["w-16 h-16 transition-colors duration-300",l(u)?"text-gray-400 group-hover:text-indigo-400":"text-gray-600 group-hover:text-indigo-600"])},null,8,["class"]),a("p",{class:h(["mt-4 text-sm transition-colors duration-300 w-full text-center",l(u)?"text-gray-400 group-hover:text-indigo-400":"text-gray-600 group-hover:text-indigo-600"])},[a("span",Oe,$(b.value?b.value.name:"点击或拖放文件到此处上传"),1)],2),a("p",{class:h(["mt-2 text-xs",l(u)?"text-gray-500":"text-gray-400"])}," 支持各种常见格式,最大"+$(l(qe)(l(D).uploadSize)),3)],34)])):(F(),U("div",Xe,[A.value==="text"?(F(),U("div",Ye,[K(a("textarea",{id:"text-content","onUpdate:modelValue":i[3]||(i[3]=p=>x.value=p),rows:"7",class:h(["flex-grow px-4 py-3 rounded-xl placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-300 resize-none",l(u)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"]),placeholder:"在此输入要发送的文本..."},null,2),[[Z,x.value]])])):q("",!0)]))]),_:1}),a("div",Ze,[a("label",{class:h(["text-sm font-medium",l(u)?"text-gray-300":"text-gray-700"])}," 过期方式 ",2),K(a("select",{"onUpdate:modelValue":i[4]||(i[4]=p=>y.value=p),class:h(["px-4 py-2 rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500",l(u)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"])},[(F(!0),U(ee,null,te(l(D).expireStyle,p=>(F(),U("option",{value:p,key:p},$(Q(p)),9,et))),128))],2),[[Ce,y.value]]),y.value!=="forever"?(F(),U("div",tt,[a("div",rt,[K(a("input",{"onUpdate:modelValue":i[5]||(i[5]=p=>c.value=p),type:"number",placeholder:W(),class:h(["w-full px-4 py-2 pr-16 rounded-xl placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500",l(u)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"])},null,10,ot),[[Z,c.value]]),a("span",{class:h(["absolute right-3 top-1/2 transform -translate-y-1/2",l(u)?"text-gray-300":"text-gray-700"])},$(Q()),3)])])):q("",!0)]),a("button",nt,[i[9]||(i[9]=a("span",{class:"absolute top-0 left-0 w-full h-full bg-white opacity-0 group-hover:opacity-20 transition-opacity duration-300"},null,-1)),a("span",st,[M(l(je),{class:"w-6 h-6 mr-2"}),i[8]||(i[8]=a("span",null,"安全寄送",-1))])])],32),a("div",at,[M(L,{to:"/",class:"text-indigo-400 hover:text-indigo-300 transition duration-300"},{default:N(()=>i[10]||(i[10]=[V(" 需要取件?点击这里 ")])),_:1})])]),a("div",{class:h(["px-8 py-4 bg-opacity-50 flex justify-between items-center",[l(u)?"bg-gray-800":"bg-gray-100"]])},[a("span",{class:h(["text-sm flex items-center",[l(u)?"text-gray-300":"text-gray-800"]])},[M(l(Te),{class:"w-4 h-4 mr-1 text-green-400"}),i[11]||(i[11]=V(" 安全加密 "))],2),a("button",{onClick:X,class:h(["text-sm hover:text-indigo-300 transition duration-300 flex items-center",[l(u)?"text-indigo-400":"text-indigo-600"]])},[i[12]||(i[12]=V(" 发件记录 ")),M(l(Ie),{class:"w-4 h-4 ml-1"})],2)],2)],2),M(O,{name:"drawer"},{default:N(()=>[C.value?(F(),U("div",{key:0,class:h(["fixed inset-y-0 right-0 w-full sm:w-120 bg-opacity-70 backdrop-filter backdrop-blur-xl shadow-2xl z-50 overflow-hidden flex flex-col",[l(u)?"bg-gray-900":"bg-white"]])},[a("div",{class:h(["flex justify-between items-center p-6 border-b",[l(u)?"border-gray-700":"border-gray-200"]])},[a("h3",{class:h(["text-2xl font-bold",[l(u)?"text-white":"text-gray-800"]])}," 发件记录 ",2),a("button",{onClick:X,class:h(["hover:text-white transition duration-300",[l(u)?"text-gray-400":"text-gray-800"]])},[M(l(Ae),{class:"w-6 h-6"})],2)],2),a("div",it,[M(Me,{name:"list",tag:"div",class:"space-y-4"},{default:N(()=>[(F(!0),U(ee,null,te(w.value,p=>(F(),U("div",{key:p.id,class:h(["bg-opacity-50 rounded-lg p-4 flex items-center shadow-md hover:shadow-lg transition duration-300 transform hover:scale-102",[l(u)?"bg-gray-800 hover:bg-gray-700":"bg-gray-100 hover:bg-white"]])},[a("div",lt,[M(l(oe),{class:h(["w-10 h-10",[l(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])]),a("div",ut,[a("p",{class:h(["font-medium text-lg truncate",[l(u)?"text-white":"text-gray-800"]])},$(p.filename?p.filename:"Text"),3),a("p",{class:h(["text-sm truncate",[l(u)?"text-gray-400":"text-gray-600"]])},$(p.date)+" · "+$(p.size),3)]),a("div",ct,[a("button",{onClick:T=>l(ne)(p.retrieveCode),class:h(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[l(u)?"hover:bg-blue-400 text-blue-400":"hover:bg-blue-100 text-blue-600"]])},[M(l(De),{class:"w-5 h-5"})],10,dt),a("button",{onClick:T=>he(p),class:h(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[l(u)?"hover:bg-green-400 text-green-400":"hover:bg-green-100 text-green-600"]])},[M(l(ke),{class:"w-5 h-5"})],10,ft),a("button",{onClick:T=>ge(p.id),class:h(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[l(u)?"hover:bg-red-400 text-red-400":"hover:bg-red-100 text-red-600"]])},[M(l(ze),{class:"w-5 h-5"})],10,ht)])],2))),128))]),_:1})])],2)):q("",!0)]),_:1}),M(O,{name:"fade"},{default:N(()=>[I.value?(F(),U("div",gt,[a("div",{class:h(["p-8 rounded-2xl max-w-md w-full mx-4 shadow-2xl transform transition-all duration-300 ease-out backdrop-filter backdrop-blur-lg bg-opacity-70",[l(u)?"bg-gray-800":"bg-white"]])},[a("h3",{class:h(["text-2xl font-bold mb-6",[l(u)?"text-white":"text-gray-800"]])}," 文件详情 ",2),a("div",pt,[a("div",yt,[M(l(oe),{class:h(["w-6 h-6 mr-3",[l(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:h([l(u)?"text-gray-300":"text-gray-800"])},[i[13]||(i[13]=a("span",{class:"font-medium"},"文件名:",-1)),V($(I.value.filename),1)],2)]),a("div",vt,[M(l(Ue),{class:h(["w-6 h-6 mr-3",[l(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:h([l(u)?"text-gray-300":"text-gray-800"])},[i[14]||(i[14]=a("span",{class:"font-medium"},"发送日期:",-1)),V($(I.value.date),1)],2)]),a("div",xt,[M(l($e),{class:h(["w-6 h-6 mr-3",[l(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:h([l(u)?"text-gray-300":"text-gray-800"])},[i[15]||(i[15]=a("span",{class:"font-medium"},"文件大小:",-1)),V($(I.value.size),1)],2)]),a("div",bt,[M(l(Pe),{class:h(["w-6 h-6 mr-3",[l(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:h([l(u)?"text-gray-300":"text-gray-800"])},[i[16]||(i[16]=a("span",{class:"font-medium"},"过期时间:",-1)),V($(I.value.expiration),1)],2)])]),a("div",mt,[a("div",wt,[a("h4",{class:h(["text-lg font-semibold mb-3",[l(u)?"text-white":"text-gray-800"]])}," 取件码 ",2),a("div",{class:"bg-gray-100 p-3 rounded-lg shadow-md cursor-pointer hover:bg-gray-200 transition-colors duration-300 w-full text-center",onClick:i[6]||(i[6]=p=>l(Ne)(I.value.retrieveCode))},[a("p",_t,$(I.value.retrieveCode),1)]),a("p",{class:h(["mt-2 text-sm",[l(u)?"text-gray-400":"text-gray-600"]])}," 点击复制取件码 ",2)]),a("div",Ct,[a("h4",{class:h(["text-lg font-semibold mb-3",[l(u)?"text-white":"text-gray-800"]])}," 二维码 ",2),a("div",At,[M(Fe,{value:ye(I.value),size:128,level:"M"},null,8,["value"])]),a("p",{class:h(["mt-2 text-sm",[l(u)?"text-gray-400":"text-gray-600"]])}," 扫描二维码快速取件 ",2)])]),a("button",{onClick:i[7]||(i[7]=p=>I.value=null),class:"mt-8 w-full bg-gradient-to-r from-indigo-500 to-purple-600 text-white px-6 py-3 rounded-lg font-medium hover:from-indigo-600 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition duration-300 transform hover:scale-105"}," 关闭 ")],2)])):q("",!0)]),_:1})])}}}),kt=ie(Mt,[["__scopeId","data-v-f88861ef"]]);export{kt as default}; diff --git a/themes/2024/assets/SendFileView-CqS6mq2M.css b/themes/2024/assets/SendFileView-CqS6mq2M.css deleted file mode 100644 index 4d3313c..0000000 --- a/themes/2024/assets/SendFileView-CqS6mq2M.css +++ /dev/null @@ -1 +0,0 @@ -.border-progress-container[data-v-2fbf5085]{position:relative;width:100%;height:100%}.border-progress-canvas[data-v-2fbf5085]{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.fade-enter-active[data-v-f88861ef],.fade-leave-active[data-v-f88861ef]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-f88861ef],.fade-leave-to[data-v-f88861ef]{opacity:0;transform:translateY(10px)}@media (min-width: 640px){.sm\:w-120[data-v-f88861ef]{width:30rem}}.fade-enter-to[data-v-f88861ef],.fade-leave-from[data-v-f88861ef]{opacity:1;transform:translateY(0)}.drawer-enter-active[data-v-f88861ef],.drawer-leave-active[data-v-f88861ef]{transition:transform .3s ease}.drawer-enter-from[data-v-f88861ef],.drawer-leave-to[data-v-f88861ef]{transform:translate(100%)}.list-enter-active[data-v-f88861ef],.list-leave-active[data-v-f88861ef]{transition:all .5s ease}.list-enter-from[data-v-f88861ef],.list-leave-to[data-v-f88861ef]{opacity:0;transform:translate(30px)} diff --git a/themes/2024/assets/SendFileView-D4o7eZLc.css b/themes/2024/assets/SendFileView-D4o7eZLc.css new file mode 100644 index 0000000..f77415b --- /dev/null +++ b/themes/2024/assets/SendFileView-D4o7eZLc.css @@ -0,0 +1 @@ +.border-progress-container[data-v-2fbf5085]{position:relative;width:100%;height:100%}.border-progress-canvas[data-v-2fbf5085]{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.fade-enter-active[data-v-ce38a7bd],.fade-leave-active[data-v-ce38a7bd]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-ce38a7bd],.fade-leave-to[data-v-ce38a7bd]{opacity:0;transform:translateY(10px)}@media (min-width: 640px){.sm\:w-120[data-v-ce38a7bd]{width:30rem}}.fade-enter-to[data-v-ce38a7bd],.fade-leave-from[data-v-ce38a7bd]{opacity:1;transform:translateY(0)}.drawer-enter-active[data-v-ce38a7bd],.drawer-leave-active[data-v-ce38a7bd]{transition:transform .3s ease}.drawer-enter-from[data-v-ce38a7bd],.drawer-leave-to[data-v-ce38a7bd]{transform:translate(100%)}.list-enter-active[data-v-ce38a7bd],.list-leave-active[data-v-ce38a7bd]{transition:all .5s ease}.list-enter-from[data-v-ce38a7bd],.list-leave-to[data-v-ce38a7bd]{opacity:0;transform:translate(30px)} diff --git a/themes/2024/assets/SendFileView-DRPDfOMx.js b/themes/2024/assets/SendFileView-DRPDfOMx.js new file mode 100644 index 0000000..24f3a9f --- /dev/null +++ b/themes/2024/assets/SendFileView-DRPDfOMx.js @@ -0,0 +1,21 @@ +import{c as W,B as oe,r as D,o as ne,w as he,d as U,z as F,e as a,_ as se,u as ae,y as ge,i as pe,b as ye,p as ve,f as M,n as f,g as i,h as Q,l as E,k as N,t as P,j as J,v as X,x as K,C as xe,F as Y,q as Z,m as V,X as be,T as me,A as ee}from"./index-Ch_yhQYc.js";import{g as we,u as _e,S as Ce,C as Ae,E as Me,a as Se,Q as Be}from"./_commonjsHelpers-Bz0FHX1E.js";import{F as te}from"./file-CY1Cm1A5.js";import{T as Ie,H as Te}from"./trash-Y8g6Hj4p.js";/** + * @license lucide-vue-next v0.445.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ue=W("ClipboardCopyIcon",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);/** + * @license lucide-vue-next v0.445.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Fe=W("ClockIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + * @license lucide-vue-next v0.445.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const De=W("CloudUploadIcon",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);/** + * @license lucide-vue-next v0.445.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ze=W("SendIcon",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),Pe=oe({__name:"BorderProgressBar",props:{progress:{}},setup(S){const k=S,T=D(null),u=D(null);let d=null;const C=()=>{if(!d||!u.value||!T.value)return;const v=T.value.clientWidth,b=T.value.clientHeight;u.value.width=v,u.value.height=b;const p=4,c=8;d.lineWidth=p;const A=d.createLinearGradient(0,0,v,b);A.addColorStop(0,"#4f46e5"),A.addColorStop(.5,"#7c3aed"),A.addColorStop(1,"#db2777"),d.strokeStyle="rgba(229, 231, 235, 0.2)",w(d,p/2,p/2,v-p,b-p,c),d.stroke();const I=((v+b)*2-8*c+2*Math.PI*c)*k.progress/100;d.strokeStyle=A,d.lineCap="round",d.lineJoin="round",d.beginPath();let y=I;const m=p/2,h=v-p,s=b-p;if(y>0){const n=Math.min(h-2*c,y);d.moveTo(c+m,m),d.lineTo(n+c+m,m),y-=n}if(y>0){const n=Math.min(Math.PI/2,y/c);d.arc(h-c+m,c+m,c,-Math.PI/2,n-Math.PI/2,!1),y-=n*c}if(y>0){const n=Math.min(s-2*c,y);d.lineTo(h+m,n+c+m),y-=n}if(y>0){const n=Math.min(Math.PI/2,y/c);d.arc(h-c+m,s-c+m,c,0,n,!1),y-=n*c}if(y>0){const n=Math.min(h-2*c,y);d.lineTo(h-n-c+m,s+m),y-=n}if(y>0){const n=Math.min(Math.PI/2,y/c);d.arc(c+m,s-c+m,c,Math.PI/2,Math.PI/2+n,!1),y-=n*c}if(y>0){const n=Math.min(s-2*c,y);d.lineTo(m,s-n-c+m),y-=n}if(y>0){const n=Math.min(Math.PI/2,y/c);d.arc(c+m,c+m,c,Math.PI,Math.PI+n,!1)}d.stroke()};function w(v,b,p,c,A,_){v.beginPath(),v.moveTo(b+_,p),v.lineTo(b+c-_,p),v.arcTo(b+c,p,b+c,p+_,_),v.lineTo(b+c,p+A-_),v.arcTo(b+c,p+A,b+c-_,p+A,_),v.lineTo(b+_,p+A),v.arcTo(b,p+A,b,p+A-_,_),v.lineTo(b,p+_),v.arcTo(b,p,b+_,p,_),v.closePath()}return ne(()=>{u.value&&(d=u.value.getContext("2d"),C())}),he(()=>k.progress,C),(v,b)=>(F(),U("div",{class:"border-progress-container",ref_key:"container",ref:T},[a("canvas",{ref_key:"canvas",ref:u,class:"border-progress-canvas"},null,512)],512))}}),ke=se(Pe,[["__scopeId","data-v-2fbf5085"]]);var ie={exports:{}};(function(S,k){(function(T){S.exports=T()})(function(T){var u=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function d(s,n){var t=s[0],e=s[1],o=s[2],r=s[3];t+=(e&o|~e&r)+n[0]-680876936|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[1]-389564586|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[2]+606105819|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[3]-1044525330|0,e=(e<<22|e>>>10)+o|0,t+=(e&o|~e&r)+n[4]-176418897|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[5]+1200080426|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[6]-1473231341|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[7]-45705983|0,e=(e<<22|e>>>10)+o|0,t+=(e&o|~e&r)+n[8]+1770035416|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[9]-1958414417|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[10]-42063|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[11]-1990404162|0,e=(e<<22|e>>>10)+o|0,t+=(e&o|~e&r)+n[12]+1804603682|0,t=(t<<7|t>>>25)+e|0,r+=(t&e|~t&o)+n[13]-40341101|0,r=(r<<12|r>>>20)+t|0,o+=(r&t|~r&e)+n[14]-1502002290|0,o=(o<<17|o>>>15)+r|0,e+=(o&r|~o&t)+n[15]+1236535329|0,e=(e<<22|e>>>10)+o|0,t+=(e&r|o&~r)+n[1]-165796510|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[6]-1069501632|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[11]+643717713|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[0]-373897302|0,e=(e<<20|e>>>12)+o|0,t+=(e&r|o&~r)+n[5]-701558691|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[10]+38016083|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[15]-660478335|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[4]-405537848|0,e=(e<<20|e>>>12)+o|0,t+=(e&r|o&~r)+n[9]+568446438|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[14]-1019803690|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[3]-187363961|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[8]+1163531501|0,e=(e<<20|e>>>12)+o|0,t+=(e&r|o&~r)+n[13]-1444681467|0,t=(t<<5|t>>>27)+e|0,r+=(t&o|e&~o)+n[2]-51403784|0,r=(r<<9|r>>>23)+t|0,o+=(r&e|t&~e)+n[7]+1735328473|0,o=(o<<14|o>>>18)+r|0,e+=(o&t|r&~t)+n[12]-1926607734|0,e=(e<<20|e>>>12)+o|0,t+=(e^o^r)+n[5]-378558|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[8]-2022574463|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[11]+1839030562|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[14]-35309556|0,e=(e<<23|e>>>9)+o|0,t+=(e^o^r)+n[1]-1530992060|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[4]+1272893353|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[7]-155497632|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[10]-1094730640|0,e=(e<<23|e>>>9)+o|0,t+=(e^o^r)+n[13]+681279174|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[0]-358537222|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[3]-722521979|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[6]+76029189|0,e=(e<<23|e>>>9)+o|0,t+=(e^o^r)+n[9]-640364487|0,t=(t<<4|t>>>28)+e|0,r+=(t^e^o)+n[12]-421815835|0,r=(r<<11|r>>>21)+t|0,o+=(r^t^e)+n[15]+530742520|0,o=(o<<16|o>>>16)+r|0,e+=(o^r^t)+n[2]-995338651|0,e=(e<<23|e>>>9)+o|0,t+=(o^(e|~r))+n[0]-198630844|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[7]+1126891415|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[14]-1416354905|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[5]-57434055|0,e=(e<<21|e>>>11)+o|0,t+=(o^(e|~r))+n[12]+1700485571|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[3]-1894986606|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[10]-1051523|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[1]-2054922799|0,e=(e<<21|e>>>11)+o|0,t+=(o^(e|~r))+n[8]+1873313359|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[15]-30611744|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[6]-1560198380|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[13]+1309151649|0,e=(e<<21|e>>>11)+o|0,t+=(o^(e|~r))+n[4]-145523070|0,t=(t<<6|t>>>26)+e|0,r+=(e^(t|~o))+n[11]-1120210379|0,r=(r<<10|r>>>22)+t|0,o+=(t^(r|~e))+n[2]+718787259|0,o=(o<<15|o>>>17)+r|0,e+=(r^(o|~t))+n[9]-343485551|0,e=(e<<21|e>>>11)+o|0,s[0]=t+s[0]|0,s[1]=e+s[1]|0,s[2]=o+s[2]|0,s[3]=r+s[3]|0}function C(s){var n=[],t;for(t=0;t<64;t+=4)n[t>>2]=s.charCodeAt(t)+(s.charCodeAt(t+1)<<8)+(s.charCodeAt(t+2)<<16)+(s.charCodeAt(t+3)<<24);return n}function w(s){var n=[],t;for(t=0;t<64;t+=4)n[t>>2]=s[t]+(s[t+1]<<8)+(s[t+2]<<16)+(s[t+3]<<24);return n}function v(s){var n=s.length,t=[1732584193,-271733879,-1732584194,271733878],e,o,r,B,$,L;for(e=64;e<=n;e+=64)d(t,C(s.substring(e-64,e)));for(s=s.substring(e-64),o=s.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=0;e>2]|=s.charCodeAt(e)<<(e%4<<3);if(r[e>>2]|=128<<(e%4<<3),e>55)for(d(t,r),e=0;e<16;e+=1)r[e]=0;return B=n*8,B=B.toString(16).match(/(.*?)(.{0,8})$/),$=parseInt(B[2],16),L=parseInt(B[1],16)||0,r[14]=$,r[15]=L,d(t,r),t}function b(s){var n=s.length,t=[1732584193,-271733879,-1732584194,271733878],e,o,r,B,$,L;for(e=64;e<=n;e+=64)d(t,w(s.subarray(e-64,e)));for(s=e-64>2]|=s[e]<<(e%4<<3);if(r[e>>2]|=128<<(e%4<<3),e>55)for(d(t,r),e=0;e<16;e+=1)r[e]=0;return B=n*8,B=B.toString(16).match(/(.*?)(.{0,8})$/),$=parseInt(B[2],16),L=parseInt(B[1],16)||0,r[14]=$,r[15]=L,d(t,r),t}function p(s){var n="",t;for(t=0;t<4;t+=1)n+=u[s>>t*8+4&15]+u[s>>t*8&15];return n}function c(s){var n;for(n=0;nr?new ArrayBuffer(0):(B=r-o,$=new ArrayBuffer(B),L=new Uint8Array($),q=new Uint8Array(this,o,B),L.set(q),$)}}();function A(s){return/[\u0080-\uFFFF]/.test(s)&&(s=unescape(encodeURIComponent(s))),s}function _(s,n){var t=s.length,e=new ArrayBuffer(t),o=new Uint8Array(e),r;for(r=0;r>2]|=n.charCodeAt(e)<<(e%4<<3);return this._finish(o,t),r=c(this._hash),s&&(r=m(r)),this.reset(),r},h.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},h.prototype.setState=function(s){return this._buff=s.buff,this._length=s.length,this._hash=s.hash,this},h.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},h.prototype._finish=function(s,n){var t=n,e,o,r;if(s[t>>2]|=128<<(t%4<<3),t>55)for(d(this._hash,s),t=0;t<16;t+=1)s[t]=0;e=this._length*8,e=e.toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(e[2],16),r=parseInt(e[1],16)||0,s[14]=o,s[15]=r,d(this._hash,s)},h.hash=function(s,n){return h.hashBinary(A(s),n)},h.hashBinary=function(s,n){var t=v(s),e=c(t);return n?m(e):e},h.ArrayBuffer=function(){this.reset()},h.ArrayBuffer.prototype.append=function(s){var n=y(this._buff.buffer,s),t=n.length,e;for(this._length+=s.byteLength,e=64;e<=t;e+=64)d(this._hash,w(n.subarray(e-64,e)));return this._buff=e-64>2]|=n[o]<<(o%4<<3);return this._finish(e,t),r=c(this._hash),s&&(r=m(r)),this.reset(),r},h.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.ArrayBuffer.prototype.getState=function(){var s=h.prototype.getState.call(this);return s.buff=I(s.buff),s},h.ArrayBuffer.prototype.setState=function(s){return s.buff=_(s.buff,!0),h.prototype.setState.call(this,s)},h.ArrayBuffer.prototype.destroy=h.prototype.destroy,h.ArrayBuffer.prototype._finish=h.prototype._finish,h.ArrayBuffer.hash=function(s,n){var t=b(new Uint8Array(s)),e=c(t);return n?m(e):e},h})})(ie);var $e=ie.exports;const Le=we($e),le=async(S,k={})=>{const{successMsg:T="复制成功",errorMsg:u="复制失败,请手动复制",showMsg:d=!0}=k,C=ae();try{if(navigator.clipboard&&navigator.clipboard.writeText)return await navigator.clipboard.writeText(S),d&&C.showAlert(T,"success"),!0;const w=document.createElement("textarea");w.value=S,w.style.position="fixed",w.style.opacity="0",document.body.appendChild(w),w.select();const v=document.execCommand("copy");if(document.body.removeChild(w),v)return d&&C.showAlert(T,"success"),!0;throw new Error("execCommand copy failed")}catch(w){return console.error("复制失败:",w),d&&C.showAlert(u,"error"),!1}},re=async S=>{const k=`${window.location.origin}/#/?code=${S}`;return le(k,{successMsg:"取件链接已复制到剪贴板",errorMsg:"复制失败,请手动复制取件链接"})},je=async S=>le(S,{successMsg:"取件码已复制到剪贴板",errorMsg:"复制失败,请手动复制取件码"}),Re=S=>S>=1024*1024*1024?Math.round(S/(1024*1024*1024))+"GB":S>=1024*1024?Math.round(S/(1024*1024))+"MB":Math.round(S/1024)+"KB",Ve={class:"min-h-screen flex items-center justify-center p-4 overflow-hidden transition-colors duration-300"},He={class:"p-8"},Ee={class:"flex justify-center space-x-4 mb-6"},Ne={key:"file",class:"grid grid-cols-1 gap-8"},qe={key:0,class:"absolute inset-0 w-full h-full"},We={class:"block truncate"},Ge={key:"text",class:"grid grid-cols-1 gap-8"},Qe={key:0,class:"flex flex-col"},Je={class:"flex flex-col space-y-4"},Ke=["value"],Oe={key:0,class:"flex items-center space-x-2"},Xe={class:"relative flex-grow"},Ye=["placeholder"],Ze={type:"submit",class:"w-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white font-bold py-4 px-6 rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition-all duration-300 transform hover:scale-105 hover:shadow-lg relative overflow-hidden group"},et={class:"relative z-10 flex items-center justify-center text-lg"},tt={class:"mt-6 text-center"},rt={class:"flex-grow overflow-y-auto p-6"},ot={class:"flex-shrink-0 mr-4"},nt={class:"flex-grow min-w-0 mr-4"},st={class:"flex-shrink-0 flex space-x-2"},at=["onClick"],it=["onClick"],lt=["onClick"],ut={key:0,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50"},ct={class:"space-y-4"},dt={class:"flex items-center"},ft={class:"flex items-center"},ht={class:"flex items-center"},gt={class:"flex items-center"},pt={class:"mt-6 flex justify-between items-center"},yt={class:"flex flex-col items-center w-1/2 pr-2"},vt={class:"text-2xl font-bold text-indigo-600"},xt={class:"flex flex-col items-center w-1/2 pl-2"},bt={class:"bg-white p-2 rounded-lg shadow-md"},mt=oe({__name:"SendFileView",setup(S){const k=JSON.parse(localStorage.getItem("config")||"{}");console.log(k);const T=ge(),u=pe("isDarkMode"),d=_e(),C=D("file"),w=D(null),v=D(""),b=D(null),p=D("day"),c=D("1"),A=D(0),_=D(!1),I=D(null),y=ae(),m=ye(()=>d.shareData),h=D("");D(new Set);const s=()=>{var g;(g=b.value)==null||g.click()},n=async g=>{const l=g.target;l.files&&l.files.length>0&&(w.value=l.files[0],h.value=await e(w.value))},t=async g=>{var l;(l=g.dataTransfer)!=null&&l.files&&g.dataTransfer.files.length>0&&(w.value=g.dataTransfer.files[0],h.value=await e(w.value))},e=async g=>new Promise(l=>{const x=new Le.ArrayBuffer,z=new FileReader;let R=0;const G=Math.ceil(g.size/2097152);z.onload=H=>{x.append(H.target.result),R++,R{const H=R*2097152,fe=H+2097152>=g.size?g.size:H+2097152;z.readAsArrayBuffer(g.slice(H,fe))};O()}),o=(g=p.value)=>{switch(g){case"day":return"输入天数";case"hour":return"输入小时数";case"minute":return"输入分钟数";case"count":return"输入查看次数";case"forever":return"永久";default:return"输入值"}},r=(g=p.value)=>{switch(g){case"day":return"天";case"hour":return"小时";case"minute":return"分钟";case"count":return"次";case"forever":return"永久";default:return""}},B=async()=>{if(C.value==="file"&&!w.value){y.showAlert("请选择要上传的文件","error");return}if(C.value==="text"&&!v.value.trim()){y.showAlert("请输入要发送的文本","error");return}if(p.value!=="forever"&&!c.value){y.showAlert("请输入过期值","error");return}try{let g;const l=new FormData,j=C.value==="file";j?l.append("file",w.value):l.append("text",v.value),p.value!=="forever"&&l.append("expire_value",c.value),l.append("expire_style",p.value);const x={headers:{"Content-Type":"multipart/form-data"},onUploadProgress:z=>{const R=Math.round(z.loaded*100/z.total);A.value=R}};if(j?g=await ee.post("/share/file/",l,x):g=await ee.post("/share/text/",l,x),g&&g.code===200){const z=g.detail.code,R=g.detail.name,G={id:Date.now(),filename:R,date:new Date().toISOString().split("T")[0],size:C.value==="text"?`${(v.value.length/1024).toFixed(2)} KB`:`${(w.value.size/(1024*1024)).toFixed(1)} MB`,expiration:p.value==="forever"?"永久":`${c.value}${r()}后过期`,retrieveCode:z};d.addShareData(G),y.showAlert(`文件发送成功!取件码:${z}`,"success"),w.value=null,v.value="",c.value="",A.value=0,_.value=!0,await re(z)}else throw new Error("服务器响应异常")}catch(g){console.error("发送失败:",g),g.response.data.detail?y.showAlert(g.response.data.detail,"error"):y.showAlert("发送失败,请稍后重试","error")}finally{A.value=0}},$=()=>{T.push("/")},L=()=>{_.value=!_.value},q=g=>{I.value=g},ue=g=>{const l=d.shareData.findIndex(j=>j.id===g);l!==-1&&d.deleteShareData(l)},ce=window.location.origin+"/#/",de=g=>`${ce}?code=${g.retrieveCode}`;return ne(()=>{console.log("SendFileView mounted")}),(g,l)=>{const j=ve("router-link");return F(),U("div",Ve,[a("div",{class:f(["rounded-3xl shadow-2xl overflow-hidden border w-full max-w-md transition-colors duration-300",[i(u)?"bg-white bg-opacity-10 backdrop-filter backdrop-blur-xl border-gray-700":"bg-white border-gray-200"]])},[a("div",He,[a("h2",{class:f(["text-3xl font-extrabold text-center mb-8 cursor-pointer transition-colors duration-300",[i(u)?"text-transparent bg-clip-text bg-gradient-to-r from-indigo-300 via-purple-300 to-pink-300":"text-indigo-600"]]),onClick:$}," FileCodeBox ",2),a("form",{onSubmit:Q(B,["prevent"]),class:"space-y-8"},[a("div",Ee,[a("button",{type:"button",onClick:l[0]||(l[0]=x=>C.value="file"),class:f(["px-4 py-2 rounded-lg",C.value==="file"?"bg-indigo-600 text-white":"bg-gray-700 text-gray-300"])}," 发送文件 ",2),a("button",{type:"button",onClick:l[1]||(l[1]=x=>C.value="text"),class:f(["px-4 py-2 rounded-lg",C.value==="text"?"bg-indigo-600 text-white":"bg-gray-700 text-gray-300"])}," 发送文本 ",2)]),M(K,{name:"fade",mode:"out-in"},{default:E(()=>[C.value==="file"?(F(),U("div",Ne,[a("div",{class:f(["rounded-xl p-8 flex flex-col items-center justify-center border-2 border-dashed transition-all duration-300 group cursor-pointer relative",[i(u)?"bg-gray-800 bg-opacity-50 border-gray-600 hover:border-indigo-500":"bg-gray-100 border-gray-300 hover:border-indigo-500"]]),onClick:s,onDragover:l[2]||(l[2]=Q(()=>{},["prevent"])),onDrop:Q(t,["prevent"])},[a("input",{id:"file-upload",type:"file",class:"hidden",onChange:n,ref_key:"fileInput",ref:b},null,544),A.value>0?(F(),U("div",qe,[M(ke,{progress:A.value},null,8,["progress"])])):N("",!0),M(i(De),{class:f(["w-16 h-16 transition-colors duration-300",i(u)?"text-gray-400 group-hover:text-indigo-400":"text-gray-600 group-hover:text-indigo-600"])},null,8,["class"]),a("p",{class:f(["mt-4 text-sm transition-colors duration-300 w-full text-center",i(u)?"text-gray-400 group-hover:text-indigo-400":"text-gray-600 group-hover:text-indigo-600"])},[a("span",We,P(w.value?w.value.name:"点击或拖放文件到此处上传"),1)],2),a("p",{class:f(["mt-2 text-xs",i(u)?"text-gray-500":"text-gray-400"])}," 支持各种常见格式,最大"+P(i(Re)(i(k).uploadSize)),3)],34)])):(F(),U("div",Ge,[C.value==="text"?(F(),U("div",Qe,[J(a("textarea",{id:"text-content","onUpdate:modelValue":l[3]||(l[3]=x=>v.value=x),rows:"7",class:f(["flex-grow px-4 py-3 rounded-xl placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-300 resize-none",i(u)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"]),placeholder:"在此输入要发送的文本..."},null,2),[[X,v.value]])])):N("",!0)]))]),_:1}),a("div",Je,[a("label",{class:f(["text-sm font-medium",i(u)?"text-gray-300":"text-gray-700"])}," 过期方式 ",2),J(a("select",{"onUpdate:modelValue":l[4]||(l[4]=x=>p.value=x),class:f(["px-4 py-2 rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500",i(u)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"])},[(F(!0),U(Y,null,Z(i(k).expireStyle,x=>(F(),U("option",{value:x,key:x},P(r(x)),9,Ke))),128))],2),[[xe,p.value]]),p.value!=="forever"?(F(),U("div",Oe,[a("div",Xe,[J(a("input",{"onUpdate:modelValue":l[5]||(l[5]=x=>c.value=x),type:"number",placeholder:o(),class:f(["w-full px-4 py-2 pr-16 rounded-xl placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500",i(u)?"bg-gray-800 bg-opacity-50 text-white":"bg-white text-gray-900 border border-gray-300"])},null,10,Ye),[[X,c.value]]),a("span",{class:f(["absolute right-3 top-1/2 transform -translate-y-1/2",i(u)?"text-gray-300":"text-gray-700"])},P(r()),3)])])):N("",!0)]),a("button",Ze,[l[9]||(l[9]=a("span",{class:"absolute top-0 left-0 w-full h-full bg-white opacity-0 group-hover:opacity-20 transition-opacity duration-300"},null,-1)),a("span",et,[M(i(ze),{class:"w-6 h-6 mr-2"}),l[8]||(l[8]=a("span",null,"安全寄送",-1))])])],32),a("div",tt,[M(j,{to:"/",class:"text-indigo-400 hover:text-indigo-300 transition duration-300"},{default:E(()=>l[10]||(l[10]=[V(" 需要取件?点击这里 ")])),_:1})])]),a("div",{class:f(["px-8 py-4 bg-opacity-50 flex justify-between items-center",[i(u)?"bg-gray-800":"bg-gray-100"]])},[a("span",{class:f(["text-sm flex items-center",[i(u)?"text-gray-300":"text-gray-800"]])},[M(i(Ce),{class:"w-4 h-4 mr-1 text-green-400"}),l[11]||(l[11]=V(" 安全加密 "))],2),a("button",{onClick:L,class:f(["text-sm hover:text-indigo-300 transition duration-300 flex items-center",[i(u)?"text-indigo-400":"text-indigo-600"]])},[l[12]||(l[12]=V(" 发件记录 ")),M(i(Ae),{class:"w-4 h-4 ml-1"})],2)],2)],2),M(K,{name:"drawer"},{default:E(()=>[_.value?(F(),U("div",{key:0,class:f(["fixed inset-y-0 right-0 w-full sm:w-120 bg-opacity-70 backdrop-filter backdrop-blur-xl shadow-2xl z-50 overflow-hidden flex flex-col",[i(u)?"bg-gray-900":"bg-white"]])},[a("div",{class:f(["flex justify-between items-center p-6 border-b",[i(u)?"border-gray-700":"border-gray-200"]])},[a("h3",{class:f(["text-2xl font-bold",[i(u)?"text-white":"text-gray-800"]])}," 发件记录 ",2),a("button",{onClick:L,class:f(["hover:text-white transition duration-300",[i(u)?"text-gray-400":"text-gray-800"]])},[M(i(be),{class:"w-6 h-6"})],2)],2),a("div",rt,[M(me,{name:"list",tag:"div",class:"space-y-4"},{default:E(()=>[(F(!0),U(Y,null,Z(m.value,x=>(F(),U("div",{key:x.id,class:f(["bg-opacity-50 rounded-lg p-4 flex items-center shadow-md hover:shadow-lg transition duration-300 transform hover:scale-102",[i(u)?"bg-gray-800 hover:bg-gray-700":"bg-gray-100 hover:bg-white"]])},[a("div",ot,[M(i(te),{class:f(["w-10 h-10",[i(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])]),a("div",nt,[a("p",{class:f(["font-medium text-lg truncate",[i(u)?"text-white":"text-gray-800"]])},P(x.filename?x.filename:"Text"),3),a("p",{class:f(["text-sm truncate",[i(u)?"text-gray-400":"text-gray-600"]])},P(x.date)+" · "+P(x.size),3)]),a("div",st,[a("button",{onClick:z=>i(re)(x.retrieveCode),class:f(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[i(u)?"hover:bg-blue-400 text-blue-400":"hover:bg-blue-100 text-blue-600"]])},[M(i(Ue),{class:"w-5 h-5"})],10,at),a("button",{onClick:z=>q(x),class:f(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[i(u)?"hover:bg-green-400 text-green-400":"hover:bg-green-100 text-green-600"]])},[M(i(Me),{class:"w-5 h-5"})],10,it),a("button",{onClick:z=>ue(x.id),class:f(["p-2 rounded-full hover:bg-opacity-20 transition duration-300",[i(u)?"hover:bg-red-400 text-red-400":"hover:bg-red-100 text-red-600"]])},[M(i(Ie),{class:"w-5 h-5"})],10,lt)])],2))),128))]),_:1})])],2)):N("",!0)]),_:1}),M(K,{name:"fade"},{default:E(()=>[I.value?(F(),U("div",ut,[a("div",{class:f(["p-8 rounded-2xl max-w-md w-full mx-4 shadow-2xl transform transition-all duration-300 ease-out backdrop-filter backdrop-blur-lg bg-opacity-70",[i(u)?"bg-gray-800":"bg-white"]])},[a("h3",{class:f(["text-2xl font-bold mb-6",[i(u)?"text-white":"text-gray-800"]])}," 文件详情 ",2),a("div",ct,[a("div",dt,[M(i(te),{class:f(["w-6 h-6 mr-3",[i(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:f([i(u)?"text-gray-300":"text-gray-800"])},[l[13]||(l[13]=a("span",{class:"font-medium"},"文件名:",-1)),V(P(I.value.filename),1)],2)]),a("div",ft,[M(i(Se),{class:f(["w-6 h-6 mr-3",[i(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:f([i(u)?"text-gray-300":"text-gray-800"])},[l[14]||(l[14]=a("span",{class:"font-medium"},"发送日期:",-1)),V(P(I.value.date),1)],2)]),a("div",ht,[M(i(Te),{class:f(["w-6 h-6 mr-3",[i(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:f([i(u)?"text-gray-300":"text-gray-800"])},[l[15]||(l[15]=a("span",{class:"font-medium"},"文件大小:",-1)),V(P(I.value.size),1)],2)]),a("div",gt,[M(i(Fe),{class:f(["w-6 h-6 mr-3",[i(u)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"]),a("p",{class:f([i(u)?"text-gray-300":"text-gray-800"])},[l[16]||(l[16]=a("span",{class:"font-medium"},"过期时间:",-1)),V(P(I.value.expiration),1)],2)])]),a("div",pt,[a("div",yt,[a("h4",{class:f(["text-lg font-semibold mb-3",[i(u)?"text-white":"text-gray-800"]])}," 取件码 ",2),a("div",{class:"bg-gray-100 p-3 rounded-lg shadow-md cursor-pointer hover:bg-gray-200 transition-colors duration-300 w-full text-center",onClick:l[6]||(l[6]=x=>i(je)(I.value.retrieveCode))},[a("p",vt,P(I.value.retrieveCode),1)]),a("p",{class:f(["mt-2 text-sm",[i(u)?"text-gray-400":"text-gray-600"]])}," 点击复制取件码 ",2)]),a("div",xt,[a("h4",{class:f(["text-lg font-semibold mb-3",[i(u)?"text-white":"text-gray-800"]])}," 二维码 ",2),a("div",bt,[M(Be,{value:de(I.value),size:128,level:"M"},null,8,["value"])]),a("p",{class:f(["mt-2 text-sm",[i(u)?"text-gray-400":"text-gray-600"]])}," 扫描二维码快速取件 ",2)])]),a("button",{onClick:l[7]||(l[7]=x=>I.value=null),class:"mt-8 w-full bg-gradient-to-r from-indigo-500 to-purple-600 text-white px-6 py-3 rounded-lg font-medium hover:from-indigo-600 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-opacity-50 transition duration-300 transform hover:scale-105"}," 关闭 ")],2)])):N("",!0)]),_:1})])}}}),Mt=se(mt,[["__scopeId","data-v-ce38a7bd"]]);export{Mt as default}; diff --git a/themes/2024/assets/SystemSettingsView-DUp8dOrM.js b/themes/2024/assets/SystemSettingsView-DUp8dOrM.js deleted file mode 100644 index ce463c3..0000000 --- a/themes/2024/assets/SystemSettingsView-DUp8dOrM.js +++ /dev/null @@ -1 +0,0 @@ -import{B as C,r as b,u as B,d as m,e,n as t,g as s,i as M,j as l,v as i,C as v,F as f,q as _,k as F,t as p,A as w,L as A,z as x}from"./index-Dm7yhqOC.js";const z={class:"p-6 h-screen overflow-y-auto custom-scrollbar"},E={class:"space-y-4"},T={class:"grid grid-cols-1 gap-6"},K={class:"space-y-2"},j={class:"space-y-2"},I={class:"space-y-2"},G={class:"relative"},N={class:"space-y-2"},L={class:"space-y-2"},R=["value"],$={class:"space-y-2"},q={class:"grid grid-cols-1 gap-6 mt-8"},H={class:"space-y-2"},J={class:"space-y-2"},O={class:"mt-8"},P={class:"space-y-4"},Q={class:"space-y-2"},W={key:0,class:"space-y-4"},X={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Y={class:"space-y-2"},Z={class:"space-y-2"},ee={class:"space-y-2"},oe={class:"space-y-2"},re={class:"space-y-2"},te={class:"space-y-2"},ae={class:"space-y-2"},se={class:"space-y-2"},ne={class:"flex items-center"},le=["aria-checked"],ie={class:"mt-8"},de={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},ue={class:"space-y-2"},ge={class:"flex items-center space-x-2"},ce={class:"space-y-2"},ye={class:"flex items-center space-x-2"},pe={class:"space-y-2"},be={class:"flex items-center space-x-2"},me={class:"space-y-2"},ve={class:"flex flex-wrap gap-3"},xe=["value"],he={class:"space-y-2"},fe={class:"flex items-center space-x-2"},_e={class:"space-y-2"},we={class:"flex items-center"},ke=["aria-checked"],Ue={class:"mt-8"},Se={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Ve={class:"space-y-2"},De={class:"flex items-center space-x-2"},Ce={class:"space-y-2"},Be={class:"flex items-center space-x-2"},Ae=C({__name:"SystemSettingsView",setup(Me){const a=M("isDarkMode"),n=b({name:"",description:"",file_storage:"",themesChoices:[],expireStyle:[],admin_token:"",robotsText:"",keywords:"",notify_title:"",notify_content:"",openUpload:1,uploadSize:1,uploadMinute:1,max_save_seconds:0,opacity:.9,s3_access_key_id:"",background:"",showAdminAddr:0,page_explain:"",s3_secret_access_key:"",aws_session_token:"",s3_signature_version:"",s3_region_name:"",s3_bucket_name:"",s3_endpoint_url:"",s3_hostname:"",uploadCount:1,errorMinute:1,errorCount:1,s3_proxy:0,themesSelect:""}),c=b(1),y=b("MB"),u=b(1),g=b("天"),k=(d,o)=>d*{秒:1,分:60,时:3600,天:86400}[o],U=()=>{w({url:"/admin/config/get",method:"get"}).then(d=>{n.value=d.detail;let o=n.value.uploadSize;o>=1024*1024*1024?(c.value=Math.round(o/(1024*1024*1024)),y.value="GB"):o>=1024*1024?(c.value=Math.round(o/(1024*1024)),y.value="MB"):(c.value=Math.round(o/1024),y.value="KB");let r=n.value.max_save_seconds;r===0?(u.value=7,g.value="天"):r%86400===0&&r>=86400?(u.value=r/86400,g.value="天"):r%3600===0&&r>=3600?(u.value=r/3600,g.value="时"):r%60===0&&r>=60?(u.value=r/60,g.value="分"):(u.value=r,g.value="秒")})},h=B(),S=(d,o)=>d*{KB:1024,MB:1048576,GB:1073741824}[o],V=()=>{const d={...n.value};d.uploadSize=S(c.value,y.value),u.value===0?d.max_save_seconds=7*86400:d.max_save_seconds=k(u.value,g.value),w({url:"/admin/config/update",method:"patch",data:d}).then(o=>{o.code==200?h.showAlert("保存成功","success"):h.showAlert(o.message,"error")})};return U(),(d,o)=>(x(),m("div",z,[e("h2",{class:t(["text-2xl font-bold mb-6",[s(a)?"text-white":"text-gray-800"]])}," 系统设置 ",2),e("div",{class:t(["space-y-6 rounded-lg shadow-md p-6",[s(a)?"bg-gray-800 bg-opacity-70":"bg-white"]])},[e("section",E,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 基本设置 ",2),e("div",T,[e("div",K,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 网站名称 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[0]||(o[0]=r=>n.value.name=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.name]])]),e("div",j,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 网站描述 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[1]||(o[1]=r=>n.value.description=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.description]])]),e("div",I,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 管理员密码 ",2),e("div",G,[l(e("input",{type:"password","onUpdate:modelValue":o[2]||(o[2]=r=>n.value.admin_token=r),placeholder:"留空则不修改密码",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.admin_token]]),e("div",{class:t(["absolute inset-y-0 right-0 flex items-center pr-3 text-sm text-gray-400",[s(a)?"text-gray-500":"text-gray-400"]])},o[27]||(o[27]=[e("span",{class:"text-xs"},"留空则不修改",-1)]),2)])]),e("div",N,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 关键词 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[3]||(o[3]=r=>n.value.keywords=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.keywords]])]),e("div",L,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 主题选择 ",2),l(e("select",{"onUpdate:modelValue":o[4]||(o[4]=r=>n.value.themesSelect=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border appearance-none bg-no-repeat bg-right focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none cursor-pointer",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]]),style:{"background-image":"url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7%208l3%203%203-3%22%20stroke%3D%22%236B7280%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E')"}},[(x(!0),m(f,null,_(n.value.themesChoices,r=>(x(),m("option",{value:r.key,key:r.key},p(r.name)+" (by "+p(r.author)+" V"+p(r.version)+") ",9,R))),128))],2),[[v,n.value.themesSelect]])]),e("div",$,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," Robots.txt ",2),l(e("textarea",{"onUpdate:modelValue":o[5]||(o[5]=r=>n.value.robotsText=r),rows:"3",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border resize-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.robotsText]])])]),e("div",q,[e("div",H,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 通知标题 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[6]||(o[6]=r=>n.value.notify_title=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.notify_title]])]),e("div",J,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 通知内容 ",2),l(e("textarea",{"onUpdate:modelValue":o[7]||(o[7]=r=>n.value.notify_content=r),rows:"3",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border resize-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.notify_content]])])]),e("div",O,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 存储设置 ",2),e("div",P,[e("div",Q,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 存储方式 ",2),l(e("select",{"onUpdate:modelValue":o[8]||(o[8]=r=>n.value.file_storage=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border appearance-none bg-no-repeat bg-right focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none cursor-pointer",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]]),style:{"background-image":"url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7%208l3%203%203-3%22%20stroke%3D%22%236B7280%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E')"}},o[28]||(o[28]=[e("option",{value:"local"},"本地存储",-1),e("option",{value:"s3"},"S3 存储",-1)]),2),[[v,n.value.file_storage]])]),n.value.file_storage==="s3"?(x(),m("div",W,[e("div",X,[e("div",Y,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 AccessKeyId ",2),l(e("input",{type:"text","onUpdate:modelValue":o[9]||(o[9]=r=>n.value.s3_access_key_id=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_access_key_id]])]),e("div",Z,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 SecretAccessKey ",2),l(e("input",{type:"password","onUpdate:modelValue":o[10]||(o[10]=r=>n.value.s3_secret_access_key=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_secret_access_key]])]),e("div",ee,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 BucketName ",2),l(e("input",{type:"text","onUpdate:modelValue":o[11]||(o[11]=r=>n.value.s3_bucket_name=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_bucket_name]])]),e("div",oe,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 EndpointUrl ",2),l(e("input",{type:"text","onUpdate:modelValue":o[12]||(o[12]=r=>n.value.s3_endpoint_url=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_endpoint_url]])]),e("div",re,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 Region Name ",2),l(e("input",{type:"text","onUpdate:modelValue":o[13]||(o[13]=r=>n.value.s3_region_name=r),placeholder:"auto",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_region_name]])]),e("div",te,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 Signature Version ",2),l(e("select",{"onUpdate:modelValue":o[14]||(o[14]=r=>n.value.s3_signature_version=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},o[29]||(o[29]=[e("option",{value:"s3v2"},"S3v2",-1),e("option",{value:"s3v4"},"S3v4",-1)]),2),[[v,n.value.s3_signature_version]])]),e("div",ae,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 Hostname ",2),l(e("input",{type:"text","onUpdate:modelValue":o[15]||(o[15]=r=>n.value.s3_hostname=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_hostname]])]),e("div",se,[e("label",{class:t(["block text-sm font-medium mb-2",[s(a)?"text-gray-300":"text-gray-700"]])}," 启用代理 ",2),e("div",ne,[e("button",{type:"button",onClick:o[16]||(o[16]=r=>n.value.s3_proxy=n.value.s3_proxy===1?0:1),class:t(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[n.value.s3_proxy===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":n.value.s3_proxy===1},[e("span",{class:t(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[n.value.s3_proxy===1?"translate-x-5":"translate-x-0",s(a)&&n.value.s3_proxy!==1?"bg-gray-100":"bg-white"]])},null,2)],10,le),e("span",{class:t(["ml-3 text-sm",[s(a)?"text-gray-300":"text-gray-700"]])},p(n.value.s3_proxy===1?"已开启":"已关闭"),3)])])])])):F("",!0)])]),e("div",ie,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 上传限制 ",2),e("div",de,[e("div",ue,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 每分钟上传限制 ",2),e("div",ge,[l(e("input",{type:"number","onUpdate:modelValue":o[17]||(o[17]=r=>n.value.uploadMinute=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.uploadMinute]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"分钟",2)])]),e("div",ce,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 上传数量限制 ",2),e("div",ye,[l(e("input",{type:"number","onUpdate:modelValue":o[18]||(o[18]=r=>n.value.uploadCount=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.uploadCount]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"个文件",2)])]),e("div",pe,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 文件大小限制 ",2),e("div",be,[l(e("input",{type:"number","onUpdate:modelValue":o[19]||(o[19]=r=>c.value=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,c.value]]),l(e("select",{"onUpdate:modelValue":o[20]||(o[20]=r=>y.value=r),class:t(["rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},o[30]||(o[30]=[e("option",{value:"KB"},"KB",-1),e("option",{value:"MB"},"MB",-1),e("option",{value:"GB"},"GB",-1)]),2),[[v,y.value]])])]),e("div",me,[e("label",{class:t(["block text-sm font-medium mb-2",[s(a)?"text-gray-300":"text-gray-700"]])}," 过期方式 ",2),e("div",ve,[(x(),m(f,null,_(["day","hour","minute","forever","count"],r=>e("label",{key:r,class:"relative inline-flex items-center group cursor-pointer"},[l(e("input",{type:"checkbox",value:r,"onUpdate:modelValue":o[21]||(o[21]=D=>n.value.expireStyle=D),class:"peer sr-only"},null,8,xe),[[A,n.value.expireStyle]]),e("div",{class:t(["px-4 py-2 rounded-full border-2 transition-all duration-200 select-none",[n.value.expireStyle.includes(r)?(s(a),"bg-indigo-600 border-indigo-600 text-white"):s(a)?"bg-gray-700 border-gray-600 text-gray-300 hover:border-indigo-500":"bg-white border-gray-300 text-gray-700 hover:border-indigo-500"]])},p({day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"}[r]),3)])),64))])]),e("div",he,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 最长保存时间 ",2),e("div",fe,[l(e("input",{type:"number","onUpdate:modelValue":o[22]||(o[22]=r=>u.value=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,u.value]]),l(e("select",{"onUpdate:modelValue":o[23]||(o[23]=r=>g.value=r),class:t(["rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},o[31]||(o[31]=[e("option",{value:"秒"},"秒",-1),e("option",{value:"分"},"分",-1),e("option",{value:"时"},"时",-1),e("option",{value:"天"},"天",-1)]),2),[[v,g.value]])])]),e("div",_e,[e("label",{class:t(["block text-sm font-medium mb-2",[s(a)?"text-gray-300":"text-gray-700"]])}," 游客上传 ",2),e("div",we,[e("button",{type:"button",onClick:o[24]||(o[24]=r=>n.value.openUpload=n.value.openUpload===1?0:1),class:t(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[n.value.openUpload===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":n.value.openUpload===1},[e("span",{class:t(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[n.value.openUpload===1?"translate-x-5":"translate-x-0",s(a)&&n.value.openUpload!==1?"bg-gray-100":"bg-white"]])},null,2)],10,ke),e("span",{class:t(["ml-3 text-sm",[s(a)?"text-gray-300":"text-gray-700"]])},p(n.value.openUpload===1?"已开启":"已关闭"),3)])])])]),e("div",Ue,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 错误限制 ",2),e("div",Se,[e("div",Ve,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 每分钟错误限制 ",2),e("div",De,[l(e("input",{type:"number","onUpdate:modelValue":o[25]||(o[25]=r=>n.value.errorMinute=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.errorMinute]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"分钟",2)])]),e("div",Ce,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 错误次数限制 ",2),e("div",Be,[l(e("input",{type:"number","onUpdate:modelValue":o[26]||(o[26]=r=>n.value.errorCount=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.errorCount]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"次",2)])])])]),e("div",{class:"flex justify-end mt-8"},[e("button",{onClick:V,class:"px-4 py-2 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transition-colors duration-200"}," 保存设置 ")])])],2)]))}});export{Ae as default}; diff --git a/themes/2024/assets/SystemSettingsView-UJvuI7eX.js b/themes/2024/assets/SystemSettingsView-UJvuI7eX.js new file mode 100644 index 0000000..f04d567 --- /dev/null +++ b/themes/2024/assets/SystemSettingsView-UJvuI7eX.js @@ -0,0 +1 @@ +import{B as C,r as b,u as B,d as m,e,n as t,g as s,i as M,j as l,v as i,C as v,F as f,q as _,k as F,t as p,A as w,L as A,z as x}from"./index-Ch_yhQYc.js";const z={class:"p-6 h-screen overflow-y-auto custom-scrollbar"},E={class:"space-y-4"},T={class:"grid grid-cols-1 gap-6"},K={class:"space-y-2"},j={class:"space-y-2"},I={class:"space-y-2"},G={class:"relative"},N={class:"space-y-2"},L={class:"space-y-2"},R=["value"],$={class:"space-y-2"},q={class:"grid grid-cols-1 gap-6 mt-8"},H={class:"space-y-2"},J={class:"space-y-2"},O={class:"space-y-4"},P={class:"space-y-2"},Q={class:"space-y-4"},W={class:"space-y-2"},X={key:0,class:"space-y-4"},Y={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Z={class:"space-y-2"},ee={class:"space-y-2"},oe={class:"space-y-2"},re={class:"space-y-2"},te={class:"space-y-2"},ae={class:"space-y-2"},se={class:"space-y-2"},ne={class:"space-y-2"},le={class:"flex items-center"},ie=["aria-checked"],de={class:"mt-8"},ue={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},ge={class:"space-y-2"},ce={class:"flex items-center space-x-2"},ye={class:"space-y-2"},pe={class:"flex items-center space-x-2"},be={class:"space-y-2"},me={class:"flex items-center space-x-2"},ve={class:"space-y-2"},xe={class:"flex flex-wrap gap-3"},he=["value"],fe={class:"space-y-2"},_e={class:"flex items-center space-x-2"},we={class:"space-y-2"},ke={class:"flex items-center"},Ue=["aria-checked"],Se={class:"mt-8"},Ve={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},De={class:"space-y-2"},Ce={class:"flex items-center space-x-2"},Be={class:"space-y-2"},Me={class:"flex items-center space-x-2"},ze=C({__name:"SystemSettingsView",setup(Fe){const a=M("isDarkMode"),n=b({name:"",description:"",file_storage:"",themesChoices:[],expireStyle:[],admin_token:"",robotsText:"",keywords:"",notify_title:"",storage_path:"",notify_content:"",openUpload:1,uploadSize:1,uploadMinute:1,max_save_seconds:0,opacity:.9,s3_access_key_id:"",background:"",showAdminAddr:0,page_explain:"",s3_secret_access_key:"",aws_session_token:"",s3_signature_version:"",s3_region_name:"",s3_bucket_name:"",s3_endpoint_url:"",s3_hostname:"",uploadCount:1,errorMinute:1,errorCount:1,s3_proxy:0,themesSelect:""}),c=b(1),y=b("MB"),u=b(1),g=b("天"),k=(d,o)=>d*{秒:1,分:60,时:3600,天:86400}[o],U=()=>{w({url:"/admin/config/get",method:"get"}).then(d=>{n.value=d.detail;let o=n.value.uploadSize;o>=1024*1024*1024?(c.value=Math.round(o/(1024*1024*1024)),y.value="GB"):o>=1024*1024?(c.value=Math.round(o/(1024*1024)),y.value="MB"):(c.value=Math.round(o/1024),y.value="KB");let r=n.value.max_save_seconds;r===0?(u.value=7,g.value="天"):r%86400===0&&r>=86400?(u.value=r/86400,g.value="天"):r%3600===0&&r>=3600?(u.value=r/3600,g.value="时"):r%60===0&&r>=60?(u.value=r/60,g.value="分"):(u.value=r,g.value="秒")})},h=B(),S=(d,o)=>d*{KB:1024,MB:1048576,GB:1073741824}[o],V=()=>{const d={...n.value};d.uploadSize=S(c.value,y.value),u.value===0?d.max_save_seconds=7*86400:d.max_save_seconds=k(u.value,g.value),w({url:"/admin/config/update",method:"patch",data:d}).then(o=>{o.code==200?h.showAlert("保存成功","success"):h.showAlert(o.message,"error")})};return U(),(d,o)=>(x(),m("div",z,[e("h2",{class:t(["text-2xl font-bold mb-6",[s(a)?"text-white":"text-gray-800"]])}," 系统设置 ",2),e("div",{class:t(["space-y-6 rounded-lg shadow-md p-6",[s(a)?"bg-gray-800 bg-opacity-70":"bg-white"]])},[e("section",E,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 基本设置 ",2),e("div",T,[e("div",K,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 网站名称 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[0]||(o[0]=r=>n.value.name=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.name]])]),e("div",j,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 网站描述 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[1]||(o[1]=r=>n.value.description=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.description]])]),e("div",I,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 管理员密码 ",2),e("div",G,[l(e("input",{type:"password","onUpdate:modelValue":o[2]||(o[2]=r=>n.value.admin_token=r),placeholder:"留空则不修改密码",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.admin_token]]),e("div",{class:t(["absolute inset-y-0 right-0 flex items-center pr-3 text-sm text-gray-400",[s(a)?"text-gray-500":"text-gray-400"]])},o[28]||(o[28]=[e("span",{class:"text-xs"},"留空则不修改",-1)]),2)])]),e("div",N,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 关键词 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[3]||(o[3]=r=>n.value.keywords=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.keywords]])]),e("div",L,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 主题选择 ",2),l(e("select",{"onUpdate:modelValue":o[4]||(o[4]=r=>n.value.themesSelect=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border appearance-none bg-no-repeat bg-right focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none cursor-pointer",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]]),style:{"background-image":"url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7%208l3%203%203-3%22%20stroke%3D%22%236B7280%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E')"}},[(x(!0),m(f,null,_(n.value.themesChoices,r=>(x(),m("option",{value:r.key,key:r.key},p(r.name)+" (by "+p(r.author)+" V"+p(r.version)+") ",9,R))),128))],2),[[v,n.value.themesSelect]])]),e("div",$,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," Robots.txt ",2),l(e("textarea",{"onUpdate:modelValue":o[5]||(o[5]=r=>n.value.robotsText=r),rows:"3",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border resize-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.robotsText]])])]),e("div",q,[e("div",H,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 通知标题 ",2),l(e("input",{type:"text","onUpdate:modelValue":o[6]||(o[6]=r=>n.value.notify_title=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.notify_title]])]),e("div",J,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 通知内容 ",2),l(e("textarea",{"onUpdate:modelValue":o[7]||(o[7]=r=>n.value.notify_content=r),rows:"3",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border resize-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.notify_content]])])]),e("div",O,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 存储设置 ",2),e("div",P,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 存储路径 ",2),l(e("input",{type:"text",placeholder:"留空则使用默认路径,可不填写","onUpdate:modelValue":o[8]||(o[8]=r=>n.value.storage_path=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.storage_path]])]),e("div",Q,[e("div",W,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 存储方式 ",2),l(e("select",{"onUpdate:modelValue":o[9]||(o[9]=r=>n.value.file_storage=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border appearance-none bg-no-repeat bg-right focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none cursor-pointer",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]]),style:{"background-image":"url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7%208l3%203%203-3%22%20stroke%3D%22%236B7280%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E')"}},o[29]||(o[29]=[e("option",{value:"local"},"本地存储",-1),e("option",{value:"s3"},"S3 存储",-1)]),2),[[v,n.value.file_storage]])]),n.value.file_storage==="s3"?(x(),m("div",X,[e("div",Y,[e("div",Z,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 AccessKeyId ",2),l(e("input",{type:"text","onUpdate:modelValue":o[10]||(o[10]=r=>n.value.s3_access_key_id=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_access_key_id]])]),e("div",ee,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 SecretAccessKey ",2),l(e("input",{type:"password","onUpdate:modelValue":o[11]||(o[11]=r=>n.value.s3_secret_access_key=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_secret_access_key]])]),e("div",oe,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 BucketName ",2),l(e("input",{type:"text","onUpdate:modelValue":o[12]||(o[12]=r=>n.value.s3_bucket_name=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_bucket_name]])]),e("div",re,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 EndpointUrl ",2),l(e("input",{type:"text","onUpdate:modelValue":o[13]||(o[13]=r=>n.value.s3_endpoint_url=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_endpoint_url]])]),e("div",te,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 Region Name ",2),l(e("input",{type:"text","onUpdate:modelValue":o[14]||(o[14]=r=>n.value.s3_region_name=r),placeholder:"auto",class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_region_name]])]),e("div",ae,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 Signature Version ",2),l(e("select",{"onUpdate:modelValue":o[15]||(o[15]=r=>n.value.s3_signature_version=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},o[30]||(o[30]=[e("option",{value:"s3v2"},"S3v2",-1),e("option",{value:"s3v4"},"S3v4",-1)]),2),[[v,n.value.s3_signature_version]])]),e("div",se,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," S3 Hostname ",2),l(e("input",{type:"text","onUpdate:modelValue":o[16]||(o[16]=r=>n.value.s3_hostname=r),class:t(["w-full rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.s3_hostname]])]),e("div",ne,[e("label",{class:t(["block text-sm font-medium mb-2",[s(a)?"text-gray-300":"text-gray-700"]])}," 启用代理 ",2),e("div",le,[e("button",{type:"button",onClick:o[17]||(o[17]=r=>n.value.s3_proxy=n.value.s3_proxy===1?0:1),class:t(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[n.value.s3_proxy===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":n.value.s3_proxy===1},[e("span",{class:t(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[n.value.s3_proxy===1?"translate-x-5":"translate-x-0",s(a)&&n.value.s3_proxy!==1?"bg-gray-100":"bg-white"]])},null,2)],10,ie),e("span",{class:t(["ml-3 text-sm",[s(a)?"text-gray-300":"text-gray-700"]])},p(n.value.s3_proxy===1?"已开启":"已关闭"),3)])])])])):F("",!0)])]),e("div",de,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 上传限制 ",2),e("div",ue,[e("div",ge,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 每分钟上传限制 ",2),e("div",ce,[l(e("input",{type:"number","onUpdate:modelValue":o[18]||(o[18]=r=>n.value.uploadMinute=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.uploadMinute]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"分钟",2)])]),e("div",ye,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 上传数量限制 ",2),e("div",pe,[l(e("input",{type:"number","onUpdate:modelValue":o[19]||(o[19]=r=>n.value.uploadCount=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.uploadCount]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"个文件",2)])]),e("div",be,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 文件大小限制 ",2),e("div",me,[l(e("input",{type:"number","onUpdate:modelValue":o[20]||(o[20]=r=>c.value=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,c.value]]),l(e("select",{"onUpdate:modelValue":o[21]||(o[21]=r=>y.value=r),class:t(["rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},o[31]||(o[31]=[e("option",{value:"KB"},"KB",-1),e("option",{value:"MB"},"MB",-1),e("option",{value:"GB"},"GB",-1)]),2),[[v,y.value]])])]),e("div",ve,[e("label",{class:t(["block text-sm font-medium mb-2",[s(a)?"text-gray-300":"text-gray-700"]])}," 过期方式 ",2),e("div",xe,[(x(),m(f,null,_(["day","hour","minute","forever","count"],r=>e("label",{key:r,class:"relative inline-flex items-center group cursor-pointer"},[l(e("input",{type:"checkbox",value:r,"onUpdate:modelValue":o[22]||(o[22]=D=>n.value.expireStyle=D),class:"peer sr-only"},null,8,he),[[A,n.value.expireStyle]]),e("div",{class:t(["px-4 py-2 rounded-full border-2 transition-all duration-200 select-none",[n.value.expireStyle.includes(r)?(s(a),"bg-indigo-600 border-indigo-600 text-white"):s(a)?"bg-gray-700 border-gray-600 text-gray-300 hover:border-indigo-500":"bg-white border-gray-300 text-gray-700 hover:border-indigo-500"]])},p({day:"按天",hour:"按小时",minute:"按分钟",forever:"永久",count:"按次数"}[r]),3)])),64))])]),e("div",fe,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 最长保存时间 ",2),e("div",_e,[l(e("input",{type:"number","onUpdate:modelValue":o[23]||(o[23]=r=>u.value=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,u.value]]),l(e("select",{"onUpdate:modelValue":o[24]||(o[24]=r=>g.value=r),class:t(["rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white hover:border-gray-500":"border-gray-300 hover:border-gray-400"]])},o[32]||(o[32]=[e("option",{value:"秒"},"秒",-1),e("option",{value:"分"},"分",-1),e("option",{value:"时"},"时",-1),e("option",{value:"天"},"天",-1)]),2),[[v,g.value]])])]),e("div",we,[e("label",{class:t(["block text-sm font-medium mb-2",[s(a)?"text-gray-300":"text-gray-700"]])}," 游客上传 ",2),e("div",ke,[e("button",{type:"button",onClick:o[25]||(o[25]=r=>n.value.openUpload=n.value.openUpload===1?0:1),class:t(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",[n.value.openUpload===1?"bg-indigo-600":"bg-gray-200"]]),role:"switch","aria-checked":n.value.openUpload===1},[e("span",{class:t(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[n.value.openUpload===1?"translate-x-5":"translate-x-0",s(a)&&n.value.openUpload!==1?"bg-gray-100":"bg-white"]])},null,2)],10,Ue),e("span",{class:t(["ml-3 text-sm",[s(a)?"text-gray-300":"text-gray-700"]])},p(n.value.openUpload===1?"已开启":"已关闭"),3)])])])]),e("div",Se,[e("h3",{class:t(["text-lg font-medium mb-4",[s(a)?"text-white":"text-gray-800"]])}," 错误限制 ",2),e("div",Ve,[e("div",De,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 每分钟错误限制 ",2),e("div",Ce,[l(e("input",{type:"number","onUpdate:modelValue":o[26]||(o[26]=r=>n.value.errorMinute=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.errorMinute]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"分钟",2)])]),e("div",Be,[e("label",{class:t(["block text-sm font-medium",[s(a)?"text-gray-300":"text-gray-700"]])}," 错误次数限制 ",2),e("div",Me,[l(e("input",{type:"number","onUpdate:modelValue":o[27]||(o[27]=r=>n.value.errorCount=r),class:t(["w-24 rounded-md shadow-sm px-4 py-2.5 transition-all duration-200 ease-in-out border focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none",[s(a)?"bg-gray-700 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"border-gray-300 hover:border-gray-400 placeholder-gray-500"]])},null,2),[[i,n.value.errorCount]]),e("span",{class:t([s(a)?"text-gray-300":"text-gray-700"])},"次",2)])])])]),e("div",{class:"flex justify-end mt-8"},[e("button",{onClick:V,class:"px-4 py-2 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transition-colors duration-200"}," 保存设置 ")])])],2)]))}});export{ze as default}; diff --git a/themes/2024/assets/_commonjsHelpers-BCjwediS.js b/themes/2024/assets/_commonjsHelpers-Bz0FHX1E.js similarity index 99% rename from themes/2024/assets/_commonjsHelpers-BCjwediS.js rename to themes/2024/assets/_commonjsHelpers-Bz0FHX1E.js index 449be55..f74b457 100644 --- a/themes/2024/assets/_commonjsHelpers-BCjwediS.js +++ b/themes/2024/assets/_commonjsHelpers-Bz0FHX1E.js @@ -1,4 +1,4 @@ -import{c as k,B as F,D as R,r as _,E as K,o as V,F as X,G as x,H as Y}from"./index-Dm7yhqOC.js";/** +import{c as k,B as F,D as R,r as _,E as K,o as V,F as X,G as x,H as Y}from"./index-Ch_yhQYc.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/box-D82IEWOS.js b/themes/2024/assets/box-D_IdGY4o.js similarity index 90% rename from themes/2024/assets/box-D82IEWOS.js rename to themes/2024/assets/box-D_IdGY4o.js index 518c61b..0a903ca 100644 --- a/themes/2024/assets/box-D82IEWOS.js +++ b/themes/2024/assets/box-D_IdGY4o.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Dm7yhqOC.js";/** +import{c as a}from"./index-Ch_yhQYc.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/file-rOVCfWLN.js b/themes/2024/assets/file-CY1Cm1A5.js similarity index 88% rename from themes/2024/assets/file-rOVCfWLN.js rename to themes/2024/assets/file-CY1Cm1A5.js index b0c7438..676e48b 100644 --- a/themes/2024/assets/file-rOVCfWLN.js +++ b/themes/2024/assets/file-CY1Cm1A5.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Dm7yhqOC.js";/** +import{c as a}from"./index-Ch_yhQYc.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/assets/index-Dm7yhqOC.js b/themes/2024/assets/index-Ch_yhQYc.js similarity index 99% rename from themes/2024/assets/index-Dm7yhqOC.js rename to themes/2024/assets/index-Ch_yhQYc.js index c6929fd..1b0cba0 100644 --- a/themes/2024/assets/index-Dm7yhqOC.js +++ b/themes/2024/assets/index-Ch_yhQYc.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RetrievewFileView-B9XfNvQg.js","assets/_commonjsHelpers-BCjwediS.js","assets/box-D82IEWOS.js","assets/file-rOVCfWLN.js","assets/trash-CSx5DaSf.js","assets/RetrievewFileView-Bf7MFUAC.css","assets/SendFileView-Ca-fZPSX.js","assets/SendFileView-CqS6mq2M.css","assets/AdminLayout-CYVTuRyJ.js","assets/AdminLayout-BA8HwEVA.css","assets/DashboardView-hfXRelMZ.js","assets/FileManageView-BpHyAu06.js","assets/LoginView-zsYUSR2Y.js","assets/LoginView-Cf0iN_2x.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RetrievewFileView-DExKIrRO.js","assets/_commonjsHelpers-Bz0FHX1E.js","assets/box-D_IdGY4o.js","assets/file-CY1Cm1A5.js","assets/trash-Y8g6Hj4p.js","assets/RetrievewFileView-Bf7MFUAC.css","assets/SendFileView-DRPDfOMx.js","assets/SendFileView-D4o7eZLc.css","assets/AdminLayout-CGK4cUFs.js","assets/AdminLayout-BA8HwEVA.css","assets/DashboardView-BJPa45w6.js","assets/FileManageView-5nbkRxSF.js","assets/LoginView-B7G0ZQAI.js","assets/LoginView-Cf0iN_2x.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();/** * @vue/shared v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -83,4 +83,4 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RetrievewFileVi `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const s=new this(t);return n.forEach(r=>s.set(r)),s}static accessor(t){const s=(this[hi]=this[hi]={accessors:{}}).accessors,r=this.prototype;function o(i){const l=gn(i);s[l]||(Jh(r,i),s[l]=!0)}return b.isArray(t)?t.forEach(o):o(t),this}};Le.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);b.reduceDescriptors(Le.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});b.freezeMethods(Le);function or(e,t){const n=this||Wn,s=t||n,r=Le.from(s.headers);let o=s.data;return b.forEach(e,function(l){o=l.call(n,o,r.normalize(),t?t.status:void 0)}),r.normalize(),o}function Rc(e){return!!(e&&e.__CANCEL__)}function fn(e,t,n){J.call(this,e??"canceled",J.ERR_CANCELED,t,n),this.name="CanceledError"}b.inherits(fn,J,{__CANCEL__:!0});function Cc(e,t,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new J("Request failed with status code "+n.status,[J.ERR_BAD_REQUEST,J.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Gh(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Xh(e,t){e=e||10;const n=new Array(e),s=new Array(e);let r=0,o=0,i;return t=t!==void 0?t:1e3,function(c){const u=Date.now(),a=s[o];i||(i=u),n[r]=c,s[r]=u;let f=o,p=0;for(;f!==r;)p+=n[f++],f=f%e;if(r=(r+1)%e,r===o&&(o=(o+1)%e),u-i{n=a,r=null,o&&(clearTimeout(o),o=null),e.apply(null,u)};return[(...u)=>{const a=Date.now(),f=a-n;f>=s?i(u,a):(r=u,o||(o=setTimeout(()=>{o=null,i(r)},s-f)))},()=>r&&i(r)]}const gs=(e,t,n=3)=>{let s=0;const r=Xh(50,250);return Qh(o=>{const i=o.loaded,l=o.lengthComputable?o.total:void 0,c=i-s,u=r(c),a=i<=l;s=i;const f={loaded:i,total:l,progress:l?i/l:void 0,bytes:c,rate:u||void 0,estimated:u&&l&&a?(l-i)/u:void 0,event:o,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},pi=(e,t)=>{const n=e!=null;return[s=>t[0]({lengthComputable:n,total:e,loaded:s}),t[1]]},mi=e=>(...t)=>b.asap(()=>e(...t)),Yh=ve.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,ve.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(ve.origin),ve.navigator&&/(msie|trident)/i.test(ve.navigator.userAgent)):()=>!0,Zh=ve.hasStandardBrowserEnv?{write(e,t,n,s,r,o){const i=[e+"="+encodeURIComponent(t)];b.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),b.isString(s)&&i.push("path="+s),b.isString(r)&&i.push("domain="+r),o===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ep(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function tp(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Tc(e,t){return e&&!ep(t)?tp(e,t):t}const gi=e=>e instanceof Le?{...e}:e;function Ut(e,t){t=t||{};const n={};function s(u,a,f,p){return b.isPlainObject(u)&&b.isPlainObject(a)?b.merge.call({caseless:p},u,a):b.isPlainObject(a)?b.merge({},a):b.isArray(a)?a.slice():a}function r(u,a,f,p){if(b.isUndefined(a)){if(!b.isUndefined(u))return s(void 0,u,f,p)}else return s(u,a,f,p)}function o(u,a){if(!b.isUndefined(a))return s(void 0,a)}function i(u,a){if(b.isUndefined(a)){if(!b.isUndefined(u))return s(void 0,u)}else return s(void 0,a)}function l(u,a,f){if(f in t)return s(u,a);if(f in e)return s(void 0,u)}const c={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l,headers:(u,a,f)=>r(gi(u),gi(a),f,!0)};return b.forEach(Object.keys(Object.assign({},e,t)),function(a){const f=c[a]||r,p=f(e[a],t[a],a);b.isUndefined(p)&&f!==l||(n[a]=p)}),n}const Ac=e=>{const t=Ut({},e);let{data:n,withXSRFToken:s,xsrfHeaderName:r,xsrfCookieName:o,headers:i,auth:l}=t;t.headers=i=Le.from(i),t.url=Ec(Tc(t.baseURL,t.url),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let c;if(b.isFormData(n)){if(ve.hasStandardBrowserEnv||ve.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((c=i.getContentType())!==!1){const[u,...a]=c?c.split(";").map(f=>f.trim()).filter(Boolean):[];i.setContentType([u||"multipart/form-data",...a].join("; "))}}if(ve.hasStandardBrowserEnv&&(s&&b.isFunction(s)&&(s=s(t)),s||s!==!1&&Yh(t.url))){const u=r&&o&&Zh.read(o);u&&i.set(r,u)}return t},np=typeof XMLHttpRequest<"u",sp=np&&function(e){return new Promise(function(n,s){const r=Ac(e);let o=r.data;const i=Le.from(r.headers).normalize();let{responseType:l,onUploadProgress:c,onDownloadProgress:u}=r,a,f,p,m,y;function _(){m&&m(),y&&y(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let x=new XMLHttpRequest;x.open(r.method.toUpperCase(),r.url,!0),x.timeout=r.timeout;function A(){if(!x)return;const P=Le.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),j={data:!l||l==="text"||l==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:P,config:e,request:x};Cc(function(z){n(z),_()},function(z){s(z),_()},j),x=null}"onloadend"in x?x.onloadend=A:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(A)},x.onabort=function(){x&&(s(new J("Request aborted",J.ECONNABORTED,e,x)),x=null)},x.onerror=function(){s(new J("Network Error",J.ERR_NETWORK,e,x)),x=null},x.ontimeout=function(){let L=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const j=r.transitional||Sc;r.timeoutErrorMessage&&(L=r.timeoutErrorMessage),s(new J(L,j.clarifyTimeoutError?J.ETIMEDOUT:J.ECONNABORTED,e,x)),x=null},o===void 0&&i.setContentType(null),"setRequestHeader"in x&&b.forEach(i.toJSON(),function(L,j){x.setRequestHeader(j,L)}),b.isUndefined(r.withCredentials)||(x.withCredentials=!!r.withCredentials),l&&l!=="json"&&(x.responseType=r.responseType),u&&([p,y]=gs(u,!0),x.addEventListener("progress",p)),c&&x.upload&&([f,m]=gs(c),x.upload.addEventListener("progress",f),x.upload.addEventListener("loadend",m)),(r.cancelToken||r.signal)&&(a=P=>{x&&(s(!P||P.type?new fn(null,e,x):P),x.abort(),x=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const C=Gh(r.url);if(C&&ve.protocols.indexOf(C)===-1){s(new J("Unsupported protocol "+C+":",J.ERR_BAD_REQUEST,e));return}x.send(o||null)})},rp=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let s=new AbortController,r;const o=function(u){if(!r){r=!0,l();const a=u instanceof Error?u:this.reason;s.abort(a instanceof J?a:new fn(a instanceof Error?a.message:a))}};let i=t&&setTimeout(()=>{i=null,o(new J(`timeout ${t} of ms exceeded`,J.ETIMEDOUT))},t);const l=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));const{signal:c}=s;return c.unsubscribe=()=>b.asap(l),c}},op=function*(e,t){let n=e.byteLength;if(n{const r=ip(e,t);let o=0,i,l=c=>{i||(i=!0,s&&s(c))};return new ReadableStream({async pull(c){try{const{done:u,value:a}=await r.next();if(u){l(),c.close();return}let f=a.byteLength;if(n){let p=o+=f;n(p)}c.enqueue(new Uint8Array(a))}catch(u){throw l(u),u}},cancel(c){return l(c),r.return()}},{highWaterMark:2})},Bs=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Oc=Bs&&typeof ReadableStream=="function",cp=Bs&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Pc=(e,...t)=>{try{return!!e(...t)}catch{return!1}},ap=Oc&&Pc(()=>{let e=!1;const t=new Request(ve.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),bi=64*1024,Cr=Oc&&Pc(()=>b.isReadableStream(new Response("").body)),ys={stream:Cr&&(e=>e.body)};Bs&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!ys[t]&&(ys[t]=b.isFunction(e[t])?n=>n[t]():(n,s)=>{throw new J(`Response type '${t}' is not supported`,J.ERR_NOT_SUPPORT,s)})})})(new Response);const up=async e=>{if(e==null)return 0;if(b.isBlob(e))return e.size;if(b.isSpecCompliantForm(e))return(await new Request(ve.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(b.isArrayBufferView(e)||b.isArrayBuffer(e))return e.byteLength;if(b.isURLSearchParams(e)&&(e=e+""),b.isString(e))return(await cp(e)).byteLength},fp=async(e,t)=>{const n=b.toFiniteNumber(e.getContentLength());return n??up(t)},dp=Bs&&(async e=>{let{url:t,method:n,data:s,signal:r,cancelToken:o,timeout:i,onDownloadProgress:l,onUploadProgress:c,responseType:u,headers:a,withCredentials:f="same-origin",fetchOptions:p}=Ac(e);u=u?(u+"").toLowerCase():"text";let m=rp([r,o&&o.toAbortSignal()],i),y;const _=m&&m.unsubscribe&&(()=>{m.unsubscribe()});let x;try{if(c&&ap&&n!=="get"&&n!=="head"&&(x=await fp(a,s))!==0){let j=new Request(t,{method:"POST",body:s,duplex:"half"}),X;if(b.isFormData(s)&&(X=j.headers.get("content-type"))&&a.setContentType(X),j.body){const[z,V]=pi(x,gs(mi(c)));s=yi(j.body,bi,z,V)}}b.isString(f)||(f=f?"include":"omit");const A="credentials"in Request.prototype;y=new Request(t,{...p,signal:m,method:n.toUpperCase(),headers:a.normalize().toJSON(),body:s,duplex:"half",credentials:A?f:void 0});let C=await fetch(y);const P=Cr&&(u==="stream"||u==="response");if(Cr&&(l||P&&_)){const j={};["status","statusText","headers"].forEach(N=>{j[N]=C[N]});const X=b.toFiniteNumber(C.headers.get("content-length")),[z,V]=l&&pi(X,gs(mi(l),!0))||[];C=new Response(yi(C.body,bi,z,()=>{V&&V(),_&&_()}),j)}u=u||"text";let L=await ys[b.findKey(ys,u)||"text"](C,e);return!P&&_&&_(),await new Promise((j,X)=>{Cc(j,X,{data:L,headers:Le.from(C.headers),status:C.status,statusText:C.statusText,config:e,request:y})})}catch(A){throw _&&_(),A&&A.name==="TypeError"&&/fetch/i.test(A.message)?Object.assign(new J("Network Error",J.ERR_NETWORK,e,y),{cause:A.cause||A}):J.from(A,A&&A.code,e,y)}}),Tr={http:Th,xhr:sp,fetch:dp};b.forEach(Tr,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const _i=e=>`- ${e}`,hp=e=>b.isFunction(e)||e===null||e===!1,Lc={getAdapter:e=>{e=b.isArray(e)?e:[e];const{length:t}=e;let n,s;const r={};for(let o=0;o`adapter ${l} `+(c===!1?"is not supported by the environment":"is not available in the build"));let i=t?o.length>1?`since : `+o.map(_i).join(` `):" "+_i(o[0]):"as no adapter specified";throw new J("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return s},adapters:Tr};function ir(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fn(null,e)}function vi(e){return ir(e),e.headers=Le.from(e.headers),e.data=or.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Lc.getAdapter(e.adapter||Wn.adapter)(e).then(function(s){return ir(e),s.data=or.call(e,e.transformResponse,s),s.headers=Le.from(s.headers),s},function(s){return Rc(s)||(ir(e),s&&s.response&&(s.response.data=or.call(e,e.transformResponse,s.response),s.response.headers=Le.from(s.response.headers))),Promise.reject(s)})}const Ic="1.7.9",$s={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{$s[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});const wi={};$s.transitional=function(t,n,s){function r(o,i){return"[Axios v"+Ic+"] Transitional option '"+o+"'"+i+(s?". "+s:"")}return(o,i,l)=>{if(t===!1)throw new J(r(i," has been removed"+(n?" in "+n:"")),J.ERR_DEPRECATED);return n&&!wi[i]&&(wi[i]=!0,console.warn(r(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,l):!0}};$s.spelling=function(t){return(n,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function pp(e,t,n){if(typeof e!="object")throw new J("options must be an object",J.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let r=s.length;for(;r-- >0;){const o=s[r],i=t[o];if(i){const l=e[o],c=l===void 0||i(l,o,e);if(c!==!0)throw new J("option "+o+" must be "+c,J.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new J("Unknown option "+o,J.ERR_BAD_OPTION)}}const rs={assertOptions:pp,validators:$s},et=rs.validators;let Bt=class{constructor(t){this.defaults=t,this.interceptors={request:new di,response:new di}}async request(t,n){try{return await this._request(t,n)}catch(s){if(s instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const o=r.stack?r.stack.replace(/^.+\n/,""):"";try{s.stack?o&&!String(s.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(s.stack+=` -`+o):s.stack=o}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ut(this.defaults,n);const{transitional:s,paramsSerializer:r,headers:o}=n;s!==void 0&&rs.assertOptions(s,{silentJSONParsing:et.transitional(et.boolean),forcedJSONParsing:et.transitional(et.boolean),clarifyTimeoutError:et.transitional(et.boolean)},!1),r!=null&&(b.isFunction(r)?n.paramsSerializer={serialize:r}:rs.assertOptions(r,{encode:et.function,serialize:et.function},!0)),rs.assertOptions(n,{baseUrl:et.spelling("baseURL"),withXsrfToken:et.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&b.merge(o.common,o[n.method]);o&&b.forEach(["delete","get","head","post","put","patch","common"],y=>{delete o[y]}),n.headers=Le.concat(i,o);const l=[];let c=!0;this.interceptors.request.forEach(function(_){typeof _.runWhen=="function"&&_.runWhen(n)===!1||(c=c&&_.synchronous,l.unshift(_.fulfilled,_.rejected))});const u=[];this.interceptors.response.forEach(function(_){u.push(_.fulfilled,_.rejected)});let a,f=0,p;if(!c){const y=[vi.bind(this),void 0];for(y.unshift.apply(y,l),y.push.apply(y,u),p=y.length,a=Promise.resolve(n);f{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](r);s._listeners=null}),this.promise.then=r=>{let o;const i=new Promise(l=>{s.subscribe(l),o=l}).then(r);return i.cancel=function(){s.unsubscribe(o)},i},t(function(o,i,l){s.reason||(s.reason=new fn(o,i,l),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Nc(function(r){t=r}),cancel:t}}};function gp(e){return function(n){return e.apply(null,n)}}function yp(e){return b.isObject(e)&&e.isAxiosError===!0}const Ar={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ar).forEach(([e,t])=>{Ar[t]=e});function Mc(e){const t=new Bt(e),n=uc(Bt.prototype.request,t);return b.extend(n,Bt.prototype,t,{allOwnKeys:!0}),b.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return Mc(Ut(e,r))},n}const he=Mc(Wn);he.Axios=Bt;he.CanceledError=fn;he.CancelToken=mp;he.isCancel=Rc;he.VERSION=Ic;he.toFormData=js;he.AxiosError=J;he.Cancel=he.CanceledError;he.all=function(t){return Promise.all(t)};he.spread=gp;he.isAxiosError=yp;he.mergeConfig=Ut;he.AxiosHeaders=Le;he.formToJSON=e=>xc(b.isHTMLForm(e)?new FormData(e):e);he.getAdapter=Lc.getAdapter;he.HttpStatusCode=Ar;he.default=he;const{Axios:qp,AxiosError:Kp,CanceledError:Wp,isCancel:zp,CancelToken:Jp,VERSION:Gp,all:Xp,Cancel:Qp,isAxiosError:Yp,spread:Zp,toFormData:em,AxiosHeaders:tm,HttpStatusCode:nm,formToJSON:sm,getAdapter:rm,mergeConfig:om}=he,bp="",kc=bp,Zr=he.create({baseURL:kc,timeout:1e15,headers:{"Content-Type":"application/json"}});Zr.interceptors.request.use(e=>{const t=localStorage.getItem("token");return t&&(e.headers.Authorization=`Bearer ${t}`),e.url&&!e.url.startsWith("http")&&(e.url=`${kc}/${e.url.replace(/^\//,"")}`),e},e=>Promise.reject(e));Zr.interceptors.response.use(e=>e.data,e=>{if(e.response)switch(e.response.status){case 401:console.error("未授权,请重新登录"),localStorage.clear(),window.location.href="/#/login";break;case 403:console.error("禁止访问");break;case 404:console.error("请求的资源不存在");break;default:console.error("发生错误:",e.response.data)}else e.request?console.error("未收到响应:",e.request):console.error("请求配置错误:",e.message);return Promise.reject(e)});const Fc=Cf("alert",{state:()=>({alerts:[]}),actions:{showAlert(e,t="info",n=5e3){const s=Date.now(),r=Date.now();this.alerts.push({id:s,message:e,type:t,progress:100,duration:n,startTime:r}),setTimeout(()=>this.removeAlert(s),n)},removeAlert(e){const t=this.alerts.findIndex(n=>n.id===e);t>-1&&this.alerts.splice(t,1)},updateAlertProgress(e){const t=this.alerts.find(n=>n.id===e);if(t){const s=100-(Date.now()-t.startTime)/t.duration*100;t.progress=Math.max(0,s),t.progress<=0&&this.removeAlert(e)}}}}),_p={class:"p-4"},vp={class:"flex items-start"},wp={class:"flex-shrink-0"},Ep={class:"ml-3 flex-1 pt-0.5"},Sp=["innerHTML"],xp={class:"ml-4 flex-shrink-0 flex"},Rp=["onClick"],Cp={class:"h-1 bg-white bg-opacity-25"},Tp=Vn({__name:"AlertComponent",setup(e){const t=Fc(),{alerts:n}=Tf(t),{removeAlert:s,updateAlertProgress:r}=t,o={success:"from-green-500 to-green-600",error:"from-red-500 to-red-600",warning:"from-yellow-500 to-yellow-600",info:"from-blue-500 to-blue-600"},i={success:kd,error:Bd,warning:Md,info:Fd};let l;return As(()=>{l=setInterval(()=>{n.value.forEach(c=>{r(c.id)})},100)}),qr(()=>{clearInterval(l)}),(c,u)=>(qe(),tn(lf,{name:"alert-fade",tag:"div",class:"fixed top-4 left-4 z-50 w-full sm:max-w-sm md:max-w-md space-y-4 px-4 sm:px-0"},{default:us(()=>[(qe(!0),Nn(He,null,Va(Oe(n),a=>(qe(),Nn("div",{key:a.id,class:an(["w-full rounded-lg shadow-xl overflow-hidden","bg-gradient-to-r",o[a.type]])},[ke("div",_p,[ke("div",vp,[ke("div",wp,[(qe(),tn(ml(i[a.type]),{class:"h-6 w-6 text-white"}))]),ke("div",Ep,[ke("p",{class:"text-sm font-medium text-white",innerHTML:a.message},null,8,Sp)]),ke("div",xp,[ke("button",{onClick:f=>Oe(s)(a.id),class:"inline-flex text-white hover:text-gray-200 focus:outline-none transition-colors duration-200"},[u[0]||(u[0]=ke("span",{class:"sr-only"},"关闭",-1)),me(Oe($d),{class:"h-5 w-5"})],8,Rp)])])]),ke("div",Cp,[ke("div",{class:"h-full bg-white transition-all duration-100 ease-out",style:Es({width:`${a.progress}%`})},null,4)])],2))),128))]),_:1}))}}),Ap=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Op=Ap(Tp,[["__scopeId","data-v-6fdbaa84"]]),Pp={key:0,class:"loading-overlay"},Lp=Vn({__name:"App",setup(e){const t=en(!1),n=en(!1),s=Ld(),r=Fc(),o=()=>window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,i=()=>{const c=localStorage.getItem("colorMode");return c?c==="dark":null},l=c=>{t.value=c,localStorage.setItem("colorMode",c?"dark":"light")};return As(()=>{const c=i();l(c!==null?c:o()),Zr.post("/",{}).then(u=>{u.code===200&&(localStorage.setItem("config",JSON.stringify(u.detail)),u.detail.notify_title&&u.detail.notify_content&&localStorage.getItem("notify")!==u.detail.notify_title+u.detail.notify_content&&(localStorage.setItem("notify",u.detail.notify_title+u.detail.notify_content),r.showAlert(u.detail.notify_title+": "+u.detail.notify_content,"success")))})}),fu(()=>{document.documentElement.classList.toggle("dark",t.value)}),s.beforeEach((c,u,a)=>{n.value=!0,a()}),s.afterEach(()=>{setTimeout(()=>{n.value=!1},200)}),jt("isDarkMode",t),jt("setColorMode",l),jt("isLoading",n),(c,u)=>(qe(),Nn("div",{class:an(["app-container",t.value?"dark":"light"])},[me(Hd,{modelValue:t.value,"onUpdate:modelValue":u[0]||(u[0]=a=>t.value=a)},null,8,["modelValue"]),n.value?(qe(),Nn("div",Pp,u[1]||(u[1]=[ke("div",{class:"loading-spinner"},null,-1)]))):xu("",!0),me(Oe(ac),null,{default:us(({Component:a})=>[me($u,{name:"fade",mode:"out-in"},{default:us(()=>[(qe(),tn(ml(a),{key:c.$route.fullPath}))]),_:2},1024)]),_:1}),me(Op)],2))}}),Ip="modulepreload",Np=function(e){return"/"+e},Ei={},vt=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=Np(c),c in Ei)return;Ei[c]=!0;const u=c.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Ip,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((p,m)=>{f.addEventListener("load",p),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return r.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},Mp=Od({history:od("/"),routes:[{path:"/",name:"Retrieve",component:()=>vt(()=>import("./RetrievewFileView-B9XfNvQg.js"),__vite__mapDeps([0,1,2,3,4,5]))},{path:"/send",name:"Send",component:()=>vt(()=>import("./SendFileView-Ca-fZPSX.js"),__vite__mapDeps([6,1,3,4,7]))},{path:"/admin",name:"Manage",component:()=>vt(()=>import("./AdminLayout-CYVTuRyJ.js"),__vite__mapDeps([8,2,9])),redirect:"/admin/dashboard",children:[{path:"/admin/dashboard",name:"Dashboard",component:()=>vt(()=>import("./DashboardView-hfXRelMZ.js"),__vite__mapDeps([10,3,4]))},{path:"/admin/files",name:"FileManage",component:()=>vt(()=>import("./FileManageView-BpHyAu06.js"),__vite__mapDeps([11,3]))},{path:"/admin/settings",name:"Settings",component:()=>vt(()=>import("./SystemSettingsView-DUp8dOrM.js"),[])}]},{path:"/login",name:"Login",component:()=>vt(()=>import("./LoginView-zsYUSR2Y.js"),__vite__mapDeps([12,2,13]))}]});vt(()=>import("./SendFileView-Ca-fZPSX.js"),__vite__mapDeps([6,1,3,4,7]));const eo=yf(Lp);eo.use(vf());eo.use(Mp);eo.mount("#app");export{Zr as A,Vn as B,Bp as C,nn as D,fl as E,He as F,Cf as G,Hn as H,qr as I,tn as J,ml as K,jp as L,lf as T,$d as X,Ap as _,Hp as a,Fe as b,qt as c,Nn as d,ke as e,me as f,Oe as g,$p as h,Pe as i,kp as j,xu as k,us as l,Su as m,an as n,As as o,Fp as p,Va as q,en as r,Tf as s,Xc as t,Fc as u,Dp as v,Sn as w,$u as x,Ld as y,qe as z}; +`+o):s.stack=o}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ut(this.defaults,n);const{transitional:s,paramsSerializer:r,headers:o}=n;s!==void 0&&rs.assertOptions(s,{silentJSONParsing:et.transitional(et.boolean),forcedJSONParsing:et.transitional(et.boolean),clarifyTimeoutError:et.transitional(et.boolean)},!1),r!=null&&(b.isFunction(r)?n.paramsSerializer={serialize:r}:rs.assertOptions(r,{encode:et.function,serialize:et.function},!0)),rs.assertOptions(n,{baseUrl:et.spelling("baseURL"),withXsrfToken:et.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&b.merge(o.common,o[n.method]);o&&b.forEach(["delete","get","head","post","put","patch","common"],y=>{delete o[y]}),n.headers=Le.concat(i,o);const l=[];let c=!0;this.interceptors.request.forEach(function(_){typeof _.runWhen=="function"&&_.runWhen(n)===!1||(c=c&&_.synchronous,l.unshift(_.fulfilled,_.rejected))});const u=[];this.interceptors.response.forEach(function(_){u.push(_.fulfilled,_.rejected)});let a,f=0,p;if(!c){const y=[vi.bind(this),void 0];for(y.unshift.apply(y,l),y.push.apply(y,u),p=y.length,a=Promise.resolve(n);f{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](r);s._listeners=null}),this.promise.then=r=>{let o;const i=new Promise(l=>{s.subscribe(l),o=l}).then(r);return i.cancel=function(){s.unsubscribe(o)},i},t(function(o,i,l){s.reason||(s.reason=new fn(o,i,l),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Nc(function(r){t=r}),cancel:t}}};function gp(e){return function(n){return e.apply(null,n)}}function yp(e){return b.isObject(e)&&e.isAxiosError===!0}const Ar={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ar).forEach(([e,t])=>{Ar[t]=e});function Mc(e){const t=new Bt(e),n=uc(Bt.prototype.request,t);return b.extend(n,Bt.prototype,t,{allOwnKeys:!0}),b.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return Mc(Ut(e,r))},n}const he=Mc(Wn);he.Axios=Bt;he.CanceledError=fn;he.CancelToken=mp;he.isCancel=Rc;he.VERSION=Ic;he.toFormData=js;he.AxiosError=J;he.Cancel=he.CanceledError;he.all=function(t){return Promise.all(t)};he.spread=gp;he.isAxiosError=yp;he.mergeConfig=Ut;he.AxiosHeaders=Le;he.formToJSON=e=>xc(b.isHTMLForm(e)?new FormData(e):e);he.getAdapter=Lc.getAdapter;he.HttpStatusCode=Ar;he.default=he;const{Axios:qp,AxiosError:Kp,CanceledError:Wp,isCancel:zp,CancelToken:Jp,VERSION:Gp,all:Xp,Cancel:Qp,isAxiosError:Yp,spread:Zp,toFormData:em,AxiosHeaders:tm,HttpStatusCode:nm,formToJSON:sm,getAdapter:rm,mergeConfig:om}=he,bp="",kc=bp,Zr=he.create({baseURL:kc,timeout:1e15,headers:{"Content-Type":"application/json"}});Zr.interceptors.request.use(e=>{const t=localStorage.getItem("token");return t&&(e.headers.Authorization=`Bearer ${t}`),e.url&&!e.url.startsWith("http")&&(e.url=`${kc}/${e.url.replace(/^\//,"")}`),e},e=>Promise.reject(e));Zr.interceptors.response.use(e=>e.data,e=>{if(e.response)switch(e.response.status){case 401:console.error("未授权,请重新登录"),localStorage.clear(),window.location.href="/#/login";break;case 403:console.error("禁止访问");break;case 404:console.error("请求的资源不存在");break;default:console.error("发生错误:",e.response.data)}else e.request?console.error("未收到响应:",e.request):console.error("请求配置错误:",e.message);return Promise.reject(e)});const Fc=Cf("alert",{state:()=>({alerts:[]}),actions:{showAlert(e,t="info",n=5e3){const s=Date.now(),r=Date.now();this.alerts.push({id:s,message:e,type:t,progress:100,duration:n,startTime:r}),setTimeout(()=>this.removeAlert(s),n)},removeAlert(e){const t=this.alerts.findIndex(n=>n.id===e);t>-1&&this.alerts.splice(t,1)},updateAlertProgress(e){const t=this.alerts.find(n=>n.id===e);if(t){const s=100-(Date.now()-t.startTime)/t.duration*100;t.progress=Math.max(0,s),t.progress<=0&&this.removeAlert(e)}}}}),_p={class:"p-4"},vp={class:"flex items-start"},wp={class:"flex-shrink-0"},Ep={class:"ml-3 flex-1 pt-0.5"},Sp=["innerHTML"],xp={class:"ml-4 flex-shrink-0 flex"},Rp=["onClick"],Cp={class:"h-1 bg-white bg-opacity-25"},Tp=Vn({__name:"AlertComponent",setup(e){const t=Fc(),{alerts:n}=Tf(t),{removeAlert:s,updateAlertProgress:r}=t,o={success:"from-green-500 to-green-600",error:"from-red-500 to-red-600",warning:"from-yellow-500 to-yellow-600",info:"from-blue-500 to-blue-600"},i={success:kd,error:Bd,warning:Md,info:Fd};let l;return As(()=>{l=setInterval(()=>{n.value.forEach(c=>{r(c.id)})},100)}),qr(()=>{clearInterval(l)}),(c,u)=>(qe(),tn(lf,{name:"alert-fade",tag:"div",class:"fixed top-4 left-4 z-50 w-full sm:max-w-sm md:max-w-md space-y-4 px-4 sm:px-0"},{default:us(()=>[(qe(!0),Nn(He,null,Va(Oe(n),a=>(qe(),Nn("div",{key:a.id,class:an(["w-full rounded-lg shadow-xl overflow-hidden","bg-gradient-to-r",o[a.type]])},[ke("div",_p,[ke("div",vp,[ke("div",wp,[(qe(),tn(ml(i[a.type]),{class:"h-6 w-6 text-white"}))]),ke("div",Ep,[ke("p",{class:"text-sm font-medium text-white",innerHTML:a.message},null,8,Sp)]),ke("div",xp,[ke("button",{onClick:f=>Oe(s)(a.id),class:"inline-flex text-white hover:text-gray-200 focus:outline-none transition-colors duration-200"},[u[0]||(u[0]=ke("span",{class:"sr-only"},"关闭",-1)),me(Oe($d),{class:"h-5 w-5"})],8,Rp)])])]),ke("div",Cp,[ke("div",{class:"h-full bg-white transition-all duration-100 ease-out",style:Es({width:`${a.progress}%`})},null,4)])],2))),128))]),_:1}))}}),Ap=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Op=Ap(Tp,[["__scopeId","data-v-6fdbaa84"]]),Pp={key:0,class:"loading-overlay"},Lp=Vn({__name:"App",setup(e){const t=en(!1),n=en(!1),s=Ld(),r=Fc(),o=()=>window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,i=()=>{const c=localStorage.getItem("colorMode");return c?c==="dark":null},l=c=>{t.value=c,localStorage.setItem("colorMode",c?"dark":"light")};return As(()=>{const c=i();l(c!==null?c:o()),Zr.post("/",{}).then(u=>{u.code===200&&(localStorage.setItem("config",JSON.stringify(u.detail)),u.detail.notify_title&&u.detail.notify_content&&localStorage.getItem("notify")!==u.detail.notify_title+u.detail.notify_content&&(localStorage.setItem("notify",u.detail.notify_title+u.detail.notify_content),r.showAlert(u.detail.notify_title+": "+u.detail.notify_content,"success")))})}),fu(()=>{document.documentElement.classList.toggle("dark",t.value)}),s.beforeEach((c,u,a)=>{n.value=!0,a()}),s.afterEach(()=>{setTimeout(()=>{n.value=!1},200)}),jt("isDarkMode",t),jt("setColorMode",l),jt("isLoading",n),(c,u)=>(qe(),Nn("div",{class:an(["app-container",t.value?"dark":"light"])},[me(Hd,{modelValue:t.value,"onUpdate:modelValue":u[0]||(u[0]=a=>t.value=a)},null,8,["modelValue"]),n.value?(qe(),Nn("div",Pp,u[1]||(u[1]=[ke("div",{class:"loading-spinner"},null,-1)]))):xu("",!0),me(Oe(ac),null,{default:us(({Component:a})=>[me($u,{name:"fade",mode:"out-in"},{default:us(()=>[(qe(),tn(ml(a),{key:c.$route.fullPath}))]),_:2},1024)]),_:1}),me(Op)],2))}}),Ip="modulepreload",Np=function(e){return"/"+e},Ei={},vt=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=Np(c),c in Ei)return;Ei[c]=!0;const u=c.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Ip,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((p,m)=>{f.addEventListener("load",p),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return r.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},Mp=Od({history:od("/"),routes:[{path:"/",name:"Retrieve",component:()=>vt(()=>import("./RetrievewFileView-DExKIrRO.js"),__vite__mapDeps([0,1,2,3,4,5]))},{path:"/send",name:"Send",component:()=>vt(()=>import("./SendFileView-DRPDfOMx.js"),__vite__mapDeps([6,1,3,4,7]))},{path:"/admin",name:"Manage",component:()=>vt(()=>import("./AdminLayout-CGK4cUFs.js"),__vite__mapDeps([8,2,9])),redirect:"/admin/dashboard",children:[{path:"/admin/dashboard",name:"Dashboard",component:()=>vt(()=>import("./DashboardView-BJPa45w6.js"),__vite__mapDeps([10,3,4]))},{path:"/admin/files",name:"FileManage",component:()=>vt(()=>import("./FileManageView-5nbkRxSF.js"),__vite__mapDeps([11,3]))},{path:"/admin/settings",name:"Settings",component:()=>vt(()=>import("./SystemSettingsView-UJvuI7eX.js"),[])}]},{path:"/login",name:"Login",component:()=>vt(()=>import("./LoginView-B7G0ZQAI.js"),__vite__mapDeps([12,2,13]))}]});vt(()=>import("./SendFileView-DRPDfOMx.js"),__vite__mapDeps([6,1,3,4,7]));const eo=yf(Lp);eo.use(vf());eo.use(Mp);eo.mount("#app");export{Zr as A,Vn as B,Bp as C,nn as D,fl as E,He as F,Cf as G,Hn as H,qr as I,tn as J,ml as K,jp as L,lf as T,$d as X,Ap as _,Hp as a,Fe as b,qt as c,Nn as d,ke as e,me as f,Oe as g,$p as h,Pe as i,kp as j,xu as k,us as l,Su as m,an as n,As as o,Fp as p,Va as q,en as r,Tf as s,Xc as t,Fc as u,Dp as v,Sn as w,$u as x,Ld as y,qe as z}; diff --git a/themes/2024/assets/trash-CSx5DaSf.js b/themes/2024/assets/trash-Y8g6Hj4p.js similarity index 95% rename from themes/2024/assets/trash-CSx5DaSf.js rename to themes/2024/assets/trash-Y8g6Hj4p.js index 5773cbf..d5dfa6b 100644 --- a/themes/2024/assets/trash-CSx5DaSf.js +++ b/themes/2024/assets/trash-Y8g6Hj4p.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-Dm7yhqOC.js";/** +import{c as a}from"./index-Ch_yhQYc.js";/** * @license lucide-vue-next v0.445.0 - ISC * * This source code is licensed under the ISC license. diff --git a/themes/2024/index.html b/themes/2024/index.html index c0b8060..613e1c7 100644 --- a/themes/2024/index.html +++ b/themes/2024/index.html @@ -11,7 +11,7 @@ {{title}} - +