From 01c08a46ab234d78df98fae44b1043d9eb0612bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=86=A0=E5=B3=B0?= Date: Fri, 13 Jun 2025 17:39:30 +0800 Subject: [PATCH] fix #564 --- .../TTFSRequestPackageVersionOperation.cs | 6 ++++-- .../RequestTiktokPackageVersionOperation.cs | 18 ++++++++++++++---- .../TiktokFileSystem/TiktokFileSystem.cs | 2 +- .../RequestWechatPackageVersionOperation.cs | 2 +- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/TTFSRequestPackageVersionOperation.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/TTFSRequestPackageVersionOperation.cs index 75e282cd..76643577 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/TTFSRequestPackageVersionOperation.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/TTFSRequestPackageVersionOperation.cs @@ -11,14 +11,16 @@ internal class TTFSRequestPackageVersionOperation : FSRequestPackageVersionOpera } private readonly TiktokFileSystem _fileSystem; + private readonly bool _appendTimeTicks; private readonly int _timeout; private RequestTiktokPackageVersionOperation _requestPackageVersionOp; private ESteps _steps = ESteps.None; - internal TTFSRequestPackageVersionOperation(TiktokFileSystem fileSystem, int timeout) + internal TTFSRequestPackageVersionOperation(TiktokFileSystem fileSystem, bool appendTimeTicks, int timeout) { _fileSystem = fileSystem; + _appendTimeTicks = appendTimeTicks; _timeout = timeout; } internal override void InternalStart() @@ -34,7 +36,7 @@ internal class TTFSRequestPackageVersionOperation : FSRequestPackageVersionOpera { if (_requestPackageVersionOp == null) { - _requestPackageVersionOp = new RequestTiktokPackageVersionOperation(_fileSystem, _timeout); + _requestPackageVersionOp = new RequestTiktokPackageVersionOperation(_fileSystem, _appendTimeTicks, _timeout); _requestPackageVersionOp.StartOperation(); AddChildOperation(_requestPackageVersionOp); } diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/internal/RequestTiktokPackageVersionOperation.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/internal/RequestTiktokPackageVersionOperation.cs index dd5357f8..824c4e29 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/internal/RequestTiktokPackageVersionOperation.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/Operation/internal/RequestTiktokPackageVersionOperation.cs @@ -11,6 +11,7 @@ internal class RequestTiktokPackageVersionOperation : AsyncOperationBase } private readonly TiktokFileSystem _fileSystem; + private readonly bool _appendTimeTicks; private readonly int _timeout; private UnityWebTextRequestOperation _webTextRequestOp; private int _requestCount = 0; @@ -21,10 +22,11 @@ internal class RequestTiktokPackageVersionOperation : AsyncOperationBase /// public string PackageVersion { private set; get; } - - public RequestTiktokPackageVersionOperation(TiktokFileSystem fileSystem, int timeout) + + public RequestTiktokPackageVersionOperation(TiktokFileSystem fileSystem, bool appendTimeTicks, int timeout) { _fileSystem = fileSystem; + _appendTimeTicks = appendTimeTicks; _timeout = timeout; } internal override void InternalStart() @@ -80,11 +82,19 @@ internal class RequestTiktokPackageVersionOperation : AsyncOperationBase private string GetRequestURL(string fileName) { + string url; + // 轮流返回请求地址 if (_requestCount % 2 == 0) - return _fileSystem.RemoteServices.GetRemoteMainURL(fileName); + url = _fileSystem.RemoteServices.GetRemoteMainURL(fileName); else - return _fileSystem.RemoteServices.GetRemoteFallbackURL(fileName); + url = _fileSystem.RemoteServices.GetRemoteFallbackURL(fileName); + + // 在URL末尾添加时间戳 + if (_appendTimeTicks) + return $"{url}?{System.DateTime.UtcNow.Ticks}"; + else + return url; } } #endif \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs index ab13aec0..290bbfbb 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs @@ -121,7 +121,7 @@ internal class TiktokFileSystem : IFileSystem } public virtual FSRequestPackageVersionOperation RequestPackageVersionAsync(bool appendTimeTicks, int timeout) { - var operation = new TTFSRequestPackageVersionOperation(this, timeout); + var operation = new TTFSRequestPackageVersionOperation(this, appendTimeTicks, timeout); return operation; } public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options) diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/RequestWechatPackageVersionOperation.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/RequestWechatPackageVersionOperation.cs index 19a9ff64..d3a00f31 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/RequestWechatPackageVersionOperation.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/RequestWechatPackageVersionOperation.cs @@ -11,8 +11,8 @@ internal class RequestWechatPackageVersionOperation : AsyncOperationBase } private readonly WechatFileSystem _fileSystem; - private readonly int _timeout; private readonly bool _appendTimeTicks; + private readonly int _timeout; private UnityWebTextRequestOperation _webTextRequestOp; private int _requestCount = 0; private ESteps _steps = ESteps.None;