vue之axios取mock数据

在src\utils\axios.js中复制以下代码,如果没有这样的文需要建一个。(直接粘贴复制不用客气)

// import axios from "axios";

// import qs from 'qs'

/* axios v0.21.0 | (c) 2020 by Matt Zabriskie */

(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['axios'] = factory() } else { root['axios'] = 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__) {

      module.exports = __webpack_require__(1)

      /***/ },

    /* 1 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)

      var bind = __webpack_require__(3)

      var Axios = __webpack_require__(4)

      var mergeConfig = __webpack_require__(22)

      var defaults = __webpack_require__(10)



      /**

     * Create an instance of Axios

     *

     * @param {Object} defaultConfig The default config for the instance

     * @return {Axios} A new instance of Axios

     */

      function createInstance(defaultConfig) {

      var context = new Axios(defaultConfig)

      var instance = bind(Axios.prototype.request, context)



      // Copy axios.prototype to instance

      utils.extend(instance, Axios.prototype, context)



      // Copy context to instance

      utils.extend(instance, context)



      return instance

      }



      // Create the default instance to be exported

      var axios = createInstance(defaults)



      // Expose Axios class to allow class inheritance

      axios.Axios = Axios



      // Factory for creating new instances

      axios.create = function create(instanceConfig) {

      return createInstance(mergeConfig(axios.defaults, instanceConfig))

      }



      // Expose Cancel & CancelToken

      axios.Cancel = __webpack_require__(23)

      axios.CancelToken = __webpack_require__(24)

      axios.isCancel = __webpack_require__(9)



      // Expose all/spread

      axios.all = function all(promises) {

      return Promise.all(promises)

      }

      axios.spread = __webpack_require__(25)



      module.exports = axios



      // Allow use of default import syntax in TypeScript

      module.exports.default = axios

      /***/ },

    /* 2 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var bind = __webpack_require__(3)



      /*global toString:true*/



      // utils is a library of generic helper functions non-specific to axios



      var toString = Object.prototype.toString



      /**

     * Determine if a value is an Array

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is an Array, otherwise false

     */

      function isArray(val) {

      return toString.call(val) === '[object Array]'

      }



      /**

     * Determine if a value is undefined

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if the value is undefined, otherwise false

     */

      function isUndefined(val) {

      return typeof val === 'undefined'

      }



      /**

     * Determine if a value is a Buffer

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a Buffer, otherwise false

     */

      function isBuffer(val) {

      return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) &&

        typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val)

      }



      /**

     * Determine if a value is an ArrayBuffer

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is an ArrayBuffer, otherwise false

     */

      function isArrayBuffer(val) {

      return toString.call(val) === '[object ArrayBuffer]'

      }



      /**

     * Determine if a value is a FormData

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is an FormData, otherwise false

     */

      function isFormData(val) {

      return (typeof FormData !== 'undefined') && (val instanceof FormData)

      }



      /**

     * Determine if a value is a view on an ArrayBuffer

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false

     */

      function isArrayBufferView(val) {

      var result

      if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {

        result = ArrayBuffer.isView(val)

      } else {

        result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer)

      }

      return result

      }



      /**

     * Determine if a value is a String

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a String, otherwise false

     */

      function isString(val) {

      return typeof val === 'string'

      }



      /**

     * Determine if a value is a Number

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a Number, otherwise false

     */

      function isNumber(val) {

      return typeof val === 'number'

      }



      /**

     * Determine if a value is an Object

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is an Object, otherwise false

     */

      function isObject(val) {

      return val !== null && typeof val === 'object'

      }



      /**

     * Determine if a value is a plain Object

     *

     * @param {Object} val The value to test

     * @return {boolean} True if value is a plain Object, otherwise false

     */

      function isPlainObject(val) {

      if (toString.call(val) !== '[object Object]') {

        return false

      }



      var prototype = Object.getPrototypeOf(val)

      return prototype === null || prototype === Object.prototype

      }



      /**

     * Determine if a value is a Date

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a Date, otherwise false

     */

      function isDate(val) {

      return toString.call(val) === '[object Date]'

      }



      /**

     * Determine if a value is a File

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a File, otherwise false

     */

      function isFile(val) {

      return toString.call(val) === '[object File]'

      }



      /**

     * Determine if a value is a Blob

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a Blob, otherwise false

     */

      function isBlob(val) {

      return toString.call(val) === '[object Blob]'

      }



      /**

     * Determine if a value is a Function

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a Function, otherwise false

     */

      function isFunction(val) {

      return toString.call(val) === '[object Function]'

      }



      /**

     * Determine if a value is a Stream

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a Stream, otherwise false

     */

      function isStream(val) {

      return isObject(val) && isFunction(val.pipe)

      }



      /**

     * Determine if a value is a URLSearchParams object

     *

     * @param {Object} val The value to test

     * @returns {boolean} True if value is a URLSearchParams object, otherwise false

     */

      function isURLSearchParams(val) {

      return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams

      }



      /**

     * Trim excess whitespace off the beginning and end of a string

     *

     * @param {String} str The String to trim

     * @returns {String} The String freed of excess whitespace

     */

      function trim(str) {

      return str.replace(/^\s*/, '').replace(/\s*$/, '')

      }



      /**

     * Determine if we're running in a standard browser environment

     *

     * This allows axios to run in a web worker, and react-native.

     * Both environments support XMLHttpRequest, but not fully standard globals.

     *

     * web workers:

     *  typeof window -> undefined

     *  typeof document -> undefined

     *

     * react-native:

     *  navigator.product -> 'ReactNative'

     * nativescript

     *  navigator.product -> 'NativeScript' or 'NS'

     */

      function isStandardBrowserEnv() {

      if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||

                                               navigator.product === 'NativeScript' ||

                                               navigator.product === 'NS')) {

        return false

      }

      return (

        typeof window !== 'undefined' &&

        typeof document !== 'undefined'

      )

      }



      /**

     * Iterate over an Array or an Object invoking a function for each item.

     *

     * If `obj` is an Array callback will be called passing

     * the value, index, and complete array for each item.

     *

     * If 'obj' is an Object callback will be called passing

     * the value, key, and complete object for each property.

     *

     * @param {Object|Array} obj The object to iterate

     * @param {Function} fn The callback to invoke for each item

     */

      function forEach(obj, fn) {

      // Don't bother if no value provided

      if (obj === null || typeof obj === 'undefined') {

        return

      }



      // Force an array if not already something iterable

      if (typeof obj !== 'object') {

        /*eslint no-param-reassign:0*/

        obj = [obj]

      }



      if (isArray(obj)) {

        // Iterate over array values

        for (var i = 0, l = obj.length; i < l; i++) {

          fn.call(null, obj[i], i, obj)

        }

      } else {

        // Iterate over object keys

        for (var key in obj) {

          if (Object.prototype.hasOwnProperty.call(obj, key)) {

            fn.call(null, obj[key], key, obj)

          }

        }

      }

      }



      /**

     * Accepts varargs expecting each argument to be an object, then

     * immutably merges the properties of each object and returns result.

     *

     * When multiple objects contain the same key the later object in

     * the arguments list will take precedence.

     *

     * Example:

     *

     * ```js

     * var result = merge({foo: 123}, {foo: 456});

     * console.log(result.foo); // outputs 456

     * ```

     *

     * @param {Object} obj1 Object to merge

     * @returns {Object} Result of all merge properties

     */

      function merge(/* obj1, obj2, obj3, ... */) {

      var result = {}

      function assignValue(val, key) {

        if (isPlainObject(result[key]) && isPlainObject(val)) {

          result[key] = merge(result[key], val)

        } else if (isPlainObject(val)) {

          result[key] = merge({}, val)

        } else if (isArray(val)) {

          result[key] = val.slice()

        } else {

          result[key] = val

        }

      }



      for (var i = 0, l = arguments.length; i < l; i++) {

        forEach(arguments[i], assignValue)

      }

      return result

      }



      /**

     * Extends object a by mutably adding to it the properties of object b.

     *

     * @param {Object} a The object to be extended

     * @param {Object} b The object to copy properties from

     * @param {Object} thisArg The object to bind function to

     * @return {Object} The resulting value of object a

     */

      function extend(a, b, thisArg) {

      forEach(b, function assignValue(val, key) {

        if (thisArg && typeof val === 'function') {

          a[key] = bind(val, thisArg)

        } else {

          a[key] = val

        }

      })

      return a

      }



      /**

     * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)

     *

     * @param {string} content with BOM

     * @return {string} content value without BOM

     */

      function stripBOM(content) {

      if (content.charCodeAt(0) === 0xFEFF) {

        content = content.slice(1)

      }

      return content

      }



      module.exports = {

      isArray: isArray,

      isArrayBuffer: isArrayBuffer,

      isBuffer: isBuffer,

      isFormData: isFormData,

      isArrayBufferView: isArrayBufferView,

      isString: isString,

      isNumber: isNumber,

      isObject: isObject,

      isPlainObject: isPlainObject,

      isUndefined: isUndefined,

      isDate: isDate,

      isFile: isFile,

      isBlob: isBlob,

      isFunction: isFunction,

      isStream: isStream,

      isURLSearchParams: isURLSearchParams,

      isStandardBrowserEnv: isStandardBrowserEnv,

      forEach: forEach,

      merge: merge,

      extend: extend,

      trim: trim,

      stripBOM: stripBOM

      }

      /***/ },

    /* 3 */

    /***/ function(module, exports) {

      'use strict'



      module.exports = function bind(fn, thisArg) {

      return function wrap() {

        var args = new Array(arguments.length)

        for (var i = 0; i < args.length; i++) {

          args[i] = arguments[i]

        }

        return fn.apply(thisArg, args)

      }

      }

      /***/ },

    /* 4 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)

      var buildURL = __webpack_require__(5)

      var InterceptorManager = __webpack_require__(6)

      var dispatchRequest = __webpack_require__(7)

      var mergeConfig = __webpack_require__(22)



      /**

     * Create a new instance of Axios

     *

     * @param {Object} instanceConfig The default config for the instance

     */

      function Axios(instanceConfig) {

      this.defaults = instanceConfig

      this.interceptors = {

        request: new InterceptorManager(),

        response: new InterceptorManager()

      }

      }



      /**

     * Dispatch a request

     *

     * @param {Object} config The config specific for this request (merged with this.defaults)

     */

      Axios.prototype.request = function request(config) {

      /*eslint no-param-reassign:0*/

      // Allow for axios('example/url'[, config]) a la fetch API

      if (typeof config === 'string') {

        config = arguments[1] || {}

        config.url = arguments[0]

      } else {

        config = config || {}

      }



      config = mergeConfig(this.defaults, config)



      // Set config.method

      if (config.method) {

        config.method = config.method.toLowerCase()

      } else if (this.defaults.method) {

        config.method = this.defaults.method.toLowerCase()

      } else {

        config.method = 'get'

      }



      // Hook up interceptors middleware

      var chain = [dispatchRequest, undefined]

      var promise = Promise.resolve(config)



      this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {

        chain.unshift(interceptor.fulfilled, interceptor.rejected)

      })



      this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {

        chain.push(interceptor.fulfilled, interceptor.rejected)

      })



      while (chain.length) {

        promise = promise.then(chain.shift(), chain.shift())

      }



      return promise

      }



      Axios.prototype.getUri = function getUri(config) {

      config = mergeConfig(this.defaults, config)

      return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '')

      }



      // Provide aliases for supported request methods

      utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {

      /*eslint func-names:0*/

      Axios.prototype[method] = function(url, config) {

        return this.request(mergeConfig(config || {}, {

          method: method,

          url: url,

          data: (config || {}).data

        }))

      }

      })



      utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {

      /*eslint func-names:0*/

      Axios.prototype[method] = function(url, data, config) {

        return this.request(mergeConfig(config || {}, {

          method: method,

          url: url,

          data: data

        }))

      }

      })



      module.exports = Axios

      /***/ },

    /* 5 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      function encode(val) {

      return encodeURIComponent(val)

        .replace(/%3A/gi, ':')

        .replace(/%24/g, '$')

        .replace(/%2C/gi, ',')

        .replace(/%20/g, '+')

        .replace(/%5B/gi, '[')

        .replace(/%5D/gi, ']')

      }



      /**

     * Build a URL by appending params to the end

     *

     * @param {string} url The base of the url (e.g., http://www.google.com)

     * @param {object} [params] The params to be appended

     * @returns {string} The formatted url

     */

      module.exports = function buildURL(url, params, paramsSerializer) {

      /*eslint no-param-reassign:0*/

      if (!params) {

        return url

      }



      var serializedParams

      if (paramsSerializer) {

        serializedParams = paramsSerializer(params)

      } else if (utils.isURLSearchParams(params)) {

        serializedParams = params.toString()

      } else {

        var parts = []



        utils.forEach(params, function serialize(val, key) {

          if (val === null || typeof val === 'undefined') {

            return

          }



          if (utils.isArray(val)) {

            key = key + '[]'

          } else {

            val = [val]

          }



          utils.forEach(val, function parseValue(v) {

            if (utils.isDate(v)) {

              v = v.toISOString()

            } else if (utils.isObject(v)) {

              v = JSON.stringify(v)

            }

            parts.push(encode(key) + '=' + encode(v))

          })

        })



        serializedParams = parts.join('&')

      }



      if (serializedParams) {

        var hashmarkIndex = url.indexOf('#')

        if (hashmarkIndex !== -1) {

          url = url.slice(0, hashmarkIndex)

        }



        url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams

      }



      return url

      }

      /***/ },

    /* 6 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      function InterceptorManager() {

      this.handlers = []

      }



      /**

     * Add a new interceptor to the stack

     *

     * @param {Function} fulfilled The function to handle `then` for a `Promise`

     * @param {Function} rejected The function to handle `reject` for a `Promise`

     *

     * @return {Number} An ID used to remove interceptor later

     */

      InterceptorManager.prototype.use = function use(fulfilled, rejected) {

      this.handlers.push({

        fulfilled: fulfilled,

        rejected: rejected

      })

      return this.handlers.length - 1

      }



      /**

     * Remove an interceptor from the stack

     *

     * @param {Number} id The ID that was returned by `use`

     */

      InterceptorManager.prototype.eject = function eject(id) {

      if (this.handlers[id]) {

        this.handlers[id] = null

      }

      }



      /**

     * Iterate over all the registered interceptors

     *

     * This method is particularly useful for skipping over any

     * interceptors that may have become `null` calling `eject`.

     *

     * @param {Function} fn The function to call for each interceptor

     */

      InterceptorManager.prototype.forEach = function forEach(fn) {

      utils.forEach(this.handlers, function forEachHandler(h) {

        if (h !== null) {

          fn(h)

        }

      })

      }



      module.exports = InterceptorManager

      /***/ },

    /* 7 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)

      var transformData = __webpack_require__(8)

      var isCancel = __webpack_require__(9)

      var defaults = __webpack_require__(10)



      /**

     * Throws a `Cancel` if cancellation has been requested.

     */

      function throwIfCancellationRequested(config) {

      if (config.cancelToken) {

        config.cancelToken.throwIfRequested()

      }

      }



      /**

     * Dispatch a request to the server using the configured adapter.

     *

     * @param {object} config The config that is to be used for the request

     * @returns {Promise} The Promise to be fulfilled

     */

      module.exports = function dispatchRequest(config) {

      throwIfCancellationRequested(config)



      // Ensure headers exist

      config.headers = config.headers || {}



      // Transform request data

      config.data = transformData(

        config.data,

        config.headers,

        config.transformRequest

      )



      // Flatten headers

      config.headers = utils.merge(

        config.headers.common || {},

        config.headers[config.method] || {},

        config.headers

      )



      utils.forEach(

        ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],

        function cleanHeaderConfig(method) {

          delete config.headers[method]

        }

      )



      var adapter = config.adapter || defaults.adapter



      return adapter(config).then(function onAdapterResolution(response) {

        throwIfCancellationRequested(config)



        // Transform response data

        response.data = transformData(

          response.data,

          response.headers,

          config.transformResponse

        )



        return response

      }, function onAdapterRejection(reason) {

        if (!isCancel(reason)) {

          throwIfCancellationRequested(config)



          // Transform response data

          if (reason && reason.response) {

            reason.response.data = transformData(

              reason.response.data,

              reason.response.headers,

              config.transformResponse

            )

          }

        }



        return Promise.reject(reason)

      })

      }

      /***/ },

    /* 8 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      /**

     * Transform the data for a request or a response

     *

     * @param {Object|String} data The data to be transformed

     * @param {Array} headers The headers for the request or response

     * @param {Array|Function} fns A single function or Array of functions

     * @returns {*} The resulting transformed data

     */

      module.exports = function transformData(data, headers, fns) {

      /*eslint no-param-reassign:0*/

      utils.forEach(fns, function transform(fn) {

        data = fn(data, headers)

      })



      return data

      }

      /***/ },

    /* 9 */

    /***/ function(module, exports) {

      'use strict'



      module.exports = function isCancel(value) {

      return !!(value && value.__CANCEL__)

      }

      /***/ },

    /* 10 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)

      var normalizeHeaderName = __webpack_require__(11)



      var DEFAULT_CONTENT_TYPE = {

      'Content-Type': 'application/x-www-form-urlencoded'

      }



      function setContentTypeIfUnset(headers, value) {

      if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {

        headers['Content-Type'] = value

      }

      }



      function getDefaultAdapter() {

      var adapter

      if (typeof XMLHttpRequest !== 'undefined') {

        // For browsers use XHR adapter

        adapter = __webpack_require__(12)

      } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {

        // For node use HTTP adapter

        adapter = __webpack_require__(12)

      }

      return adapter

      }



      var defaults = {

      adapter: getDefaultAdapter(),



      transformRequest: [function transformRequest(data, headers) {

        normalizeHeaderName(headers, 'Accept')

        normalizeHeaderName(headers, 'Content-Type')

        if (utils.isFormData(data) ||

          utils.isArrayBuffer(data) ||

          utils.isBuffer(data) ||

          utils.isStream(data) ||

          utils.isFile(data) ||

          utils.isBlob(data)

        ) {

          return data

        }

        if (utils.isArrayBufferView(data)) {

          return data.buffer

        }

        if (utils.isURLSearchParams(data)) {

          setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8')

          return data.toString()

        }

        if (utils.isObject(data)) {

          setContentTypeIfUnset(headers, 'application/json;charset=utf-8')

          return JSON.stringify(data)

        }

        return data

      }],



      transformResponse: [function transformResponse(data) {

        /*eslint no-param-reassign:0*/

        if (typeof data === 'string') {

          try {

            data = JSON.parse(data)

          } catch (e) { /* Ignore */ }

        }

        return data

      }],



      /**

       * A timeout in milliseconds to abort a request. If set to 0 (default) a

       * timeout is not created.

       */

      timeout: 0,



      xsrfCookieName: 'XSRF-TOKEN',

      xsrfHeaderName: 'X-XSRF-TOKEN',



      maxContentLength: -1,

      maxBodyLength: -1,



      validateStatus: function validateStatus(status) {

        return status >= 200 && status < 300

      }

      }



      defaults.headers = {

      common: {

        'Accept': 'application/json, text/plain, */*'

      }

      }



      utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {

      defaults.headers[method] = {}

      })



      utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {

      defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE)

      })



      module.exports = defaults

      /***/ },

    /* 11 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      module.exports = function normalizeHeaderName(headers, normalizedName) {

      utils.forEach(headers, function processHeader(value, name) {

        if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {

          headers[normalizedName] = value

          delete headers[name]

        }

      })

      }

      /***/ },

    /* 12 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)

      var settle = __webpack_require__(13)

      var cookies = __webpack_require__(16)

      var buildURL = __webpack_require__(5)

      var buildFullPath = __webpack_require__(17)

      var parseHeaders = __webpack_require__(20)

      var isURLSameOrigin = __webpack_require__(21)

      var createError = __webpack_require__(14)



      module.exports = function xhrAdapter(config) {

      return new Promise(function dispatchXhrRequest(resolve, reject) {

        var requestData = config.data

        var requestHeaders = config.headers



        if (utils.isFormData(requestData)) {

          delete requestHeaders['Content-Type'] // Let the browser set it

        }



        var request = new XMLHttpRequest()



        // HTTP basic authentication

        if (config.auth) {

          var username = config.auth.username || ''

          var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''

          requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password)

        }



        var fullPath = buildFullPath(config.baseURL, config.url)

        request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true)



        // Set the request timeout in MS

        request.timeout = config.timeout



        // Listen for ready state

        request.onreadystatechange = function handleLoad() {

          if (!request || request.readyState !== 4) {

            return

          }



          // The request errored out and we didn't get a response, this will be

          // handled by onerror instead

          // With one exception: request that using file: protocol, most browsers

          // will return status as 0 even though it's a successful request

          if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {

            return

          }



          // Prepare the response

          var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null

          var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response

          var response = {

            data: responseData,

            status: request.status,

            statusText: request.statusText,

            headers: responseHeaders,

            config: config,

            request: request

          }



          settle(resolve, reject, response)



          // Clean up request

          request = null

        }



        // Handle browser request cancellation (as opposed to a manual cancellation)

        request.onabort = function handleAbort() {

          if (!request) {

            return

          }



          reject(createError('Request aborted', config, 'ECONNABORTED', request))



          // Clean up request

          request = null

        }



        // Handle low level network errors

        request.onerror = function handleError() {

          // Real errors are hidden from us by the browser

          // onerror should only fire if it's a network error

          reject(createError('Network Error', config, null, request))



          // Clean up request

          request = null

        }



        // Handle timeout

        request.ontimeout = function handleTimeout() {

          var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded'

          if (config.timeoutErrorMessage) {

            timeoutErrorMessage = config.timeoutErrorMessage

          }

          reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',

            request))



          // Clean up request

          request = null

        }



        // Add xsrf header

        // This is only done if running in a standard browser environment.

        // Specifically not if we're in a web worker, or react-native.

        if (utils.isStandardBrowserEnv()) {

          // Add xsrf header

          var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName

            ? cookies.read(config.xsrfCookieName)

            : undefined



          if (xsrfValue) {

            requestHeaders[config.xsrfHeaderName] = xsrfValue

          }

        }



        // Add headers to the request

        if ('setRequestHeader' in request) {

          utils.forEach(requestHeaders, function setRequestHeader(val, key) {

            if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {

              // Remove Content-Type if data is undefined

              delete requestHeaders[key]

            } else {

              // Otherwise add header to the request

              request.setRequestHeader(key, val)

            }

          })

        }



        // Add withCredentials to request if needed

        if (!utils.isUndefined(config.withCredentials)) {

          request.withCredentials = !!config.withCredentials

        }



        // Add responseType to request if needed

        if (config.responseType) {

          try {

            request.responseType = config.responseType

          } catch (e) {

            // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.

            // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.

            if (config.responseType !== 'json') {

              throw e

            }

          }

        }



        // Handle progress if needed

        if (typeof config.onDownloadProgress === 'function') {

          request.addEventListener('progress', config.onDownloadProgress)

        }



        // Not all browsers support upload events

        if (typeof config.onUploadProgress === 'function' && request.upload) {

          request.upload.addEventListener('progress', config.onUploadProgress)

        }



        if (config.cancelToken) {

          // Handle cancellation

          config.cancelToken.promise.then(function onCanceled(cancel) {

            if (!request) {

              return

            }



            request.abort()

            reject(cancel)

            // Clean up request

            request = null

          })

        }



        if (!requestData) {

          requestData = null

        }



        // Send the request

        request.send(requestData)

      })

      }

      /***/ },

    /* 13 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var createError = __webpack_require__(14)



      /**

     * Resolve or reject a Promise based on response status.

     *

     * @param {Function} resolve A function that resolves the promise.

     * @param {Function} reject A function that rejects the promise.

     * @param {object} response The response.

     */

      module.exports = function settle(resolve, reject, response) {

      var validateStatus = response.config.validateStatus

      if (!response.status || !validateStatus || validateStatus(response.status)) {

        resolve(response)

      } else {

        reject(createError(

          'Request failed with status code ' + response.status,

          response.config,

          null,

          response.request,

          response

        ))

      }

      }

      /***/ },

    /* 14 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var enhanceError = __webpack_require__(15)



      /**

     * Create an Error with the specified message, config, error code, request and response.

     *

     * @param {string} message The error message.

     * @param {Object} config The config.

     * @param {string} [code] The error code (for example, 'ECONNABORTED').

     * @param {Object} [request] The request.

     * @param {Object} [response] The response.

     * @returns {Error} The created error.

     */

      module.exports = function createError(message, config, code, request, response) {

      var error = new Error(message)

      return enhanceError(error, config, code, request, response)

      }

      /***/ },

    /* 15 */

    /***/ function(module, exports) {

      'use strict'



      /**

     * Update an Error with the specified config, error code, and response.

     *

     * @param {Error} error The error to update.

     * @param {Object} config The config.

     * @param {string} [code] The error code (for example, 'ECONNABORTED').

     * @param {Object} [request] The request.

     * @param {Object} [response] The response.

     * @returns {Error} The error.

     */

      module.exports = function enhanceError(error, config, code, request, response) {

      error.config = config

      if (code) {

        error.code = code

      }



      error.request = request

      error.response = response

      error.isAxiosError = true



      error.toJSON = function toJSON() {

        return {

          // Standard

          message: this.message,

          name: this.name,

          // Microsoft

          description: this.description,

          number: this.number,

          // Mozilla

          fileName: this.fileName,

          lineNumber: this.lineNumber,

          columnNumber: this.columnNumber,

          stack: this.stack,

          // Axios

          config: this.config,

          code: this.code

        }

      }

      return error

      }

      /***/ },

    /* 16 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      module.exports = (

      utils.isStandardBrowserEnv()



      // Standard browser envs support document.cookie

        ? (function standardBrowserEnv() {

          return {

            write: function write(name, value, expires, path, domain, secure) {

              var cookie = []

              cookie.push(name + '=' + encodeURIComponent(value))



              if (utils.isNumber(expires)) {

                cookie.push('expires=' + new Date(expires).toGMTString())

              }



              if (utils.isString(path)) {

                cookie.push('path=' + path)

              }



              if (utils.isString(domain)) {

                cookie.push('domain=' + domain)

              }



              if (secure === true) {

                cookie.push('secure')

              }



              document.cookie = cookie.join('; ')

            },



            read: function read(name) {

              var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'))

              return (match ? decodeURIComponent(match[3]) : null)

            },



            remove: function remove(name) {

              this.write(name, '', Date.now() - 86400000)

            }

          }

        })()



      // Non standard browser env (web workers, react-native) lack needed support.

        : (function nonStandardBrowserEnv() {

          return {

            write: function write() {},

            read: function read() { return null },

            remove: function remove() {}

          }

        })()

      )

      /***/ },

    /* 17 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var isAbsoluteURL = __webpack_require__(18)

      var combineURLs = __webpack_require__(19)



      /**

     * Creates a new URL by combining the baseURL with the requestedURL,

     * only when the requestedURL is not already an absolute URL.

     * If the requestURL is absolute, this function returns the requestedURL untouched.

     *

     * @param {string} baseURL The base URL

     * @param {string} requestedURL Absolute or relative URL to combine

     * @returns {string} The combined full path

     */

      module.exports = function buildFullPath(baseURL, requestedURL) {

      if (baseURL && !isAbsoluteURL(requestedURL)) {

        return combineURLs(baseURL, requestedURL)

      }

      return requestedURL

      }

      /***/ },

    /* 18 */

    /***/ function(module, exports) {

      'use strict'



      /**

     * Determines whether the specified URL is absolute

     *

     * @param {string} url The URL to test

     * @returns {boolean} True if the specified URL is absolute, otherwise false

     */

      module.exports = function isAbsoluteURL(url) {

      // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).

      // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed

      // by any combination of letters, digits, plus, period, or hyphen.

      return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url)

      }

      /***/ },

    /* 19 */

    /***/ function(module, exports) {

      'use strict'



      /**

     * Creates a new URL by combining the specified URLs

     *

     * @param {string} baseURL The base URL

     * @param {string} relativeURL The relative URL

     * @returns {string} The combined URL

     */

      module.exports = function combineURLs(baseURL, relativeURL) {

      return relativeURL

        ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')

        : baseURL

      }

      /***/ },

    /* 20 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      // Headers whose duplicates are ignored by node

      // c.f. https://nodejs.org/api/http.html#http_message_headers

      var ignoreDuplicateOf = [

      'age', 'authorization', 'content-length', 'content-type', 'etag',

      'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',

      'last-modified', 'location', 'max-forwards', 'proxy-authorization',

      'referer', 'retry-after', 'user-agent'

      ]



      /**

     * Parse headers into an object

     *

     * ```

     * Date: Wed, 27 Aug 2014 08:58:49 GMT

     * Content-Type: application/json

     * Connection: keep-alive

     * Transfer-Encoding: chunked

     * ```

     *

     * @param {String} headers Headers needing to be parsed

     * @returns {Object} Headers parsed into an object

     */

      module.exports = function parseHeaders(headers) {

      var parsed = {}

      var key

      var val

      var i



      if (!headers) { return parsed }



      utils.forEach(headers.split('\n'), function parser(line) {

        i = line.indexOf(':')

        key = utils.trim(line.substr(0, i)).toLowerCase()

        val = utils.trim(line.substr(i + 1))



        if (key) {

          if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {

            return

          }

          if (key === 'set-cookie') {

            parsed[key] = (parsed[key] ? parsed[key] : []).concat([val])

          } else {

            parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val

          }

        }

      })



      return parsed

      }

      /***/ },

    /* 21 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      module.exports = (

      utils.isStandardBrowserEnv()



      // Standard browser envs have full support of the APIs needed to test

      // whether the request URL is of the same origin as current location.

        ? (function standardBrowserEnv() {

          var msie = /(msie|trident)/i.test(navigator.userAgent)

          var urlParsingNode = document.createElement('a')

          var originURL



          /**

        * Parse a URL to discover it's components

        *

        * @param {String} url The URL to be parsed

        * @returns {Object}

        */

          function resolveURL(url) {

            var href = url



            if (msie) {

            // IE needs attribute set twice to normalize properties

              urlParsingNode.setAttribute('href', href)

              href = urlParsingNode.href

            }



            urlParsingNode.setAttribute('href', href)



            // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils

            return {

              href: urlParsingNode.href,

              protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',

              host: urlParsingNode.host,

              search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',

              hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',

              hostname: urlParsingNode.hostname,

              port: urlParsingNode.port,

              pathname: (urlParsingNode.pathname.charAt(0) === '/')

                ? urlParsingNode.pathname

                : '/' + urlParsingNode.pathname

            }

          }



          originURL = resolveURL(window.location.href)



          /**

        * Determine if a URL shares the same origin as the current location

        *

        * @param {String} requestURL The URL to test

        * @returns {boolean} True if URL shares the same origin, otherwise false

        */

          return function isURLSameOrigin(requestURL) {

            var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL

            return (parsed.protocol === originURL.protocol &&

                parsed.host === originURL.host)

          }

        })()



      // Non standard browser envs (web workers, react-native) lack needed support.

        : (function nonStandardBrowserEnv() {

          return function isURLSameOrigin() {

            return true

          }

        })()

      )

      /***/ },

    /* 22 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var utils = __webpack_require__(2)



      /**

     * Config-specific merge-function which creates a new config-object

     * by merging two configuration objects together.

     *

     * @param {Object} config1

     * @param {Object} config2

     * @returns {Object} New object resulting from merging config2 to config1

     */

      module.exports = function mergeConfig(config1, config2) {

      // eslint-disable-next-line no-param-reassign

      config2 = config2 || {}

      var config = {}



      var valueFromConfig2Keys = ['url', 'method', 'data']

      var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params']

      var defaultToConfig2Keys = [

        'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',

        'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',

        'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',

        'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',

        'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'

      ]

      var directMergeKeys = ['validateStatus']



      function getMergedValue(target, source) {

        if (utils.isPlainObject(target) && utils.isPlainObject(source)) {

          return utils.merge(target, source)

        } else if (utils.isPlainObject(source)) {

          return utils.merge({}, source)

        } else if (utils.isArray(source)) {

          return source.slice()

        }

        return source

      }



      function mergeDeepProperties(prop) {

        if (!utils.isUndefined(config2[prop])) {

          config[prop] = getMergedValue(config1[prop], config2[prop])

        } else if (!utils.isUndefined(config1[prop])) {

          config[prop] = getMergedValue(undefined, config1[prop])

        }

      }



      utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {

        if (!utils.isUndefined(config2[prop])) {

          config[prop] = getMergedValue(undefined, config2[prop])

        }

      })



      utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties)



      utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {

        if (!utils.isUndefined(config2[prop])) {

          config[prop] = getMergedValue(undefined, config2[prop])

        } else if (!utils.isUndefined(config1[prop])) {

          config[prop] = getMergedValue(undefined, config1[prop])

        }

      })



      utils.forEach(directMergeKeys, function merge(prop) {

        if (prop in config2) {

          config[prop] = getMergedValue(config1[prop], config2[prop])

        } else if (prop in config1) {

          config[prop] = getMergedValue(undefined, config1[prop])

        }

      })



      var axiosKeys = valueFromConfig2Keys

        .concat(mergeDeepPropertiesKeys)

        .concat(defaultToConfig2Keys)

        .concat(directMergeKeys)



      var otherKeys = Object

        .keys(config1)

        .concat(Object.keys(config2))

        .filter(function filterAxiosKeys(key) {

          return axiosKeys.indexOf(key) === -1

        })



      utils.forEach(otherKeys, mergeDeepProperties)



      return config

      }

      /***/ },

    /* 23 */

    /***/ function(module, exports) {

      'use strict'



      /**

     * A `Cancel` is an object that is thrown when an operation is canceled.

     *

     * @class

     * @param {string=} message The message.

     */

      function Cancel(message) {

      this.message = message

      }



      Cancel.prototype.toString = function toString() {

      return 'Cancel' + (this.message ? ': ' + this.message : '')

      }



      Cancel.prototype.__CANCEL__ = true



      module.exports = Cancel

      /***/ },

    /* 24 */

    /***/ function(module, exports, __webpack_require__) {

      'use strict'



      var Cancel = __webpack_require__(23)



      /**

     * A `CancelToken` is an object that can be used to request cancellation of an operation.

     *

     * @class

     * @param {Function} executor The executor function.

     */

      function CancelToken(executor) {

      if (typeof executor !== 'function') {

        throw new TypeError('executor must be a function.')

      }



      var resolvePromise

      this.promise = new Promise(function promiseExecutor(resolve) {

        resolvePromise = resolve

      })



      var token = this

      executor(function cancel(message) {

        if (token.reason) {

          // Cancellation has already been requested

          return

        }



        token.reason = new Cancel(message)

        resolvePromise(token.reason)

      })

      }



      /**

     * Throws a `Cancel` if cancellation has been requested.

     */

      CancelToken.prototype.throwIfRequested = function throwIfRequested() {

      if (this.reason) {

        throw this.reason

      }

      }



      /**

     * Returns an object that contains a new `CancelToken` and a function that, when called,

     * cancels the `CancelToken`.

     */

      CancelToken.source = function source() {

      var cancel

      var token = new CancelToken(function executor(c) {

        cancel = c

      })

      return {

        token: token,

        cancel: cancel

      }

      }



      module.exports = CancelToken

      /***/ },

    /* 25 */

    /***/ function(module, exports) {

      'use strict'



      /**

     * Syntactic sugar for invoking a function and expanding an array for arguments.

     *

     * Common use case would be to use `Function.prototype.apply`.

     *

     *  ```js

     *  function f(x, y, z) {}

     *  var args = [1, 2, 3];

     *  f.apply(null, args);

     *  ```

     *

     * With `spread` this example can be re-written.

     *

     *  ```js

     *  spread(function(x, y, z) {})([1, 2, 3]);

     *  ```

     *

     * @param {Function} callback

     * @returns {Function}

     */

      module.exports = function spread(callback) {

      return function wrap(arr) {

        return callback.apply(null, arr)

      }

      }

      /***/ }

    /** ****/ ])

})



// # sourceMappingURL=axios.map

然后在src\main.js加入以下代码:import axios from 'axios'

要使用时,只需要在相应界面的

script中加入以下代码即可

import axios from 'axios'

mock数据提取具体代码:

mounted() {

    this.fetchdata()

  },

  // components:{pagination},

  methods: {

    // 获取后端数据

    async fetchdata() {

      axios

        .get( 

          'https://www.fastmock.site/mock/fc95a74a01e7f9841b9b6a5051f5da07/package/classinfo'

        )//此地址为mock平台接口,mock平台使用可以参考 http://t.csdn.cn/tlMkt

        .then((response) => {

          console.log(response)

          this.tableData = response.data.data

          this.total = response.data.data.length

        })

    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码 毕业设计 基于springboot mysql Vue的系统开发,供参考,提供说明材料+源代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会敲代码的破茧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值