import axios from 'axios'
import {
Loading,
Message
} from 'element-ui'
var server = axios.create({
baseURL: 'http://192.168.0.165:18081/',
})
function MyMessage(option) {
Message.closeAll()
Message(option)
}
MyMessage.success = function (option) {
Message.closeAll()
Message.success(option)
}
MyMessage.warning = function (option) {
Message.closeAll()
Message.warning(option)
}
MyMessage.error = function (option) {
Message.closeAll()
Message.error(option)
}
MyMessage.info = function (option) {
Message.closeAll()
Message.info(option)
}
var load
server.interceptors.request.use(function (config) {
let token = localStorage.getItem('userToken')
config.headers['token'] = token
if (!config.headers['Content-Type']) {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
}
load = Loading.service({
lock: true,
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.1)'
})
return config
}, function (error) {
return Promise.reject(error)
})
server.interceptors.response.use(function (response) {
load && load.close()
if (response.data.code == 401) {
console.log('未登录')
return false
}
if (response.status === 200) {
response = response.data
}
return Promise.resolve(response)
}, function (error) {
load && load.close()
let errorMsg = '<span style="font-weight: bold; font-size: 13px; display: inline-block; padding-bottom: 5px;">Error</span><br/>'
MyMessage({
message: errorMsg,
dangerouslyUseHTMLString: true,
type: "error"
})
return Promise.reject(error)
})
export const post = function (url, data) {
return server({
method: 'post',
url,
data,
})
}
export const get = function (url, params) {
return server({
method: 'get',
url,
params
})
}
export const postApply = function (url, data) {
return server({
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
transformRequest: [function (data) {
data = JSON.stringify(data)
return data
}],
method: 'post',
url,
data,
})
}
export default server
import server, {
get,
post,
postApply
} from './server'
export function apiName(data) {
let url = url
return postApply(url, data)
}