package login; /** * API配置类 * 统一管理API地址、超时时间等配置 */ public class ApiConfig { private static final String DEFAULT_BASE_URL = "http://39.99.43.227:9000"; private static final int DEFAULT_CONNECT_TIMEOUT = 30000; // 30秒 private static final int DEFAULT_READ_TIMEOUT = 60000; // 60秒 private static final String DEFAULT_USER_AGENT = "LoginClient/1.0"; private final String baseUrl; private final int connectTimeout; private final int readTimeout; private final String userAgent; /** * 私有构造函数 */ private ApiConfig(String baseUrl, int connectTimeout, int readTimeout, String userAgent) { this.baseUrl = baseUrl != null ? baseUrl : DEFAULT_BASE_URL; this.connectTimeout = connectTimeout > 0 ? connectTimeout : DEFAULT_CONNECT_TIMEOUT; this.readTimeout = readTimeout > 0 ? readTimeout : DEFAULT_READ_TIMEOUT; this.userAgent = userAgent != null ? userAgent : DEFAULT_USER_AGENT; } /** * 获取默认配置 */ public static ApiConfig getDefault() { return new ApiConfig(DEFAULT_BASE_URL, DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, DEFAULT_USER_AGENT); } /** * 创建自定义配置 */ public static Builder builder() { return new Builder(); } public String getBaseUrl() { return baseUrl; } public int getConnectTimeout() { return connectTimeout; } public int getReadTimeout() { return readTimeout; } public String getUserAgent() { return userAgent; } /** * 配置构建器 */ public static class Builder { private String baseUrl; private int connectTimeout; private int readTimeout; private String userAgent; public Builder baseUrl(String baseUrl) { this.baseUrl = baseUrl; return this; } public Builder connectTimeout(int connectTimeout) { this.connectTimeout = connectTimeout; return this; } public Builder readTimeout(int readTimeout) { this.readTimeout = readTimeout; return this; } public Builder userAgent(String userAgent) { this.userAgent = userAgent; return this; } public ApiConfig build() { return new ApiConfig(baseUrl, connectTimeout, readTimeout, userAgent); } } }