feat: add query by login web wechat
This commit is contained in:
parent
e0bf83f062
commit
05f0373834
@ -86,6 +86,32 @@ export class QueryLogin {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
async loginByWechat(data: { code: string }) {
|
||||||
|
const res = await this.post<QueryLoginResult>({ path: 'wx', key: 'open-login', code: data.code });
|
||||||
|
if (res.code === 200) {
|
||||||
|
const { accessToken, refreshToken } = res?.data || {};
|
||||||
|
this.storage.setItem('token', accessToken || '');
|
||||||
|
await this.beforeSetLoginUser({ accessToken, refreshToken });
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 检测微信登录,登陆成功后,调用onSuccess,否则调用onError
|
||||||
|
* @param param0
|
||||||
|
*/
|
||||||
|
async checkWechat({ onSuccess, onError }: { onSuccess?: (res: QueryLoginResult) => void; onError?: (res: any) => void }) {
|
||||||
|
const url = new URL(window.location.href);
|
||||||
|
const code = url.searchParams.get('code');
|
||||||
|
const state = url.searchParams.get('state');
|
||||||
|
if (code && state) {
|
||||||
|
const res = await this.loginByWechat({ code });
|
||||||
|
if (res.code === 200) {
|
||||||
|
onSuccess?.(res.data);
|
||||||
|
} else {
|
||||||
|
onError?.(res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 登陆成功,需要获取用户信息进行缓存
|
* 登陆成功,需要获取用户信息进行缓存
|
||||||
* @param param0
|
* @param param0
|
||||||
@ -177,7 +203,7 @@ export class QueryLogin {
|
|||||||
/**
|
/**
|
||||||
* 一个简单的401处理, 如果401,则刷新token, 如果refreshToken不存在,则返回401
|
* 一个简单的401处理, 如果401,则刷新token, 如果refreshToken不存在,则返回401
|
||||||
* refetch 是否重新请求, 会有bug,无限循环,按需要使用
|
* refetch 是否重新请求, 会有bug,无限循环,按需要使用
|
||||||
* TODO:
|
* TODO:
|
||||||
* @param response
|
* @param response
|
||||||
* @param ctx
|
* @param ctx
|
||||||
* @param opts
|
* @param opts
|
||||||
|
Loading…
x
Reference in New Issue
Block a user