big-white-calendar

1.0.35 • Public • Published

安装

npm i big-white-calendar --save

index.json 添加组件

{
  "usingComponents": {
    "calendar": "big-white-calendar/es/index",
    "receive-modal": "big-white-calendar/es/receive-modal/index",
    "sign-up-modal": "big-white-calendar/es/sign-up-modal/index"
  }
}

axml 使用检签

<view a:if="{{data}}">
  <calendar data="{{data}}" onCouponClick="onCouponClick" />
  <receive-modal
    visible="{{getVisible}}"
    onClose="onGetSwitchModal"
    currentCoupon="{{currentCoupon}}"
    onButtonClick="onGetButtonClick"
  />
  <sign-up-modal
    visible="{{signUpVisible}}"
    onClose="onSignUpSwitchModal"
    onButtonClick="onSignUpClick"
  />
</view>

js

Page({
  data: {
    getVisible: false,
    signUpVisible: false,
  },
  async onLoad() {
    const data = await getListData(); // 数据结构: ICoupon[][], 详细看下面
    this.setData({
      data,
    });
  },
  receive(item) {
    if (true) {
      this.setData({
        signUpVisible: true,
      });
    } else {
      this.setData({
        getVisible: true,
        currentCoupon: item,
      });
    }
  },
  onCouponClick(e) {
    const { item } = e;
    const { statue, coupon_type } = item;
    console.log(e);
    // 红包跳转
    if (coupon_type === '8801') {
      return;
    }
    // 折扣券
    if (coupon_type !== '6001') {
      if (!statue) {
        // 领取拆扣券, 如果不是会员弹注册框
        this.receive(item);
      } else if (statue === '1001') {
        // 使用点击
      }
      return;
    }
    // 加返券
    switch (statue) {
      case '1001':
        // 去大白首页使用。
        return;
      case '1004':
        // 领取拆扣券, 如果不是会员弹注册框
        this.receive(item);
        return;
      case '1005':
        my.showToast({
          type: 'none',
          content: '活动未开启,请待开启',
        });
        // eslint-disable-next-line no-useless-return
        return;
      default:
        break;
    }
  },
  onGetSwitchModal() {
    this.setData({
      getVisible: !this.data.getVisible,
    });
  },
  onGetButtonClick() {
    console.log('使用点击');
  },
  onSignUpSwitchModal() {
    this.setData({
      signUpVisible: !this.data.signUpVisible,
    });
  },
  onSignUpClick() {
    console.log('注册点击');
  },
});

ICoupon

interface ICoupon {
  channel_id: number;
  coupon_name: string;
  coupon_type: string;
  img: string;
  param: number;
  worth: number;
  issue_start_time: string;
  issue_end_time: string;
  coupon_tap: string;
  statue?: string;
  coupon_status?: string;
  coupon_status_text?: string;
  stock_num?: number;
  total_amount?: number;
  use_start_time: string;
  use_end_time: string;
  coupon_tag: string;
}

Readme

Keywords

none

Package Sidebar

Install

npm i big-white-calendar

Weekly Downloads

0

Version

1.0.35

License

MIT

Unpacked Size

60.2 kB

Total Files

36

Last publish

Collaborators

  • jljsj33