123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- // pages/user/rank.js
- import api from '../../utils/api'
- const app = getApp()
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- tabIndex: 0,
- result: [
- {
- list: []
- },
- {
- list: [],
- },
- {
- list: []
- }
- ],
- params: [
- {
- page: 1,
- offset: 10,
- range: 'week'
- },
- {
- page: 1,
- offset: 10,
- range: 'month'
- },
- {
- page: 1,
- offset: 10,
- range: 'all'
- }
- ],
- mpType: app.globalData.mpType
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.getList()
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- let { tabIndex, result, params } = this.data
- // 重置数据和参数
- result[tabIndex] = {
- list: []
- }
- params[tabIndex].page = 1
- this.setData({
- result,
- params
- })
- // 请求新数据
- this.getList(true)
- wx.stopPullDownRefresh()
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- this.getList()
- },
- tabChange: function (e) {
- let index = +e.currentTarget.dataset.index
- this.setData({
- tabIndex: index
- })
- if (!this.data.result[index].list.length) {
- this.getList()
- }
- },
- getList: function (hdld) {
- let { params, result, tabIndex: index } = this.data
- if (99 <= (params[index].page - 1) * params[index].offset) {
- return false
- }
- api.getIncomeRankList(hdld ? { ...params[index], HideLoading: true} : params[index]).then(res => {
- params[index].page++
- res.data.list = [
- ...result[index].list,
- ...res.data.list
- ]
- res.data.list = this.getRank(res.data.list)
- result[index] = res.data
- this.setData({
- params,
- result
- })
- })
- },
- getRank: function (data) {
- if (data.length) {
- data[0].index = 1
- for (let i = 1; i < data.length; i++) {
- // if (data[i].share_total === data[i-1].share_total) {
- // data[i].index = data[i-1].index
- // } else {
- // data[i].index = i + 1
- // }
- if (i >= 199) {
- data[i].index = '199+'
- } else {
- data[i].index = i + 1
- }
- }
- }
- return data
- }
- })
|