封装 vue axios 方法。通过引入 api/模块.js 调用方法与后台对接口,实现页面的渲染

import axios from 'axios'

import store from '@/store/index'

import Vue from 'vue'

import { Toast } from 'vant';

Vue.use(Toast);

const service = axios.create({

baseURL: '', // api 的 base_url process.env.BASE_API

timeout: 13000 // request timeout

})

//请求的拦截

service.interceptors.request.use(

config => {

if (store.state.token) {

config.headers['token'] = store.state.token

} else {

config.headers['token'] = ''

}

return config

},

)

 

service.interceptors.response.use(

response => {

let path=window.location.href.split('#')[1];

localStorage.setItem('path',path);

if(response.data.wx_login){

//重新token存储信息

localStorage.setItem('token', response.data.wx_login.token)

store.commit('setToken', response.data.wx_login.token);

//存储userInfo信息

localStorage.setItem('userInfo',JSON.stringify( response.data.wx_login.data));

if(response.data.errcode != '1000'){

Toast(response.data.errmsg);

}

return response.data

}

else if (response.data.errcode == '1000') {

//重新赋值token

if (response.data.data) {

localStorage.setItem('token', response.data.data.token)

store.commit('setToken', response.data.data.token);

} else {

localStorage.setItem('token', '');

store.commit('setToken', '');

}

return response.data

} else if (response.data.errcode == '-1005') { //重新登录

localStorage.setItem('token', '');

localStorage.setItem('userInfo', '');

// store.commit('setToken', '');

location.href = '#/sign'

return response.data

} else {

Toast(response.data.errmsg)

return response.data

}

}

)

export default service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值