const.js 2.2 KB

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