如何下载免费的ppt模板,seo需要掌握什么技能,江苏网站建设找拉米拉,广告专业的前景和就业方向#x1f3ac; 江城开朗的豌豆#xff1a;个人主页 #x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 #x1f4dd; 个人网站 :《 江城开朗的豌豆#x1fadb; 》
⛺️ 生活的理想#xff0c;就是为了理想的生活 ! 目录
#x1f4d8; 引言#xff1a;
#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;charsetutf-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 ✅ 想要添加新功能,对于整体的设计,外观有更好的建议 最后感谢各位的耐心观看既然都到这了点个 赞再走吧