codestates / medisharp-client

🗓 촬영 한 번으로 약 정보를 얻고, 해당 약의 복용 일정도 관리할 수 있는 모바일 서비스 '약올림'.💊 건강도, 편리함도 한 단계 올려보세요.
2 stars 0 forks source link

[Client]Feature/put schedule api #85

Closed hyunju-song closed 3 years ago

hyunju-song commented 3 years ago

**수정사항

  1. state 값에 startYear/ endYear / selectedHour/ selectedMinute 추가 -> onChange로 할당을 해주고 있지만, 좀더 명확하게 데이터들을 보기 위해서 빈값으로 선할당 해주고, 해당 값들을 patch API 시에 사용해주고 있습니다.

=> 현정님께서 totalStartDate/totalEndDate로 state값을 할당해주고 있지만, onChange 함수를 통해 변경되는 state가 결국은 각각의 startYear/mont/date라서 수정된 값을 정확하게 전달주기 위해서 추가 state값 만들어 주었습니다.

=>totalStartDate/totalEndDate 해당 state를 활용해도 문제는 없는데 그러면 client 렌더 코드를 조금 바꾸어야 할듯 해서 이건 @hdaleee 상현님의 재량에 맡기겠습니다!

  1. 일정 수정 화면에도 '약올리기' 버튼을 누를경우, 약 수정 등록 기능이 필요하기 때문에, src/index의 코드에서

    const CalendarStack = createStackNavigator(
    {
    Calendar: CalendarScreen,
    AlarmUpdateScreen: AlarmUpdateScreen,
    SelfInputScreen: SelfInputScreen,
    },
    {
    headerMode: 'none',
    headerShown: false,
    },
    );

    위와 같이 수정햇습니다. 화면 연동 잘 된것으로 확인됐습니다.

  2. 기등록된 약/시간을 보여주기 위한 코드는 실질적으로 alarmscreen과 동일할것 같아서 그대로 가지고 왔습니다! 따라서 아래와 같이 화면이 구현됩니다.

    스크린샷 2020-12-17 오후 9 00 36

-> 주기는 기등록된 데이터를 보여주려고 수정했는데 0이 default로 뜨는걸 수정해주지 못했습니다 ㅠㅠ 제가 수정한 부분은 아래처럼 수정했는데도 0으로 떠있네요...

placeholder={this.state.alarmInterval}
placeholderTextColor={'gray'}
  1. 약정보 데이터 형태를 변형한 이유는 약 수정 등록도 일종의 등록 API입니다. 따라서 새로 등록되는 약의 경우에는 이름뿐 아니라, 다른 정보들을 다 내포하고 있어야 합니다. 따라서 medicinename state의 이름을 medicines로 바꾸어 주었고, 데이터 내에 이름만 저장하는 것이 아니라 [{name:aaa, camera:bbb,,,,,},{name:bbbbb, camera:xxxxx,,,,,}] 이런식으로 저장되도록했습니다. 물론 기등록된 약의 경우는 name만 해당 state에 저장될것이지만, 어차피 일정 수정시에, post medicines를 거칠때, 중복 제거에서 걸러지기 때문에 상관 없을듯 합니다!

  2. 수정까지 배포 테스트 쭉 해보고 오겠습니다!!

Gracechung-sw commented 3 years ago

1, 3, 4번 모두 동의합니다! 항상 깊이 생각해주셔서 감사해요!