使用请求拦截器统一添加 Token
项目中的接口除了登录之外大多数都需要提供 token 才有访问权限
方式一:在每次请求的时候手动添加(麻烦)。
axios({
method: "",
url: "",
headers: {
Authorization: "Bearer token"
}
})
方式二:使用请求拦截器统一添加(更方便)。
在axios中设置统一的token
/**
* 请求模块
*/
import axios from 'axios'
// 在非组件模块中获取 store 必须通过这种方式
// 这里单独加载 store,和在组件中 this.$store 一个东西
import store from '@/store/'
const request = axios.create({
baseURL: 'http://ttapi.research.itcast.cn/' // 基础路径
})
// 请求拦截器
// Add a request interceptor
request.interceptors.request.use(function (config) {
// Do something before request is sent
const { user } = store.state
// 如果用户已登录,统一给接口设置 token 信息
if (user) {
config.headers.Authorization = `Bearer ${user.token}`
}
// 处理完之后一定要把 config 返回,否则请求就会停在这里
return config
}, function (error) {
// Do something with request error
return Promise.reject(error)
})
// 响应拦截器
// 导出
export default request
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了