906 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			906 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								(function webpackUniversalModuleDefinition(root, factory) {
							 | 
						|||
| 
								 | 
							
								    if (typeof exports === 'object' && typeof module === 'object')
							 | 
						|||
| 
								 | 
							
								        module.exports = factory();
							 | 
						|||
| 
								 | 
							
								    else if (typeof define === 'function' && define.amd)
							 | 
						|||
| 
								 | 
							
								        define([], factory);
							 | 
						|||
| 
								 | 
							
								    else if (typeof exports === 'object')
							 | 
						|||
| 
								 | 
							
								        exports["fetch"] = factory();
							 | 
						|||
| 
								 | 
							
								    else
							 | 
						|||
| 
								 | 
							
								        root["fetch"] = factory();
							 | 
						|||
| 
								 | 
							
								})(this, function () {
							 | 
						|||
| 
								 | 
							
								    return /******/ (function (modules) { // webpackBootstrap
							 | 
						|||
| 
								 | 
							
								        /******/     // The module cache
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								        var installedModules = {};
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /******/     // The require function
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								        function __webpack_require__(moduleId) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /******/         // Check if module is in cache
							 | 
						|||
| 
								 | 
							
								            /******/
							 | 
						|||
| 
								 | 
							
								            if (installedModules[moduleId])
							 | 
						|||
| 
								 | 
							
								            /******/            return installedModules[moduleId].exports;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /******/         // Create a new module (and put it into the cache)
							 | 
						|||
| 
								 | 
							
								            /******/
							 | 
						|||
| 
								 | 
							
								            var module = installedModules[moduleId] = {
							 | 
						|||
| 
								 | 
							
								                /******/            exports: {},
							 | 
						|||
| 
								 | 
							
								                /******/            id: moduleId,
							 | 
						|||
| 
								 | 
							
								                /******/            loaded: false
							 | 
						|||
| 
								 | 
							
								                /******/
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /******/         // Execute the module function
							 | 
						|||
| 
								 | 
							
								            /******/
							 | 
						|||
| 
								 | 
							
								            modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /******/         // Flag the module as loaded
							 | 
						|||
| 
								 | 
							
								            /******/
							 | 
						|||
| 
								 | 
							
								            module.loaded = true;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /******/         // Return the exports of the module
							 | 
						|||
| 
								 | 
							
								            /******/
							 | 
						|||
| 
								 | 
							
								            return module.exports;
							 | 
						|||
| 
								 | 
							
								            /******/
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /******/     // expose the modules object (__webpack_modules__)
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								        __webpack_require__.m = modules;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /******/     // expose the module cache
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								        __webpack_require__.c = installedModules;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /******/     // __webpack_public_path__
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								        __webpack_require__.p = "";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /******/     // Load entry module and return exports
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								        return __webpack_require__(0);
							 | 
						|||
| 
								 | 
							
								        /******/
							 | 
						|||
| 
								 | 
							
								    })
							 | 
						|||
| 
								 | 
							
								    /************************************************************************/
							 | 
						|||
| 
								 | 
							
								    /******/([
							 | 
						|||
| 
								 | 
							
								        /* 0 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports, __webpack_require__) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var Request = __webpack_require__(1)
							 | 
						|||
| 
								 | 
							
								            var Response = __webpack_require__(5)
							 | 
						|||
| 
								 | 
							
								            var Headers = __webpack_require__(2)
							 | 
						|||
| 
								 | 
							
								            var Transport = __webpack_require__(6)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            if (![].forEach) {
							 | 
						|||
| 
								 | 
							
								                Array.prototype.forEach = function (fn, scope) {
							 | 
						|||
| 
								 | 
							
								                    'use strict'
							 | 
						|||
| 
								 | 
							
								                    var i, len
							 | 
						|||
| 
								 | 
							
								                    for (i = 0, len = this.length; i < len; ++i) {
							 | 
						|||
| 
								 | 
							
								                        if (i in this) {
							 | 
						|||
| 
								 | 
							
								                            fn.call(scope, this[i], i, this)
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            // 用于读取响应头信息
							 | 
						|||
| 
								 | 
							
								            if (!'lhy'.trim) {
							 | 
						|||
| 
								 | 
							
								                var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g
							 | 
						|||
| 
								 | 
							
								                String.prototype.trim = function () {
							 | 
						|||
| 
								 | 
							
								                    return this.replace(rtrim, '')
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            function headers(xhr) {
							 | 
						|||
| 
								 | 
							
								                var head = new Headers()
							 | 
						|||
| 
								 | 
							
								                if (xhr.getAllResponseHeaders) {
							 | 
						|||
| 
								 | 
							
								                    var headerStr = xhr.getAllResponseHeaders() || ''
							 | 
						|||
| 
								 | 
							
								                    if (/\S/.test(headerStr)) {
							 | 
						|||
| 
								 | 
							
								                        //http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders-method
							 | 
						|||
| 
								 | 
							
								                        var headerPairs = headerStr.split('\u000d\u000a');
							 | 
						|||
| 
								 | 
							
								                        for (var i = 0; i < headerPairs.length; i++) {
							 | 
						|||
| 
								 | 
							
								                            var headerPair = headerPairs[i];
							 | 
						|||
| 
								 | 
							
								                            // 读取header的信息
							 | 
						|||
| 
								 | 
							
								                            var index = headerPair.indexOf('\u003a\u0020')
							 | 
						|||
| 
								 | 
							
								                            if (index > 0) {
							 | 
						|||
| 
								 | 
							
								                                var key = headerPair.substring(0, index).trim()
							 | 
						|||
| 
								 | 
							
								                                var value = headerPair.substring(index + 2).trim()
							 | 
						|||
| 
								 | 
							
								                                head.append(key, value)
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return head
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function fetch(input, init) {
							 | 
						|||
| 
								 | 
							
								                return new Promise(function (resolve, reject) {
							 | 
						|||
| 
								 | 
							
								                    var request
							 | 
						|||
| 
								 | 
							
								                    if (!init && (init instanceof Request)) {
							 | 
						|||
| 
								 | 
							
								                        request = input
							 | 
						|||
| 
								 | 
							
								                    } else {
							 | 
						|||
| 
								 | 
							
								                        request = new Request(input, init)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    var msie = 11
							 | 
						|||
| 
								 | 
							
								                    // 用于判断是否为ie
							 | 
						|||
| 
								 | 
							
								                    if (window.VBArray) {
							 | 
						|||
| 
								 | 
							
								                        // 返回浏览器渲染文档模式
							 | 
						|||
| 
								 | 
							
								                        msie = document.documentMode || (window.XMLHttpRequest ? 7 : 6)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (msie > 7) {
							 | 
						|||
| 
								 | 
							
								                        var xhr = new Transport(request)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        function responseURL() {
							 | 
						|||
| 
								 | 
							
								                            if ('responseURL' in xhr) {
							 | 
						|||
| 
								 | 
							
								                                return xhr.responseURL
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            return
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        xhr.on('load', function (event) {
							 | 
						|||
| 
								 | 
							
								                            var options = {
							 | 
						|||
| 
								 | 
							
								                                status: event.status || 200,
							 | 
						|||
| 
								 | 
							
								                                statusText: event.statusText || '',
							 | 
						|||
| 
								 | 
							
								                                headers: headers(event),
							 | 
						|||
| 
								 | 
							
								                                url: responseURL()
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            var body = 'response' in event ? event.response : event.responseText
							 | 
						|||
| 
								 | 
							
								                            resolve(new Response(body, options))
							 | 
						|||
| 
								 | 
							
								                        })
							 | 
						|||
| 
								 | 
							
								                        xhr.on('error', function () {
							 | 
						|||
| 
								 | 
							
								                            reject(new TypeError('Network request failed'))
							 | 
						|||
| 
								 | 
							
								                        })
							 | 
						|||
| 
								 | 
							
								                        xhr.on('timeout', function () {
							 | 
						|||
| 
								 | 
							
								                            reject(new TypeError('Network request timeout'))
							 | 
						|||
| 
								 | 
							
								                        })
							 | 
						|||
| 
								 | 
							
								                        xhr.open(request.method, request.url, true)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        request.headers.forEach(function (value, name) {
							 | 
						|||
| 
								 | 
							
								                            xhr.setRequestHeader(name, value)
							 | 
						|||
| 
								 | 
							
								                        })
							 | 
						|||
| 
								 | 
							
								                        xhr.send(typeof request._body === 'undefined' ? null : request._body)
							 | 
						|||
| 
								 | 
							
								                    } else {
							 | 
						|||
| 
								 | 
							
								                        var xhr = new ActiveXObject('Microsoft.XMLHTTP')
							 | 
						|||
| 
								 | 
							
								                        xhr.onreadystatechange = function () {
							 | 
						|||
| 
								 | 
							
								                            if (xhr.readyState === 4) {
							 | 
						|||
| 
								 | 
							
								                                var options = {
							 | 
						|||
| 
								 | 
							
								                                    status: xhr.status || 200,
							 | 
						|||
| 
								 | 
							
								                                    statusText: xhr.statusText || '',
							 | 
						|||
| 
								 | 
							
								                                    headers: headers(xhr),
							 | 
						|||
| 
								 | 
							
								                                    url: responseURL()
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                var body = 'response' in xhr ? xhr.response : xhr.responseText
							 | 
						|||
| 
								 | 
							
								                                resolve(new Response(body, options))
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        xhr.open(request.method, request.url, true)
							 | 
						|||
| 
								 | 
							
								                        xhr.send(typeof request._body === 'undefined' ? null : request._body)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function notFunc(a) {
							 | 
						|||
| 
								 | 
							
								                return !/\scode\]\s+\}$/.test(a)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            if (notFunc(window.fetch)) {
							 | 
						|||
| 
								 | 
							
								                window.fetch = fetch
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            if (typeof avalon === 'function') {
							 | 
						|||
| 
								 | 
							
								                avalon.fetch = fetch
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            module.exports = fetch
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 1 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports, __webpack_require__) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var Headers = __webpack_require__(2)
							 | 
						|||
| 
								 | 
							
								            var Body = __webpack_require__(4)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 自定义Request函数
							 | 
						|||
| 
								 | 
							
								            function Request(input, options) {
							 | 
						|||
| 
								 | 
							
								                options = options || {}
							 | 
						|||
| 
								 | 
							
								                var body = options.body
							 | 
						|||
| 
								 | 
							
								                // 用于判断函数接受的参数是否为自定义的Request对象 即判断input是否由Request创建
							 | 
						|||
| 
								 | 
							
								                if (input instanceof Request) {
							 | 
						|||
| 
								 | 
							
								                    // 判断body是否已被使用
							 | 
						|||
| 
								 | 
							
								                    if (input.bodyUsed) {
							 | 
						|||
| 
								 | 
							
								                        throw new TypeError('Already read')
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    this.url = input.url
							 | 
						|||
| 
								 | 
							
								                    this.credentials = input.credentials
							 | 
						|||
| 
								 | 
							
								                    if (!options.headers) {
							 | 
						|||
| 
								 | 
							
								                        var h = this.headers = new Headers(input.headers)
							 | 
						|||
| 
								 | 
							
								                        if (!h.map['x-requested-with']) {
							 | 
						|||
| 
								 | 
							
								                            h.set('X-Requested-With', 'XMLHttpRequest')
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    this.method = input.method
							 | 
						|||
| 
								 | 
							
								                    this.mode = input.mode
							 | 
						|||
| 
								 | 
							
								                    if (!body) {
							 | 
						|||
| 
								 | 
							
								                        body = input._body
							 | 
						|||
| 
								 | 
							
								                        input.bodyUsed = true
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    // 如果input不是由Request创建的自定义Request对象 则input为url参数
							 | 
						|||
| 
								 | 
							
								                    this.url = input
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                // 优先判断option中是否设置了相关选项,再判断credentials自定义request对象的相关属性,如果都没有默认为‘omit’
							 | 
						|||
| 
								 | 
							
								                this.credentials = options.credentials || this.credentials || 'omit'
							 | 
						|||
| 
								 | 
							
								                // 判断参数是否设置了header的相关选项
							 | 
						|||
| 
								 | 
							
								                if (options.headers || !this.headers) {
							 | 
						|||
| 
								 | 
							
								                    this.headers = new Headers(options.headers)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                this.method = (options.method || this.method || 'GET').toUpperCase()
							 | 
						|||
| 
								 | 
							
								                this.mode = options.mode || this.mode || null
							 | 
						|||
| 
								 | 
							
								                this.referrer = null
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                // 如果是head请求却携带了请求体,抛出错误
							 | 
						|||
| 
								 | 
							
								                if ( this.method === 'HEAD' && body) {
							 | 
						|||
| 
								 | 
							
								                    throw new TypeError('Body not allowed for HEAD requests')
							 | 
						|||
| 
								 | 
							
								                }else if(this.method === 'GET' && body){
							 | 
						|||
| 
								 | 
							
								                    var Obody = JSON.parse(body)
							 | 
						|||
| 
								 | 
							
								                    var str = ''
							 | 
						|||
| 
								 | 
							
								                    for (var name in Obody) {
							 | 
						|||
| 
								 | 
							
								                        if(Obody.hasOwnProperty(name)){
							 | 
						|||
| 
								 | 
							
								                            str = str? str + '&' + name + '=' + Obody[name] : str +  name + '=' + Obody[name]
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    this.url += '?' + str
							 | 
						|||
| 
								 | 
							
								                    body = null
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                this._initBody(body)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Request.prototype.clone = function () {
							 | 
						|||
| 
								 | 
							
								                return new Request(this)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var F = function () {
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            F.prototype = Body.prototype
							 | 
						|||
| 
								 | 
							
								            Request.prototype = new F()
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = Request
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 2 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports, __webpack_require__) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var support = __webpack_require__(3)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 自定义Header
							 | 
						|||
| 
								 | 
							
								            function Headers(headers) {
							 | 
						|||
| 
								 | 
							
								                this.map = {}
							 | 
						|||
| 
								 | 
							
								                if (headers instanceof Headers) {
							 | 
						|||
| 
								 | 
							
								                    headers.forEach(function (value, name) {
							 | 
						|||
| 
								 | 
							
								                        this.append(name, value)
							 | 
						|||
| 
								 | 
							
								                    }, this)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                } else if (headers) {
							 | 
						|||
| 
								 | 
							
								                    for (var name in headers) {
							 | 
						|||
| 
								 | 
							
								                        if (headers.hasOwnProperty(name)) {
							 | 
						|||
| 
								 | 
							
								                            this.append(name, headers[name])
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 向header对象中的map 添加键值对
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.append = function (name, value) {
							 | 
						|||
| 
								 | 
							
								                name = normalizeName(name)
							 | 
						|||
| 
								 | 
							
								                value = normalizeValue(value)
							 | 
						|||
| 
								 | 
							
								                var list = this.map[name]
							 | 
						|||
| 
								 | 
							
								                if (!list) {
							 | 
						|||
| 
								 | 
							
								                    list = []
							 | 
						|||
| 
								 | 
							
								                    this.map[name] = list
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                list.push(value)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 定义header上的delet方法用于删除键值对
							 | 
						|||
| 
								 | 
							
								            Headers.prototype['delete'] = function (name) {
							 | 
						|||
| 
								 | 
							
								                delete this.map[normalizeName(name)]
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于获取header对象上的某个键的第一个值
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.get = function (name) {
							 | 
						|||
| 
								 | 
							
								                var values = this.map[normalizeName(name)]
							 | 
						|||
| 
								 | 
							
								                return values ? values[0] : null
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于获取header对象上某个键的所有值
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.getAll = function (name) {
							 | 
						|||
| 
								 | 
							
								                return this.map[normalizeName(name)] || []
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 判断该header对象是否拥有某个属性
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.has = function (name) {
							 | 
						|||
| 
								 | 
							
								                return this.map.hasOwnProperty(normalizeName(name))
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于设置该header对象上的值
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.set = function (name, value) {
							 | 
						|||
| 
								 | 
							
								                this.map[normalizeName(name)] = [normalizeValue(value)]
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 为了在低版本浏览器使用,定义forEach以遍历
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.forEach = function (callback, thisArg) {
							 | 
						|||
| 
								 | 
							
								                for (var name in this.map) {
							 | 
						|||
| 
								 | 
							
								                    if (this.map.hasOwnProperty(name)) {
							 | 
						|||
| 
								 | 
							
								                        this.map[name].forEach(function (value) {
							 | 
						|||
| 
								 | 
							
								                            callback.call(thisArg, value, name, this)
							 | 
						|||
| 
								 | 
							
								                        }, this)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 返回header对象的可枚举属性及函数名
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.keys = function () {
							 | 
						|||
| 
								 | 
							
								                var items = []
							 | 
						|||
| 
								 | 
							
								                this.forEach(function (value, name) {
							 | 
						|||
| 
								 | 
							
								                    items.push(name)
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                return items
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            // 返回header对象的所有可枚举的值
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.values = function () {
							 | 
						|||
| 
								 | 
							
								                var items = []
							 | 
						|||
| 
								 | 
							
								                this.forEach(function (value) {
							 | 
						|||
| 
								 | 
							
								                    items.push(value)
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                return items
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            //  修改迭代器的方法
							 | 
						|||
| 
								 | 
							
								            Headers.prototype.entries = function () {
							 | 
						|||
| 
								 | 
							
								                var items = []
							 | 
						|||
| 
								 | 
							
								                this.forEach(function (value, name) {
							 | 
						|||
| 
								 | 
							
								                    items.push([name, value])
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                return items
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            // 判断是否支持迭代器
							 | 
						|||
| 
								 | 
							
								            if (support.iterable) {
							 | 
						|||
| 
								 | 
							
								                // 如果支持 则让header的iterable为上方的entries函数
							 | 
						|||
| 
								 | 
							
								                Headers.prototype[Symbol.iterator] = Headers.prototype.entries
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 判断头名是否合法,只要不包含特殊字符就返回 头名的字符串
							 | 
						|||
| 
								 | 
							
								            function normalizeName(name) {
							 | 
						|||
| 
								 | 
							
								                if (typeof name !== 'string') {
							 | 
						|||
| 
								 | 
							
								                    name = String(name)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
							 | 
						|||
| 
								 | 
							
								                    throw new TypeError('Invalid character in header field name')
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return name.toLowerCase()
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 将值转为字符串
							 | 
						|||
| 
								 | 
							
								            function normalizeValue(value) {
							 | 
						|||
| 
								 | 
							
								                if (typeof value !== 'string') {
							 | 
						|||
| 
								 | 
							
								                    value = String(value)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return value
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = Headers
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 3 */
							 | 
						|||
| 
								 | 
							
								        /**
							 | 
						|||
| 
								 | 
							
								         * 该函数用于判断浏览器是否支持
							 | 
						|||
| 
								 | 
							
								         * */ function (module, exports) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = {
							 | 
						|||
| 
								 | 
							
								                searchParams: 'URLSearchParams' in window,
							 | 
						|||
| 
								 | 
							
								                iterable: 'Symbol' in window && 'iterator' in window,
							 | 
						|||
| 
								 | 
							
								                blob: 'FileReader' in window && 'Blob' in window && (function () {
							 | 
						|||
| 
								 | 
							
								                    try {
							 | 
						|||
| 
								 | 
							
								                        new Blob()
							 | 
						|||
| 
								 | 
							
								                        return true
							 | 
						|||
| 
								 | 
							
								                    } catch (e) {
							 | 
						|||
| 
								 | 
							
								                        return false
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                })(),
							 | 
						|||
| 
								 | 
							
								                formData: 'FormData' in window,
							 | 
						|||
| 
								 | 
							
								                arrayBuffer: 'ArrayBuffer' in window
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 4 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports, __webpack_require__) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var support = __webpack_require__(3)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于创建body对象
							 | 
						|||
| 
								 | 
							
								            function Body() {
							 | 
						|||
| 
								 | 
							
								                this.bodyUsed = false
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var p = Body.prototype
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            'text,blob,formData,json,arrayBuffer'.replace(/\w+/g, function (method) {
							 | 
						|||
| 
								 | 
							
								                p[method] = function () {
							 | 
						|||
| 
								 | 
							
								                    return consumeBody(this).then(function (body) {
							 | 
						|||
| 
								 | 
							
								                        return convertBody(body, method)
							 | 
						|||
| 
								 | 
							
								                    })
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            })
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 初始化请求的头部
							 | 
						|||
| 
								 | 
							
								            p._initBody = function (body) {
							 | 
						|||
| 
								 | 
							
								                this._body = body
							 | 
						|||
| 
								 | 
							
								                if (!this.headers.get('content-type')) {
							 | 
						|||
| 
								 | 
							
								                    var a = bodyType(body)
							 | 
						|||
| 
								 | 
							
								                    switch (a) {
							 | 
						|||
| 
								 | 
							
								                        case 'text':
							 | 
						|||
| 
								 | 
							
								                            this.headers.set('content-type', 'text/plain;charset=UTF-8')
							 | 
						|||
| 
								 | 
							
								                            break
							 | 
						|||
| 
								 | 
							
								                        case 'blob':
							 | 
						|||
| 
								 | 
							
								                            if (body && body.type) {
							 | 
						|||
| 
								 | 
							
								                                this.headers.set('content-type', body.type)
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            break
							 | 
						|||
| 
								 | 
							
								                        case 'searchParams':
							 | 
						|||
| 
								 | 
							
								                            this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')
							 | 
						|||
| 
								 | 
							
								                            break
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 判断Body是否已被使用
							 | 
						|||
| 
								 | 
							
								            function consumeBody(body) {
							 | 
						|||
| 
								 | 
							
								                if (body.bodyUsed) {
							 | 
						|||
| 
								 | 
							
								                    return Promise.reject(new TypeError('Already read'))
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    body.bodyUsed = true
							 | 
						|||
| 
								 | 
							
								                    return Promise.resolve(body._body)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于处理返回的response对象body的数据
							 | 
						|||
| 
								 | 
							
								            function convertBody(body, to) {
							 | 
						|||
| 
								 | 
							
								                var from = bodyType(body)
							 | 
						|||
| 
								 | 
							
								                if (body === null || body === void 0 || !from || from === to) {
							 | 
						|||
| 
								 | 
							
								                    return Promise.resolve(body)
							 | 
						|||
| 
								 | 
							
								                } else if (map[to] && map[to][from]) {
							 | 
						|||
| 
								 | 
							
								                    return map[to][from](body)
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    return Promise.reject(new Error('Convertion from ' + from + ' to ' + to + ' not supported'))
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 定义对各种类型数据的处理方法
							 | 
						|||
| 
								 | 
							
								            var map = {
							 | 
						|||
| 
								 | 
							
								                text: {
							 | 
						|||
| 
								 | 
							
								                    json: function (body) {//json --> text
							 | 
						|||
| 
								 | 
							
								                        return Promise.resolve(JSON.stringify(body))
							 | 
						|||
| 
								 | 
							
								                    },
							 | 
						|||
| 
								 | 
							
								                    blob: function (body) {//blob --> text
							 | 
						|||
| 
								 | 
							
								                        return blob2text(body)
							 | 
						|||
| 
								 | 
							
								                    },
							 | 
						|||
| 
								 | 
							
								                    searchParams: function (body) {//searchParams --> text
							 | 
						|||
| 
								 | 
							
								                        return Promise.resolve(body.toString())
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                },
							 | 
						|||
| 
								 | 
							
								                json: {
							 | 
						|||
| 
								 | 
							
								                    text: function (body) {//text --> json
							 | 
						|||
| 
								 | 
							
								                        return Promise.resolve(parseJSON(body))
							 | 
						|||
| 
								 | 
							
								                    },
							 | 
						|||
| 
								 | 
							
								                    blob: function (body) {//blob --> json
							 | 
						|||
| 
								 | 
							
								                        return blob2text(body).then(parseJSON)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                },
							 | 
						|||
| 
								 | 
							
								                formData: {
							 | 
						|||
| 
								 | 
							
								                    text: function (body) {//text --> formData
							 | 
						|||
| 
								 | 
							
								                        return text2formData(body)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                },
							 | 
						|||
| 
								 | 
							
								                blob: {
							 | 
						|||
| 
								 | 
							
								                    text: function (body) {//json --> blob
							 | 
						|||
| 
								 | 
							
								                        return Promise.resolve(new Blob([body]))
							 | 
						|||
| 
								 | 
							
								                    },
							 | 
						|||
| 
								 | 
							
								                    json: function (body) {//json --> blob
							 | 
						|||
| 
								 | 
							
								                        return Promise.resolve(new Blob([JSON.stringify(body)]))
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                },
							 | 
						|||
| 
								 | 
							
								                arrayBuffer: {
							 | 
						|||
| 
								 | 
							
								                    blob: function (body) {
							 | 
						|||
| 
								 | 
							
								                        return blob2ArrayBuffer(body)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于返回body携带的数据类型
							 | 
						|||
| 
								 | 
							
								            function bodyType(body) {
							 | 
						|||
| 
								 | 
							
								                if (typeof body === 'string') {
							 | 
						|||
| 
								 | 
							
								                    return 'text'
							 | 
						|||
| 
								 | 
							
								                } else if (support.blob && (body instanceof Blob)) {
							 | 
						|||
| 
								 | 
							
								                    return 'blob'
							 | 
						|||
| 
								 | 
							
								                } else if (support.formData && (body instanceof FormData)) {
							 | 
						|||
| 
								 | 
							
								                    return 'formData'
							 | 
						|||
| 
								 | 
							
								                } else if (support.searchParams && (body instanceof URLSearchParams)) {
							 | 
						|||
| 
								 | 
							
								                    return 'searchParams'
							 | 
						|||
| 
								 | 
							
								                } else if (body && typeof body === 'object') {
							 | 
						|||
| 
								 | 
							
								                    return 'json'
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    return null
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 用于低版本浏览器的reader
							 | 
						|||
| 
								 | 
							
								            function reader2Promise(reader) {
							 | 
						|||
| 
								 | 
							
								                return new Promise(function (resolve, reject) {
							 | 
						|||
| 
								 | 
							
								                    reader.onload = function () {
							 | 
						|||
| 
								 | 
							
								                        resolve(reader.result)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    reader.onerror = function () {
							 | 
						|||
| 
								 | 
							
								                        reject(reader.error)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /*
							 | 
						|||
| 
								 | 
							
								            模拟下列函数 用于处理各种类型的返回值数据
							 | 
						|||
| 
								 | 
							
								             readAsBinaryString(File|Blob)
							 | 
						|||
| 
								 | 
							
								             readAsText(File|Blob [, encoding])
							 | 
						|||
| 
								 | 
							
								             readAsDataURL(File|Blob)
							 | 
						|||
| 
								 | 
							
								             readAsArrayBuffer(File|Blob)
							 | 
						|||
| 
								 | 
							
								             */
							 | 
						|||
| 
								 | 
							
								            function text2formData(body) {
							 | 
						|||
| 
								 | 
							
								                var form = new FormData()
							 | 
						|||
| 
								 | 
							
								                body.trim().split('&').forEach(function (bytes) {
							 | 
						|||
| 
								 | 
							
								                    if (bytes) {
							 | 
						|||
| 
								 | 
							
								                        var split = bytes.split('=')
							 | 
						|||
| 
								 | 
							
								                        var name = split.shift().replace(/\+/g, ' ')
							 | 
						|||
| 
								 | 
							
								                        var value = split.join('=').replace(/\+/g, ' ')
							 | 
						|||
| 
								 | 
							
								                        form.append(decodeURIComponent(name), decodeURIComponent(value))
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                return Promise.resolve(form)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function blob2ArrayBuffer(blob) {
							 | 
						|||
| 
								 | 
							
								                var reader = new FileReader()
							 | 
						|||
| 
								 | 
							
								                reader.readAsArrayBuffer(blob)
							 | 
						|||
| 
								 | 
							
								                return reader2Promise(reader)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function blob2text(blob) {
							 | 
						|||
| 
								 | 
							
								                var reader = new FileReader()
							 | 
						|||
| 
								 | 
							
								                reader.readAsText(blob)
							 | 
						|||
| 
								 | 
							
								                return reader2Promise(reader)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function parseJSON(body) {
							 | 
						|||
| 
								 | 
							
								                try {
							 | 
						|||
| 
								 | 
							
								                    return JSON.parse(body)
							 | 
						|||
| 
								 | 
							
								                } catch (ex) {
							 | 
						|||
| 
								 | 
							
								                    throw 'Invalid JSON'
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = Body
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 5 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports, __webpack_require__) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var Headers = __webpack_require__(2)
							 | 
						|||
| 
								 | 
							
								            var Body = __webpack_require__(4)
							 | 
						|||
| 
								 | 
							
								            // 用于返回response对象 即请求到的数据
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function Response(bodyInit, options) {
							 | 
						|||
| 
								 | 
							
								                if (!options) {
							 | 
						|||
| 
								 | 
							
								                    options = {}
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                this.type = 'default'
							 | 
						|||
| 
								 | 
							
								                // status
							 | 
						|||
| 
								 | 
							
								                this.status = options.status
							 | 
						|||
| 
								 | 
							
								                // ok
							 | 
						|||
| 
								 | 
							
								                this.ok = this.status >= 200 && this.status < 300
							 | 
						|||
| 
								 | 
							
								                // status
							 | 
						|||
| 
								 | 
							
								                this.statusText = options.statusText
							 | 
						|||
| 
								 | 
							
								                this.headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers)
							 | 
						|||
| 
								 | 
							
								                this.url = options.url || ''
							 | 
						|||
| 
								 | 
							
								                this._initBody(bodyInit)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var F = function () {
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            F.prototype = Body.prototype
							 | 
						|||
| 
								 | 
							
								            Response.prototype = new F()
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Response.prototype.clone = function () {
							 | 
						|||
| 
								 | 
							
								                return new Response(this._bodyInit, {
							 | 
						|||
| 
								 | 
							
								                    status: this.status,
							 | 
						|||
| 
								 | 
							
								                    statusText: this.statusText,
							 | 
						|||
| 
								 | 
							
								                    headers: new Headers(this.headers),
							 | 
						|||
| 
								 | 
							
								                    url: this.url
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Response.error = function () {
							 | 
						|||
| 
								 | 
							
								                var response = new Response(null, {status: 0, statusText: ''})
							 | 
						|||
| 
								 | 
							
								                response.type = 'error'
							 | 
						|||
| 
								 | 
							
								                return response
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // 重定向状态码
							 | 
						|||
| 
								 | 
							
								            var redirectStatuses = [301, 302, 303, 307, 308]
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Response.redirect = function (url, status) {
							 | 
						|||
| 
								 | 
							
								                if (redirectStatuses.indexOf(status) === -1) {
							 | 
						|||
| 
								 | 
							
								                    throw new RangeError('Invalid status code')
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return new Response(null, {status: status, headers: {location: url}})
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = Response
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 6 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports, __webpack_require__) {
							 | 
						|||
| 
								 | 
							
								            // ajax 非低版本ie及谷歌火狐使用XMLHttpRequest
							 | 
						|||
| 
								 | 
							
								            //ie 8 - 9 使用XDomainRequest
							 | 
						|||
| 
								 | 
							
								            //低版本ie 使用 ActiveXObject('Microsoft.XMLHTTP')
							 | 
						|||
| 
								 | 
							
								            var AXO = __webpack_require__(7)
							 | 
						|||
| 
								 | 
							
								            var JSONP = __webpack_require__(8)
							 | 
						|||
| 
								 | 
							
								            var XDR = __webpack_require__(9)
							 | 
						|||
| 
								 | 
							
								            var XHR = __webpack_require__(10)
							 | 
						|||
| 
								 | 
							
								            var msie = 0
							 | 
						|||
| 
								 | 
							
								            if (window.VBArray) {
							 | 
						|||
| 
								 | 
							
								                msie = document.documentMode || (window.XMLHttpRequest ? 7 : 6)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function Transport(request) {
							 | 
						|||
| 
								 | 
							
								                if (msie === 8 || msie === 9) {
							 | 
						|||
| 
								 | 
							
								                    this.core = new XDR(request)
							 | 
						|||
| 
								 | 
							
								                } else if (!msie || msie > 9) {
							 | 
						|||
| 
								 | 
							
								                    this.core = new XHR(request)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var p = Transport.prototype
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            p.on = function (type, fn) {
							 | 
						|||
| 
								 | 
							
								                this.core.on(type, fn)
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            p.setRequestHeader = function (a, b) {
							 | 
						|||
| 
								 | 
							
								                if (this.core.setRequestHeader) {
							 | 
						|||
| 
								 | 
							
								                    this.core.setRequestHeader(a, b)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            p.open = function (a, b, c, d, e) {
							 | 
						|||
| 
								 | 
							
								                if (this.core.open) {
							 | 
						|||
| 
								 | 
							
								                    this.core.open(a, b, c, d, e)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            p.send = function (a) {
							 | 
						|||
| 
								 | 
							
								                if (this.core.send) {
							 | 
						|||
| 
								 | 
							
								                    this.core.send(a)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            p.abort = function () {
							 | 
						|||
| 
								 | 
							
								                if (this.core.abort) {
							 | 
						|||
| 
								 | 
							
								                    this.core.abort()
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = Transport
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 7 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = function AXO(opts) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var xhr = new ActiveXObject('Microsoft.XMLHTTP')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                // xhr.onreadystatechange = function () {
							 | 
						|||
| 
								 | 
							
								                //     if (xhr.readyState === 4) {
							 | 
						|||
| 
								 | 
							
								                //         if (/^2\d\d|1224/.test(xhr.status)) {
							 | 
						|||
| 
								 | 
							
								                //             events['load'] && events['load'](xhr)
							 | 
						|||
| 
								 | 
							
								                //         } else {
							 | 
						|||
| 
								 | 
							
								                //             events['error'] && events['error']()
							 | 
						|||
| 
								 | 
							
								                //         }
							 | 
						|||
| 
								 | 
							
								                //     }
							 | 
						|||
| 
								 | 
							
								                // }
							 | 
						|||
| 
								 | 
							
								                //
							 | 
						|||
| 
								 | 
							
								                // var events = {}
							 | 
						|||
| 
								 | 
							
								                // Object.defineProperty(xhr,on,)
							 | 
						|||
| 
								 | 
							
								                // xhr.on = function (type, fn) {
							 | 
						|||
| 
								 | 
							
								                //     events[type] = fn
							 | 
						|||
| 
								 | 
							
								                // }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                // if (opts.timeout === 'number') {
							 | 
						|||
| 
								 | 
							
								                //     setTimeout(function () {
							 | 
						|||
| 
								 | 
							
								                //         events['timeout'] && events['timeout']()
							 | 
						|||
| 
								 | 
							
								                //         xhr.abort()
							 | 
						|||
| 
								 | 
							
								                //     }, opts.timeout)
							 | 
						|||
| 
								 | 
							
								                // }
							 | 
						|||
| 
								 | 
							
								                return xhr
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 8 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function JSONP(opts) {
							 | 
						|||
| 
								 | 
							
								                var callbackFunction = opts.jsonpCallbackFunction || generateCallbackFunction();
							 | 
						|||
| 
								 | 
							
								                var jsonpCallback = opts.jsonpCallback || 'callback'
							 | 
						|||
| 
								 | 
							
								                var xhr = document.createElement('script')
							 | 
						|||
| 
								 | 
							
								                if (xhr.charset) {
							 | 
						|||
| 
								 | 
							
								                    xhr.charset = opts.charset
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                xhr.onerror = xhr[useOnload ? 'onload' : 'onreadystatechange'] = function (e) {
							 | 
						|||
| 
								 | 
							
								                    var execute = /loaded|complete|undefined/i.test(xhr.readyState)
							 | 
						|||
| 
								 | 
							
								                    if (e && e.type === 'error') {
							 | 
						|||
| 
								 | 
							
								                        events['error'] && events['error']()
							 | 
						|||
| 
								 | 
							
								                    } else if (execute) {
							 | 
						|||
| 
								 | 
							
								                        setTimeout(function () {
							 | 
						|||
| 
								 | 
							
								                            xhr.abort()
							 | 
						|||
| 
								 | 
							
								                        }, 0)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var events = {}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                xhr.on = function (type, fn) {
							 | 
						|||
| 
								 | 
							
								                    events[type] = fn
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                xhr.abort = function () {
							 | 
						|||
| 
								 | 
							
								                    events = {}
							 | 
						|||
| 
								 | 
							
								                    removeNode(xhr)
							 | 
						|||
| 
								 | 
							
								                    clearFunction(callbackFunction)
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                xhr.open = function (a, url) {
							 | 
						|||
| 
								 | 
							
								                    window[callbackFunction] = function (response) {
							 | 
						|||
| 
								 | 
							
								                        events['load'] && events['load']({
							 | 
						|||
| 
								 | 
							
								                            status: 200,
							 | 
						|||
| 
								 | 
							
								                            statusText: 'ok',
							 | 
						|||
| 
								 | 
							
								                            response: response
							 | 
						|||
| 
								 | 
							
								                        })
							 | 
						|||
| 
								 | 
							
								                        clearFunction(callbackFunction)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    var head = document.getElementsByTagName('head')[0]
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    url += (url.indexOf('?') === -1) ? '?' : '&';
							 | 
						|||
| 
								 | 
							
								                    xhr.setAttribute('src', url + jsonpCallback + '=' + callbackFunction);
							 | 
						|||
| 
								 | 
							
								                    head.insertBefore(xhr, head.firstChild)
							 | 
						|||
| 
								 | 
							
								                    if (typeof opts.timeout === 'number') {
							 | 
						|||
| 
								 | 
							
								                        setTimeout(function () {
							 | 
						|||
| 
								 | 
							
								                            events['timeout'] && events['timeout']()
							 | 
						|||
| 
								 | 
							
								                            xhr.abort()
							 | 
						|||
| 
								 | 
							
								                        }, opts.timeout)
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return xhr
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function generateCallbackFunction() {
							 | 
						|||
| 
								 | 
							
								                return ('jsonp' + Math.random()).replace(/0\./, '')
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            // Known issue: Will throw 'Uncaught ReferenceError: callback_*** is not defined' error if request timeout
							 | 
						|||
| 
								 | 
							
								            function clearFunction(functionName) {
							 | 
						|||
| 
								 | 
							
								                // IE8 throws an exception when you try to delete a property on window
							 | 
						|||
| 
								 | 
							
								                // http://stackoverflow.com/a/1824228/751089
							 | 
						|||
| 
								 | 
							
								                try {
							 | 
						|||
| 
								 | 
							
								                    delete window[functionName];
							 | 
						|||
| 
								 | 
							
								                } catch (e) {
							 | 
						|||
| 
								 | 
							
								                    window[functionName] = undefined;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var f = document.createDocumentFragment()
							 | 
						|||
| 
								 | 
							
								            var useOnload = 'textContent' in document
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            function removeNode(node) {
							 | 
						|||
| 
								 | 
							
								                f.appendChild(node)
							 | 
						|||
| 
								 | 
							
								                f.removeChild(node)
							 | 
						|||
| 
								 | 
							
								                node.onload = onerror = onreadystatechange = function () {
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return node
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = JSONP
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 9 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            //https://msdn.microsoft.com/en-us/library/cc288060(v=VS.85).aspx
							 | 
						|||
| 
								 | 
							
								            module.exports = function XDR(opts) {
							 | 
						|||
| 
								 | 
							
								                var xhr = new XDomainRequest()
							 | 
						|||
| 
								 | 
							
								                'load,error,timeout'.replace(/\w+/g, function (method) {
							 | 
						|||
| 
								 | 
							
								                    xhr['on' + method] = function () {
							 | 
						|||
| 
								 | 
							
								                        if (events[method]) {
							 | 
						|||
| 
								 | 
							
								                            events[method](xhr)
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                var events = {}
							 | 
						|||
| 
								 | 
							
								                xhr.on = function (type, fn) {
							 | 
						|||
| 
								 | 
							
								                    events[type] = fn
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                xhr.onabort = function () {
							 | 
						|||
| 
								 | 
							
								                    events = {}
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (typeof opts.timeout === 'number') {
							 | 
						|||
| 
								 | 
							
								                    xhr.timeout = opts.timeout
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return xhr
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        },
							 | 
						|||
| 
								 | 
							
								        /* 10 */
							 | 
						|||
| 
								 | 
							
								        /***/ function (module, exports) {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            module.exports = function XHR(opts) {
							 | 
						|||
| 
								 | 
							
								                var xhr = new XMLHttpRequest
							 | 
						|||
| 
								 | 
							
								                'load,error,timeout'.replace(/\w+/g, function (method) {
							 | 
						|||
| 
								 | 
							
								                    xhr['on' + method] = function () {
							 | 
						|||
| 
								 | 
							
								                        if (events[method]) {
							 | 
						|||
| 
								 | 
							
								                            events[method](xhr)
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                var events = {}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                xhr.on = function (type, fn) {
							 | 
						|||
| 
								 | 
							
								                    events[type] = fn
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                xhr.onabort = function () {
							 | 
						|||
| 
								 | 
							
								                    events = {}
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (opts.credentials === 'include') {
							 | 
						|||
| 
								 | 
							
								                    xhr.withCredentials = true
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if ('responseType' in xhr && ('Blob' in window)) {
							 | 
						|||
| 
								 | 
							
								                    var msie = document.documentMode || (window.XMLHttpRequest ? 7 : 6)
							 | 
						|||
| 
								 | 
							
								                    if (msie !== 10 && msie !== 11) {
							 | 
						|||
| 
								 | 
							
								                        xhr.responseType = 'blob'
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return xhr
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /***/
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /******/])
							 | 
						|||
| 
								 | 
							
								});
							 | 
						|||
| 
								 | 
							
								;
							 |