| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /**
- * 封装axios
- */
- import axios from "axios"
- import router from "../router"
- import store from "../store/index";
- import api from "../api/index";
- import jwt_decode from "jwt-decode"
- const toLogin = () => {
- router.push("/login")
- }
- const errorHandle = (status, other) => {
- switch (status) {
- case 400:
- console.log("请求信息发生错误");
- break;
- case 401:
- console.log("用户信息验证失败:token验证失败");
- // localStorage.removeItem("token")
- // toLogin();
- break;
- case 403:
- console.log("请求被限制");
- // localStorage.removeItem("token")
- // toLogin();
- break;
- case 404:
- console.log("客户端错误");
- break;
- default:
- console.log(other);
- break;
- }
- }
- const instance = axios.create({
- timeout: 8000
- })
- /**
- * 请求和响应拦截
- */
- instance.interceptors.request.use(
- config => {
- const token = localStorage.getItem("x-token")
- // console.log(token, "token")
- config.data = JSON.stringify(config.data);
- config.headers = {
- 'Content-Type': 'application/json',
- 'X-Token': token,
- }
- return config;
- },
- error => {
- return Promise.reject(error)
- }
- )
- instance.interceptors.response.use(
- response => {
- if (response.data.code === 0 && response.headers["x-token"]) {
- localStorage.setItem("x-token", response.headers["x-token"])
- // 更新游戏的token
- // api.info().then(res => {
- // console.log(res, "res===================")
- // store.dispatch("userInfoAction", res.data.data)
- // localStorage.setItem("userInfo", JSON.stringify(res.data.data));
- // })
- const token = jwt_decode(response.headers["x-token"])
- store.dispatch("tokenAction", token.jti)
- localStorage.setItem("token", token.jti);
- // console.log(token.jti, "token.jti", store.state.token, "store", localStorage.getItem("token"), "========")
- }
- return response.status === 200 ? Promise.resolve(response) : Promise.reject(response)
- },
- error => {
- const {
- response
- } = error;
- if (response) {
- // 处理错误信息
- errorHandle(response.status, response.data);
- return Promise.reject(response);
- } else {
- // 断网操作,请求发生错误
- console.log("断网操作,请求发生错误");
- }
- }
- )
- export default instance;
|