LoadMore2.js
3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
var oo = require("../setting.js");
var ut = require('util.js');
function a(a, t, e) {
    return t in a ? Object.defineProperty(a, t, {
        value: e,
        enumerable: !0,
        configurable: !0,
        writable: !0
    }) : a[t] = e, a;
}
function t(a, t) {
    if (!(a instanceof t)) throw new TypeError("Cannot call a class as a function");
}
Object.defineProperty(exports, "__esModule", {
    value: !0
});
var e = function() {
    function a(a, t) {
        for (var e = 0; e < t.length; e++) {
            var o = t[e];
            o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0),
            Object.defineProperty(a, o.key, o);
        }
    }
    return function(t, e, o) {
        return e && a(t.prototype, e), o && a(t, o), t;
    };
}(), o = getApp(), n = o.request, i = function() {
    function i() {
        t(this, i), this.data = {
            page: null,
            listName: "",
            resultName: "",
            resultListName: "",
            scrollTimeStamp: 0,
            goodsLoadFinishFlag: !1,
            goodsLoading: !1
        };
    }
    return e(i, [ {
        key: "init",
        value: function(a, t, e, o) {
            this.data.scrollTimeStamp = 0, this.data.page = a, this.data.listName = t, this.data.resultName = e,
            this.data.resultListName = void 0 == o ? t : o, this.data.goodsLoadFinishFlag = !1,
            this.data.goodsLoading = !1;
        }
    }, {
        key: "request",
        value: function(t, e, i,dd) {
            if(dd==undefined) dd=null;
            var s = this,rurl=t;
            return !s.data.goodsLoading && (s.data.goodsLoading = !0, n.get(t, {
                data:dd,
                success: function(t) {
                    var n = !0;
                    var i, r = s.data.listName, l = s.data.resultName, d = s.data.resultListName;
                    i = "" != r ? t.data.data[r] : t.data.data.pageData;  //data.pageData是接口固定会出现的,封装好了
                    var u = !1, g = null, c = s.data.page;
                    console.log('loadmore');
                    console.log(t.data.data.pageData);
                    console.log(c );
                    if(t.data.data.pageData.length==0){
                      (s.data.goodsLoadFinishFlag = !0, o.showWarning("加载完啦", null, 500, !1));
                       return false;
                    }
                    //如果已经的第二页的时候,就是把数据加入数组
                    if (c !=undefined && c.data[l]) {
                        u = !0;
                        var f = null;
                        f = "" != d ? c.data[l][d] : c.data[l], [].push.apply(f, i), g = c.data[l];
                    } else  g = t.data.data.pageData;
                      c.setData(a({}, l, g));
                      if ("function" == typeof e && (n = e(t)), !1 === n) return !1;
                      i && 0 != i.length || (s.data.goodsLoadFinishFlag = !0, u && o.showWarning("加载完啦", null, 500, !1));
                      return false;
                },
                fail: function(a) {
                    var t = !0;
                    return console.log(a), "function" == typeof i && (t = i(a)), t;
                },
                complete: function(a) {
                    s.data.goodsLoading = !1;
                }
            }), !0);
        }
    }, {
        key: "canloadMore",
        value: function() {
            console.log("loadMore...Finish:", this.data.goodsLoadFinishFlag);
            var a = this;
            if (a.data.goodsLoadFinishFlag) return o.showWarning("加载完啦", null, 500, !1), !1;
            var t = new Date().getTime();
            return console.log("loadMore...time:", t), t - a.data.scrollTimeStamp > 300 && (a.data.scrollTimeStamp = t,
            !0);
        }
    }, {
        key: "resetConfig",
        value: function() {
            this.data.goodsLoadFinishFlag = !1;
        }
    } ]), i;
}();
exports.default = i;