fix(reqeust,func): zhst/request 修改重新登录问题,zhst/func 添加指定路由跳转方法

This commit is contained in:
NICE CODE BY DEV 2024-05-17 11:49:47 +08:00
parent 3b9d13d9b9
commit b2dbace653
17 changed files with 127 additions and 46 deletions

View File

@ -1,5 +1,14 @@
# @zhst/biz
## 0.22.2
### Patch Changes
- Updated dependencies
- @zhst/func@0.16.0
- @zhst/hooks@0.13.1
- @zhst/meta@0.21.2
## 0.22.1
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/biz",
"version": "0.22.1",
"version": "0.22.2",
"description": "业务库",
"keywords": [
"business",

View File

@ -1,5 +1,16 @@
# @zhst/utils
## 0.16.0
### Minor Changes
- zhst/request 修改重新登录问题,zhst/func 添加指定路由跳转方法
### Patch Changes
- Updated dependencies
- @zhst/request@0.16.0
## 0.15.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/func",
"version": "0.15.0",
"version": "0.16.0",
"description": "函数合集",
"keywords": [
"hooks"

View File

@ -90,3 +90,19 @@ export const pxToRem = (value: string, rootFontSize?: number) => {
return valueArr.filter(o => o).map(val => ((parseFloat(val) / fontSize) + 'rem')).join(' ')
}
/**
* URL
* @param to url
* @returns URL
*/
export const jumpTo = (to: string) => {
const from = (location.origin + location.pathname)
// 检查是否为url并且跑出错误
if (!isUrl(to)) {
throw Error(`请输入正确的链接以http(s)://开头!'`)
}
let _targetUrl = new URL(to)
_targetUrl.searchParams.set('from', from)
return _targetUrl
}

View File

@ -1,5 +1,12 @@
# @zhst/hooks
## 0.13.1
### Patch Changes
- Updated dependencies
- @zhst/func@0.16.0
## 0.13.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/hooks",
"version": "0.13.0",
"version": "0.13.1",
"description": "hooks合集",
"keywords": [
"hooks"

View File

@ -1,5 +1,15 @@
# @zhst/material
## 0.18.2
### Patch Changes
- Updated dependencies
- @zhst/func@0.16.0
- @zhst/biz@0.22.2
- @zhst/hooks@0.13.1
- @zhst/meta@0.21.2
## 0.18.1
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/material",
"version": "0.18.1",
"version": "0.18.2",
"description": "物料库",
"keywords": [
"business",

View File

@ -1,5 +1,14 @@
# @zhst/utils
## 0.21.2
### Patch Changes
- Updated dependencies
- @zhst/func@0.16.0
- @zhst/hooks@0.13.1
- @zhst/meta@0.21.2
## 0.21.1
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/meta",
"version": "0.21.1",
"version": "0.21.2",
"description": "原子组件",
"keywords": [
"meta",

View File

@ -1,5 +1,16 @@
# @zhst/request
## 0.16.0
### Minor Changes
- zhst/request 修改重新登录问题,zhst/func 添加指定路由跳转方法
### Patch Changes
- Updated dependencies
- @zhst/func@0.16.0
## 0.15.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/request",
"version": "0.15.0",
"version": "0.16.0",
"description": "请求库",
"keywords": [
"request",

View File

View File

@ -15,6 +15,11 @@ export interface ReqConfigProps {
*/
authorization?: string
showMsg?: boolean
/**
*
* @param error
* @returns
*/
onExpired?: (error?: any) => void;
expiredCodes?: number[];
/**
@ -38,17 +43,42 @@ export const reqConfig = (config: ReqConfigProps) => {
timeout: 1000,
baseURL: location.origin,
errorConfig: {
// @ts-ignore
errorHandler(error) {
// const { status } = error?.request || {}
onError?.(error)
message.error('网络异常')
},
// @ts-ignore
errorThrower(res) {
console.log('报错啦:', res);
},
// @ts-ignore
errorHandler(response) {
const { code, message: resMessage } = response?.data || {}
let msg = resMessage || '请求失败!'
if (response.status !== 200) {
// 服务器错误
msg = '网络异常'
onError?.(response)
} else if (expiredCodes.includes(code)) {
// 登录失效
msg = '登录过期,请重新登录'
onExpired?.(response)
}
showMsg && message.error(msg)
},
// @ts-ignore
errorThrower(res) {
console.log('报错啦:', res);
},
},
// @ts-ignore
responseInterceptors: [
// 一个二元组,第一个元素是 request 拦截器,第二个元素是错误处理
[
(response: { status: number; data: any; }) => {
const { code, data = {} } = response?.data || {}
if (code !== 200) {
// 报错捕捉
return Promise.reject(response)
}
return response?.data || {};
}
],
],
// 请求
requestInterceptors: [
// 一个二元组,第一个元素是 request 拦截器,第二个元素是错误处理
@ -71,35 +101,6 @@ export const reqConfig = (config: ReqConfigProps) => {
},
],
],
// 返回
responseInterceptors: [
// 一个二元组,第一个元素是 request 拦截器,第二个元素是错误处理
[
(response: { status: number; data: any; }) => {
const { code } = response?.data || {}
if (expiredCodes.includes(code)) {
message.error('登录过期,请重新登录')
onExpired?.(response?.data)
return {}
}
if (showMsg && code !== 200) {
message.error(response.data?.message || '请求失败!')
return {}
}
return response.data || {};
},
(error: any) => {
const { code } = error.response?.data || {}
if (showMsg && code !== 200) {
message.error(error.response.data.message || '请求失败!')
}
return Promise.reject(error.response);
},
],
],
...config
};
}

View File

@ -1,5 +1,12 @@
# @zhst/slave
## 0.11.1
### Patch Changes
- Updated dependencies
- @zhst/func@0.16.0
## 0.11.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/slave",
"version": "0.11.0",
"version": "0.11.1",
"description": "微前端子应用方法库",
"keywords": [
"slave",