api.js配置

main.js

1
2
import api from  '@/plugins/api'
Vue.prototype.api = api

Home.vue

1
2
3
4
5
6
this.api.getDatas('/datas/get').then(res=>{
console.log(res)
})
this.api.postDatas('/datas/post').then(res=>{
console.log(res)
})

api.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
65
66
67
68
69
import axios from 'axios'

var baseURL
if (process.env.NODE_ENV == 'development') {
//开发环境
baseURL = '/api';
} else {
baseURL = '/'
}
axios.defaults.baseURL = baseURL

//axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
//axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
//超时时间 毫秒
axios.defaults.timeout = 5000
//拦截器 拦截请求前和请求后,then,catch处理之前,对数据进行处理
// axios.interceptors.request.use(
// res=>{
// console.log('request','success')
// },
// err=>{
// console.log('request','err')
// }
// )
// axios.interceptors.response.use(
// res=>{
// console.log('response','success')
// },
// err=>{
// console.log('response','err')
// }
// )

function get(url){
return new Promise((reslove,reject)=>{
axios.get(url).then(res=>{
if(res.status == 200){
reslove(res.data)
}else{
reject(res)
}
})
})
}
function post(url,params){
//console.log(url,params)
return new Promise((reslove,reject)=>{
axios.post(url,params).then(res=>{
if(res.status == 200){
reslove(res.data)
}else{
reject(res)
}
})
})
}

export default {
getDatas:url=>get(url),
postDatas:(url,params={})=>post(url,params),

demo(url,params={}){
return new Promise((reslove,reject)=>{
setTimeout(() => {
reslove('666')
}, 3000);
})
}
}