- 自己生成的包, 需要安装, 在项目目录下执行:
npm i axios vue-axios
- 集成:在src文件夹中创建一个新的文件夹api,在此文件夹中创建新文件ipConfig.js request.js user.js
- 在axios.js中添加代码
npm install axios --save
ipConfig.js
import axios from 'axios'
import {Message} from 'element-ui'
import {devIp} from '@/api/ipConfig'
import router from '../router'
// create an axios instance
const service = axios.create({
baseURL: devIp + '', // 测试IP
timeout: 100000, // request timeout
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
})
// request interceptor
service.interceptors.request.use(config => {
// Do something before request is sent
let token = localStorage.getItem('token')
if (token) {
config.headers['x-auth-token'] = token
}
return config
}, error => {
// Do something with request error
// console.log(error); // for debug
Promise.reject(error)
})
// respone interceptor
service.interceptors.response.use(
// response => response,
response => {
const res = response.data
if (res.code == 10000) {
return res
} else if (res.code == 100) {
if (res.msg == 'token无效') {
localStorage.removeItem('token')
router.push({path: '/login'})
} else {
Message({
message: res.msg,
type: 'error',
duration: 2 * 1000
})
}
} else {
Message({
message: res.msg,
type: 'error',
duration: 5 * 1000
})
return res
}
},
error => {
console.log('err' + error)// for debug
Message({
message: error.msg,
type: 'error',
duration: 3000
})
return Promise.reject(error)
})
export default service
ipConfig.js
// var url1 = ' http://47.104.213.134:8080'
var url1 = ''
// var url1 = 'http://app.dianl-l.com'
var url2 = ''
var ip = process.env.NODE_ENV === 'production' ? url1 + "/" : url2 + "/"
export const devIp = ip
export const devIp2 = process.env.NODE_ENV === 'production' ? url1 : url2
export const testIp = ip
user.js
import request from '@/api/request'
export function login(data) {
return request({
url: '/api/user/login',
method: 'post',
data,
})
}
// 查询所有已注册的设备
export function getAllDev(data) {
return request({
url: '/api/dev/getAllDev',
method: 'post',
data,
})
}
// 删除
export function delDev(data) {
return request({
url: '/api/dev/delDev',
method: 'post',
data,
})
}
// 添加
export function addDev(data) {
return request({
url: '/api/dev/addDev',
method: 'post',
data,
})
}
export function getInfo(params) {
return request({
url: '/api/user/info',
method: 'get',
params,
})
}
export function logout(data) {
return request({
url: '/api/user/logout',
method: 'post',
data,
})
}