add run in actions

This commit is contained in:
熊潇 2025-03-22 14:36:16 +08:00
parent a457dbabe9
commit 24f091ac79
2 changed files with 45 additions and 1 deletions

View File

@ -18,7 +18,7 @@
"access": "public"
},
"peerDependencies": {
"@kevisual/query": "^0.0.12"
"@kevisual/query": "^0.0.14"
},
"devDependencies": {
"@types/node": "^22.13.11",

View File

@ -166,6 +166,50 @@ export class QueryLogin {
}
return response as any;
}
/**
* 401 401token, 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