goods_list.js 4.65 KB
var t = getApp(),
  a = t.request,
  o = t.globalData.setting,
  os = o,
  i = require("../../utils/util.js"),
  ut = i,
  s = require("../../utils/common.js");

Component({
  data: {
    url: o.imghost,
    object: null,
    curPage: 1,
    is_no_more: 1, //加载完所有数据的控制器
    load_complete: 0,   //加载完成,
    rank_switch: false, //等级卡开关
    card_field: "",     //等级卡
    card_name: "",      //卡的名称
    max_card_field: "", //
    card_list: null
  },
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
  },
  ready: function() {

  },

  methods: {
    init: function() {
      var th = this;
      getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.user_id, {
        success: function(e) {
          getApp().globalData.userInfo = e.data.data;
          getApp().getConfig2(function(e) {
            var swithc_list = e.switch_list;
            var sw_arr = JSON.parse(swithc_list);
            //---如果后台又开等级卡的开关---
            if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
              th.setData({
                rank_switch: true
              });
              //---回调卡的列表---
              th.getPlusCardType(function(ob) {
                th.setData({
                  card_list: ob.card_list
                });
                var ti = setInterval(function() {
                  var user = getApp().globalData.userInfo;
                  if (!user) return false;
                  clearInterval(ti);

                  if (user.card_field) {
                    var str = user['card_expiredate'].replace(/-/g, '/');
                    var end = new Date(str);
                    end = Date.parse(end) / 1000;
                    var now = ut.gettimestamp();

                    //--- 判断是等级会员,且在有效期范围内 ---
                    if (user.card_field && now < end) {
                      var card_name = ob.name_map.get(user.card_field);
                      if (card_name.length > 4) card_name = card_name.substring(0, 4);
                      th.setData({
                        card_field: user.card_field,
                        card_name: card_name,
                        card_list: ob.card_list
                      });
                    }
                  }
                }, 500)
              })

            }
          })
        }
      })

    },


    get_list: function() {
      var that = this;
      if (that.data.is_no_more == 0) return false;
      var curPage = that.data.curPage;
      getApp().request.get('/api/weshop/goods/page?page', {
        data: {
          is_mainshow: 1,
          isonsale: 1,
          is_recommend: 1,
          is_on_sale: 1,
          store_id: o.stoid,
          page: curPage,
          pageSize: 6,
        },
        success: function(res) {
          var data = res.data;
          var total = data.data.total;
          if (total <= curPage * 6) {
            that.setData({
              is_no_more: 0
            });
          } else {
            that.data.curPage++;
          }

          //加载完成
          if (data.data.pageData) {
            that.setData({
              load_complete: 1
            });
          }
          if (that.data.recommend != null) {
            var ra = that.data.recommend.concat(data.data.pageData);
            that.setData({
              recommend: ra
            });
          } else {
            that.setData({
              recommend: data.data.pageData
            });
          }
        }
      })
    },


    bind_bnerr_xc: function(e) {
      var _errImg = e.target.dataset.errorimg;
      var _errurl = e.target.dataset.url;
      var _errObj = {};
      _errObj[_errImg] = "/miniapp/images/default_g_img.gif";
      this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;      
    },

    reset: function() {
      curPage = 1;
    },

    //---  获取卡类列表 ---
    getPlusCardType: function(func) {
      var storid = o.stoid;
      var th = this;
      getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
        var plusCard = res.data.data;
        var arr = [1219, 2089, 3031];
        var new_arr = new Array();
        var card_name_map = new Map();
        for (var i = 0; i < plusCard.length; i++) {
          var name = "card" + plusCard[i].CorrPrice.toLowerCase();
          card_name_map.set(name, plusCard[i].CardName);
        }

        var ob = {
          "card_list": plusCard,
          "name_map": card_name_map
        };
        func(ob);
      })
    },

  },



})