| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | // ========== COMMON - 公共模块 ==========/** * 与后端Terminal枚举一一对应 */export const TerminalEnum = {  UNKNOWN: 0, // 未知, 目的:在无法解析到 terminal 时,使用它  WECHAT_MINI_PROGRAM: 10, //微信小程序  WECHAT_WAP: 11, // 微信公众号  H5: 20, // H5 网页  APP: 31, // 手机 App};/** * 将 uni-app 提供的平台转换为后端所需的 terminal值 * * @return 终端 */export const getTerminal = () => {  const platformType = uni.getSystemInfoSync().uniPlatform;  // 与后端terminal枚举一一对应  switch (platformType) {    case 'app':      return TerminalEnum.APP;    case 'web':      return TerminalEnum.H5;    case 'mp-weixin':      return TerminalEnum.WECHAT_MINI_PROGRAM;    default:      return TerminalEnum.UNKNOWN;  }};// ========== MALL - 营销模块 ==========import dayjs from 'dayjs';/** * 优惠类型枚举 */export const PromotionDiscountTypeEnum = {  PRICE: {    type: 1,    name: '满减',  },  PERCENT: {    type: 2,    name: '折扣',  },};/** * 优惠劵模板的有限期类型的枚举 */export const CouponTemplateValidityTypeEnum = {  DATE: {    type: 1,    name: '固定日期可用',  },  TERM: {    type: 2,    name: '领取之后可用',  },};/** * 营销的商品范围枚举 */export const PromotionProductScopeEnum = {  ALL: {    scope: 1,    name: '通用劵',  },  SPU: {    scope: 2,    name: '商品劵',  },  CATEGORY: {    scope: 3,    name: '品类劵',  },};// 时间段的状态枚举export const TimeStatusEnum = {  WAIT_START: '即将开始',  STARTED: '进行中',  END: '已结束',};/** * 微信小程序的订阅模版 */export const WxaSubscribeTemplate = {  TRADE_ORDER_DELIVERY: '订单发货通知',  PROMOTION_COMBINATION_SUCCESS: '拼团结果通知',  PAY_WALLET_RECHARGER_SUCCESS: '充值成功通知',};export const PromotionActivityTypeEnum = {  NORMAL: {    type: 0,    name: '普通',  },  SECKILL: {    type: 1,    name: '秒杀',  },  BARGAIN: {    type: 2,    name: '砍价',  },  COMBINATION: {    type: 3,    name: '拼团',  },  POINT: {    type: 4,    name: '积分商城',  },};/** 配送方式枚举 */export const DeliveryTypeEnum = {  EXPRESS: { type: 1, name: '快递发货' },  PICK_UP: { type: 2, name: '用户自提' },};export const getTimeStatusEnum = (startTime, endTime) => {  const now = dayjs();  if (now.isBefore(startTime)) {    return TimeStatusEnum.WAIT_START;  } else if (now.isAfter(endTime)) {    return TimeStatusEnum.END;  } else {    return TimeStatusEnum.STARTED;  }};
 |