/**
 * 全局配置文件
 */

// 应用配置
export const APP_CONFIG = {
  name: '婚恋平台',
  version: '1.0.0',
  logo: '婚恋'
}

// 主题配色
export const THEME_COLORS = {
  primary: '#E91E63',        // 主色 - 粉红
  accent: '#FF6B6B',         // 辅助强调色
  background: '#FFF9F9',     // 背景色
  white: '#FFFFFF',          // 白色
  textPrimary: '#333333',    // 主文字
  textSecondary: '#666666',  // 次文字
  textDisabled: '#999999',   // 禁用文字
  success: '#4CAF50',        // 成功色
  warning: '#FF9800',        // 警告色
  error: '#F44336',          // 错误色
  info: '#2196F3',           // 信息色
  border: '#F0F0F0',         // 边框色
  divider: '#E0E0E0'         // 分割线
}

// 默认图片
export const DEFAULT_IMAGES = {
  avatar: '/static/default-avatar.svg',
  banner: 'https://images.unsplash.com/photo-1522673607200-164d1b6ce486?w=750&h=360&fit=crop',
  couple: 'https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?w=520&h=360&fit=crop',
  activity: 'https://images.unsplash.com/photo-1511632765486-a01980e01a18?w=750&h=400&fit=crop',
  course: 'https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=750&h=400&fit=crop',
  placeholder: '/static/default-avatar.svg'
}

// 活动类型
export const ACTIVITY_TYPES = {
  ONLINE: 1,   // 线上活动
  OFFLINE: 2,  // 线下活动
  BOTH: 3      // 线上线下
}

// 活动状态
export const ACTIVITY_STATUS = {
  NOT_STARTED: 0,  // 未开始
  ONGOING: 1,      // 进行中
  ENDED: 2,        // 已结束
  CANCELLED: 3     // 已取消
}

// 性别
export const GENDER = {
  MALE: 1,    // 男
  FEMALE: 2,  // 女
  OTHER: 0    // 其他
}

// 学历
export const EDUCATION = {
  HIGH_SCHOOL: 1,    // 高中及以下
  COLLEGE: 2,        // 大专
  BACHELOR: 3,       // 本科
  MASTER: 4,         // 硕士
  DOCTOR: 5          // 博士
}

// 学历文本映射
export const EDUCATION_TEXT = {
  [EDUCATION.HIGH_SCHOOL]: '高中及以下',
  [EDUCATION.COLLEGE]: '大专',
  [EDUCATION.BACHELOR]: '本科',
  [EDUCATION.MASTER]: '硕士',
  [EDUCATION.DOCTOR]: '博士'
}

// 薪资范围
export const SALARY_RANGE = {
  RANGE_1: 1,   // 5k以下
  RANGE_2: 2,   // 5k-10k
  RANGE_3: 3,   // 10k-20k
  RANGE_4: 4,   // 20k-30k
  RANGE_5: 5,   // 30k-50k
  RANGE_6: 6    // 50k以上
}

// 薪资范围文本映射
export const SALARY_RANGE_TEXT = {
  [SALARY_RANGE.RANGE_1]: '5k以下',
  [SALARY_RANGE.RANGE_2]: '5k-10k',
  [SALARY_RANGE.RANGE_3]: '10k-20k',
  [SALARY_RANGE.RANGE_4]: '20k-30k',
  [SALARY_RANGE.RANGE_5]: '30k-50k',
  [SALARY_RANGE.RANGE_6]: '50k以上'
}

// 红娘等级
export const MATCHMAKER_LEVEL = {
  JUNIOR: 1,      // 初级红娘
  INTERMEDIATE: 2, // 中级红娘
  SENIOR: 3,      // 高级红娘
  EXPERT: 4       // 专家红娘
}

// 红娘等级文本映射
export const MATCHMAKER_LEVEL_TEXT = {
  [MATCHMAKER_LEVEL.JUNIOR]: '初级红娘',
  [MATCHMAKER_LEVEL.INTERMEDIATE]: '中级红娘',
  [MATCHMAKER_LEVEL.SENIOR]: '高级红娘',
  [MATCHMAKER_LEVEL.EXPERT]: '专家红娘'
}

// 分页配置
export const PAGINATION = {
  pageSize: 10,
  pageSizes: [10, 20, 50, 100]
}

// 图片上传配置
export const UPLOAD_CONFIG = {
  maxSize: 5 * 1024 * 1024,  // 最大5MB
  accept: ['jpg', 'jpeg', 'png', 'gif'],
  maxCount: 9  // 最多上传9张
}

// 正则表达式
export const REGEXP = {
  phone: /^1[3-9]\d{9}$/,
  email: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/,
  idCard: /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/,
  password: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/  // 至少8位，包含大小写字母和数字
}

// 消息类型
export const MESSAGE_TYPE = {
  TEXT: 1,      // 文本
  IMAGE: 2,     // 图片
  VOICE: 3,     // 语音
  VIDEO: 4,     // 视频
  SYSTEM: 5     // 系统消息
}

// 匹配状态
export const MATCH_STATUS = {
  PENDING: 0,     // 待处理
  LIKED: 1,       // 已喜欢
  DISLIKED: 2,    // 不喜欢
  MATCHED: 3,     // 互相喜欢（匹配成功）
  BLOCKED: 4      // 已拉黑
}

// 课程类型
export const COURSE_TYPE = {
  VIDEO: 1,    // 视频课程
  LIVE: 2,     // 直播课程
  OFFLINE: 3   // 线下课程
}

// 支付方式
export const PAYMENT_METHOD = {
  WECHAT: 1,   // 微信支付
  ALIPAY: 2,   // 支付宝
  BALANCE: 3   // 余额支付
}

// 订单状态
export const ORDER_STATUS = {
  UNPAID: 0,      // 未支付
  PAID: 1,        // 已支付
  CANCELLED: 2,   // 已取消
  REFUNDED: 3,    // 已退款
  COMPLETED: 4    // 已完成
}

// 订单状态文本映射
export const ORDER_STATUS_TEXT = {
  [ORDER_STATUS.UNPAID]: '待支付',
  [ORDER_STATUS.PAID]: '已支付',
  [ORDER_STATUS.CANCELLED]: '已取消',
  [ORDER_STATUS.REFUNDED]: '已退款',
  [ORDER_STATUS.COMPLETED]: '已完成'
}

// 本地存储键名
export const STORAGE_KEYS = {
  TOKEN: 'token',
  USER_INFO: 'userInfo',
  SEARCH_HISTORY: 'searchHistory',
  BROWSE_HISTORY: 'browseHistory'
}

export default {
  APP_CONFIG,
  THEME_COLORS,
  DEFAULT_IMAGES,
  ACTIVITY_TYPES,
  ACTIVITY_STATUS,
  GENDER,
  EDUCATION,
  EDUCATION_TEXT,
  SALARY_RANGE,
  SALARY_RANGE_TEXT,
  MATCHMAKER_LEVEL,
  MATCHMAKER_LEVEL_TEXT,
  PAGINATION,
  UPLOAD_CONFIG,
  REGEXP,
  MESSAGE_TYPE,
  MATCH_STATUS,
  COURSE_TYPE,
  PAYMENT_METHOD,
  ORDER_STATUS,
  ORDER_STATUS_TEXT,
  STORAGE_KEYS
}

