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

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)

網站建設網站維護公司
日韩精品中文乱码在线观看| 日韩精品专区中文字幕| 亚洲欧美成人自偷自拍一区| 欧美激情片免费在线观看| 国产亚洲欧美另类网爆| 日本免费一区二区三区视频观看| 国产熟女一区二区精品视频| 欧美一区二区三区人妻激情| 亚洲精品欧美日韩久久| 亚洲综合av一区二区| 久久精品中文字幕人妻| 亚洲一区二区另类视频| 欧美日韩一区二区三区激情| 中文字幕精品高清中国| 国产日韩熟女中文字幕| 成人自拍偷拍在线视频| 91亚洲国产成人久久| 偷拍盗摄一区二区三区| 国产女片xb内射在线| 人妻中文字幕日韩av| 亚洲品质自拍在线观看| 色哟哟网站在线精品视频 | 国产av一区二区三区高潮蜜| 国产一区 亚洲精品| 中文字幕久精品视频免费| 亚洲欧美国产成人在线| 日韩精品在线第一视频| 亚洲精品综合在线二区| 在线国产偷拍自拍视频| 91麻豆国产福利在线| 天天操天天日天天干夜夜情欢| 中文字幕亚洲精品熟女少妇| 国产精品欧美日韩高清| 欧美日韩av在线一区二区| 国产av不卡精品影片| 日韩高清亚洲一区二区| 日本大片在线一区二区三区| 人体蜜桃视频一区二区| 91精品国产欧美在线| 99亚洲伊人久久精品影院| 国产91福利视频在线|