乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      vue http.js

       丶平上 2018-08-08
      import axios from 'axios'
      import qs from 'qs'
      import appData from './AppData'

      var Http = {
      defaultTimeout: 20000
      }

      Http.ErrorCode = {
      NOT_NETWORK: -1, // 無網(wǎng)絡(luò),服務(wù)器無響應(yīng)
      SERVICE_ERROR: -2, // 服務(wù)器錯(cuò)誤,請求錯(cuò)誤返回碼不為:200
      PARSER_ERROR: -3, // 接口解析錯(cuò)誤
      API_ERROR: -4, // 接口錯(cuò)誤status不為:0
      REQUEST_ERROR: -5 // 請求之前錯(cuò)誤,
      }

      /**
      *
      * @param error error對象
      * @param errorCode Http.ErrorCode
      * @param request 請求對象
      * @param response 響應(yīng)對象
      * @returns {*}
      * @constructor
      */
      var creatHttpError = function (error, errorCode, request, response) {
      if (!error) {
      error = new Error()
      }
      error.errorCode = errorCode

      if (request) {
      error.request = request
      }

      if (response) {
      error.response = response
      }
      return error
      }

      // 創(chuàng)建新的實(shí)例
      var axiosNew = axios.create({ timeout: Http.defaultTimeout})
      axiosNew.defaults.withCredentials = true

      // POST傳參序列化(添加請求攔截器)
      axiosNew.interceptors.request.use(
      config => {
      config.headers = {
      // 'X-Requested-With': 'XMLHttpRequest',
      'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
      }
      // 在發(fā)送請求之前做某件事
      if (
      config.method === 'post' ||
      config.method === 'put' ||
      config.method === 'delete'
      ) {
      // 序列化
      config.data = qs.stringify(config.data)
      }
      return config
      },
      error => {
      let httpError = creatHttpError(error, Http.ErrorCode.REQUEST_ERROR, error.request, error.response)
      return Promise.reject(httpError)
      }
      )

      // 返回狀態(tài)判斷(添加響應(yīng)攔截器)
      axiosNew.interceptors.response.use(
      res => {
      // 對響應(yīng)數(shù)據(jù)做些事
      if (res.status == 200) {
      if (res.data.state == 0) {
      return res.data.data
      } else {
      // 接口state不為0

      let httpError = creatHttpError(new Error('Api Error:' + res.data.data), Http.ErrorCode.API_ERROR, res.request, res)
      return Promise.reject(httpError)
      }
      } else {
      let httpError = creatHttpError(new Error('Server Error:' + res.status), Http.ErrorCode.SERVICE_ERROR, res.request, res)
      return Promise.reject(httpError)
      }
      },
      error => {
      if (error.response) {
      // 服務(wù)器有響應(yīng)
      let httpError = creatHttpError(error, Http.ErrorCode.SERVICE_ERROR, error.request, error.response)
      return Promise.reject(httpError)
      } else {
      // 無網(wǎng)絡(luò)或者服務(wù)器無響應(yīng)
      let httpError = creatHttpError(error, Http.ErrorCode.NOT_NETWORK, error.request, error.response)
      return Promise.reject(httpError)
      }
      }
      )

      /**
      this.$http.post(url,data).then((data)=>{

      }).catch((error)=>{

      })

      *
      * @param url
      * @param data
      * @returns {Promise<any>}
      */
      Http.post = function (url, data) {
      return new Promise(function (resolve, reject) {
      axiosNew.post(url, data).then(function (data) {
      resolve(data)
      }).catch(function (error) {
      console.log('http-post-error:', error)
      reject(error)
      })
      })
      }

      /**
      this.$http.get(url,data).then((data)=>{

      }).catch((error)=>{

      })

      *
      * @param url
      * @param data
      * @returns {Promise<any>}
      */
      Http.get = function (url, params) {
      return new Promise(function (resolve, reject) {
      axiosNew.get(url, {params: params}).then(function (data) {
      resolve(data)
      }).catch(function (error) {
      console.log('http-get-error:', error)
      reject(error)
      })
      })
      }

      /**
      * 延時(shí)請求,等下次頁面加載再去請求,跳轉(zhuǎn)頁面上報(bào)功能一般用這個(gè)
      * @param url
      * @param data
      */
      Http.postWhenFreeTime = function (url, data) {
      // let requests = storage.getLocal('postWhenFreeTime',[])
      // requests.push({url:url,data:data})
      // storage.setLocal('postWhenFreeTime',requests)

      let requests = appData.postWhenFreeTime
      requests.push({url: url, data: data})
      }

      /**
      * 激活上報(bào)
      */
      Http.startPost = function () {
      // setTimeout(function () {
      // let requests = storage.getLocal('postWhenFreeTime',[])
      // if(requests.length>0){
      // let request = requests.shift()
      // storage.setLocal('postWhenFreeTime',requests)
      // Http.post(request.url,request.data).finally(function () {
      // Http.startPost()
      // })
      // }
      // },1000)

      setTimeout(function () {
      let requests = appData.postWhenFreeTime
      if (requests.length > 0) {
      let request = requests.shift()
      Http.post(request.url, request.data).finally(function () {
      Http.startPost()
      })
      }
      }, 1000)
      }

      module.exports = Http

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多