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

Vue+axios實(shí)現(xiàn)統(tǒng)一接口管理的方法

 更新時間:2018年07月23日 09:55:38   作者:ZhangCui  
這篇文章主要介紹了Vue+axios實(shí)現(xiàn)統(tǒng)一接口管理的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

通過axios請求接口已經(jīng)很簡單了,但最近在做一個vue項(xiàng)目,想著把a(bǔ)xios請求再封裝一下,這樣api就可以只在一處配置成方法,在使用的時候直接調(diào)用這個方法。

但咱們不用每個接口都定義成一個啰嗦的axios請求方法,既然是想簡單點(diǎn),就盡量只在一處完成簡單的配置。

1、配置api接口

將同一模塊的接口放在一個文件下,比如我在src的services下定義了一個global.js作為全局服務(wù)的配置,在它里面配置的api可以作為這個服務(wù)的方法。

比如:

name字段將作為之后被調(diào)用的方法名,但這個只是一個單純的對象,現(xiàn)在我們定義方法將它轉(zhuǎn)為方法。

2、將接口配置的數(shù)組對象轉(zhuǎn)化為方法

import axios from "axios";
const withAxios = apiConfig => {
 const serviceMap = {};
 apiConfig.map(({ name, url, method }) => {
 serviceMap[name] = async function(data = {}) {
  let key = "params";
  if (method === "post" || method === "put") {
  key = "data";
  }
  return axios({
  method,
  url: "/api" + url,
  [key]: data
  });
 };
 });
 return serviceMap;
};
export default withAxios;

我們在utils下定義了一個通用的方法withAxios,這個方法的作用是將api配置文件轉(zhuǎn)化為包含方法的一個對象。

3、在api配置文件中使用withAxios

import withAxios from "../utils/withAxios";
const apiConfig = [
 {
 name: "userLogin",
 url: "/login",
 method: "get"
 },
 {
 name: "getUserInfo",
 url: "/login/user",
 method: "get"
 },
 {
 name: "getDeptList",
 url: "/login/department",
 method: "get"
 }
];
export default withAxios(apiConfig);

直接export出包裝后的對象即可。

4、在vuex中使用

想在vuex中調(diào)用某個api,首先import剛才導(dǎo)出的對象

import GlobalService from "@/services/global";

在action中調(diào)用某個接口:

const { data } = await GlobalService.userLogin(payload);

這樣就完事了。之后只需要配置-調(diào)用這么兩步就可以完成接口調(diào)用。

5、axios的其他配置

我們可以在utils的withAxios中順便對axios做一些通用的設(shè)置。

比如每次請求頭中都自動帶上鑒權(quán):

axios.defaults.headers.common["Authorization"] = getCookie("jwt") || "";
// 注意:此處只會在web應(yīng)用初始化時配置,在登錄成功后需重新配置Authorization。

比如使用攔截器對返回對象做統(tǒng)一處理:

axios.interceptors.response.use(response => {
 const { data } = response;
 if (data.status === -2) {
 Vue.prototype.$Message.error(`無效的登錄信息或登錄已失效,請重新登錄`);
 delCookie("jwt");
 router.push({ path: "/login" });
 }
 if (data.status === -1) {
 Vue.prototype.$Message.error(`發(fā)生錯誤[${data.message}]`);
 }
 return response;
});

總結(jié)

以上所述是小編給大家介紹的Vue+axios實(shí)現(xiàn)統(tǒng)一接口管理的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vue-cli配置flexible過程詳解

    vue-cli配置flexible過程詳解

    這篇文章主要介紹了vue-cli配置flexible過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 使用kbone解決Vue項(xiàng)目同時支持小程序問題

    使用kbone解決Vue項(xiàng)目同時支持小程序問題

    這篇文章主要介紹了使用kbone解決Vue項(xiàng)目同時支持小程序問題,本文通過一個todo的例子跟大家詳細(xì)介紹,需要的朋友可以參考下
    2019-11-11
  • Vue條件渲染與列表渲染

    Vue條件渲染與列表渲染

    這篇文章主要介紹了Vue條件渲染與列表渲染,條件渲染包括v-if、v-show等內(nèi)容,文章對條件渲染及列表渲染介紹詳細(xì),具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • vue中l(wèi)et that=this的作用及說明

    vue中l(wèi)et that=this的作用及說明

    這篇文章主要介紹了vue中l(wèi)et that=this的作用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Ant Design Upload 文件上傳功能的實(shí)現(xiàn)

    Ant Design Upload 文件上傳功能的實(shí)現(xiàn)

    這篇文章主要介紹了Ant Design Upload 文件上傳功能的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue項(xiàng)目中應(yīng)用ueditor自定義上傳按鈕功能

    vue項(xiàng)目中應(yīng)用ueditor自定義上傳按鈕功能

    這篇文章主要介紹了vue項(xiàng)目中應(yīng)用ueditor自定義上傳按鈕功能,文中以vue-cli生成的項(xiàng)目為例給大家介紹了vue項(xiàng)目中使用ueditor的方法,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-04-04
  • Vue子組件調(diào)用父組件方法案例詳解

    Vue子組件調(diào)用父組件方法案例詳解

    這篇文章主要介紹了Vue子組件調(diào)用父組件方法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 關(guān)于vue中路由的跳轉(zhuǎn)和參數(shù)傳遞,參數(shù)獲取

    關(guān)于vue中路由的跳轉(zhuǎn)和參數(shù)傳遞,參數(shù)獲取

    這篇文章主要介紹了關(guān)于vue中路由的跳轉(zhuǎn)和參數(shù)傳遞,參數(shù)獲取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 結(jié)合Vue控制字符和字節(jié)的顯示個數(shù)的示例

    結(jié)合Vue控制字符和字節(jié)的顯示個數(shù)的示例

    這篇文章主要介紹了結(jié)合Vue控制字符和字節(jié)的顯示個數(shù)的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 基于Vue實(shí)現(xiàn)卡片無限滾動動畫

    基于Vue實(shí)現(xiàn)卡片無限滾動動畫

    這篇文章主要為大家詳細(xì)介紹了如何利用Vue制作出卡片無限滾動動畫,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)有一定幫助,需要的可以參考一下
    2022-05-05

最新評論

木兰县| 抚顺市| 衡山县| 贡觉县| 家居| 海阳市| 朝阳区| 宾阳县| 莲花县| 岚皋县| 江都市| 紫金县| 涞源县| 诸城市| 北海市| 石河子市| 渑池县| 怀安县| 湖口县| 乐平市| 海门市| 宜都市| 新田县| 普宁市| 商南县| 长治市| 大港区| 铁岭市| 前郭尔| 绥德县| 固始县| 瑞安市| 樟树市| 南皮县| 六盘水市| 炉霍县| 卢氏县| 原平市| 钟山县| 鄂伦春自治旗| 崇义县|