//store.js
import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'
import axios from 'axios'
//拦截器
axios.interceptors.request.use(function (config) {
//从vuex用户信息中获取token
const token = JSON.parse(localStorage.getItem('vuex'));
if (token) {
console.log('token', token.user.api_token);
//请求头添加token
config.headers.token = token.user.api_token;
}
// 在发送请求之前做些什么
//显示loading
document.getElementById('loading').style.display = 'block';
// config.baseURL = 'http://cp.';
// let baseUrl = process.env.NODE_ENV == 'development'?'':'http://cp'
return config;
}, function (error) {
// 对请求错误做些什么
//隐藏loading
document.getElementById('loading').style.display = 'none';
alert('网络异常,请重试!')
return Promise.reject(error);
});
axios.interceptors.response.use(function (response) {
// 对响应数据做点什么
//隐藏loading
document.getElementById('loading').style.display = 'none';
console.log('response:', response)
if (response.data.code != 0) {
alert(response.data.msg)
}
return response;
});
Vue.use(Vuex)
export default new Vuex.Store({
plugins: [createPersistedState()],//使用持久化的vuex
state:{},
...
vuex使用axios拦截器及持久化
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- (1) proxy 前端的端口在:localhost:3000后端的端口在:localhost:1234所以要在w...
- Vuex是为Vue设计的状态管理器,但在使用时,有一个比较头疼的问题,即Vuex不能直接做数据的持久化,因为它的数...
- 在weex里使用Vuex作为state管理工具,问题来了,如何使得state可以持久化呢?weex官方提供stor...
- 1、vue中axios不支持vue.use()方式声明使用。 所以有两种方法可以解决这点: 第一种: 在main....
- 最近在工作中遇到这样的需求,新用户在第一次登录的时候需要强制修改密码。刚开始接到这个需求的时候,心里想着在axio...