国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何實現Vue和axios的接口管理統一

來源:懂視網 責編:小采 時間:2020-11-27 19:33:14
文檔

如何實現Vue和axios的接口管理統一

如何實現Vue和axios的接口管理統一:通過axios請求接口是很簡單的,若是把axios請求再封裝一下的話,這樣api就可以只在一處配置成方法,在使用的時候就可以直接調用這個方法。那么就不需要太麻煩了。但咱們不用每個接口都定義成一個啰嗦的axios請求方法,既然是想簡單點,就盡量只在一處完成簡單
推薦度:
導讀如何實現Vue和axios的接口管理統一:通過axios請求接口是很簡單的,若是把axios請求再封裝一下的話,這樣api就可以只在一處配置成方法,在使用的時候就可以直接調用這個方法。那么就不需要太麻煩了。但咱們不用每個接口都定義成一個啰嗦的axios請求方法,既然是想簡單點,就盡量只在一處完成簡單
通過axios請求接口是很簡單的,若是把axios請求再封裝一下的話,這樣api就可以只在一處配置成方法,在使用的時候就可以直接調用這個方法。那么就不需要太麻煩了。

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

1、配置api接口

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

比如:

name字段將作為之后被調用的方法名,但這個只是一個單純的對象,現在我們定義方法將它轉為方法。

2、將接口配置的數組對象轉化為方法

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配置文件轉化為包含方法的一個對象。

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中調用某個api,首先import剛才導出的對象

import GlobalService from "@/services/global";

在action中調用某個接口:

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

這樣就完事了。之后只需要配置-調用這么兩步就可以完成接口調用,而且接口的語義化也更明確了。

5、axios的其他配置

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

比如每次請求頭中都自動帶上鑒權:

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

比如使用攔截器對返回對象做統一處理:

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(`發生錯誤[${data.message}]`);
 } return response;
});

相關推薦:

vue axios請求超時如何處理

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

如何實現Vue和axios的接口管理統一

如何實現Vue和axios的接口管理統一:通過axios請求接口是很簡單的,若是把axios請求再封裝一下的話,這樣api就可以只在一處配置成方法,在使用的時候就可以直接調用這個方法。那么就不需要太麻煩了。但咱們不用每個接口都定義成一個啰嗦的axios請求方法,既然是想簡單點,就盡量只在一處完成簡單
推薦度:
標簽: VUE 管理 接口
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 久久国产精品成人免费古装 | 日韩一区二区免费视频 | 欧美亚洲国产一区 | 亚洲精品毛片久久久久久久 | 自拍 欧美 在线 综合 另类 | 亚州色图欧美色图 | 国产成人欧美一区二区三区的 | 国内精品久久久久久久97牛牛 | 91综合网 | 91午夜精品亚洲一区二区三区 | 天美传媒精品一区 | 欧美色视频在线 | 国产不卡一区二区三区免费视 | 高h肉肉视频在线播放观看 福利视频一区二区三区 | 永久免费观看的毛片的网站下载 | 亚洲欧美日韩高清一区二区一 | 午夜精品一区二区三区在线视 | 丝袜制服中文字幕 | 国产一级片在线 | 欧美日韩国产在线播放 | 亚洲精品日韩中文字幕久久久 | 国产精品第4页 | 欧美日韩国产在线播放 | 国产成人精品久久一区二区小说 | 日本vs欧美一区二区三区 | 日韩在线亚洲 | 欧美日韩一二区 | 九草伊人| 国产一区二区三区免费 | 在线中文字幕第一页 | 精品日韩视频 | 国产综合精品久久久久成人影 | 伊人久久精品一区二区三区 | 欧美第五页 | 在线欧美色图 | 国产91在线 | 日本 | 欧美操| 欧美孕妇乱大交xxxxx | 欧美高清在线不卡免费观看 | 欧美人与禽x0x0牲伦交 | 欧美福利一区 |