node, vue

Vue 일지 #20 (20210928) spring 연동(비밀번호 변경)

uni5948 2021. 10. 1. 21:24

20. 비밀번호 변경

백엔드 참고#39

-비밀번호 변경

 *비밀번호 변경 화면 구면(Menu7.vue)

... ...

<h3>비밀번호 변경</h3>

        아이디  <input type="text" v-model="userid"> <br />

        기존 암호  <input type="text" v-model="userpw"> <br />

        새 암호  <input type="text" v-model="usernewpw"> <br />

        <input type="button" @click="handleNewpw" value="비밀 번호 변경"/>

... ...

 

 *화면 확인

비밀번호 변경 화면

 

 *비밀번호 변경 구현(Menu7.vue)

 *토큰을 받아온 뒤 구현이 가능하도록 조건문을 삽입하고 토큰이 없는 경우 로그인 페이지로 이동한다.

 *백엔드에서 만든 member_password를 사용한다.

 *토큰을 받아와야 하므로 token을 data에 등록한다.

... ...

async handleNewpw(){

                const key = "123456_"

                const url = "/ROOT/api/member_password";

                const headers = {"Content-Type":"application/json",

                    token : key + this.token}

                const body = {

                    userid : this.userid,

                    userpw : this.userpw,

                    usernewpw : this.usernewpw,

                }

                if(this.token != null){ <- 세션 스토리지에 토큰 유무를 확인 

                      const response = await axios.put(urlbody, {headers});

                    console.log(response.data);

                    if(response.data.status === 200){

                        alert("수정 완료");

                    }

                }

                 else{ <- 토큰이 없다면 알림창을 표시하고 로그인 페이지로 이동 

                    alert("로그인 후 가능")

                    this.$router.push({name: 'Menu5'});

                }

            },

     },

        data(){

            return{

                userid : '',

                username : '',

                usertel : '',

                userpw : '',

                usernewpw : '',

                 //세션 스토리지에서 토큰 읽기

                token : sessionStorage.getItem("TOKEN")

            }

        }

    }

</script>

 

 *비밀번호 변경(토큰이 없는 경우)

토큰이 없는 경우
로그인 페이지 이동
로그인 후 토큰 저장

 

비밀번호 변경
변경된 비밀번호로 로그인