feat: 更新版本至 0.0.59,优化 refreshLoginUser 和 queryRefreshToken 方法,支持同时传递 accessToken 和 refreshToken
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@kevisual/api",
|
"name": "@kevisual/api",
|
||||||
"version": "0.0.58",
|
"version": "0.0.59",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "mod.ts",
|
"main": "mod.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -179,8 +179,8 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|||||||
* @param refreshToken 刷新token,如果不传,则从缓存中获取
|
* @param refreshToken 刷新token,如果不传,则从缓存中获取
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
async refreshLoginUser(refreshToken?: string) {
|
async refreshLoginUser(opts?: { refreshToken?: string, accessToken?: string }) {
|
||||||
const res = await this.queryRefreshToken(refreshToken);
|
const res = await this.queryRefreshToken(opts);
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
||||||
this.storage.setItem('token', accessToken || '');
|
this.storage.setItem('token', accessToken || '');
|
||||||
@@ -193,9 +193,17 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|||||||
* @param refreshToken
|
* @param refreshToken
|
||||||
* @returns
|
* @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());
|
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) {
|
if (!_refreshToken) {
|
||||||
await this.cacheStore.clearCurrentUser();
|
await this.cacheStore.clearCurrentUser();
|
||||||
return {
|
return {
|
||||||
@@ -226,7 +234,7 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|||||||
if (response?.code === 401) {
|
if (response?.code === 401) {
|
||||||
const hasRefreshToken = await that.cacheStore.getRefreshToken();
|
const hasRefreshToken = await that.cacheStore.getRefreshToken();
|
||||||
if (hasRefreshToken) {
|
if (hasRefreshToken) {
|
||||||
const res = await that.queryRefreshToken(hasRefreshToken);
|
const res = await that.queryRefreshToken({ refreshToken: hasRefreshToken });
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
||||||
that.storage.setItem('token', accessToken || '');
|
that.storage.setItem('token', accessToken || '');
|
||||||
|
|||||||
Reference in New Issue
Block a user