Vue实现数据请求拦截
作者:TiAmo_907 发布时间:2024-05-05 09:24:11
标签:vue,数据请求,拦截
本文实例为大家分享了vue数据请求拦截的具体代码,供大家参考,具体内容如下
在src文件夹下创建utils文件夹
同时在文件夹下创建request.js和auth.js文件
request.js为请求拦截、请求数据封装主入口
auth.js为设置token和删除token及判断用户是否登录封装主入口
auth.js (封装token)
export function isLogin() {
if (localStorage.getItem('token')) {
return true;
} else {
return false;
}
}
export function getToken() {
return localStorage.getItem('token');
}
export function setToken(token) {
localStorage.setItem('token', token);
}
export function removeToken() {
localStorage.removeItem('token');
}
下载axios(命令: npm install axios --save-dev)、同时引入axios、getToken
import axios from 'axios';
import { getToken } from './auth';
创建实例:传两个参数(timeout(超时时间)、baseUrl(服务器路径))
const instance = axios.create({
timeout: 5000,
baseURL: 'https://xxxxxxxxx/xxxx/',
});
请求拦截
// 请求拦截
instance.interceptors.request.use(
function(config) {
// eslint-disable-next-line prettier/prettier
config.headers.authorization = 'Bearer ' + getToken();
return config;
},
function(error) {
// Do something with request error
return Promise.reject(error);
}
);
instance.interceptors.response.use(
response => {
return response;
},
error => {
if (error.response.status == 401) {
window.location.href = '/#/login';
}
if (error.response.status == 404) {
window.location.href = '/404.html';
}
return Promise.reject(error.response.data);
}
);
请求封装
/**
* 获取数据 get请求
* @param {*} url
* @param {*} config
*/
export const get = (url, config) => instance.get(url, config);
/**
* post请求
* @param {*} url
* @param {*} data
* @param {*} config
*/
export const post = (url, data) => instance.post(url, data);
/**
* put
* @param {*} url
* @param {*} data
* @param {*} config
*/
export const put = (url, data, config) => instance.put(url, data, config);
/**
* delete
* @param {*} url
* @param {*} config
*/
export const remove = (url, config) => instance.delete(url, config);
来源:https://blog.csdn.net/TiAmo_907/article/details/102635463
0
投稿
猜你喜欢
- 分类类型名称长度默认值说明pointer指针 nil array数组 0 slice切片
- 1、ModuleNotFoundError: No module named ‘scipy.spatial.transf
- String转换为time存进数据库很久没试过将String类型转换并存进数据库中的date类型的字段,今天刚好遇到并解决了这个小问题,故写
- 资源React-16.8.*react-router-dom-4.3.*TypeScript-3.5.*webpack-4.*eslint-
- 也有些正则方法可以限制回归算法输出结果中系数的影响,其中最常用的两种正则方法是lasso回归和岭回归。lasso回归和岭回归算法跟常规线性回
- 知道python有这几个内置方法,但一直以来用的都不多,最近重新看了一下,重新记录一下。map()会根据提供的函数对指定序列进行映射,pyt
- Python list在介绍 Python tuple 时,我使用了类比的方法,将其比做一个袋子,您可以在袋子中存放不同的东西。Python
- 1 简介今天学长向大家介绍一个机器视觉项目基于机器视觉opencv的手势检测 手势识别 算法2 传统机器视觉的手势检测普通机器视觉手势检测的
- 本文讲述了关于HTML5的data-*自定义属性。分享给大家供大家参考,具体如下:一、关于html元素的特性1.html元素都存在一些标准的
- reader.html<html><head><meta http-equiv=&quo
- 作为设计师,我们都知道,一个极简的设计可以实现漂亮的效果。然而,很多设计师在实现上有些麻烦:要么是没有时间让使用如此少的元素制作的页面看起来
- Document自带的方法: 循环执行:var timeid = window.setInterval(“方法名或方法”,“延时”);win
- 写在前面在QQ群,微信群,论坛中经常帮助使用SQL Server数据库的朋友解决问题,但是有一些最常见最基本的问题,每天都有人问,回答多了也
- 一、查看可用字体import pygameprint(pygame.font.get_fonts())二、设置字体1.使用系统字体self.
- 百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。语音的处理技
- 目录一、前端控制1、在router.js文件(把静态路由和动态路由分别写在router.js)2、store/permission.js(在
- 一:需重定义神经网络继续训练的方法1.训练代码import numpy as npimport tensorflow as tfx_data
- 使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了。因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增加,
- 主要采用的技术点Python + Numpy + PIL在正文代码开始前,大家先看看最初原图和转换手绘风图片前后对比。当然了,我先查了手绘的
- 如下所示:#!/usr/bin/python# -*- coding:utf8 -*-import xlwtimport osworkboo