You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
697 B
29 lines
697 B
import type { OAuthUserInfo, UserInfo } from '../types/user';
|
|
|
|
import { useRequest } from '@abp/request';
|
|
|
|
export function useUserInfoApi() {
|
|
const { cancel, request } = useRequest();
|
|
|
|
/**
|
|
* 获取用户信息
|
|
*/
|
|
async function getUserInfoApi(): Promise<UserInfo> {
|
|
const result = await request<OAuthUserInfo>('/connect/userinfo', {
|
|
method: 'GET',
|
|
});
|
|
return {
|
|
...result,
|
|
emailVerified: result.email_verified,
|
|
givenName: result.given_name,
|
|
phoneNumberVerified: result.phone_number_verified,
|
|
preferredUsername: result.preferred_username,
|
|
uniqueName: result.unique_name,
|
|
};
|
|
}
|
|
|
|
return {
|
|
cancel,
|
|
getUserInfoApi,
|
|
};
|
|
}
|
|
|