From 3396d73077d87ca7b8553089e4669e722e55fc2e Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 24 Mar 2026 10:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E5=8A=A0=E4=B8=80=E5=B1=82=E5=88=A4?= =?UTF-8?q?=E6=96=AD=EF=BC=8C=E5=85=9C=E5=BA=95=E5=AD=98=E5=82=A8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Helper/OSSService.cs | 42 +++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/IRaCIS.Core.Application/Helper/OSSService.cs b/IRaCIS.Core.Application/Helper/OSSService.cs index ea0256f95..027041011 100644 --- a/IRaCIS.Core.Application/Helper/OSSService.cs +++ b/IRaCIS.Core.Application/Helper/OSSService.cs @@ -196,7 +196,7 @@ public interface IOSSService List GetRootFolderNames(); - public ObjectStoreDTO GetObjectStoreTempToken(string? domain = null, bool? isGetAllTempToken = null); + public ObjectStoreDTO GetObjectStoreTempToken(string? domain = null, bool? isGetAllTempToken = null, string? objectUse = null); public Task MoveObject(string sourcePath, string destPath, bool overwrite = true); @@ -1502,9 +1502,9 @@ public class OSSService(IOptionsMonitor options, { foreach (var config in ObjectStoreServiceOptions.SyncConfigList.Where(t => t.IsOpenSync)) { - ObjectStoreServiceOptions.ObjectStoreUse = config.Primary; - GetObjectStoreTempToken(); + + GetObjectStoreTempToken(objectUse: config.Primary); await DeleteFromPrefixInternal(prefix, isCache); } @@ -1678,9 +1678,8 @@ public class OSSService(IOptionsMonitor options, { foreach (var config in ObjectStoreServiceOptions.SyncConfigList.Where(t => t.IsOpenSync)) { - ObjectStoreServiceOptions.ObjectStoreUse = config.Primary; - GetObjectStoreTempToken(); + GetObjectStoreTempToken(objectUse: config.Primary); await DeleteObjectsInternal(objectKeys, isCache); } @@ -1858,30 +1857,35 @@ public class OSSService(IOptionsMonitor options, - public ObjectStoreDTO GetObjectStoreTempToken(string? domain = null, bool? isGetAllTempToken = null) + public ObjectStoreDTO GetObjectStoreTempToken(string? domain = null, bool? isGetAllTempToken = null, string? objectUse = null) { - string objectStoreUse = string.Empty; - //如果传递了域名,并且打开了存储同步,根据域名使用的具体存储覆盖之前的配置,否则就用固定的配置 - if (ObjectStoreServiceOptions.IsOpenStoreSync && domain.IsNotNullOrEmpty()) + //使用指定配置 + if (objectUse != null) { - var userDomain = domain?.Trim(); - - var find = ObjectStoreServiceOptions.SyncConfigList.FirstOrDefault(t => t.Domain == userDomain); - if (find != null) + objectStoreUse = objectUse?.Trim() ?? string.Empty; + } + //根据域名动态判断 + else + { + //如果传递了域名,并且打开了存储同步,根据域名使用的具体存储覆盖之前的配置,否则就用固定的配置 + if (ObjectStoreServiceOptions.IsOpenStoreSync && domain.IsNotNullOrEmpty() && ObjectStoreServiceOptions.SyncConfigList.Any(t => t.Domain == domain)) { - objectStoreUse = find.Primary; + + var find = ObjectStoreServiceOptions.SyncConfigList.FirstOrDefault(t => t.Domain == domain); + if (find != null) + { + objectStoreUse = find.Primary; + } + } else { - //本地localhost 时候,默认给值 + //兜底,如果是本地测试环境,那就使用部署默认配置 objectStoreUse = ObjectStoreServiceOptions.ObjectStoreUse; } } - else - { - objectStoreUse = ObjectStoreServiceOptions.ObjectStoreUse; - } + var objectStoreDTO = new ObjectStoreDTO() { ObjectStoreUse = objectStoreUse, IsOpenStoreSync = ObjectStoreServiceOptions.IsOpenStoreSync, SyncConfigList = ObjectStoreServiceOptions.SyncConfigList };