From 6a6fd722f35d3fca9eb1c34297e3f3eae8c9a161 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Sat, 5 Jul 2025 10:50:49 +0800 Subject: [PATCH] feat(qiniu): use accelerated upload domain (#2497) --- public/locales/en-US/dashboard.json | 2 ++ public/locales/ja-JP/dashboard.json | 2 ++ public/locales/zh-CN/dashboard.json | 2 ++ public/locales/zh-TW/dashboard.json | 2 ++ src/api/dashboard.ts | 1 + .../FormSections/StorageAndUploadSection.tsx | 34 +++++++++++++++++++ 6 files changed, 43 insertions(+) diff --git a/public/locales/en-US/dashboard.json b/public/locales/en-US/dashboard.json index 700862d..9d6e171 100644 --- a/public/locales/en-US/dashboard.json +++ b/public/locales/en-US/dashboard.json @@ -716,6 +716,8 @@ "unknownProduct": "Unknown Product" }, "policy": { + "acceleratedDomainUpload": "Use transfer acceleration domain for upload", + "acceleratedDomainUploadDes": "When enabled, the <0>transfer acceleration domain of Qiniu will be used when uploading files.", "compare": "Compare", "deletePolicyConfirmation": "Are you sure you want to delete the storage policy {{name}}?", "streamSaver": "Download via browser", diff --git a/public/locales/ja-JP/dashboard.json b/public/locales/ja-JP/dashboard.json index c6003cc..2140726 100644 --- a/public/locales/ja-JP/dashboard.json +++ b/public/locales/ja-JP/dashboard.json @@ -709,6 +709,8 @@ "unknownProduct": "不明な商品" }, "policy": { + "acceleratedDomainUpload": "転送加速ドメインを使用してアップロード", + "acceleratedDomainUploadDes": "有効にすると、アップロード時に七牛の<0>転送加速ドメインを使用します。", "compare": "ストレージポリシーの比較", "deletePolicyConfirmation": "ストレージポリシー「{{name}}」を削除しますか?", "streamSaver": "ブラウザでダウンロード処理", diff --git a/public/locales/zh-CN/dashboard.json b/public/locales/zh-CN/dashboard.json index 40fdd04..69f18de 100644 --- a/public/locales/zh-CN/dashboard.json +++ b/public/locales/zh-CN/dashboard.json @@ -709,6 +709,8 @@ "unknownProduct": "未知产品" }, "policy": { + "acceleratedDomainUpload": "使用传输加速域名上传", + "acceleratedDomainUploadDes": "开启后,上传文件时会使用七牛的 <0>传输加速域名。", "compare": "对比存储策略", "deletePolicyConfirmation": "确定要删除存储策略 {{name}} 吗?", "streamSaver": "由浏览器处理下载", diff --git a/public/locales/zh-TW/dashboard.json b/public/locales/zh-TW/dashboard.json index 36d5695..1e9308d 100644 --- a/public/locales/zh-TW/dashboard.json +++ b/public/locales/zh-TW/dashboard.json @@ -705,6 +705,8 @@ "unknownProduct": "未知產品" }, "policy": { + "acceleratedDomainUpload": "使用傳輸加速域名上傳", + "acceleratedDomainUploadDes": "開啟後,上傳檔案時會使用七牛的 <0>傳輸加速域名。", "compare": "儲存策略對比", "deletePolicyConfirmation": "確定要刪除儲存策略 {{name}} 嗎?", "streamSaver": "由瀏覽器處理下載", diff --git a/src/api/dashboard.ts b/src/api/dashboard.ts index 2974d1d..af14b98 100644 --- a/src/api/dashboard.ts +++ b/src/api/dashboard.ts @@ -230,6 +230,7 @@ export interface PolicySetting { stream_saver?: boolean; use_cname?: boolean; source_auth?: boolean; + qiniu_upload_cdn?: boolean; } export interface User extends CommonMixin { diff --git a/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx b/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx index 3a4d30e..e363cae 100644 --- a/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx +++ b/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx @@ -107,6 +107,16 @@ const StorageAndUploadSection = () => { [setPolicy], ); + const onAcceleratedDomainUploadChange = useCallback( + (e: React.ChangeEvent) => { + setPolicy((p: StoragePolicy) => ({ + ...p, + settings: { ...p.settings, qiniu_upload_cdn: e.target.checked ? true : undefined }, + })); + }, + [setPolicy], + ); + return ( @@ -191,6 +201,30 @@ const StorageAndUploadSection = () => { )} + {values.type === PolicyType.qiniu && ( + + + + } + label={t("policy.acceleratedDomainUpload")} + /> + + , + ]} + /> + + + + )} {values.type !== PolicyType.local && ( <>