## myaxios.js ファイルの作成
import axios from "axios"
import {Toast} from "vant"
//開発モードと本番モードでBaseUrlアドレスを切り替える
if (process.env.NODE_ENV == 'development'){ //development
axios.defaults.baseURL = 'http://...:84'
} else if (process.env.NODE_ENV == 'debug') {
axios.defaults.baseURL = 'https://..om';
}else if (process.env.NODE_ENV == 'production') { //production
axios.defaults.baseURL = 'https://..om';
}
//タイムアウトを設定する
axios.defaults.timeout = 6000;
//リクエストの遮断
axios.interceptors.request.use(
config=> {
const token = localStorage.adminToken;
token && (config.headers.authorization = 'Bearer ' +token)
Toast.loading({
className:'toast-loading'
})
return config
}
)
//レスポンスのインターセプト
axios.interceptors.response.use(
response=>{
Toast.clear()
if(response.data.code !=200){
Toast(response.data.msg);
}
return response
}
)
//get
export function get(url,params){
return new Promise((resolve,reject)=>{
axios.get(url,{
params:params
}).then(response=>{
resolve(response.data)
}).catch(error=>{
reject(error)
})
})
}
//post
export function post(url,data = {}){
return new Promise((resolve,reject)=>{
axios.post(url,data).then(response=>{
resolve(response.data);
},err=>{
reject(err)
})
})
}
使う
1. import *as myaxios from "../../myaxios"
2.
myaxios.post("/api/app/collect",{
course_basis_id: this.course_id,
type:1
}).then(res=>{
cosnole.log(res)
})