1、首先在小黑框下载 npm i axios --save下载依赖,然后创建src/http/service.js
2、在service.js文件中存放的时axios的配置以及拦截器等,最后导出一个axios象。
import axios from 'axios'
import { Toast } from 'vant'
import { baseUrl } from '@/config'
const service = axios.create({
baseURL: baseUrl,
// url = base api url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // request timeout
})
let loading
//请求拦截器
service.interceptors.request.use(config => {
loading = Toast.loading({ message: '加载中...', forbidClick: true, });
config.headers['Authorization'] = sessionStorage.getItem('token')
return config
}, error => { // do something with request error
console.log(error) // for debug
return Promise.reject(error)
})
//响应拦截器
service.interceptors.response.use(res => { //关闭loading
loading.clear()
return Promise.resolve(res)
}, error => {
loading.clear()
console.log('err' + error)
return Promise.reject(error)
})
// module.export= service;
export default service
3、这里我再创建一个api.js
,这里面放的是请求接口.传递的参数.请求方式,并且引入封装好的axios对象。
import service from './service'
import require from './require'
//定义请求方法,然后导出
//获取验证码
export function smsCode(arg) {
return service({ url: require.smsCode, data: arg, method: 'post' })
}
export function login() {
return service({ url: require.login, data: {}, method: 'post' })
}
4、这里我再创建一个request.js
,这里面放的是具体请求。
5、使用
使用前先导入然后获取数据