kookmin-sw / capstone-2024-45

시간은행 v2
https://kookmin-sw.github.io/capstone-2024-45/
1 stars 1 forks source link

[Front] User정보 Account 정보 접근 하는 방식 #53

Closed Heo-jieun closed 3 months ago

Heo-jieun commented 3 months ago

user 정보와 account 생성 api 연결이 완료되어 해당 정보들을 어떻게 가져오는지에 대한 설명입니다.

user와 account의 기본 정보를 관리하는 파일은 main/manage directory에 있습니다.

image

userInfoManage.dart : user정보를 등록하고 oauth_id, user_id, user_info의 값을 가져올 수 있음. accountInfoMange.dart : account 정보를 등록하고 account_id값을 가져올 수 있음.

userInfoManage.dart :

  1. oauth_id, 값 가져오는 방법 : getOauthId() 메서드 사용.
  2. user_id 값 가져오는 방법 : getUserId() 메서드 사용.
  3. user_info값 가져오는 방법 : getUserInfo 메서드 사용. getUserInfo의 반환값은 아래와 같은 형태이다.
    {
    "is_success": true,
    "status_code": 200,
    "message": "get user successfully",
    "result": {
    "user_info": {
      "user_id": "",
      "role": "User",
      "gender": "",
      "name": "",
      "oauth_id": "",
      "mobile_number": "010-1234-5678",
      "create_at": "2024-05-09"
    },
    "user_profile": [
      {
        "user_id": "",
        "user_profile_id": "",
        "profile_img": "url",
        "nickname": ""
      }
    ]
    }
    }
    • result에서 user_info나 user_profile사용하면 된다.

accountInfoMange.dart :

  1. account_id 가져오는 방법 : setAccount_id먼저 호출 후 getAccount_id()메서드 사용. getAccount_id메서드로 값을 가져오기 전에 반드시 setAccount_id 먼저 호출해야한다. 안그러면 account_id에 값이 설정안됨.
Heo-jieun commented 3 months ago

재공지 userInfoManage.dart에서 user_id 값을 가져올 때 비동기로 되어 있어 값이 초기화 되기 전에 해당함수가 값을 return하여 null값이 발생하는 경우가 생겼다. 그래서 getUserId에서 SetUserID가 끝날때 까지 기다리고 user_id가 초기화 되었는지 확인하는 부분을 추가했다. 그래서 UserInfoManage에서 getUserId를 호출하려면 아래와 같이 비동기로 진행하고 혹시나 null값이 날라온다면(그럴일은 없음) ""값으로 초기화 하도록 설정했다.

user_id = await UserInfoManage.getUserId() ?? '';

Heo-jieun commented 3 months ago

커뮤니티와 연동완료하여 여기 참고