学习内容:
提示:这里可以添加要学的内容
封装axios
学习方法:
提示:这里统计学习计划的总量
例如:
1.限制一次学习的量,并且不断地实践——实际编写代码。
2.用正确的心态去做练习,当成玩耍或者游戏。
3.写代码的时间魔法,先告诉自己只写10分钟,然而就会陷进去乃至一下午。
4.思考得更慢,学得更快。就像你在去理解别人的代码的时候一样,不要漏掉任何一行!
5.首先用简明的语言来写复杂的代码。这是一种锻炼!
6.定期定目标,每天都看看,想想,保持敏感、紧迫感、期待感。
7.记笔记
下面展示封装axios 代码片
.
1、axios 的封装
import axios from 'axios'
import { getToken } from './auth'
import { Toast } from 'vant'
const baseUrl = '/api' // 基础路径
// 创建axios实例
const http = axios.create({
baseURL: baseUrl, // api的base_url
timeout: 15000 // 请求超时时间
})
// http request 拦截器
http.interceptors.request.use(config => {
config.headers = {
'content-type': 'application/json',
// 'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
'refreshToken': getToken()
}
return config
},
error => {
return Promise.reject(error)
}
)
// http response 拦截器
import axios from 'axios'
import { getToken } from './auth'
import { Toast } from 'vant'
const baseUrl = '/api' // 基础路径
// 创建axios实例
const http = axios.create({
baseURL: baseUrl, // api的base_url
timeout: 15000 // 请求超时时间
})
http.interceptors.response.use(response => {
if (response.data.result === 0) {
Toast({
message: response.data.message,
type: 'warning',
duration: 1000
})
return
}
if (response.data.result === 2) {
localStorage.removeItem('token')
Toast({
message: response.data.message,
type: 'warning',
duration: 1000
})
// console.log(reUrl)
location.href = 'https://weixing.coboriel.com/sos/admin'
// alert(location.href)
}
return response.data
},
error => {
alert('err')
return Promise.reject(error)
}
)
export default http