// // NetworkServices.swift // suixinkan // import Foundation @MainActor /// 全局网络依赖容器,集中提供 APIClient 与各业务 API。 final class NetworkServices { static let shared = NetworkServices() let apiClient: APIClient let authAPI: AuthAPI let profileAPI: ProfileAPI let statisticsAPI: StatisticsAPI let orderAPI: OrderAPI let uploadAPI: UploadAPI let ossUploadService: OSSUploadService private init() { let client = APIClient(environment: .current) apiClient = client authAPI = AuthAPI(client: client) profileAPI = ProfileAPI(client: client) statisticsAPI = StatisticsAPI(client: client) orderAPI = OrderAPI(client: client) uploadAPI = UploadAPI(client: client) ossUploadService = OSSUploadService(configService: uploadAPI) client.bindAuthTokenProvider { let token = AppStore.shared.token.trimmingCharacters(in: .whitespacesAndNewlines) return token.isEmpty ? nil : token } } /// 测试专用初始化,允许注入 mock `APIClient`。 init(apiClient: APIClient) { self.apiClient = apiClient authAPI = AuthAPI(client: apiClient) profileAPI = ProfileAPI(client: apiClient) statisticsAPI = StatisticsAPI(client: apiClient) orderAPI = OrderAPI(client: apiClient) uploadAPI = UploadAPI(client: apiClient) ossUploadService = OSSUploadService(configService: uploadAPI) } }