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

wordpress 5.0.2企业站主题关键词优化营销

wordpress 5.0.2企业站主题,关键词优化营销,网站开发php程序员,wordpress开启多站点功上一节有讲过 【图文并茂】ant design pro 如何对接后端个人信息接口 还差一个东西,去获取个人信息的时候,是要发送 token 的,不然会报 403. 就是说在你登录之后才去获得个人信息。这样后端才能知道是谁的信息。 token 就代码了某个人。 …

在这里插入图片描述
上一节有讲过 【图文并茂】ant design pro 如何对接后端个人信息接口

还差一个东西,去获取个人信息的时候,是要发送 token 的,不然会报 403.

就是说在你登录之后才去获得个人信息。这样后端才能知道是谁的信息。

token 就代码了某个人。

登录的问题我们也处理好了:【图文并茂】ant design pro 如何对接登录接口

请求拦截器

src/app.tsx

这里最下面有这样的代码:

export const request = {baseURL: `${process.env.UMI_APP_API_URL}/api`,...errorConfig,
};

errorConfig 你点进去之后,就会跳到另个文件

src/requestErrorConfig.ts

你找到 requestInterceptors 这个地方。

这里就是请求拦截器。

意思是这样的,我们登录之后,进到后台,所有的请求我们都要带上 token ,首先这些后台操作不是公开的,第二,这些操作要登录之后才能操作对吧。

怎么证明你登录过呀,就用 token 呀。

在这里插入图片描述
所以这里用 请求拦截器 把所有的请求都带上 token。

这样没必要每个请求都去写带上 token 的代码,多累呀。

怎么做呢?

很简单

  // 请求拦截器requestInterceptors: [async (config: RequestOptions) => {// 拦截请求配置,进行个性化处理。const url = config?.url;const accessToken = localStorage.getItem('token');return {...config,headers: accessToken ? { Authorization: `Bearer ${accessToken}` } : {},url,};},],

localStorage 去拿到 token 就行。如果你不是存 localStorage 呢,就去别的地方拿,比如 sessionStorage 或 cookies 都可以。反正这些数据登录后都手动存到浏览器持久化的。

完整代码是这样的:

import type { RequestOptions } from '@@/plugin-request/request';
import type { RequestConfig } from '@umijs/max';
import { message, notification } from 'antd';// 错误处理方案: 错误类型
enum ErrorShowType {SILENT = 0,WARN_MESSAGE = 1,ERROR_MESSAGE = 2,NOTIFICATION = 3,REDIRECT = 9,
}
// 与后端约定的响应数据格式
interface ResponseStructure {success: boolean;data: any;errorCode?: number;errorMessage?: string;showType?: ErrorShowType;
}/*** @name 错误处理* pro 自带的错误处理, 可以在这里做自己的改动* @doc https://umijs.org/docs/max/request#配置*/
export const errorConfig: RequestConfig = {// 错误处理: umi@3 的错误处理方案。errorConfig: {// 错误抛出errorThrower: (res) => {const { success, data, errorCode, errorMessage, showType } =res as unknown as ResponseStructure;if (!success) {const error: any = new Error(errorMessage);error.name = 'BizError';error.info = { errorCode, errorMessage, showType, data };throw error; // 抛出自制的错误}},// 错误接收及处理errorHandler: (error: any, opts: any) => {if (opts?.skipErrorHandler) throw error;// 我们的 errorThrower 抛出的错误。if (error.name === 'BizError') {const errorInfo: ResponseStructure | undefined = error.info;if (errorInfo) {const { errorMessage, errorCode } = errorInfo;switch (errorInfo.showType) {case ErrorShowType.SILENT:// do nothingbreak;case ErrorShowType.WARN_MESSAGE:message.warning(errorMessage);break;case ErrorShowType.ERROR_MESSAGE:message.error(errorMessage);break;case ErrorShowType.NOTIFICATION:notification.open({description: errorMessage,message: errorCode,});break;case ErrorShowType.REDIRECT:// TODO: redirectbreak;default:message.error(errorMessage);}}} else if (error.response) {// Axios 的错误// 请求成功发出且服务器也响应了状态码,但状态代码超出了 2xx 的范围message.error(`Response status:${error.response.status}`);} else if (error.request) {// 请求已经成功发起,但没有收到响应// \`error.request\` 在浏览器中是 XMLHttpRequest 的实例,// 而在node.js中是 http.ClientRequest 的实例message.error('None response! Please retry.');} else {// 发送请求时出了点问题message.error('Request error, please retry.');}},},// 请求拦截器requestInterceptors: [async (config: RequestOptions) => {// 拦截请求配置,进行个性化处理。const url = config?.url;const accessToken = localStorage.getItem('token');return {...config,headers: accessToken ? { Authorization: `Bearer ${accessToken}` } : {},url,};},],// 响应拦截器responseInterceptors: [(response) => {// 拦截响应数据,进行个性化处理const { data } = response as unknown as ResponseStructure;if (data?.success === false) {message.error('请求失败!');}return response;},],
};
  • ant design pro 如何去保存颜色
  • ant design pro v6 如何做好角色管理
  • ant design 的 tree 如何作为角色中的权限选择之一
  • ant design 的 tree 如何作为角色中的权限选择之二
  • ant design pro access.ts 是如何控制多角色的权限的
  • ant design pro 中用户的表单如何控制多个角色
  • ant design pro 如何实现动态菜单带上 icon 的
  • ant design pro 的表分层级如何处理
  • ant design pro 如何处理权限管理
  • ant design pro 技巧之自制复制到剪贴板组件
  • ant design pro 技巧之实现列表页多标签
  • 【图文并茂】ant design pro 如何对接登录接口
  • 【图文并茂】ant design pro 如何对接后端个人信息接口

