diff --git a/AIStudyApp/AIStudyApp/Core/Network/APIError.swift b/AIStudyApp/AIStudyApp/Core/Network/APIError.swift index 4de8bb6..f80bc2b 100644 --- a/AIStudyApp/AIStudyApp/Core/Network/APIError.swift +++ b/AIStudyApp/AIStudyApp/Core/Network/APIError.swift @@ -14,8 +14,13 @@ enum APIError: LocalizedError { /// HTTP 状态码(如 401/403/404/500)。 var statusCode: Int? { - if case .requestFailed(let code) = self { return code } - return nil + switch self { + case .requestFailed(let code): return code + case .unauthorized: return 401 + case .serverError(_, let code): return code.flatMap { Int($0) } + case .networkError(let e): return (e as NSError).code + default: return nil + } } /// 语义错误码(如 AUTH_USER_DISABLED),用于 AppSession 状态判断