admin
2020-05-13 0b8efca4011e39f151e7a9d1edbe27ed64ec6175
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
var fileUpload = {
    strToJson: function(e) {
        
        void 0 === e && (e = new Object), void 0 === e.str && (e.str = ""), void 0 === e.success && (e.success = function() {}),
            void 0 === e.fail && (e.fail = function() {});
        try {
            var t = JSON.parse(e.str);
            "object" == typeof t ? e.success(t) : e.fail(e.str)
            
        } catch (t) {
            e.fail(e.str)
        }
    },
    AjaxList: [],
    upload: function(e) {
        if (void 0 === e && (e = new Object), void 0 === e.async && (e.async = !0), void 0 === e.url && (e.url = ""),
            void 0 ===
            e.data && (e.data = new Object), void 0 === e.maxSize ? e.maxSize = 100 : e.maxSize = parseInt(e.maxSize), void 0 ===
            e.withCredentials && (e.withCredentials = !0), void 0 === e.greenChannel && (e.greenChannel = !1), void 0 === e.progress &&
            (e.progress = function() {}), void 0 === e.success && (e.success = function() {}), void 0 === e.fail && (e.fail =
                function() {}), 1 == e.greenChannel || fileUpload.AjaxRepeat("add", e.url)) {
            var t = new FormData;
            for (var i in e.data) t.append(i, e.data[i]);
            var n = null;
            n = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP");
            var o = {
                total: 0,
                loaded: 0,
                percentage: 0
            };
            n.upload.onprogress = function(t) {
                t.lengthComputable && (o.total = t.total, o.loaded = t.loaded, o.percentage = Math.round(1e3 * parseFloat(t.loaded /
                    t.total)) / 10, e.progress(o))
            }, n.open("POST", e.url, e.async), n.withCredentials = e.withCredentials, n.onreadystatechange = function() {
                if (4 == n.readyState && 200 == n.status) {
                    fileUpload.AjaxRepeat("over", e.url);
                    var t = "";
                    n.responseText ? t = n.responseText : n.responseXML && (t = n.responseXML), fileUpload.strToJson({
                        str: t,
                        success: function(t) {
                            e.success(t)
                        },
                        fail: function() {
                            var i = {
                                code: 200,
                                data: t,
                                msg: "返回数据不是json格式"
                            };
                            e.fail(i)
                        }
                    })
                } else if (4 == n.readyState) {
                    fileUpload.AjaxRepeat("over", e.url);
                    var i = {
                        code: 404,
                        data: n.responseText,
                        msg: "无法链接,请检查网络"
                    };
                    e.fail(i)
                }
            }, n.send(t)
        } else {
            e.fail({
                code: 400,
                data: {},
                msg: "上一次上传工作还未完成"
            })
        }
    },
    AjaxRepeat: function(e, t) {
        var i = {
            url: "",
            over: !1
        };
        i.url = t;
        var n = !1;
        if ("add" == e) {
            for (var o = null, r = 0; r < fileUpload.AjaxList.length; r++)
                if (i.url == fileUpload.AjaxList[r].url) {
                    o = r;
                    break
                } null == o ? (fileUpload.AjaxList.push(i), n = !0) : 1 == fileUpload.AjaxList[o].over ? (fileUpload.AjaxList[o]
                    .over = !1, n = !
                    0) :
                n = !1
        } else if ("over" == e)
            for (r = 0; r < fileUpload.AjaxList.length; r++)
                if (t == fileUpload.AjaxList[r].url) {
                    fileUpload.AjaxList[r].over = !0, n = !0;
                    break
                } return n
    },
}
 
function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null;
}