withFreshToken

suspend fun <T> withFreshToken(maxRetries: Int = 1, block: suspend () -> T): T

带令牌预检与重试的业务请求包装器。

  • 预检 ensureFreshToken(clientId, clientSecret):过期/缺失时安全换新

  • 执行 block;如抛 TokenExpiredException(401),再次 ensureFreshToken 后重试 maxRetries 次

  • X-Api-Key 由 HTTP 客户端拦截层自动注入