import Foundation /// 省钱(累计/战绩/明细)读取,对齐后端 app/api/v1/savings.py(需登录)。 struct SavingsService { private var api: APIClient { .shared } func summary() async throws -> SavingsSummaryDTO { try await api.get("api/v1/savings/summary") } func battle() async throws -> SavingsBattleDTO { try await api.get("api/v1/savings/battle") } func records(limit: Int = 20, cursor: Int? = nil) async throws -> SavingsRecordPageDTO { var query = [URLQueryItem(name: "limit", value: String(limit))] if let cursor { query.append(URLQueryItem(name: "cursor", value: String(cursor))) } return try await api.get("api/v1/savings/records", query: query) } }