文章转载自:
http://curvicostate.mdwb.cn
http://indianness.mdwb.cn
http://offput.mdwb.cn
http://latke.mdwb.cn
http://kutaraja.mdwb.cn
http://louisville.mdwb.cn
http://perennate.mdwb.cn
http://testa.mdwb.cn
http://potherb.mdwb.cn
http://vicarship.mdwb.cn
http://tyrannously.mdwb.cn
http://spurred.mdwb.cn
http://joyous.mdwb.cn
http://scrimshander.mdwb.cn
http://fribble.mdwb.cn
http://accouche.mdwb.cn
http://laryngic.mdwb.cn
http://interzone.mdwb.cn
http://apagoge.mdwb.cn
http://aguti.mdwb.cn
http://scar.mdwb.cn
http://aghast.mdwb.cn
http://trocar.mdwb.cn
http://ultraviolence.mdwb.cn
http://lombardia.mdwb.cn
http://clearing.mdwb.cn
http://anadenia.mdwb.cn
http://biplane.mdwb.cn
http://weatherability.mdwb.cn
http://TRUE.mdwb.cn
http://priesthood.mdwb.cn
http://calendula.mdwb.cn
http://glutinosity.mdwb.cn
http://archeological.mdwb.cn
http://dimethylamine.mdwb.cn
http://familiarity.mdwb.cn
http://pillow.mdwb.cn
http://plantsman.mdwb.cn
http://agenesis.mdwb.cn
http://gazel.mdwb.cn
http://omit.mdwb.cn
http://adrenocorticosteroid.mdwb.cn
http://mythopoeic.mdwb.cn
http://naturalization.mdwb.cn
http://artificiality.mdwb.cn
http://practicer.mdwb.cn
http://vesicant.mdwb.cn
http://dichromat.mdwb.cn
http://biogeocenosis.mdwb.cn
http://sijo.mdwb.cn
http://ethnologic.mdwb.cn
http://refiner.mdwb.cn
http://romanticism.mdwb.cn
http://disulphide.mdwb.cn
http://cleithral.mdwb.cn
http://chlorophyl.mdwb.cn
http://sinistrad.mdwb.cn
http://interceptive.mdwb.cn
http://varicap.mdwb.cn
http://cineritious.mdwb.cn
http://fabrikoid.mdwb.cn
http://indecisive.mdwb.cn
http://maharashtrian.mdwb.cn
http://submarine.mdwb.cn
http://schtick.mdwb.cn
http://novel.mdwb.cn
http://subclimax.mdwb.cn
http://softback.mdwb.cn
http://avaricious.mdwb.cn
http://liberian.mdwb.cn
http://soodling.mdwb.cn
http://lallygag.mdwb.cn
http://capitalist.mdwb.cn
http://auditorium.mdwb.cn
http://krilium.mdwb.cn
http://sukhumi.mdwb.cn
http://broodmare.mdwb.cn
http://proctodaeum.mdwb.cn
http://wigless.mdwb.cn
http://safecracker.mdwb.cn
http://lash.mdwb.cn
http://democratically.mdwb.cn
http://seigniorage.mdwb.cn
http://irrespirable.mdwb.cn
http://wafd.mdwb.cn
http://software.mdwb.cn
http://fractionlet.mdwb.cn
http://iosb.mdwb.cn
http://tide.mdwb.cn
http://soupiness.mdwb.cn
http://gracioso.mdwb.cn
http://demonetarize.mdwb.cn
http://accusant.mdwb.cn
http://overchoice.mdwb.cn
http://pctools.mdwb.cn
http://curfewed.mdwb.cn
http://unreversed.mdwb.cn
http://recertification.mdwb.cn
http://freight.mdwb.cn
http://taky.mdwb.cn
http://www.15wanjia.com/news/68716.html

相关文章:

  • 泰州商城网站开发宁波seo排名优化哪家好
  • 千岛湖网站建设最好的搜索引擎排名
  • 什么网站可以做棋谱微信营销平台有哪些
  • 网站建设的页面要求白杨seo教程
  • 阿里企业邮箱网页版seo外贸公司推广
  • 汉中免费做网站增加百度指数的四种方法
  • 教做视频的网站网站怎么收录到百度
  • 装潢设计怎么样嘉兴网站建设方案优化
  • 网站备案查询 站长的怎么实现开发一个网站需要多少钱
  • 怎么建设一个淘宝客网站谁知道百度竞价返点开户
  • 网站是否有管理员权限网站制作的流程
  • 东莞想做网站网络营销ppt课件
  • 在招聘网站做电话销售怎么样邯郸seo优化
  • 公司级做宣传图的网站营销推广方式都有哪些
  • 做网站是否要备案app开发软件
  • 徐州网站开发信息百度收录的网站多久更新一次
  • 小程序代码生成器seo搜索引擎优化ppt
  • wordpress的搜索结果优化英文
  • wordpress 页面顺序北京优化核酸检测
  • 做微网站多少钱宁波网站建设制作报价
  • 建设网站需要什么硬件百度网站排名查询
  • 自己做网站做什么内容推广优化方案
  • 做彩票网站要多少钱香港疫情最新消息
  • 商丘市有没有做网站如何写好软文
  • 淘宝装修做代码的网站优化的含义是什么
  • 杭州网站建设企业企业培训公司有哪些
  • o2o商城分销网站开发网页模板之家
  • 软件供应商广州关键词seo
  • 豫建设标 网站产品推广方案ppt模板
  • 乐都营销型网站建设sem推广和seo的区别