不需要用vuex,只需要用到axios一样可以实现登录拦截,想后台请求数据
1.env.js配置文件import axios from 'axios'// 创建axios实例const service = axios.create({baseURL: 'http://110.110.1.110:11000', //的base_urltimeout: 20000,// 请求超时时间});export defaul
·
1.env.js配置文件
import axios from 'axios' // 创建axios实例 const service = axios.create({ baseURL: 'http://110.110.1.110:11000', //的base_url timeout: 20000, // 请求超时时间 });
export default service;
2。在main文件里面引入env.js
import env from './config/env'Vue.prototype.$http = env
3.在登录页面请求到token后绑定在sessionStorage里面
sessionStorage.setItem('encryptToken',token)//保存token
4.在index首页再次引入axios,然后在vue.js的生命周beforeCreate插入下面的代码
beforeCreate(){ console.log("创建前") // Add a request interceptor this.$http.interceptors.request.use(function (config) { let encryptToken=sessionStorage.getItem('encryptToken'); if (encryptToken) { config.headers['Authorization'] = encryptToken; // 让每个请求携带token--['Authorization
']为自定义key 请根据实际情况自行修改
} console.log("请求前执行") return config; }, function (error) { // Do something with request error return Promise.reject(error); });},
更多推荐
已为社区贡献12条内容
所有评论(0)