config>dev.env.js~prod.env.js
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
BASE_API: '"https://xxx.xxx.com"'
})
src>utils>request.js
import axios from 'axios'
import { Message, MessageBox } from 'element-ui'
// import store from '../store'
// import { getToken } from '@/utils/auth'
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 15000000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(config => {
return config
// console.log('config',config)
// if (store.getters.token) {
// config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
// }
//return config;//need update
// if(config.url.indexOf('/GetUserFun')>-1 ||config.url.indexOf('/Home/SendMessage')>-1 )>-1 ){
// return config
// }
// else{
// let apis = store.getters.ApiList;
// if(apis.some(item=> config.url.indexOf(item.url)>-1)){
// return config
// }
// else{
// console.log(config.url)
// Message({
// message: '无法登录',
// type: 'error',
// duration: 3 * 1000
// })
// }
// }
}, error => {
// Do something with request error
// console.log(error) // for debug
Promise.reject(error)
})
// respone拦截器
service.interceptors.response.use(
response => {
/**
* code为非200是抛错 可结合自己业务进行修改
*/
const res = response
if (res.data.Success == false) {
// 401:未登录;
if (res.status === 401 || res.data.ErrorCode==409) {
let msg = '你已被登出'
if(res.data.ErrorCode==409){
msg = res.data.Msg
}
MessageBox.confirm( msg + ',可以取消继续留在该页面,或者重新登录', '确定登出', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
store.dispatch('FedLogOut').then(() => {
location.reload()// 为了重新实例化vue-router对象 避免bug
})
})
}else{
Message({
message: res.data.Msg,
type: 'error',
duration: 3000
})
}
return Promise.reject('error')
}
else {
if(response.data.code==500||response.status ==500){
Message({
message: response.data.Msg?response.data.Msg:'服务出现错误',
type: 'error',
duration: 3000
})
}else{
return response.data
}
}
},
error => {
if(error.response){
if(error.response.data.error=='invalid_grant'){
return error.response.data
}
}
}
)
export default service
src>api>index.js
import request from '@/utils/request'
export function Getxxx(data) {
return request({
url:'/xx/xx/xxx',
method:'post',
data:data
})
}
页面请求
methods: {
init() {
Getxxx({}).then((res) => {})
}
}