| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | // ========== 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 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;    }  };  
 |