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

如何设网站主页软件开发公司专业的有哪些

如何设网站主页,软件开发公司专业的有哪些,网站方案设计,个人网站备案下载站在开发vue项目中#xff0c;请求是不可缺少的#xff0c;在发送请求时常常需要统一处理一些请求头参数等设置与响应事件#xff0c;这时利用请求拦截器再好不过。 这里以axios请求为例 实现了设置统一请求头添加token, 其中token在登录时被存入了localStorage中。 同时拦…在开发vue项目中请求是不可缺少的在发送请求时常常需要统一处理一些请求头参数等设置与响应事件这时利用请求拦截器再好不过。 这里以axios请求为例 实现了设置统一请求头添加token, 其中token在登录时被存入了localStorage中。 同时拦截器利用new cancelToken与定义的cancelPending方法实现了可以取消正在pending状态的请求什么情况会需要取消请求呢 如下两种情况 1. 有一个局部分页时用户快速点击第2页然后继续点击第3页如果网络不太稳定时第2页的请求正在发送中还未响应但第3页的请求先响应了过了一会第2 页请求才响应这时用户处于第3页但看到的数据确是第2页的当然有人会说可以在发送请求过程中禁用掉分页按钮点击但我感觉体验不太好为何禁用呢直接点击第3页时中断掉之前相同的请求即可。 2. 切换路由时上一路由页面中仍有未响应的请求时切换了路由应该把正在pending的所有请求中断取消掉。 下面是完整实现axios请求拦截器与取消pending请求功能的代码 let pending []; let cancelToken axios.CancelToken; let cancelPending (config) { pending.forEach((item, index) { if(!!config){ if(item.u config.url){ item.f(); //取消请求 pending.splice(index, 1); //移除当前请求记录 }; }else{ item.f(); //取消请求 pending.splice(index, 1); //移除当前请求记录 } }); };//验证登录状态 router.beforeEach((to, from, next) { //如果是需要验证登录状态的页面 if(to.matched.some(record record.meta.requireAuth)){ let token localStorage.getItem(token); //如果已经登录则正常进入 if(!!token){ cancelPending(); next(); }else{ next({name: login, query: {redirect: to.fullPath}}); }; }else if(to.name login){ //如果是登录页则验证如果当前是登录状态自动跳转至系统主页否则正常进入登录页 let token localStorage.getItem(token); //如果已经登录则重定向至系统首页 if(!!token){ router.push({name: SystemWelcome}); }else{ next(); }; }else{ //其他页面正常进入 next(); }; });//axios 请求拦截器 axios.interceptors.request.use(config { let token localStorage.getItem(token); if (!!token) { // 判断是否存在token如果存在的话则每个http header都加上token config.headers.Authorization token ${token}; }; cancelPending(config); config.cancelToken new cancelToken((c) { pending.push({u: config.url, f: c}); }); return config; }, err { return Promise.reject(err); }); //响应拦截器 axios.interceptors.response.use(response { cancelPending(response.config); return response; }, error { if (error.response) { switch (error.response.status) { case 401: // 返回 401 清除token信息并跳转到登录页面 localStorage.removeItem(token); router.push({name: login, query: {redirect: router.currentRoute.fullPath}}); } } return {data: {}}; // 返回接口返回的错误信息这里返回空对象是为了避免控制台报错 });
http://www.huolong8.cn/news/426488/

相关文章:

  • 个人网站可以做品牌推广wamp安装wordpress
  • 锦州网站建设公司建设银行信用卡积分兑换话费网站
  • 上海市城乡住房建设部网站wordpress页面导航收录
  • 做100个网站效果图网站建站代理
  • 解析网站怎么做公司名字大全霸气
  • 做网站需要购买服务器吗店铺网页设计尺寸
  • 网站开发技术规范wordpress虚拟主机vps
  • 无锡外贸网站制作有没有免费制作网站的
  • 小企业网站建设多少钱网站开发涉及服务
  • 网站换模板影响中国交通建设监理协网站
  • 公司开通网站百度seo优化网站怎么做
  • vs2010怎么做网站移动端网页
  • 佛山做礼物的网站医疗器械网站建设策划书
  • 如何用html做网站头像广东商城网站建设价格
  • 中国做二手房最大的网站数字化营销
  • html模板 网站单机多wordpress
  • 网站查询功能是用什么程序做的网站建设中页面模板下载
  • 智慧城市网站建设企业网站建设需要哪些设备
  • 西部数码网站管理助手 数据库广州室内设计培训学校
  • 昆明市城市建设档案馆网站广州海珠建网站的公司
  • 网站备案网站名称怎么填云南省建设学校网站
  • wordpress 站点地址 wordpress地址新冠死亡最新消息今天
  • 昆山网站建设第一品牌校园网站建设说明书
  • logo在线设计网站建设部注册师网站
  • 设计需求网站网站建设和网络推广方案
  • 宁波鄞州区商用高端网站设计pyton 网站开发
  • 庆阳做网站厦门定制网站建设
  • 哈尔滨 做网站公司网站建设课程 谷建
  • 与众不同的网站wordpress 文章跳转
  • 网站里添加百度地图上海缘魁网站建设