欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

vue中axios二次封裝的示例分析

小編給大家分享一下vue中axios二次封裝的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

10多年的安圖網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整安圖建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“安圖網站設計”,“安圖網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

為什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護性和可測試性更強的代碼庫,Vue允許可以將一個網頁分割成可復用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網頁中相應的地方,所以越來越多的前端開發(fā)者使用vue。

我們做項目時,雖然axios也可以直接拿來用,但是對接口比較零散,不太好進行維護,也會產生大量的重復代碼,所以我在這對axios進行了統(tǒng)一接口處理

第一步,先在src中的公共文件夾中如utils里新建request.js文件

vue中axios二次封裝的示例分析

import axios from 'axios'
import router from '@/router/routers'
import { Notification, MessageBox } from 'element-ui'
import store from '../store'
import { getToken } from '@/utils/auth'
import Config from '@/config'
 
import {baseUrl} from '@/utils/env'
 
// 創(chuàng)建axios實例
const service = axios.create({
 baseURL: baseUrl, // api 的 base_url
 // baseURL: process.env.BASE_API, // api 的 base_url
 timeout: Config.timeout // 請求超時時間
})
 
// request攔截器
service.interceptors.request.use(
 config => {
  if (getToken()) {
   config.headers['Authorization'] = 'Bearer ' + getToken() // 讓每個請求攜帶自定義token 請根據實際情況自行修改
  }
  config.headers['Content-Type'] = 'application/json'
  return config
 },
 error => {
  // Do something with request error
  console.log(error) // for debug
  Promise.reject(error)
 }
)
 
// response 攔截器
service.interceptors.response.use(
 response => {
  const code = response.status
  console.log(response)
  if (code < 200 || code > 300) {
   Notification.error({
    title: response.message
   })
   return Promise.reject('error')
  } else {
   return response.data
  }
 },
 error => {
  let code = 0
  try {
   code = error.response.data.status
  } catch (e) {
   if (error.toString().indexOf('Error: timeout') !== -1) {
    Notification.error({
     title: '網絡請求超時',
     duration: 2500
    })
    return Promise.reject(error)
   }
   if (error.toString().indexOf('Error: Network Error') !== -1) {
    Notification.error({
     title: '網絡請求錯誤',
     duration: 2500
    })
    return Promise.reject(error)
   }
  }
  if (code === 401) {
   MessageBox.confirm(
    '登錄狀態(tài)已過期,您可以繼續(xù)留在該頁面,或者重新登錄',
    '系統(tǒng)提示',
    {
     confirmButtonText: '重新登錄',
     cancelButtonText: '取消',
     type: 'warning'
    }
   ).then(() => {
    store.dispatch('LogOut').then(() => {
     location.reload() // 為了重新實例化vue-router對象 避免bug
    })
   })
  } else if (code === 403) {
   router.push({ path: '/401' })
  } else {
   const errorMsg = error.response.data.message
   if (errorMsg !== undefined) {
    Notification.error({
     title: errorMsg,
     duration: 2500
    })
   }
  }
  return Promise.reject(error)
 }
)
export default service

代碼解讀:

vue中axios二次封裝的示例分析

 vue中axios二次封裝的示例分析

將接口統(tǒng)一放到單獨的文件中如我的

vue中axios二次封裝的示例分析

引入request.js

vue中axios二次封裝的示例分析

第三步,

在頁面使用

vue中axios二次封裝的示例分析

vue中axios二次封裝的示例分析

好了,這就是axios的二次封裝

以上是“vue中axios二次封裝的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:vue中axios二次封裝的示例分析
網頁網址:http://aaarwkj.com/article38/pccdpp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)網站收錄網站策劃、、面包屑導航全網營銷推廣

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站建設網站維護公司
午夜宅男在线视频观看| 国产精品xxxx国产精品| 97在线观看视频在线观看| 欧美日韩福利一区二区三区| 91国产视频在线观看免费| 欧美日韩伦理片在线观看| 精品蜜臀国产av一区二区| 日本福利一区二区三区| 亚洲国产自拍精品视频| 白白色发布青青在线视频观看| 一区二区三区高清人妻日本| 97国产精品成人免费视频| 欧美亚洲综合另类色妞| 亚洲香蕉在线视频免费| 日韩精品在线观看天堂| 少妇一夜一次一区二区| 日韩免费av在线网站| 日本性电影一区二区| 国产伦理在线观看一区二区| 欧美一级纯黄电影视频| 日韩精品不卡在线观看| 国产黄色自拍av网站| 欧美 日本国产一区| 欧美精品福利一区二区三区| 日韩精品成人一区二区三区免费| 久久久久久精品妇女| 18以下的人禁止看的视频| 欧美二区三区精品在线| 欧美日韩三级国产在线| 久久精品少妇人妻视频| 亚洲av成人永久网站一区| 黄色录像免费一内片一级| 久久不卡高清免费av| 国产精品熟女一区二区三区| 中文字幕丝袜精品久久| 99国产精品欲av麻豆在线观看| 伊人久久大香线蕉av色婷婷色| 免费在线成人av观看| 亚洲中文字幕在线乱码| 精品国产自在现线拍手机| 我要看国产一级内射片|