123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- export default function (app) {
- let axios = app.$axios;
- let options = {}
- // 基本配置
- axios.defaults.timeout = 10000
- axios.defaults.baseURL = `http://${process.env.HOST || '192.168.1.124'}:${process.env.PORT || 3000}/api`
- //axios.defaults.baseURL = 'https://gcb.china0001.com.cn/pubdata'
- axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
- axios.interceptors.request.use(function (config) {
- console.log('请求之前做什么')
- return config
- }, function (error) {
- // 请求错误时弹框提示,或做些其他事
- return Promise.reject(error)
- })
- axios.interceptors.response.use(function (response) {
- // 对响应数据做点什么,允许在数据返回客户端前,修改响应的数据
- // 如果只需要返回体中数据,则如下,如果需要全部,则 return response 即可
- console.log('数据返回客户端前')
- return response.data
- }, function (error) {
- // 对响应错误做点什么
- return Promise.reject(error)
- })
- // 封装数据返回失败提示函数---------------------------------------------------------------------------
- function errorState (response) {
- // 隐藏loading
- // 如果http状态码正常,则直接返回数据
- if (response && (response.status === 200 || response.status === 304 || response.status === 400)) {
- // 如果不需要除了data之外的数据,可以直接 return response.data
- return response
- } else {
- alert('数据获取错误')
- }
- }
- // 封装数据返回成功提示函数---------------------------------------------------------------------------
- function successState (res) {
- // 隐藏loading
- // 统一判断后端返回的错误码(错误码与后台协商而定)
- if (res.data.code === '000000') {
- alert('success')
- return res
- }
- }
- // 封装axios--------------------------------------------------------------------------------------
- // 请求回调
- axios.onRequest(config => {
- console.log('请求回调')
- //console.log(config)
- })
- // 返回回调
- axios.onResponse(res => {
- console.log('返回回调')
- //console.log(res)
- })
- // 错误回调
- axios.onError(error => {
- console.log('错误回调')
- //console.log(error)
- })
- }
|