最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue?axios二次封裝的詳細(xì)解析

 更新時間:2022年09月06日 11:07:49   作者:水三丫  
這篇文章主要介紹了vue?axios二次封裝的詳細(xì)解析,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下

axios的二次封裝

視頻講解

  npm i axios    //下載axios

首先創(chuàng)建兩個文件夾在src目錄下;api和config

先在config文件夾下建立一個index.js;具體代碼如下:

export default{
baseUrl:{
dev: "http://localhost:8082/mhy",	//開發(fā)環(huán)境
pro: "http://xxx.xx.xx.xx:8082/mhy",	//上線環(huán)境
}
}

當(dāng)然我這里是因為我主要寫后端springboot,就沒有使用什么第三方前端的請求工具

api文件夾下建立一個axios.js;對axios進(jìn)行二次封裝;

import axios from "axios"
import config from "@/config"

// const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev:config.baseUrl.pro
const baseUrl = config.baseUrl.pro
class HttpRequest{
    //構(gòu)造器
    constructor(baseUrl){
        this.baseUrl = baseUrl
    }
    //請求路徑設(shè)置
    getInsideConfig(){
        const config = {
            baseURL:this.baseUrl,
            Header:{}
        }
        return config
    }

    //添加攔截器
    interceptors(instance){
        // 添加請求攔截器
        instance.interceptors.request.use(function (config) {
            // 在發(fā)送請求之前做些什么
            const token = localStorage.getItem("Accept-Token");
            if(token !== null && token !== ""){
                config.headers["Accept-Token"] = token;
            }
            return config;
        }, function (error) {
            // 對請求錯誤做些什么
            // console.log('添加請求攔截器 請求錯誤')
            return Promise.reject(error);
        });

        // 添加響應(yīng)攔截器
        instance.interceptors.response.use(function (response) {
            // 對響應(yīng)數(shù)據(jù)做點什么
            // console.log('添加請求攔截器 響應(yīng)')
            return response;
        }, function (error) {
            // 對響應(yīng)錯誤做點什么
            // console.log('添加請求攔截器 響應(yīng)錯誤')
            return Promise.reject(error);
        });
    }
    // 二次封裝的請求
    request(options) {
        const instance = axios.create()
        options = {...this.getInsideConfig(),...options}
        this.interceptors(instance)
        return instance(options)
    }

}
export default new HttpRequest(baseUrl)

最后在api文件夾下創(chuàng)建你需要調(diào)用的api,當(dāng)然你可以寫在一個里面,也可以不同模塊分開寫

我這里是分開寫的:

然后看看具體怎么使用

fileApi.js

import axios from "./axios";

// 上傳文件圖片
export const uploadImgAPI = (param) => {
    return axios.request({
        url: `/uploadImg/${param.id}`,
        method: "post",
        data: param.formData
    })
}
// 刪除一個文件
export const deleteImgAPI = (param) => {
    return axios.request({
        url: `/deleteImg`,
        method: "post",
        data: param
    })
}

簡單的寫一個;在組件中引入就可以使用了

import { deleteImgAPI, uploadImgAPI } from '@/api/fileApi'

當(dāng)然最后你也可以全局注冊一下,然后直接通過proxy調(diào)用,也很方便,

到此這篇關(guān)于vue axios二次封裝的詳細(xì)解析的文章就介紹到這了,更多相關(guān)vue axios二次封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點總結(jié)

    mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點總結(jié)

    這篇文章主要介紹了mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點,結(jié)合實例形式總結(jié)分析了mysql中關(guān)于null的判斷、使用相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-12-12
  • MYSQL錯誤:Can’t open file: ‘×××.MYI’ (errno: 145)修復(fù)方法

    MYSQL錯誤:Can’t open file: ‘×××.MYI’ (errno: 14

    這個錯誤是典型的mysql表受損造成的,解決的辦法就是修復(fù)表,這個問題也是mysql經(jīng)常容易出現(xiàn)的,mysql表和索引損壞的幾率很大,但是修復(fù)也很方便
    2011-01-01
  • mysql 5.6 壓縮包版安裝方法

    mysql 5.6 壓縮包版安裝方法

    這篇文章主要為大家詳細(xì)介紹了mysql 5.6 壓縮包版安裝方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • MySQL視圖中如何使用IF和CASE語句

    MySQL視圖中如何使用IF和CASE語句

    這篇文章主要介紹了MySQL視圖中如何使用IF和CASE語句問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析

    MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析

    在使用InnoDB存儲引擎后,MySQL的ibdata1文件常常會占據(jù)大量存儲空間,這里我們就為大家?guī)鞰ySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析:
    2016-06-06
  • MySQL ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO) 的原因分解決辦法

    MySQL ERROR 1045 (28000): Access denied for user ''root''@''

    這篇文章主要介紹了MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫的方法

    Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫的方法

    這篇文章主要介紹了Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫的方法,本文分步驟通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • mysql binlog占用大量磁盤空間的解決方法

    mysql binlog占用大量磁盤空間的解決方法

    MySQL binlog(Binary Log)是MySQL數(shù)據(jù)庫的一種重要組件,用于記錄所有對數(shù)據(jù)庫的更改操作,當(dāng)MySQL服務(wù)器接收到對數(shù)據(jù)庫的寫入請求并成功執(zhí)行后,這些更改會被寫入binlog,本文給大家介紹了mysql binlog占用大量磁盤空間的解決方法,需要的朋友可以參考下
    2024-06-06
  • mysql查詢的時候給字段賦默認(rèn)值操作

    mysql查詢的時候給字段賦默認(rèn)值操作

    這篇文章主要介紹了mysql查詢的時候給字段賦默認(rèn)值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Mysql默認(rèn)設(shè)置的危險性分析

    Mysql默認(rèn)設(shè)置的危險性分析

    一.mysql默認(rèn)的授權(quán)表二.缺乏日志能力 三.my.ini文件泄露口令 四.服務(wù)默認(rèn)被綁定全部的網(wǎng)絡(luò)接口上 五.默認(rèn)安裝路徑下的mysql目錄權(quán)限
    2008-09-09

最新評論

桐梓县| 江华| 洛川县| 广西| 玛曲县| 胶南市| 大关县| 乌兰浩特市| 南江县| 绍兴县| 抚州市| 繁昌县| 东方市| 进贤县| 富顺县| 平凉市| 高阳县| 正宁县| 拜城县| 富宁县| 岳西县| 岗巴县| 津南区| 衡水市| 托里县| 宁安市| 伽师县| 商丘市| 张家港市| 嘉禾县| 五家渠市| 渭南市| 鄯善县| 栾川县| 江口县| 苏尼特右旗| 芮城县| 长海县| 郧西县| 香港 | 桃园县|