import Foundation /// 后端地址。debug 连本地/局域网(可被环境变量 SHAGUA_API_BASE_URL 覆盖,真机联调用), /// release 连线上。对齐安卓 BuildConfig.BASE_URL 的 debug/release 切换。 enum AppConfig { static let apiBaseURL: URL = { #if DEBUG if let raw = ProcessInfo.processInfo.environment["SHAGUA_API_BASE_URL"], let url = URL(string: raw) { return url } // 真机/模拟器都连开发机的局域网 IP(真机用 127.0.0.1 会连到手机自己,连不上后端)。 // 换了 WiFi 网段后 IP 会变,用 `ipconfig getifaddr en0` 重查并改这里(或用上面的环境变量覆盖)。 return URL(string: "http://192.168.0.119:8770")! #else return URL(string: "https://app-api.shaguabijia.com")! #endif }() /// 后端相对媒体路径(/media/...)拼成完整 URL,用于展示头像/反馈截图。 static func mediaURL(_ path: String?) -> URL? { guard let path, !path.isEmpty else { return nil } if path.hasPrefix("http") { return URL(string: path) } let sep = path.hasPrefix("/") ? "" : "/" return URL(string: apiBaseURL.absoluteString + sep + path) } }