原生写法
import axios from "axios";
// 登录路由拦截
router.beforeEach((to, from, next) => {
// 判断有没有登录
if (!localStorage.getItem("token")) {
axios.get("/api/user/wxlogin").then(data => {
console.log(data);
});
} else {
next();
}
});
二次封装axios.js
import axios from 'axios'
import qs from "qs";
import router from "@/router/index"; //引入路由对象
import {
Toast,
Dialog
} from "vant";
axios.defaults.baseURL = 'http://lj.tieqiao.shop';
// axios请求拦截
axios.interceptors.request.use(function (config) {
// 在发送请求之前配置token
config.headers['token'] = localStorage.getItem('token');
// Toast.loading({
// duration: 0, // 持续展示 toast
// forbidClick: true, // 禁用背景点击
// mask: false, // 是否显示遮罩层
// // loadingType: false, // 图标样式
// message: '加载中...',
// });
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
//请求结果中的status -1:登录过期 1:请求成功 0:请求失败
/**
* 封装get方法
* @param url
* @param data
* @returns {Promise}
*
*/
function get(url, data = {}) {
return new Promise((resolve, reject) => {
axios
.get(url, qs.stringify(data))
.then(res => {
// 接口请求成功,清除加载动画
Toast.clear();
console.log(8888888888888888888888888888888);
console.log(res);
console.log(res.data);
if (res.data.code == 1) {
resolve(res.data.data);
} else if (res.data.code == -1) {
Toast({
message: "登录过期,请重新登录!",
duration: 2000
});
localStorage.clear();
setTimeout(() => {
// demo.loginApp('登录');
router.replace("/login");
}, 1000);
return;
} else {
Toast({
message: res.data.msg,
duration: 2000
});
// reject(res);
}
})
.catch(err => {
Toast({
message: '接口调取失败,请检查网络是否连接',
duration: 2000
});
});
});
}
/**
* 封装post请求
* @param url
* @param data
* @returns {Promise}
*/
function post(url, data = {}) {
// let that = this;
return new Promise((resolve, reject) => {
axios
.post(url, qs.stringify(data))
.then(res => {
// 接口请求成功,清除加载动画
Toast.clear();
console.log(res.data);
if (res.data.code == 1) {
resolve(res.data.data);
} else if (res.data.code == -1) {
Toast({
message: "登录过期,请重新登录!",
duration: 2000
});
localStorage.clear();
setTimeout(() => {
// demo.loginApp('登录');
router.replace("/login");
}, 1000);
return;
} else {
Toast({
message: res.data.msg,
duration: 2000
});
// reject(res);
}
})
.catch(err => {
Toast({
message: '接口调取失败,请检查网络是否连接',
duration: 2000
});
});
});
}
var http = {
get,
post
};
export default http;