設置baseURL
let _baseUrl = "https://api.zhiyedang.cn"; const http = axios.create({ baseURL: _baseUrl }) export const baseURL = _baseUrl
給所有請求添加token
http.interceptors.request.use( function(config) { // 在請求之前干一些事 , 比如 : 統一的設置token if ($cookies.isKey('isLogin')) { //比如登陸不需要token,所以只有 有token時才帶 config.headers.Authorization = JSON.parse(window.localStorage.getItem("Login")).token } return config }, function(error) { // 在請求失敗的時候干一些事 return Promise.reject(error) } )
路由攔截器
http.interceptors.response.use(function(response) { // 響應成功后執行 //如果返回的是無效的token,就把他打回登陸 if (response.data.message == '您未登錄或者登錄狀態已過期') { //銷毀token localStorage.removeItem('Login') window.$cookies.remove('isLogin') //警告提示 // new Vue().$message.error('無效的token') //打回登陸 router.push('/login') } return response; }, function(error) { // 響應出錯 執行 return Promise.reject(error); });