feat: 更新版本至 0.0.59,优化 refreshLoginUser 和 queryRefreshToken 方法,支持同时传递 accessToken 和 refreshToken
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@kevisual/api",
|
||||
"version": "0.0.58",
|
||||
"version": "0.0.59",
|
||||
"description": "",
|
||||
"main": "mod.ts",
|
||||
"scripts": {
|
||||
|
||||
@@ -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 || '');
|
||||
|
||||
Reference in New Issue
Block a user