From f215539a0e85906a155a78b80da2088b04db84f1 Mon Sep 17 00:00:00 2001 From: Rao <1227431568@qq.com> Date: Thu, 10 Apr 2025 19:37:04 +0800 Subject: [PATCH] rht --- apps/web/src/app/admin/quick-file/page.tsx | 12 +++++++++--- .../src/app/admin/sharecode/sharecodegenerator.tsx | 9 ++++++++- apps/web/src/app/main/layout/MainFooter.tsx | 9 +-------- .../src/components/common/uploader/TusUploader.tsx | 5 +++++ 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/apps/web/src/app/admin/quick-file/page.tsx b/apps/web/src/app/admin/quick-file/page.tsx index b51ddeb..ace4874 100755 --- a/apps/web/src/app/admin/quick-file/page.tsx +++ b/apps/web/src/app/admin/quick-file/page.tsx @@ -1,14 +1,16 @@ import { ShareCodeGenerator } from "../sharecode/sharecodegenerator"; import { ShareCodeValidator } from "../sharecode/sharecodevalidator"; -import { message, Tabs, Form } from "antd"; +import { Form } from "antd"; import { TusUploader } from "@web/src/components/common/uploader/TusUploader"; import CodeRecord from "../sharecode/components/CodeRecord"; import Header from "./components/header"; -const { TabPane } = Tabs; +import { useState } from "react"; +import { MainFooter } from "../../main/layout/MainFooter"; export default function QuickUploadPage() { const [form] = Form.useForm(); const uploadFileId = Form.useWatch(["file"], form)?.[0] + const [fileMsg, setFileMsg] = useState(null) return (
@@ -29,7 +31,7 @@ export default function QuickUploadPage() {
- +
@@ -37,12 +39,16 @@ export default function QuickUploadPage() { { + setFileMsg(file) + }} />
+ ) diff --git a/apps/web/src/app/admin/sharecode/sharecodegenerator.tsx b/apps/web/src/app/admin/sharecode/sharecodegenerator.tsx index 20ca5e3..009ef89 100755 --- a/apps/web/src/app/admin/sharecode/sharecodegenerator.tsx +++ b/apps/web/src/app/admin/sharecode/sharecodegenerator.tsx @@ -14,6 +14,7 @@ interface ShareCodeGeneratorProps { fileId: string; onSuccess?: (code: string) => void; fileName?: string; + fileMsg?: File; } @@ -33,6 +34,7 @@ export function copyToClipboard(text) { export const ShareCodeGenerator: React.FC = ({ fileId, fileName, + fileMsg }) => { const [loading, setLoading] = useState(false); const [shareCode, setShareCode] = useState(''); @@ -63,9 +65,14 @@ export const ShareCodeGenerator: React.FC = ({ setLoading(true); console.log('开始生成分享码,fileId:', fileId, 'fileName:', fileName); try { + let expiresAt = form.getFieldsValue()?.expiresAt ? form.getFieldsValue().expiresAt.tz('Asia/Shanghai').toDate() : dayjs().add(1, 'day').tz('Asia/Shanghai').toDate(); + if (fileMsg && fileMsg.size > 1024 * 1024 * 1024 * 5) { + message.info('文件大小超过5GB,系统将设置过期时间为1天', 6); + expiresAt = dayjs().add(1, 'day').tz('Asia/Shanghai').toDate(); + } const data: ShareCodeResponse = await generateShareCode.mutateAsync({ fileId, - expiresAt: form.getFieldsValue()?.expiresAt ? form.getFieldsValue().expiresAt.tz('Asia/Shanghai').toDate() : dayjs().add(1, 'day').tz('Asia/Shanghai').toDate(), + expiresAt: expiresAt, canUseTimes: form.getFieldsValue()?.canUseTimes ? form.getFieldsValue().canUseTimes : 10, }); console.log('data', data) diff --git a/apps/web/src/app/main/layout/MainFooter.tsx b/apps/web/src/app/main/layout/MainFooter.tsx index eb4ef75..417c071 100755 --- a/apps/web/src/app/main/layout/MainFooter.tsx +++ b/apps/web/src/app/main/layout/MainFooter.tsx @@ -52,13 +52,6 @@ export function MainFooter() { title="访问烽火青云"> - - - - @@ -66,7 +59,7 @@ export function MainFooter() { {/* 版权信息 */}

- © {new Date().getFullYear()} 南天烽火. All rights + © {new Date().getFullYear()} 烽火快传. All rights reserved.

diff --git a/apps/web/src/components/common/uploader/TusUploader.tsx b/apps/web/src/components/common/uploader/TusUploader.tsx index 8a5a160..3155d8c 100755 --- a/apps/web/src/components/common/uploader/TusUploader.tsx +++ b/apps/web/src/components/common/uploader/TusUploader.tsx @@ -15,6 +15,7 @@ export interface TusUploaderProps { style?: string icon?: ReactNode, description?: string + getFileMsg?: (file: File) => void } interface UploadingFile { @@ -33,6 +34,7 @@ export const TusUploader = ({ style = "", icon = , description = "点击或拖拽文件到此区域进行上传", + getFileMsg, }: TusUploaderProps) => { const { handleFileUpload, uploadProgress } = useTusUpload(); const [uploadingFiles, setUploadingFiles] = useState([]); @@ -68,6 +70,9 @@ export const TusUploader = ({ const handleBeforeUpload = useCallback( (file: File) => { console.log('File object:',file) + if(getFileMsg){ + getFileMsg(file) + } // 判断是否为文件 if (!file.type) { message.error('请选择正确的文件');