user-center.js 4.38 KB
import {
  getBindtapData
} from '../../utils/util';

let app = getApp();
Page({
  data: {
    authorizeVisible: false,
    commonTipsCompVisible: false,
    signTipsCompVisible: false,
    giftSignTipsCompVisible: false,
    innerTitle: "",
    innerText: "",
    // innerButton: "",
    userInfo: {}, // 用户数据
    signInfo: [], // 签到数据
    signNum: 0, // 签到天数
    signPrize: {}, //签到奖励
  },
  onShareAppMessage() {},
  showAuth() {
    this.setData({
      authorizeVisible: true
    })
  },
  onShow() {
    this.initData();
  },
  onLoad(options) {

  },
  initData() {
    this.queryMember().then((result) => {
      this.querySignInfo();
    });
  },

  /**
   * 点击签到
   */
  onSignHandler(evt) {
    console.log("onSignHandler");
    return new Promise((resolve, reject) => {
      app.post({
        toast: false,
        url: app.api.sign,
      }).then((result) => {
        this.queryMember().then((result) => {
          this.querySignInfo().then((result2) => {
            // 签到成功
            this.setData({
              signPrize: result2,
              giftSignTipsCompVisible: true
            })
          })
        })
      }).catch((err) => {
        let {
          code
        } = err;
        // 用户未审核
        if (code == 1002) {
          this.setData({
            signTipsCompVisible: true
          })
        }
      });
    });
  },


  /**
   * 签到记录
   */
  onsignInRecordHandler(evt) {
    app.router.push({
      path: "signInRecord"
    })
  },

  /**
   * 积分详情
   */
  onIntegralDetailHandler(evt) {
    app.router.push({
      path: "integralDetail"
    })
  },

  /**
   * 我的订单
   */
  onMyOrderHandler(evt) {
    let navIndex = getBindtapData(evt, "index");
    app.router.push({
      path: "myOrder",
      query: {
        navIndex: navIndex
      }
    })
  },

  /**
   * 我的二维码
   */
  onMyQrcodeHandler(evt) {
    app.router.push({
      path: "myQrcode"
    })
  },

  /**
   * 排行榜
   */
  onRankHandler(evt) {
    app.router.push({
      path: "rank"
    })
  },

  /**
   * 地址管理
   */
  onAddressHandler(evt) {
    app.router.push({
      path: "addressManagement"
    })
  },

  /**
   * 我的消息
   */
  onMyMessageHandler(evt) {
    app.router.push({
      path: "myMessage"
    })
  },

  /**
   * 点击联系我们
   */
  onContactUsHandler(evt) {
    app.router.push({
      path: "contact"
    })
  },

  /**
   * 获取会员信息
   */
  queryMember() {
    return new Promise((resolve, reject) => {
      app.post({
        url: app.api.member,
        data: {}
      }).then((result) => {
        this.setData({
          userInfo: result
        })
        resolve();
      })
    });
  },

  /**
   * 签到信息
   */
  querySignInfo() {
    return new Promise((resolve, reject) => {
      app.post({
        url: app.api.signInfo,
        data: {}
      }).then((result) => {
        let signNum = result.signRecord && result.signRecord.length || 0;
        console.log("signNum:", signNum);
        let resultList = result.signRecord || [];
        let signInfo = [];
        for (let index = 0; index < 7; index++) {
          signInfo.push(resultList[index] ? resultList[index] : "");
        }
        this.setData({
          signInfo: signInfo,
          signNum: signNum
        })
        console.log("signInfo:", signInfo);
        resolve();
      })
    });
  },

  /**
   * 去验证
   */
  toVipLoginHandler() {
    app.router.push({
      path: "vipLogin"
    })
  },

  /**
   * 查看审核
   */
  toVipVerifyHandler() {
    app.router.push({
      path: "vipVerify"
    })
  },

  // 隐藏蒙层
  hideMask() {
    this.setData({
      authorizeVisible: false,
      commonTipsCompVisible: false,
      signTipsCompVisible: false,
      giftSignTipsCompVisible: false
    })
  },
  // 子组件事件
  evtcomp(evt) {
    let {
      name,
      data
    } = evt.detail;
    switch (name) {

      // 授权完毕
      case "_evt_auth_complete":
        this.initData();
        this.hideMask();
        break;

        // 通用弹窗组件按钮
      case "_evt_common_comp_button":
        this.hideMask();
        break;

        // 去验证
      case "_evt_to_verify":
        this.hideMask();
        this.toVipLogin();
        break;

        // 隐藏弹窗
      case "_evt_hide_mask":
        this.hideMask();
        break;

      default:
        break;
    }
  },
})