index.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. /**
  2. * 全局配置文件
  3. */
  4. // 应用配置
  5. export const APP_CONFIG = {
  6. name: '婚恋平台',
  7. version: '1.0.0',
  8. logo: '婚恋'
  9. }
  10. // 主题配色
  11. export const THEME_COLORS = {
  12. primary: '#E91E63', // 主色 - 粉红
  13. accent: '#FF6B6B', // 辅助强调色
  14. background: '#FFF9F9', // 背景色
  15. white: '#FFFFFF', // 白色
  16. textPrimary: '#333333', // 主文字
  17. textSecondary: '#666666', // 次文字
  18. textDisabled: '#999999', // 禁用文字
  19. success: '#4CAF50', // 成功色
  20. warning: '#FF9800', // 警告色
  21. error: '#F44336', // 错误色
  22. info: '#2196F3', // 信息色
  23. border: '#F0F0F0', // 边框色
  24. divider: '#E0E0E0' // 分割线
  25. }
  26. // 默认图片
  27. export const DEFAULT_IMAGES = {
  28. avatar: '/static/default-avatar.svg',
  29. banner: 'https://images.unsplash.com/photo-1522673607200-164d1b6ce486?w=750&h=360&fit=crop',
  30. couple: 'https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?w=520&h=360&fit=crop',
  31. activity: 'https://images.unsplash.com/photo-1511632765486-a01980e01a18?w=750&h=400&fit=crop',
  32. course: 'https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=750&h=400&fit=crop',
  33. placeholder: '/static/default-avatar.svg'
  34. }
  35. // 活动类型
  36. export const ACTIVITY_TYPES = {
  37. ONLINE: 1, // 线上活动
  38. OFFLINE: 2, // 线下活动
  39. BOTH: 3 // 线上线下
  40. }
  41. // 活动状态
  42. export const ACTIVITY_STATUS = {
  43. NOT_STARTED: 0, // 未开始
  44. ONGOING: 1, // 进行中
  45. ENDED: 2, // 已结束
  46. CANCELLED: 3 // 已取消
  47. }
  48. // 性别
  49. export const GENDER = {
  50. MALE: 1, // 男
  51. FEMALE: 2, // 女
  52. OTHER: 0 // 其他
  53. }
  54. // 学历
  55. export const EDUCATION = {
  56. HIGH_SCHOOL: 1, // 高中及以下
  57. COLLEGE: 2, // 大专
  58. BACHELOR: 3, // 本科
  59. MASTER: 4, // 硕士
  60. DOCTOR: 5 // 博士
  61. }
  62. // 学历文本映射
  63. export const EDUCATION_TEXT = {
  64. [EDUCATION.HIGH_SCHOOL]: '高中及以下',
  65. [EDUCATION.COLLEGE]: '大专',
  66. [EDUCATION.BACHELOR]: '本科',
  67. [EDUCATION.MASTER]: '硕士',
  68. [EDUCATION.DOCTOR]: '博士'
  69. }
  70. // 薪资范围
  71. export const SALARY_RANGE = {
  72. RANGE_1: 1, // 5k以下
  73. RANGE_2: 2, // 5k-10k
  74. RANGE_3: 3, // 10k-20k
  75. RANGE_4: 4, // 20k-30k
  76. RANGE_5: 5, // 30k-50k
  77. RANGE_6: 6 // 50k以上
  78. }
  79. // 薪资范围文本映射
  80. export const SALARY_RANGE_TEXT = {
  81. [SALARY_RANGE.RANGE_1]: '5k以下',
  82. [SALARY_RANGE.RANGE_2]: '5k-10k',
  83. [SALARY_RANGE.RANGE_3]: '10k-20k',
  84. [SALARY_RANGE.RANGE_4]: '20k-30k',
  85. [SALARY_RANGE.RANGE_5]: '30k-50k',
  86. [SALARY_RANGE.RANGE_6]: '50k以上'
  87. }
  88. // 红娘等级
  89. export const MATCHMAKER_LEVEL = {
  90. JUNIOR: 1, // 初级红娘
  91. INTERMEDIATE: 2, // 中级红娘
  92. SENIOR: 3, // 高级红娘
  93. EXPERT: 4 // 专家红娘
  94. }
  95. // 红娘等级文本映射
  96. export const MATCHMAKER_LEVEL_TEXT = {
  97. [MATCHMAKER_LEVEL.JUNIOR]: '初级红娘',
  98. [MATCHMAKER_LEVEL.INTERMEDIATE]: '中级红娘',
  99. [MATCHMAKER_LEVEL.SENIOR]: '高级红娘',
  100. [MATCHMAKER_LEVEL.EXPERT]: '专家红娘'
  101. }
  102. // 分页配置
  103. export const PAGINATION = {
  104. pageSize: 10,
  105. pageSizes: [10, 20, 50, 100]
  106. }
  107. // 图片上传配置
  108. export const UPLOAD_CONFIG = {
  109. maxSize: 5 * 1024 * 1024, // 最大5MB
  110. accept: ['jpg', 'jpeg', 'png', 'gif'],
  111. maxCount: 9 // 最多上传9张
  112. }
  113. // 正则表达式
  114. export const REGEXP = {
  115. phone: /^1[3-9]\d{9}$/,
  116. email: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/,
  117. 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]$/,
  118. password: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/ // 至少8位,包含大小写字母和数字
  119. }
  120. // 消息类型
  121. export const MESSAGE_TYPE = {
  122. TEXT: 1, // 文本
  123. IMAGE: 2, // 图片
  124. VOICE: 3, // 语音
  125. VIDEO: 4, // 视频
  126. SYSTEM: 5 // 系统消息
  127. }
  128. // 匹配状态
  129. export const MATCH_STATUS = {
  130. PENDING: 0, // 待处理
  131. LIKED: 1, // 已喜欢
  132. DISLIKED: 2, // 不喜欢
  133. MATCHED: 3, // 互相喜欢(匹配成功)
  134. BLOCKED: 4 // 已拉黑
  135. }
  136. // 课程类型
  137. export const COURSE_TYPE = {
  138. VIDEO: 1, // 视频课程
  139. LIVE: 2, // 直播课程
  140. OFFLINE: 3 // 线下课程
  141. }
  142. // 支付方式
  143. export const PAYMENT_METHOD = {
  144. WECHAT: 1, // 微信支付
  145. ALIPAY: 2, // 支付宝
  146. BALANCE: 3 // 余额支付
  147. }
  148. // 订单状态
  149. export const ORDER_STATUS = {
  150. UNPAID: 0, // 未支付
  151. PAID: 1, // 已支付
  152. CANCELLED: 2, // 已取消
  153. REFUNDED: 3, // 已退款
  154. COMPLETED: 4 // 已完成
  155. }
  156. // 订单状态文本映射
  157. export const ORDER_STATUS_TEXT = {
  158. [ORDER_STATUS.UNPAID]: '待支付',
  159. [ORDER_STATUS.PAID]: '已支付',
  160. [ORDER_STATUS.CANCELLED]: '已取消',
  161. [ORDER_STATUS.REFUNDED]: '已退款',
  162. [ORDER_STATUS.COMPLETED]: '已完成'
  163. }
  164. // 本地存储键名
  165. export const STORAGE_KEYS = {
  166. TOKEN: 'token',
  167. USER_INFO: 'userInfo',
  168. SEARCH_HISTORY: 'searchHistory',
  169. BROWSE_HISTORY: 'browseHistory'
  170. }
  171. export default {
  172. APP_CONFIG,
  173. THEME_COLORS,
  174. DEFAULT_IMAGES,
  175. ACTIVITY_TYPES,
  176. ACTIVITY_STATUS,
  177. GENDER,
  178. EDUCATION,
  179. EDUCATION_TEXT,
  180. SALARY_RANGE,
  181. SALARY_RANGE_TEXT,
  182. MATCHMAKER_LEVEL,
  183. MATCHMAKER_LEVEL_TEXT,
  184. PAGINATION,
  185. UPLOAD_CONFIG,
  186. REGEXP,
  187. MESSAGE_TYPE,
  188. MATCH_STATUS,
  189. COURSE_TYPE,
  190. PAYMENT_METHOD,
  191. ORDER_STATUS,
  192. ORDER_STATUS_TEXT,
  193. STORAGE_KEYS
  194. }