const env = {
prod: { //线上地址
baseURL: 'https://www.liulongbin.top:8888'
},
dev: {//开发环境
baseURL: 'https://www.dev.top:8888/'
},
test: {
baseURL: 'https://www.test.top:8888/'
}
}
export default env;
//引入axios
import axios from 'axios'
//引入Elment UI 组件
import {Message} from 'element-ui'
//引入env.js
import baseURL from './env'
//封装axios请求
//创建axios实例
const server = axios.create({
//axios请求基地址
baseURL: `${baseURL.prod.baseURL}/api/private/v1`,
timeout: 2000,
});
//添加请求拦截
server.interceptors.request.use(function (config) {
console.log('请求拦截:', config)
if (config.url !== '/login') {
//获取token传递给请求头
const token = sessionStorage.getItem('token')
//配置请求头
if (token) {
config.headers['Authorization'] = token
}
}
return config;
}, function (error) {
//请求报错
return Promise.reject(error);
});
//请求响应拦截
server.interceptors.response.use(function (response) {
//成功返回
console.log('响应拦截:', response)
const res = response.data;
const resultOk = [200, 201, 204]
if (resultOk.includes(res.meta.status)) {
//轻提示
Message({
message: res.meta.msg,
type: 'success'
})
//成功返回
return res.data
}
return Promise.reject('返回数据有误,请检查');
}, function (error) {
//失败返回
return Promise.reject(error);
});
export default server;
import request from './request'
//封装登录接口
const login = data => {
return request({url: '/login', method: 'POST', data})
}
const menus = () => {
return request({url: '/menus', method: 'GET'})
}
export {login, menus}