axios的超级简单封装使用
/* eslint-disable no-param-reassign */
import axios from 'axios';
import { Message } from 'element-ui';
import qs from 'qs';
const baseURL = process.env.NODE_ENV === 'development' ? '/api' : '';
const http = axios.create({
baseURL,
timeout: 5000,
transformRequest: [
function(data) {
return qs.stringify(data);
}
]
});
// http request 拦截器
http.interceptors.request.use(
(config) => {
config.headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
};
return config;
},
(err) => {
return Promise.reject(err);
}
);
// http response 拦截器
http.interceptors.response.use(
(response) => {
if (response.status < 400) {
if (response.data.status === 0) {
return Promise.resolve(response.data.data);
}
return Promise.reject(response.data.message);
}
Message.error('网络故障');
return Promise.reject();
},
(error) => {
return Promise.reject(error.response.status);
}
);
export default http;
export { baseURL };
上面的代码是一整个文件的内容直接复制即可使用!
下面的内容便是如何使用代码分为两个文件代码内容
第一部分,再次建立一个单独的文件来写代码
import http from './http';
// 获取终端列表
export function getDeviceListAPI(
pageNum,
pageSize,
name,
ip,
groupId,
onlineStatus
) {
return http.post('/deviceManager/getDeviceList', {
name,
ip,
groupId,
onlineStatus,
pageSize,
pageNum
});
}
// 修改编辑设备
export function updateDeviceAPI(deviceId, name, groupId) {
console.log(deviceId);
return http.post('/deviceManager/updateDevice', {
deviceId,
name,
groupId
});
}
// 删除设备
export function deleteDeviceAPI(deviceIds) {
console.log(deviceIds);
return http.post('/deviceManager/deleteDevice', { deviceIds });
}
```javascript
```javascript
在这里插入代码片
函数内容后面的括号中的单词就是前端需要给后台的参数代词(代替名称而已随便写但是要根据后台来写)
```javascript
import {
getDeviceListAPI,
// eslint-disable-next-line import/named
deleteDeviceAPI,
updateDeviceAPI
} from '../../api/deviceManager';
需要在vue文件中引入上面代码的文件并注册函数名称千万别写错了
deleteend() {
const vm = this;
vm.delects = false;
const deviceIds = vm.delectId;
vm.checkBoxDataIds = vm.delectId;
deleteDeviceAPI(deviceIds)
.then((data) => {
console.log(data);
vm.getList();
// this.tableData = data.list;
})
.catch((err) => {
if (typeof err === 'string') {
this.$message.error(err);
}
});
},
deleteDeviceAPI是我们注册的函数名称,它后面括号中的内容就是要给后台的参数,而then后面的就是后台返回给我们的内容!。then是成功后返回的,.catch则是失败返回的。
大家直观实用自己的东西和重要的,我多余的代码就不用看了。
乱花渐欲迷人眼啊!!!!
希望大家做好人生规划,不要只知道职业规划。职业也只是我们人生中的沧海一粟!