欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue封裝后臺(tái)接口

在開發(fā)后臺(tái)管理系統(tǒng)時(shí),我們一般都會(huì)涉及到與后臺(tái)接口的交互。而使用Vue封裝后臺(tái)接口可以方便我們?cè)谇岸酥姓{(diào)用后臺(tái)接口,簡(jiǎn)化代碼邏輯。

封裝后臺(tái)接口可以通過創(chuàng)建一個(gè)文件夾來存放相關(guān)的代碼,便于管理和維護(hù)。常見的封裝方式是使用axios庫(kù)創(chuàng)建一個(gè)請(qǐng)求對(duì)象,然后將請(qǐng)求對(duì)象封裝在一個(gè)js文件中,供其他組件使用。

import axios from 'axios';
let service = axios.create({
baseURL: '/api', // 接口地址
timeout: 5000 //超時(shí)時(shí)間
});
// 請(qǐng)求攔截器,用于在請(qǐng)求發(fā)送之前對(duì)請(qǐng)求進(jìn)行處理
service.interceptors.request.use(
config =>{
// 給請(qǐng)求頭添加Token等信息
if(localStorage.getItem('Token')) {
config.headers['Token'] = localStorage.getItem('Token');
}
return config;
},
error =>{
console.log(error);
return Promise.reject(error);
}
);
// 響應(yīng)攔截器,用于在接收后臺(tái)返回的消息時(shí)進(jìn)行處理
service.interceptors.response.use(
response =>{
const res = response.data;
// 在此處判斷狀態(tài)碼或者其他返回?cái)?shù)據(jù)信息
if (res.code !== 200 ){
return Promise.reject(new Error(res.message || 'Error'));
} else {
return res;
}
},
error =>{
console.log('An error occurred, please try again later!');
return Promise.reject(error);
}
);
export default service;

代碼中,我們首先引用了axios庫(kù),并創(chuàng)建了一個(gè)請(qǐng)求對(duì)象 service。在請(qǐng)求攔截器中,我們可以對(duì)請(qǐng)求進(jìn)行處理,例如在請(qǐng)求頭中添加Token等信息。而在響應(yīng)攔截器中,我們可以對(duì)后臺(tái)返回的數(shù)據(jù)進(jìn)行處理,例如判斷接口狀態(tài)碼是否成功等。

接下來我們可以在組件中引用我們剛才封裝的接口:

import request from '@/utils/request';
export function getUsers() {
return request({
url: '/users',
method: 'get'
});
}

在組件中引入剛才封裝好的請(qǐng)求對(duì)象,然后用函數(shù) getUees() 進(jìn)行調(diào)用。在調(diào)用時(shí),我們可以傳遞相關(guān)參數(shù)到請(qǐng)求對(duì)象中, 例如 RESTful API中的id,也可以指定method('get', 'post'等)。

Vue的封裝后臺(tái)接口可以節(jié)省編寫代碼的時(shí)間,當(dāng)后臺(tái)接口需要更改時(shí),我們只需要修改封裝的接口即可,不需要一個(gè)個(gè)組件進(jìn)行修改,大大提高了效率。