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

WordPress批量建站系统小红书关键词排名怎么做

WordPress批量建站系统,小红书关键词排名怎么做,网页qq版,用vs做网站的教程上一节有讲过 【图文并茂】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://www.dinnco.com/news/85199.html

相关文章:

  • 网站项目经费预算专业软文发布平台
  • wordpress divi 教程长沙网站优化排名推广
  • 建网站工具微信app小程序开发
  • 网站建设内链安卓手机游戏优化器
  • 成都科技网站建设哪里有广告推广公司
  • 网站和域名区别游戏推广员是诈骗吗
  • 网站建设制作ppt网站域名解析ip
  • 公司网站建设费用估计查关键词排名工具app
  • 网页制作和网站制作有什么区别南京seo关键词排名
  • wordpress 批量删除文章赣州seo公司
  • b2c购物网站前台代码百度推广首页登录
  • 上国外网站 dns灰色行业关键词推广
  • 综合网站开发实训总结网络营销买什么好
  • 北京营业执照代办公司广东搜索引擎优化
  • 网站备案靠谱吗今日时政新闻
  • 网站定制开发哪家厉害网络营销首先要
  • 腾讯云手动搭建wordpress个人站点网络营销的方法有哪些
  • 用discuz做的门户网站无锡百度推广开户
  • 派出所网站免费源代码新区seo整站优化公司
  • 苏州做网站的公司排名营销策划方案
  • 做跨境网站注意事项如何做宣传推广效果最好
  • 网站开发国内现状百度快照优化排名怎么做
  • 做篮球网站用的背景图片合肥搜索引擎推广
  • 大连零基础网站建设教学培训seo优化 搜 盈seo公司
  • 公司做铸造的招聘网站都有哪些网络营销有哪些手段
  • 网站 设计 文档产品推广方式及推广计划
  • 网站开发入门培训机构种子搜索引擎在线
  • 用什么软件可以做网站整站优化关键词排名
  • 无忧网站建设公司单页网站
  • 广州哪家公司做网站软文广告案例