feat: 更新版本至 0.0.59,优化 refreshLoginUser 和 queryRefreshToken 方法,支持同时传递 accessToken 和 refreshToken

This commit is contained in:
2026-02-22 00:05:59 +08:00
parent 2a0d508cf4
commit 76d26aba5a
2 changed files with 14 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@kevisual/api",
"version": "0.0.58",
"version": "0.0.59",
"description": "",
"main": "mod.ts",
"scripts": {

View File

@@ -179,8 +179,8 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
* @param refreshToken 刷新token如果不传则从缓存中获取
* @returns
*/
async refreshLoginUser(refreshToken?: string) {
const res = await this.queryRefreshToken(refreshToken);
async refreshLoginUser(opts?: { refreshToken?: string, accessToken?: string }) {
const res = await this.queryRefreshToken(opts);
if (res.code === 200) {
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
this.storage.setItem('token', accessToken || '');
@@ -193,9 +193,17 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
* @param refreshToken
* @returns
*/
async queryRefreshToken(refreshToken?: string) {
async queryRefreshToken(opts?: { refreshToken?: string, accessToken?: string }) {
const refreshToken = opts?.refreshToken;
let accessToken = opts?.accessToken;
const _refreshToken = refreshToken || (await this.cacheStore.getRefreshToken());
let data = { refreshToken: _refreshToken };
let data: any = {};
if (accessToken) {
data.accessToken = accessToken;
}
if (_refreshToken) {
data.refreshToken = _refreshToken;
}
if (!_refreshToken) {
await this.cacheStore.clearCurrentUser();
return {
@@ -226,7 +234,7 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
if (response?.code === 401) {
const hasRefreshToken = await that.cacheStore.getRefreshToken();
if (hasRefreshToken) {
const res = await that.queryRefreshToken(hasRefreshToken);
const res = await that.queryRefreshToken({ refreshToken: hasRefreshToken });
if (res.code === 200) {
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
that.storage.setItem('token', accessToken || '');