当前位置: 首页 > news >正文

湖北省住房建设部官方网站小米手机商城

湖北省住房建设部官方网站,小米手机商城,百度客户端手机版,wordpress添加文章时可以上传视频🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 引言: &#x1f4…

 🎬 江城开朗的豌豆:个人主页

 🔥 个人专栏 :《 VUE 》 《 javaScript 》

 📝 个人网站 :《 江城开朗的豌豆🫛 》 

⛺️ 生活的理想,就是为了理想的生活 !

在这里插入图片描述

目录

📘 引言:

📟 安装依赖

📟 创建 Axios 实例并做请求封装

📟 使用封装的 Axios 实例

📘 写在最后


📘 引言:

Web 应用中,用户需要通过认证和授权才能访问受保护的资源。为了实现认证和授权功能,通常需要使用 Token 来标识用户身份并验证其权限。但是,Token 有时限制其有效期,以确保安全性。

Token 过期时,应用程序会返回一个 401(未授权)错误,提示用户重新登录或刷新页面。这可能会影响用户体验和流程,并可能导致应用程序的性能问题。

因此,为了提高应用程序的用户体验和可靠性,通常会使用无感刷新 Token 的技术来自动刷新过期的 Token。这样,即使 Token 过期,用户也可以继续使用应用程序而不会收到任何干扰。此外,无感刷新 Token 还可以提高应用程序的安全性和稳定性,因为它可以有效地防止 Token 被恶意利用或攻击。

需要注意的是,在实现无感刷新 Token 的过程中,需要注意保护用户数据的安全性,并遵守相关的安全标准和法律法规。同时,还需要根据应用程序的需求和后端接口的设计来调整具体的实现方式。

📟 安装依赖

现在我们开始写入vue2前端代码

首先,确保已经安装了 Axios 和相关的依赖

npm install axios

📟 创建 Axios 实例并做请求封装

src/utils/request.js 文件中创建一个 Axios 实例,并进行相关配置。

import axios from "axios";const service = axios.create({baseURL:process.env.NODE_ENV !== "production"? process.env.VUE_APP_BASE_API: process.env.VUE_APP_BASE_API_RUL,  timeout: 10000, // 超时时间
});// request 拦截器
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
service.interceptors.request.use((config) => {const token = window.localStorage.getItem("token");token && (config.headers.Authorization = token);config.headers["Content-Type"] = "application/json;charset=utf-8";config.headers["Authorization"] = "Bearer " + token; // 设置请求头  return config;},(error) => {return Promise.reject("网络异常,请稍后再试" + error);}
);// response 拦截器
// 可以在接口响应后统一处理结果
service.interceptors.response.use((response) => {if (response.data.code == 401) {let userInfo = {};userInfo.account =  process.env.VUE_APP_TOKEN.split(",")[0];userInfo.password =  process.env.VUE_APP_TOKEN.split(",")[1];// 这里需要调用登录接口,重新获取tokenreturn refreshToken(userInfo).then((newToken) => {// 更新本地存储的 Token       localStorage.setItem("token", newToken);// 重新发送原请求return service(response.config);});}let res = response.data;// 兼容服务端返回的字符串数据if (typeof res === "string") {res = res ? JSON.parse(res) : res;}return res;},(error) => {return Promise.reject("网络异常,请稍后再试" + error);}
);
function refreshToken(userInfo) {return new Promise((resolve, reject) => {// 调用登录接口重新获取 Tokenaxios  .post(`${process.env.VUE_APP_BASE_API}/pc_admin/login`, {    ...userInfo,}).then((response) => {resolve(response.data.data.token);}).catch((error) => {reject(error);});});
}export default service;

📟 使用封装的 Axios 实例

在需要发送请求的地方引入封装的 Axios 实例,并使用它来发送请求。

//sever.js
import request from "./http";
// 测试接口
export function getListApi(params) {return request({url: "/pc_admin/article", method: "get",params: params,});
}

📘 写在最后

        通过上述代码,在使用 Axios 发送请求时,会自动处理 Token 过期的情况,并进行无感刷新 Token。这样可以提高应用程序的用户体验和安全性。

请大家不吝赐教,在下方评论或者私信我,十分感谢🙏🙏🙏.

✅ 认为我某个部分的设计过于繁琐,有更加简单或者更高逼格的封装方式

✅ 认为我部分代码过于老旧,可以提供新的API或最新语法

✅ 对于文章中部分内容不理解

✅ 解答我文章中一些疑问

✅ 认为某些交互,功能需要优化,发现BUG

✅ 想要添加新功能,对于整体的设计,外观有更好的建议

最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!

http://www.yayakq.cn/news/490521/

相关文章:

  • 做家乡特产的网站泉州做网站设计
  • 网站流量是什么网站建设方案2000字
  • 做棋牌网站的步骤建筑公司网站建设方案
  • 开发app的网站邯郸企业建站
  • 网页图片下载gzip网站优化
  • 广州做服装电商拿货的网站WordPress文件管理有图片
  • 河北网站建设企业网站群 意义
  • 手机网站开发人员工具优秀网页制作模板
  • 太平桥网站建设国家关于网站信息建设管理文件
  • 网站开发 ie兼容中燃oa企业门户
  • 信云科技的vps怎么做网站沙坪坝网站开发
  • ftontpage如何做网站想学营销策划去哪里学
  • 网站项目实施方案官方网站建设合同
  • 网站关键词密度是怎么计算的北京做的好的seo公司
  • 网站建设如何做好整体色彩搭配青岛制作
  • 泉州市服务好的网站设计合肥搭建网站
  • 番禺网站优化平台网站建设高效解决之道
  • 网站建设和应用的情况凡科网做音乐网站
  • 湖南微信网站营销wordpress手机模板插件
  • 网站的地图要怎么做专做农产品的网站有哪些
  • 团队建设网站介绍如何登录网站制作平台
  • 阿里万网怎么做网站网站的图片怎么做
  • 怎么做网站dns加速建设购物平台网站
  • 广州市花都区网站建设公司做阿里巴巴网站要多少钱
  • 多语种外贸网站管理系统网站平台设计费用
  • 在哪注册网站o2o的含义
  • 网站能带来什么响应式网站设计的主页
  • 用什么软件做网站最简单 最方便大良网站建设收费
  • 拐角型网站郴州全网推广公
  • 无锡网站商城建设影响网站pr的因素有哪些