prizeUserList.js 2.79 KB
import config from '../../common/config';
import api from '../../common/api';
import event from '../../common/event';
import LimitModel from '../../models/limit/index';
import helper from '../../utils/helper';
import wx from '../../utils/wx';

let app = getApp();
let router = global.router;

Page({

  /**
     * 页面的初始数据
     */
  data: {
    actId: 0,
    prizeUserList: [],
    vipImage: [ // 3种用户vip等级小图标
      '',
      '../../static/images/limit/level-1.png',
      '../../static/images/limit/level-2.png',
      '../../static/images/limit/level-3.png'
    ],
    giftImage: '../../static/images/limit/gift.png'
  },

  /**
     * 生命周期函数--监听页面加载
     */
  onLoad: function(options) {
    let actId = options.actId;

    this.setData({
      actId: actId
    });

    if (actId) {
      this.getPrizeUserList(actId);
    }

  },

  /**
     * 生命周期函数--监听页面初次渲染完成
     */
  onReady: function() {

  },

  /**
     * 生命周期函数--监听页面显示
     */
  onShow: function() {

  },

  /**
     * 生命周期函数--监听页面隐藏
     */
  onHide: function() {

  },

  /**
     * 生命周期函数--监听页面卸载
     */
  onUnload: function() {

  },

  /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
  onPullDownRefresh: function() {
    wx.stopPullDownRefresh();
  },

  /**
     * 页面上拉触底事件的处理函数
     */
  onReachBottom: function() {

  },

  getPrizeUserList: function(actId, limit = 1000, page = 1) {
    actId = actId || this.data.actId;

    return LimitModel.getPrizeUserList(actId, limit, page).then(res => {
      console.log(res);
      if (res.data && res.data.list.length > 0) {
        let result = [];

        res.data.list.forEach((item, index) => {
          if (!item.headIco) {
            item.headIco = '../../static/images/icons/default-avatar.png';
          } else {
            item.headIco = helper.image(item.headIco, 100, 100, 1);
          }
          item.nickName = item.nickName || '用户' + item.uid;
          item.nickName = item.nickName.length > 12 ? item.nickName.substring(0, 12) + '...' : item.nickName;
          item.vipLevel = item.vipLevel || 0;
          item.vipImage = this.data.vipImage[item.vipLevel];
          result.push(item);
        });
        console.log('prize', result);
        this.setData({
          prizeUserList: result
        });
        return Promise.resolve({ code: 200, data: this.data.prizeUserList });
      } else {
        return Promise.reject({ code: 203, message: '获取失败' });
      }
    });
  },

  /**
     * 处理接口返回的图片url
     */
  formatImgUrl: function(url, mode, width, height) {
    return url.replace(/{mode}/g, mode).replace(/{width}/g, width).replace(/{height}/g, height);
  }
});