@kevisual/api 0.0.57 → 0.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/query-login-node.d.ts +15 -1
- package/dist/query-login-node.js +38 -2
- package/dist/query-login.d.ts +15 -1
- package/dist/query-login.js +38 -2
- package/package.json +1 -1
- package/query/query-login/query-login.ts +50 -3
|
@@ -141,6 +141,14 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
141
141
|
loginByWechat(data: {
|
|
142
142
|
code: string;
|
|
143
143
|
}): Promise<any>;
|
|
144
|
+
/**
|
|
145
|
+
* cnb登录, 适用于cnb的登录方式, 需要后端配合, 传入cnbToken, 后端验证cnbToken的有效性,并返回accessToken和refreshToken
|
|
146
|
+
* @param data
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
loginByCnb(data: {
|
|
150
|
+
cnbToken: string;
|
|
151
|
+
}): Promise<any>;
|
|
144
152
|
/**
|
|
145
153
|
* 检测微信登录,登陆成功后,调用onSuccess,否则调用onError
|
|
146
154
|
* @param param0
|
|
@@ -159,6 +167,12 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
159
167
|
refreshToken?: string;
|
|
160
168
|
check401?: boolean;
|
|
161
169
|
}): Promise<Result<User>>;
|
|
170
|
+
/**
|
|
171
|
+
* 刷新登录用户,获取新的token,并更新用户信息
|
|
172
|
+
* @param refreshToken 刷新token,如果不传,则从缓存中获取
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
refreshLoginUser(refreshToken?: string): Promise<any>;
|
|
162
176
|
/**
|
|
163
177
|
* 刷新token
|
|
164
178
|
* @param refreshToken
|
|
@@ -221,7 +235,7 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
221
235
|
* @returns
|
|
222
236
|
*/
|
|
223
237
|
checkLocalToken(): Promise<boolean>;
|
|
224
|
-
checkTokenValid(): Promise<
|
|
238
|
+
checkTokenValid(): Promise<null | string>;
|
|
225
239
|
/**
|
|
226
240
|
* 检查本地用户列表
|
|
227
241
|
* @returns
|
package/dist/query-login-node.js
CHANGED
|
@@ -957,6 +957,21 @@ class QueryLogin extends BaseQuery {
|
|
|
957
957
|
}
|
|
958
958
|
return res;
|
|
959
959
|
}
|
|
960
|
+
async loginByCnb(data) {
|
|
961
|
+
const res = await this.post({
|
|
962
|
+
path: "user",
|
|
963
|
+
key: "cnb-login",
|
|
964
|
+
payload: {
|
|
965
|
+
data
|
|
966
|
+
}
|
|
967
|
+
});
|
|
968
|
+
if (res.code === 200) {
|
|
969
|
+
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
|
970
|
+
this.storage.setItem("token", accessToken || "");
|
|
971
|
+
await this.beforeSetLoginUser({ accessToken, refreshToken, accessTokenExpiresIn });
|
|
972
|
+
}
|
|
973
|
+
return res;
|
|
974
|
+
}
|
|
960
975
|
async checkWechat({ onSuccess, onError }) {
|
|
961
976
|
const url = new URL(window.location.href);
|
|
962
977
|
const code = url.searchParams.get("code");
|
|
@@ -996,8 +1011,17 @@ class QueryLogin extends BaseQuery {
|
|
|
996
1011
|
message: "登录失败"
|
|
997
1012
|
};
|
|
998
1013
|
}
|
|
1014
|
+
async refreshLoginUser(refreshToken) {
|
|
1015
|
+
const res = await this.queryRefreshToken(refreshToken);
|
|
1016
|
+
if (res.code === 200) {
|
|
1017
|
+
const { accessToken, refreshToken: refreshToken2, accessTokenExpiresIn } = res?.data || {};
|
|
1018
|
+
this.storage.setItem("token", accessToken || "");
|
|
1019
|
+
await this.beforeSetLoginUser({ accessToken, refreshToken: refreshToken2, accessTokenExpiresIn, check401: false });
|
|
1020
|
+
}
|
|
1021
|
+
return res;
|
|
1022
|
+
}
|
|
999
1023
|
async queryRefreshToken(refreshToken) {
|
|
1000
|
-
const _refreshToken = refreshToken || this.cacheStore.getRefreshToken();
|
|
1024
|
+
const _refreshToken = refreshToken || await this.cacheStore.getRefreshToken();
|
|
1001
1025
|
let data = { refreshToken: _refreshToken };
|
|
1002
1026
|
if (!_refreshToken) {
|
|
1003
1027
|
await this.cacheStore.clearCurrentUser();
|
|
@@ -1096,7 +1120,19 @@ class QueryLogin extends BaseQuery {
|
|
|
1096
1120
|
return !!token;
|
|
1097
1121
|
}
|
|
1098
1122
|
async checkTokenValid() {
|
|
1099
|
-
|
|
1123
|
+
const token = this.storage.getItem("token");
|
|
1124
|
+
if (!token) {
|
|
1125
|
+
return null;
|
|
1126
|
+
}
|
|
1127
|
+
const isExpired = await this.cacheStore.getIsExpired();
|
|
1128
|
+
if (isExpired) {
|
|
1129
|
+
const res = await this.refreshLoginUser();
|
|
1130
|
+
if (res.code === 200) {
|
|
1131
|
+
return res.data?.accessToken || null;
|
|
1132
|
+
}
|
|
1133
|
+
return null;
|
|
1134
|
+
}
|
|
1135
|
+
return token;
|
|
1100
1136
|
}
|
|
1101
1137
|
async getToken() {
|
|
1102
1138
|
const token = this.storage.getItem("token");
|
package/dist/query-login.d.ts
CHANGED
|
@@ -141,6 +141,14 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
141
141
|
loginByWechat(data: {
|
|
142
142
|
code: string;
|
|
143
143
|
}): Promise<any>;
|
|
144
|
+
/**
|
|
145
|
+
* cnb登录, 适用于cnb的登录方式, 需要后端配合, 传入cnbToken, 后端验证cnbToken的有效性,并返回accessToken和refreshToken
|
|
146
|
+
* @param data
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
loginByCnb(data: {
|
|
150
|
+
cnbToken: string;
|
|
151
|
+
}): Promise<any>;
|
|
144
152
|
/**
|
|
145
153
|
* 检测微信登录,登陆成功后,调用onSuccess,否则调用onError
|
|
146
154
|
* @param param0
|
|
@@ -159,6 +167,12 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
159
167
|
refreshToken?: string;
|
|
160
168
|
check401?: boolean;
|
|
161
169
|
}): Promise<Result<User>>;
|
|
170
|
+
/**
|
|
171
|
+
* 刷新登录用户,获取新的token,并更新用户信息
|
|
172
|
+
* @param refreshToken 刷新token,如果不传,则从缓存中获取
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
refreshLoginUser(refreshToken?: string): Promise<any>;
|
|
162
176
|
/**
|
|
163
177
|
* 刷新token
|
|
164
178
|
* @param refreshToken
|
|
@@ -221,7 +235,7 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
221
235
|
* @returns
|
|
222
236
|
*/
|
|
223
237
|
checkLocalToken(): Promise<boolean>;
|
|
224
|
-
checkTokenValid(): Promise<
|
|
238
|
+
checkTokenValid(): Promise<null | string>;
|
|
225
239
|
/**
|
|
226
240
|
* 检查本地用户列表
|
|
227
241
|
* @returns
|
package/dist/query-login.js
CHANGED
|
@@ -957,6 +957,21 @@ class QueryLogin extends BaseQuery {
|
|
|
957
957
|
}
|
|
958
958
|
return res;
|
|
959
959
|
}
|
|
960
|
+
async loginByCnb(data) {
|
|
961
|
+
const res = await this.post({
|
|
962
|
+
path: "user",
|
|
963
|
+
key: "cnb-login",
|
|
964
|
+
payload: {
|
|
965
|
+
data
|
|
966
|
+
}
|
|
967
|
+
});
|
|
968
|
+
if (res.code === 200) {
|
|
969
|
+
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
|
970
|
+
this.storage.setItem("token", accessToken || "");
|
|
971
|
+
await this.beforeSetLoginUser({ accessToken, refreshToken, accessTokenExpiresIn });
|
|
972
|
+
}
|
|
973
|
+
return res;
|
|
974
|
+
}
|
|
960
975
|
async checkWechat({ onSuccess, onError }) {
|
|
961
976
|
const url = new URL(window.location.href);
|
|
962
977
|
const code = url.searchParams.get("code");
|
|
@@ -996,8 +1011,17 @@ class QueryLogin extends BaseQuery {
|
|
|
996
1011
|
message: "登录失败"
|
|
997
1012
|
};
|
|
998
1013
|
}
|
|
1014
|
+
async refreshLoginUser(refreshToken) {
|
|
1015
|
+
const res = await this.queryRefreshToken(refreshToken);
|
|
1016
|
+
if (res.code === 200) {
|
|
1017
|
+
const { accessToken, refreshToken: refreshToken2, accessTokenExpiresIn } = res?.data || {};
|
|
1018
|
+
this.storage.setItem("token", accessToken || "");
|
|
1019
|
+
await this.beforeSetLoginUser({ accessToken, refreshToken: refreshToken2, accessTokenExpiresIn, check401: false });
|
|
1020
|
+
}
|
|
1021
|
+
return res;
|
|
1022
|
+
}
|
|
999
1023
|
async queryRefreshToken(refreshToken) {
|
|
1000
|
-
const _refreshToken = refreshToken || this.cacheStore.getRefreshToken();
|
|
1024
|
+
const _refreshToken = refreshToken || await this.cacheStore.getRefreshToken();
|
|
1001
1025
|
let data = { refreshToken: _refreshToken };
|
|
1002
1026
|
if (!_refreshToken) {
|
|
1003
1027
|
await this.cacheStore.clearCurrentUser();
|
|
@@ -1096,7 +1120,19 @@ class QueryLogin extends BaseQuery {
|
|
|
1096
1120
|
return !!token;
|
|
1097
1121
|
}
|
|
1098
1122
|
async checkTokenValid() {
|
|
1099
|
-
|
|
1123
|
+
const token = this.storage.getItem("token");
|
|
1124
|
+
if (!token) {
|
|
1125
|
+
return null;
|
|
1126
|
+
}
|
|
1127
|
+
const isExpired = await this.cacheStore.getIsExpired();
|
|
1128
|
+
if (isExpired) {
|
|
1129
|
+
const res = await this.refreshLoginUser();
|
|
1130
|
+
if (res.code === 200) {
|
|
1131
|
+
return res.data?.accessToken || null;
|
|
1132
|
+
}
|
|
1133
|
+
return null;
|
|
1134
|
+
}
|
|
1135
|
+
return token;
|
|
1100
1136
|
}
|
|
1101
1137
|
async getToken() {
|
|
1102
1138
|
const token = this.storage.getItem("token");
|
package/package.json
CHANGED
|
@@ -107,6 +107,26 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
107
107
|
}
|
|
108
108
|
return res;
|
|
109
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* cnb登录, 适用于cnb的登录方式, 需要后端配合, 传入cnbToken, 后端验证cnbToken的有效性,并返回accessToken和refreshToken
|
|
112
|
+
* @param data
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
115
|
+
async loginByCnb(data: { cnbToken: string }) {
|
|
116
|
+
const res = await this.post<QueryLoginResult>({
|
|
117
|
+
path: 'user',
|
|
118
|
+
key: 'cnb-login',
|
|
119
|
+
payload: {
|
|
120
|
+
data: data
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
if (res.code === 200) {
|
|
124
|
+
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
|
125
|
+
this.storage.setItem('token', accessToken || '');
|
|
126
|
+
await this.beforeSetLoginUser({ accessToken, refreshToken, accessTokenExpiresIn });
|
|
127
|
+
}
|
|
128
|
+
return res;
|
|
129
|
+
}
|
|
110
130
|
/**
|
|
111
131
|
* 检测微信登录,登陆成功后,调用onSuccess,否则调用onError
|
|
112
132
|
* @param param0
|
|
@@ -154,13 +174,27 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
154
174
|
message: '登录失败',
|
|
155
175
|
};
|
|
156
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* 刷新登录用户,获取新的token,并更新用户信息
|
|
179
|
+
* @param refreshToken 刷新token,如果不传,则从缓存中获取
|
|
180
|
+
* @returns
|
|
181
|
+
*/
|
|
182
|
+
async refreshLoginUser(refreshToken?: string) {
|
|
183
|
+
const res = await this.queryRefreshToken(refreshToken);
|
|
184
|
+
if (res.code === 200) {
|
|
185
|
+
const { accessToken, refreshToken, accessTokenExpiresIn } = res?.data || {};
|
|
186
|
+
this.storage.setItem('token', accessToken || '');
|
|
187
|
+
await this.beforeSetLoginUser({ accessToken, refreshToken, accessTokenExpiresIn, check401: false });
|
|
188
|
+
}
|
|
189
|
+
return res;
|
|
190
|
+
}
|
|
157
191
|
/**
|
|
158
192
|
* 刷新token
|
|
159
193
|
* @param refreshToken
|
|
160
194
|
* @returns
|
|
161
195
|
*/
|
|
162
196
|
async queryRefreshToken(refreshToken?: string) {
|
|
163
|
-
const _refreshToken = refreshToken || this.cacheStore.getRefreshToken();
|
|
197
|
+
const _refreshToken = refreshToken || (await this.cacheStore.getRefreshToken());
|
|
164
198
|
let data = { refreshToken: _refreshToken };
|
|
165
199
|
if (!_refreshToken) {
|
|
166
200
|
await this.cacheStore.clearCurrentUser();
|
|
@@ -311,8 +345,21 @@ export class QueryLogin<T extends Cache = Cache> extends BaseQuery {
|
|
|
311
345
|
const token = this.storage.getItem('token');
|
|
312
346
|
return !!token;
|
|
313
347
|
}
|
|
314
|
-
async checkTokenValid() {
|
|
315
|
-
|
|
348
|
+
async checkTokenValid(): Promise<null | string> {
|
|
349
|
+
const token = this.storage.getItem('token');
|
|
350
|
+
if (!token) {
|
|
351
|
+
return null;
|
|
352
|
+
}
|
|
353
|
+
const isExpired = await this.cacheStore.getIsExpired();
|
|
354
|
+
if (isExpired) {
|
|
355
|
+
const res = await this.refreshLoginUser()
|
|
356
|
+
if (res.code === 200) {
|
|
357
|
+
// 刷新成功,返回新的token
|
|
358
|
+
return res.data?.accessToken || null;
|
|
359
|
+
}
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
return token;
|
|
316
363
|
}
|
|
317
364
|
/**
|
|
318
365
|
* 检查本地用户列表
|