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

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://www.aaarwkj.com/article38/pccdpp.html

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

廣告

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

網站建設網站維護公司
亚洲丰满性感美女av| 国产精品色网在线播放| 国产91一区二区三区在线精品| 国产精品亚洲二区三区三州| 亚洲欧美日韩专区一区| 日韩三级精品一区二区| 亚洲中文永久免费视频| 成人黄色av在线看| 不卡一区二区黄色av| 国产一区二区三区不卡视频| 男人天堂av网在线观看| 亚洲黄色暴力一区视频| 国产福利传媒在线观看| 国产精品国产三级国产普通话99| 亚洲综合一区二区三区四区在线| 一区二区三区欧美影片| 97国产精品成人免费视频| 中国美女下面毛茸茸视频| 好吊妞视频这里只有精| 久久精品亚洲精品毛片| 香蕉欧美在线视频播放| 中文字幕色视频在线观看| 91久久精品国产一区| 色哟哟网站在线观看入口| 亚洲大片色一区在线观看| 国产精品一区久久91| 成人免费在线国产视频| 国产内射一级一片内射高清视频1| 久久综合色爱综合欧美| 亚洲性图中文字幕在线| 精品一区二区久久久久久| 日韩欧美国产麻豆91在线精品 | 成人av男人天堂东京热| 最新日韩一区二区在线| 免费又色又爽无遮挡网站| 无人视频在线观看高清91| 99久热在线精品视频| 婷婷色悠悠,色悠悠激情啪啪| 国产中文精品字幕a区| heyzo高清中文字幕在线| 深夜三级福利在线观看|