/// API 错误码常量
///
/// 集中管理后端业务错误码，避免散落在各处硬编码。
/// 按业务域分组，命名风格对齐后端定义。
///
/// 使用方式：
/// ```dart
/// ApiConfig(
///   tokenExpiredCodes: ApiErrorCodes.tokenExpiredCodes,
///   forceLogoutCodes: ApiErrorCodes.forceLogoutCodes,
/// )
/// ```
class ApiErrorCodes {
  ApiErrorCodes._();

  // ── 认证（30001-30009）──

  /// Token 无效
  static const int tokenInvalid = 30002;

  /// JWT 无效
  static const int jwtInvalid = 30003;

  /// 签名方法错误
  static const int signingMethodError = 30008;

  /// 密钥解析失败
  static const int parsingKeyError = 30009;

  /// Session 无效
  static const int sessionInvalid = 30124;

  /// Refresh Token 失效
  static const int refreshTokenFailed = 30125;

  /// 账号在其他设备登录
  static const int loggedInAnotherDevice = 30006;

  // ── 验证码（30170-30179）──

  /// 触发图片验证：data 含各平台 CAPTCHA token（android / ios / web）
  static const int captchaRequired = 30174;

}
