add run in actions
This commit is contained in:
parent
a457dbabe9
commit
24f091ac79
@ -18,7 +18,7 @@
|
|||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@kevisual/query": "^0.0.12"
|
"@kevisual/query": "^0.0.14"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^22.13.11",
|
"@types/node": "^22.13.11",
|
||||||
|
@ -166,6 +166,50 @@ export class QueryLogin {
|
|||||||
}
|
}
|
||||||
return response as any;
|
return response as any;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 一个简单的401处理, 如果401,则刷新token, 如果refreshToken不存在,则返回401
|
||||||
|
* refetch 是否重新请求, 会有bug,无限循环,按需要使用
|
||||||
|
* @param response
|
||||||
|
* @param ctx
|
||||||
|
* @param opts
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
async run401Action(
|
||||||
|
response: Result,
|
||||||
|
ctx?: { req?: any; res?: any; fetch?: any },
|
||||||
|
opts?: {
|
||||||
|
/**
|
||||||
|
* 是否重新请求, 会有bug,无限循环,按需要使用
|
||||||
|
*/
|
||||||
|
refetch?: boolean;
|
||||||
|
/**
|
||||||
|
* check之后的回调
|
||||||
|
*/
|
||||||
|
afterCheck?: (res: Result) => any;
|
||||||
|
/**
|
||||||
|
* 401处理后, 还是401, 则回调
|
||||||
|
*/
|
||||||
|
afterAlso401?: (res: Result) => any;
|
||||||
|
},
|
||||||
|
) {
|
||||||
|
const that = this;
|
||||||
|
const refetch = opts?.refetch ?? false;
|
||||||
|
if (response?.code === 401) {
|
||||||
|
if (that.query.stop === true) {
|
||||||
|
return { code: 500, success: false, message: 'refresh token loading...' };
|
||||||
|
}
|
||||||
|
that.query.stop = true;
|
||||||
|
const res = await that.afterCheck401ToRefreshToken(response, ctx, refetch);
|
||||||
|
that.query.stop = false;
|
||||||
|
opts?.afterCheck?.(res);
|
||||||
|
if (res.code === 401) {
|
||||||
|
opts?.afterAlso401?.(res);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
} else {
|
||||||
|
return response as any;
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 获取用户信息
|
* 获取用户信息
|
||||||
* @param token
|
* @param token
|
||||||
|
Loading…
x
Reference in New Issue
Block a user