简单的axios拦截器
2020/6/17 11:26:07
本文主要是介绍简单的axios拦截器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
![](/upload/202006/17/202006171126075422.png)
比如:一些登录授权、账号绑定解绑页面、用户购买页面其实都是需要用户传递token 或者openid 或者 其他一些固定的参数需要做用户验证的
当用户当前账户长时间不登录 过期的时候可以强制要求用户重新登录授权。
// request拦截器 service.interceptors.request.use(config => { // 请求header中携带信息 //封装一个方法获取当前用户的token //具体怎么获取token 或者openid 等信息根据自己的业务决定 config.headers['Authorization'] = getUserInfo().token; return config }, error => { // Do something with request error //这里使用一个UI组件的toast组件给予用户提示。 toast({ type: "fail", message: "网络请求出错" }); if (typeof error == 'object') { onSensors("requestError", { error: error.toString() }); } return Promise.reject(error) }) 复制代码
// respone拦截器 处理普通的响应错误状态 并予以提示 service.interceptors.response.use(response => { if (response.status >= 200 && response.status < 300 && response.data && response.headers) { // success return { res: response.data, headers: response.headers } } else { toast({ type: "fail", message: "httpStatusCode:" + response.status }); } }, error => { if (error.response && error.response.status && error.response.status == 401) { removeCookies(); checkLogin(() => { //do something when cookie is exist }); return; } toast({ type: "fail", message: "网络响应错误" }); onSensors("responseError", { error: error.toString() }); return Promise.reject(error) }) 复制代码
//描述 捕获401 http response 拦截器, 并对返回的errcode 进行判断,如果是过期的话重新唤起授权 axios.interceptors.response.use( response => { const res = response.data if (res.errcode === xxx || res.errCode === xxxx) { window.location.href = `重新授权登录接口拼接回调` } else { return response } }, error => { if (error.response) { switch (error.response.status) { case 401: window.location.href = `重新授权登录接口拼接回调` } } return Promise.reject(error.response.data) // 返回接口返回的错误信息 }); 复制代码
这篇关于简单的axios拦截器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创
- 2023-11-10【iOS开发】iOS App的加固保护原理:使用ipaguard混淆加固
- 2023-09-30最强大的iOS应用源码保护工具:Ipa Guard,保护你的商业机密代码
- 2023-09-07iOS安全加固探讨:代码混淆、类名方法名混淆等方法
- 2023-09-05iOS代码加固与保护方法详解 - 提升iOS应用安全性的关键步骤