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

一流的赣州网站建设公司网站建设流程

一流的赣州网站建设,公司网站建设流程,wordpress 模板怎么用,wordpress 后台样式修改[toc] 场景 本文前端用的是阿里的Ant-Design框架,其他框架也有全局拦截器,思路是相同,具体实现自行百度下吧 因为每次都需要调接口,都需要单独处理异常情况(code !0),因此前端需要对后端返回的…

[toc]

场景

本文前端用的是阿里的Ant-Design框架,其他框架也有全局拦截器,思路是相同,具体实现自行百度下吧

因为每次都需要调接口,都需要单独处理异常情况(code !=0),因此前端需要对后端返回的通用响应进行统一处理,比如

  • 业务异常提示

    从 response取出code,根据code中集中处理错误,比如提示用户未登录、参数为空等

  • 直接返回业务内容

​ 从 response取出data,进行返回,而不是每次返回全部json内容

1 定义全部异常处理类

新建新的ts类,比如globalRequest.ts

该类处理两个情况

  • 所有请求拦截器(request.interceptors.request

    在请求后端API前,统一做处理,比如 改变url参数,附带统一参数等

  • 所有响应拦截器(request.interceptors.response

    接收来自后端返回结果后,统一处理地方,比如异常处理提示

更详细的 api 文档: https://github.com/umijs/umi-request

/*** request 网络请求工具* 更详细的 api 文档: https://github.com/umijs/umi-request*/
import {extend} from 'umi-request'; // 需集成类
import {message} from "antd"; // 提示框
import {history} from "@@/core/history";
import {stringify} from "querystring";/*** 配置request请求时的默认参数*/
const request = extend({credentials: 'include', // 默认请求是否带上cookie// requestType: 'form',
});/*** 所有请求拦截器*  1. 在请求后端API前,统一做处理,比如 改变url参数,附带统一参数等*/
request.interceptors.request.use((url, options) => {// 打印每次请求的APIconsole.log(`do request url = ${url}`);return {url,options: {...options,// headers: {},},};
});/*** 所有响应拦截器*  1. 接收来自后端返回结果后,统一处理地方,比如异常处理提示*/
request.interceptors.response.use(async response => {const res = await response.clone().json();if (res.code === 0) {// 成功,则取出 data内容 直接返回return res.data;}if (res.code === 40100) {       // 未登录错误码message.error('请先登录');// 跳转登录地址history.replace({pathname: '/user/login',search: stringify({redirect: location.pathname,}),});} else {message.error(res.description)}return res.data;}
);export default request;

2 替换request引用

将原来的request引用,替换成自己的request,在api.ts类中修改

原来

import {request} from 'umi';

替换成

import request from '@/plugins/globalRequest';

image-20230924131519443

3 代码优化

优点:

  • 省去每个业务异常处理
  • 直接返回 data 内容

image-20230924133057291

总结

加了全局异常处理类后,实际上是通过requestresponse拦截器实现的,少处理很多冗余代码,代码更加简洁和优雅了!!!

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

相关文章:

  • 网站建设归哪个部门网站导航固定
  • 网站建设知识学习心得好看的界面设计
  • icp备案 网站服务内容软件开发包含哪些内容
  • 网站如何做担保交易wordpress 打不开页面
  • 个人网站模板源码佛山网站设计联系方式
  • 北京建网站需要多少钱网站开发的接口文档
  • 电子政务与网站建设方面网站图片素材下载
  • 网站建设销售该学的搜索关键词排名优化
  • 新余市建设局网站用手机域名做网站有多少
  • 为什要做网站做外贸月薪3万要多久
  • 学校网站建设学生文明上网网站建设推广咨询平台
  • 网站建设的内容有哪些凡科互动电脑版
  • 在线建站软件电脑购物网站模板
  • 站长查询工具工程造价信息网站
  • 做网站用哪个服务器好莱芜网站优化加徽信xiala5
  • 鞍山建设信息网站wordpress justmedia
  • 广元做开锁网站福州公司建站
  • 网站电子签名怎么做免费的网站管理系统
  • 品牌网站开发策划书ASP做旅游网站代码
  • 建设网站的源代码的所有权做直播网站收费吗
  • 食品网站建设实施方案罗湖做网站哪家专业
  • 教育视频网站开发怎么用ps制作个人网站模板下载
  • 南宁模板建站多少钱企业logo设计免费在线
  • wordpress采集织梦网站文章网站建设功能设计
  • 宁波建设网站报价视频网站如何做推广
  • 设置网站人数西安网页设计工资
  • pc 手机网站建设外贸稳中提质韧性强
  • 常州网站制作包括哪些营销型的物流网站模板
  • 宁波企业做网站医院网站建设的特点
  • 网站建设岗位要求菏泽网站建设电话咨询