2025-03-17 User Detail: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
*querry userId from backend if login and set it in local_storage | *querry userId from backend if login and set it in local_storage | ||
*use userId to querry user_detail | *use userId to querry user_detail | ||
*Must | *Must set Uset-detal component as parent of menu-output | ||
=Why user-detail have to set as parent of menu-output= | =Why user-detail have to set as parent of menu-output= | ||
*Menu-output it always mount on web page every single page will see menu-output. | *Menu-output it always mount on web page every single page will see menu-output that make user-detail component always mount too. | ||
*If user-detail not mount userdetail can't be query and if userdetail not query component will not know web page already login or not. | |||
*After login menu-output will check login and decide which component should output between login component and not login component by check user detail had already query user-detail or not. | *After login menu-output will check login and decide which component should output between login component and not login component by check user detail had already query user-detail or not. | ||
=query userId= | |||
==backend== | |||
*phee is the one who create api for get user-detail ask phee if have problem with get userId | |||
*for query backen that have authentication require send header with query | |||
*Example | |||
<syntaxhighlight lang="JavaScript"> | |||
const objBackend = { | |||
method: "GET", | |||
url: "https://xpxz4ia541.execute-api.us-east-2.amazonaws.com/Test/baseUserId/get",//if phee re-deploy service api will change ask phee if can't connect to api. | |||
headers: { //require for query api backen with auth. | |||
Authorization: "Bearer " + localStorage.getItem("access_token"), | |||
Accept: "application/json", | |||
"Content-Type": "application/json", | |||
}, | |||
body: {}, | |||
}; | |||
const { data: userIdData } = useGetUserIdQuery(objBackend, { | |||
skip://not query backend if condition true, It the good way for set condition for query | |||
!localStorage.getItem("access_token") || | |||
(localStorage.getItem("access_token") && localStorage.getItem("userId")), | |||
}); | |||
</syntaxhighlight> | |||
Revision as of 08:24, 17 April 2025
Concept
- check if login by get access_token from local_storage
- querry userId from backend if login and set it in local_storage
- use userId to querry user_detail
- Must set Uset-detal component as parent of menu-output
- Menu-output it always mount on web page every single page will see menu-output that make user-detail component always mount too.
- If user-detail not mount userdetail can't be query and if userdetail not query component will not know web page already login or not.
- After login menu-output will check login and decide which component should output between login component and not login component by check user detail had already query user-detail or not.
query userId
backend
- phee is the one who create api for get user-detail ask phee if have problem with get userId
- for query backen that have authentication require send header with query
- Example
const objBackend = {
method: "GET",
url: "https://xpxz4ia541.execute-api.us-east-2.amazonaws.com/Test/baseUserId/get",//if phee re-deploy service api will change ask phee if can't connect to api.
headers: { //require for query api backen with auth.
Authorization: "Bearer " + localStorage.getItem("access_token"),
Accept: "application/json",
"Content-Type": "application/json",
},
body: {},
};
const { data: userIdData } = useGetUserIdQuery(objBackend, {
skip://not query backend if condition true, It the good way for set condition for query
!localStorage.getItem("access_token") ||
(localStorage.getItem("access_token") && localStorage.getItem("userId")),
});