利用vue-cli + ElementUI 隨手寫個(gè)東西
然后根據(jù)網(wǎng)上的說法,簡單封裝了下axios,設(shè)置了一個(gè)攔截器,一個(gè)request,一個(gè)response
如果我所以接口都是
limit = 50
我可以在request 里 設(shè)置
config.params['limit'] = 50;
但是我有些頁面不能都是50,這樣可能數(shù)據(jù)就太多了...
所以我想 設(shè)置部分的是20,一部分可能是10,大部分還是50,
然而我并不想每個(gè)頁面請求的時(shí)候都帶一個(gè) limit=10 這種寫法,
那么,請問各位大神,我該怎么寫?
下面是我封裝axios的代碼
import axios from 'axios';
import { Message } from 'element-ui';
import cookie from '../utils/cookie.js';
const service = axios.create({
baseURL: process.env.BASE_API,
timeout: 5000,
params:{}
});
service.interceptors.request.use(config => {
// console.log('請求前');
if (config.method === 'get') {
config.params['limit'] = 50;
}
if (cookie.getCookie('token') ) {
config.headers['x-auth-token'] = cookie.getCookie('token');
}
return config;
}, error => {
console.log(error);
Promise.reject(error);
})
// respone攔截器
service.interceptors.response.use(function (response) {
// console.log('請求后',this.$route.params);
// console.log(response.data);
const code = response.data.code;
const message = response.data.message;
if (code === 411000000) {
location.href = '/login'
}
if (code !== 0 && code !== 200 ) {
Message({
message: message,
type: 'error',
duration: 5 * 1000
});
}
return response;
},
error => {
console.log('err' + error);
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
}
);
export default service;
建議我這樣封裝
import Qs from 'qs';
export default{
url: '/route',
baseURL: 'http://0.0.0.0:8080',
method: 'POST',
transformRequest: [function(data) {
// 為了避免qs格式化時(shí)對內(nèi)層對象的格式化先把內(nèi)層的對象轉(zhuǎn)為
// data.CustData = JSON.stringify(data.CustData);
// 由于使用的form-data傳數(shù)據(jù)所以要格式化
data = Qs.stringify(data);
return data;
}],
transformResponse: [function(data) {
return data;
}],
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
params: {
limit: 10,
openid: '57c80528e4b07e300ed4ffbb',
pubacckey: '',
timestamp: '',
nonce: '',
pubaccid: ''
},
paramsSerializer: function(params) {
return Qs.stringify(params);
},
data: {},
timeout: 1000,
withCredentials: false, // default
responseType: 'json', // default
maxContentLength: 2000,
validateStatus: function(status) {
return status >= 200 && status < 300; // default
},
maxRedirects: 5 // default
};
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。