【vue】axios封装拦截

文章目录


1、安装axios

typescript 复制代码
npm install axios

2、新建文件

  • 项目 src 目录创建 util 文件夹
  • util 文件夹下创建文件 axios.config.js
  • 代码如下
typescript 复制代码
import axios from "axios";
// 请求拦截
axios.interceptors.request.use(function (config) {
    const token = localStorage.getItem("token")
    config.headers.Authorization = `Bearer ${token}`
    return config;
}, function (error) {
    return Promise.reject(error);
});
typescript 复制代码
// 响应拦截
axios.interceptors.response.use(function (response) {
    const { authorization } = response.headers
    authorization && localStorage.setItem("token", authorization)
    return response;
}, function (error) {
 	const { status, data } = error.response
    if (status === 401) {
        localStorage.removeItem("token")
        location.reload()
    } else {
        ElMessage.error(data.msg || "系统出错")
    }
    return Promise.reject(error);
});

3、引入文件

  • mian.js 中引入
typescript 复制代码
import "./util/axios.config"

4、使用

html 复制代码
<template>
  <div>帆帆帆帆帆帆帆帆帆帆帆帆帆帆</div>
</template>
typescript 复制代码
<script setup lang="ts">
import axios from 'axios';
axios.get("/api/user/home").then((res) => {
  console.log(res)
})
</script>
相关推荐
溪语流沙6 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css
逐光者9336 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
To_OC6 小时前
同样是让 AI 写全栈,为什么别人一句话就够了
前端·前端框架·next.js
CDwenhuohuo7 小时前
electron pc项目打包成桌面端
前端·javascript·electron
前端大斗师7 小时前
「大于 1000」把 1000 元那单也算进去了:我在 Vue3 订单页对了 10 句话
前端·人工智能·typescript·大模型·原力计划
Jmyd01237 小时前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
刘天远8 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
欣欣之王来了8 小时前
开发环境准备:Node.js、npm、VS Code安装配置
前端·学习·架构·项目·vue3教程
xiaolinudao1238 小时前
将多个 Excel 表格中的数据合并到单个表中|6 种实现方案全解析
java·前端·excel
计算机毕设定制辅导-无忧学长9 小时前
《校园食堂在线订餐小程序的设计与实现》
java·vue.js·spring boot·微信小程序·uniapp·校园食堂在线订餐小程序