-
Notifications
You must be signed in to change notification settings - Fork 0
/
axiosRequest.js
64 lines (55 loc) · 1.3 KB
/
axiosRequest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
let map = new Map()
map.set('get', get)
map.set('del', del)
map.set('post', post)
map.set('put', put)
// 设置请求的基础路径
axios.defaults.baseURL = 'https://www.sheli.net.cn:3009/'
// 请求拦截
axios.interceptors.request.use((request)=>{
let token = getToken()
// if(!token){
// alert('请先登录')
// location = 'login.html'
// }
request.headers['token'] = token
return request
})
// 相应拦截
axios.interceptors.response.use((response)=>{
return response
})
// 封装request请求函数
function request(options) {
let fn = map.get(options.type)
if (!fn) {
return new Promise((v) => {
v('没有你要找得函数')
})
}
return fn(options)
}
function get(options) {
return axios.get(options.url, {
params: options.data
})
}
function del(options) {
return axios.delete(options.url, {
params: options.data
})
}
function post(options) {
return axios.post(options.url, options.data)
}
function put(options) {
return axios.put(options.url, options.data)
}
function getToken(){
let str = sessionStorage.getItem('user_login')
if(!str){
return null
}
let obj = JSON.parse(str)
return obj.token
}