/**************************************************** 文件:RemoteServicesWithAuth.cs 作者:xosmo_ 邮箱: 日期:2025/3/31 14:39:5 功能: *****************************************************/ using YooAsset; using System.Collections; using Stary.Evo; using UnityEngine.Networking; public class RemoteServicesWithAuth : IRemoteServices { private readonly string _defaultHostServer; private readonly string _fallbackHostServer; private string _authToken; private string _authServiceUrl; public string CurrentToken { get; private set; } public RemoteServicesWithAuth(string defaultHostServer, string fallbackHostServer, string authToken, string authServiceUrl) { _defaultHostServer = defaultHostServer; _fallbackHostServer = fallbackHostServer; _authToken = authToken; _authServiceUrl = authServiceUrl; RefreshToken(); } private void RefreshToken() { // 这里实现具体的token刷新逻辑 CurrentToken = _authToken; // 简单示例直接使用初始token // 实际项目应该通过authServiceUrl获取新token } string IRemoteServices.GetRemoteMainURL(string fileName) { // 在原始URL后附加鉴权参数 return $"{_defaultHostServer}/{fileName}?token={CurrentToken}"; } public string GetRemoteFallbackURL(string fileName) { return $"{_fallbackHostServer}/{fileName}?token={CurrentToken}"; } // UnityWebRequest CreateRequest(string url) // { // var request = base.CreateRequest(url); // request.SetRequestHeader("Authorization", $"Bearer {CurrentToken}"); // return request; // } }