codestates / codestates/sagaksagak-client
[✍️ Dev Log] 김우성 / 21-07-14
- Dominant language
- JavaScript
- Stars
- 4
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘은 어떻게 프로젝트에 기여했나요?
- 마이페이지를 완성 하였습니다.
- 로그아웃 로직을 구현하였습니다
- 관심사 선택 모달 서버통신을 구현 하였습니다.
- 리프레시 토큰 기반 로그인 유지 기능과 함께 비회원도 이용할 수 있도록 로직을 구현하였습니다.
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
- 로그인 유지 기능을 구현할때(새로고침을 하여 상태가 초기화 되어도 로그인이 유지될 수 있도록) 비회원 이용을 고려하여 로직을 구성하는데 많은 에러가 발생 하였습니다. 해당 에러의 원인을 파악하고 해결하기 까지 상당한 시간이 소요되었습니다.
```js
const getCookie = (name) => {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(";").shift();
};
export default getCookie;
-----------------------------------------------------------------------------------------------------------------------------
if (!getCookie("refreshToken")) return;
axios
.get(`${process.env.REACT_APP_SERVER_DOMAIN}/user/token`, {
headers: {
relogin: true,
},
withCredentials: true,
})
.then((res) => {
const { accessToken, username, userId, email, category, subId } =
res.data;
if (subId)
dispatch(
logIn(email, userId, username, accessToken, category, subId)
);
dispatch(logIn(email, userId, username, accessToken, category));
})
.catch((err) => {
if (err.response) {
if (err.response.status === 403) {
axios
.get(`${process.env.REACT_APP_SERVER_DOMAIN}/user/logout`, {
headers: { authorization: `bearer ${user.accessToken}` },
withCredentials: true,
})
.then(() => {
dispatch(logOut());
})
.catch((err) => {
if (err.response) {
console.log(err.response);
} else if (err.request) {
console.log(err.request);
} else {
console.log("Error :", err.message);
}
console.log(err.config);
});
history.push("/unauthorized");
}
console.log(err.response);
} else if (err.request) {
console.log(err.request);
} else {
console.log("Error :", err.message);
}
console.log(err.config);
});
```
### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [x] 관심사 선택 모달 CSS 및 반응형 구현
- [x] 깃헙 위키 작성 및 수정
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.