const.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. // ========== COMMON - 公共模块 ==========
  2. /**
  3. * 与后端Terminal枚举一一对应
  4. */
  5. export const TerminalEnum = {
  6. UNKNOWN: 0, // 未知, 目的:在无法解析到 terminal 时,使用它
  7. WECHAT_MINI_PROGRAM: 10, //微信小程序
  8. WECHAT_WAP: 11, // 微信公众号
  9. H5: 20, // H5 网页
  10. APP: 31, // 手机 App
  11. };
  12. /**
  13. * 将Uniapp提供的平台转换为后端所需的Terminal值
  14. * @param platformType Uniapp提供的平台类型
  15. */
  16. export const getTerminalEnumByUniPlatform = (platformType) => {
  17. let terminal;
  18. // 与后端terminal枚举一一对应
  19. switch (platformType) {
  20. case 'app':
  21. terminal = TerminalEnum.APP;
  22. break;
  23. case 'web':
  24. terminal = TerminalEnum.H5;
  25. break;
  26. case 'mp-weixin':
  27. terminal = TerminalEnum.WECHAT_MINI_PROGRAM;
  28. break;
  29. default:
  30. terminal = TerminalEnum.UNKNOWN;
  31. }
  32. return terminal;
  33. };
  34. // ========== MALL - 营销模块 ==========
  35. import dayjs from "dayjs";
  36. /**
  37. * 优惠类型枚举
  38. */
  39. export const PromotionDiscountTypeEnum = {
  40. PRICE: {
  41. type: 1,
  42. name: '满减'
  43. },
  44. PERCENT: {
  45. type: 2,
  46. name: '折扣'
  47. }
  48. }
  49. /**
  50. * 优惠劵模板的有限期类型的枚举
  51. */
  52. export const CouponTemplateValidityTypeEnum = {
  53. DATE: {
  54. type: 1,
  55. name: '固定日期可用'
  56. },
  57. TERM: {
  58. type: 2,
  59. name: '领取之后可用'
  60. }
  61. }
  62. /**
  63. * 营销的商品范围枚举
  64. */
  65. export const PromotionProductScopeEnum = {
  66. ALL: {
  67. scope: 1,
  68. name: '通用劵'
  69. },
  70. SPU: {
  71. scope: 2,
  72. name: '商品劵'
  73. },
  74. CATEGORY: {
  75. scope: 3,
  76. name: '品类劵'
  77. }
  78. }
  79. // 时间段的状态枚举
  80. export const TimeStatusEnum = {
  81. WAIT_START: '即将开始',
  82. STARTED: '进行中',
  83. END: '已结束',
  84. }
  85. /**
  86. * 微信小程序的订阅模版
  87. */
  88. export const WxaSubscribeTemplate = {
  89. TRADE_ORDER_DELIVERY: "订单发货通知",
  90. PROMOTION_COMBINATION_SUCCESS: "拼团结果通知",
  91. PAY_WALLET_RECHARGER_SUCCESS: "充值成功通知",
  92. }
  93. export const getTimeStatusEnum = (startTime, endTime) => {
  94. const now = dayjs();
  95. if (now.isBefore(startTime)) {
  96. return TimeStatusEnum.WAIT_START;
  97. } else if (now.isAfter(endTime)) {
  98. return TimeStatusEnum.END;
  99. } else {
  100. return TimeStatusEnum.STARTED;
  101. }
  102. }