/**
 * @description 枚举类型统一导出
 * @author yslg
 * @since 2025-10-06
 */

/**
 * HTTP 状态码枚举
 */
export enum HttpStatus {
  /** 成功 */
  OK = 200,
  /** 错误请求 */
  BAD_REQUEST = 400,
  /** 未授权 */
  UNAUTHORIZED = 401,
  /** 禁止访问 */
  FORBIDDEN = 403,
  /** 未找到 */
  NOT_FOUND = 404,
  /** 服务器错误 */
  INTERNAL_SERVER_ERROR = 500
}

/**
 * 用户状态枚举
 */
export enum UserStatus {
  /** 正常 */
  NORMAL = 0,
  /** 禁用 */
  DISABLED = 1,
  /** 锁定 */
  LOCKED = 2
}

/**
 * 性别枚举
 */
export enum Gender {
  /** 未知 */
  UNKNOWN = 0,
  /** 男 */
  MALE = 1,
  /** 女 */
  FEMALE = 2
}

/**
 * 菜单类型枚举
 */
export enum MenuType {
  /** 侧边栏 */
  SIDEBAR = 0,
  /** 导航栏 */
  NAVIGATION = 1,
  /** 按钮 */
  BUTTON = 2,
  /** 独立页面（不显示在菜单中，如首页、个人中心等） */
  PAGE = 3
}

/**
 * 登录类型枚举
 */
export enum LoginType {
  /** 用户名登录 */
  USERNAME = 'username',
  /** 邮箱登录 */
  EMAIL = 'email',
  /** 手机号登录 */
  PHONE = 'phone',
  /** 微信登录 */
  WECHAT = 'wechat',
  /** 密码登录 */
  PASSWORD = 'password'
}

/**
 * 资源状态枚举
 */
export enum ResourceStatus {
  /** 草稿 */
  DRAFT = 0,
  /** 已发布 */
  PUBLISHED = 1,
  /** 下架 */
  OFFLINE = 2
}

/**
 * 课程状态枚举
 */
export enum CourseStatus {
  /** 未上线 */
  OFFLINE = 0,
  /** 已上线 */
  ONLINE = 1,
  /** 已下架 */
  DISABLED = 2
}

/**
 * 学习任务状态枚举
 */
export enum LearningTaskStatus {
  /** 草稿 */
  DRAFT = 0,
  /** 进行中 */
  IN_PROGRESS = 1,
  /** 已结束 */
  COMPLETED = 2
}

/**
 * 收藏类型枚举
 */
export enum CollectionType {
  /** 资源 */
  RESOURCE = 1,
  /** 课程 */
  COURSE = 2
}

/**
 * 文章状态枚举
 */
export enum ArticleStatus {
  /** 草稿 */
  DRAFT = 0,
  /** 已发布 */
  PUBLISHED = 1,
  /** 下架 */
  OFFLINE = 2
}

/**
 * 资源类型枚举
 */
export enum ResourceType {
  /** 资源 */
  RESOURCE = 1,
  /** 课程 */
  COURSE = 2,
  /** 章节 */
  CHAPTER = 3
}

/**
 * Banner链接类型枚举
 */
export enum BannerLinkType {
  /** 资源 */
  RESOURCE = 1,
  /** 课程 */
  COURSE = 2,
  /** 外部链接 */
  EXTERNAL = 3
}

/**
 * 智能体消息角色枚举
 */
export enum AiMessageRole {
  /** 用户 */
  USER = 'user',
  /** 助手 */
  ASSISTANT = 'assistant',
  /** 系统 */
  SYSTEM = 'system'
}

/**
 * 积分变动类型枚举
 */
export enum PointsType {
  /** 获得 */
  EARN = 1,
  /** 消费 */
  CONSUME = 2
}

/**
 * 文件状态枚举
 */
export enum FileStatus {
  /** 处理中 */
  PROCESSING = 0,
  /** 成功 */
  SUCCESS = 1,
  /** 失败 */
  FAILED = 2
}

/**
 * 数据采集状态枚举
 */
export enum CollectionStatus {
  /** 失败 */
  FAILED = 0,
  /** 成功 */
  SUCCESS = 1
}
/**
 * 任务项类型枚举
 */
export enum TaskItemType {
  /** 资源类型 */
  RESOURCE = 1,
  /** 课程类型 */
  COURSE = 2
}
