diff --git a/src/store/modules/jwt.js b/src/common/jwt.js similarity index 100% rename from src/store/modules/jwt.js rename to src/common/jwt.js diff --git a/src/components/LoginComponent.vue b/src/components/LoginComponent.vue index b3db2c5..9ceb83d 100644 --- a/src/components/LoginComponent.vue +++ b/src/components/LoginComponent.vue @@ -80,47 +80,23 @@ export default { return dirty || validated ? valid : null }, async onSubmit() { - try { - //1.인증서버에서 인증코드받기 - const tokens = await this.getTokens() - //2.인증코드를 받아오는데 성공하면 BackEnd서버로 인증코드를 보냄 - //console.log(tokens) - await this.sendAccessToken(tokens) - //3.next로 이동 - const return_url = this.$route.params.return_url || 'home' - alert('로그인 성공..\n' + return_url) - this.$router.push({ name: return_url }).catch((e) => { - throw new Error(return_url + '로 Redirect 실패\n' + e.message) - }) - } catch ({ message }) { - alert('로그인 실패...\n' + message) - } - }, - async getTokens() { - return await this.$store + //인증서버에서 인증코드받기 + await this.$store .dispatch('AuthStore/login', { email: this.form.email, password: this.form.password }) - .then((response) => { - //console.log(response) - //alert('인증서버에서 인증코드 받기 성공..') - return response.data.tokens + .then(() => { + this.$router + .push({ + name: this.$route.params.return_url || 'home' + }) + .catch((e) => { + throw new Error('router 오류\n' + +e.response.data.message) + }) }) .catch((e) => { - throw new Error('인증서버에서 인증코드 받기 실패..\n' + e.message) - }) - }, - async sendTokens(tokens) { - return await this.$store - .dispatch('TodoStore/sendTokens', tokens) - .then((response) => { - console.log(response) - alert('인증코드 전송 성공..') - return response.data - }) - .catch((e) => { - throw new Error('인증코드 전송 실패..\n' + e.message) + alert(e) }) } } diff --git a/src/components/todo/ListComponent.vue b/src/components/todo/ListComponent.vue index f468bf5..8d9daa8 100644 --- a/src/components/todo/ListComponent.vue +++ b/src/components/todo/ListComponent.vue @@ -246,9 +246,9 @@ export default { } }, methods: { - setDatas(page = 1) { - this.$store - .dispatch('TodoStore/setData', { + async setDatas(page = 1) { + await this.$store + .dispatch('TodoStore/setDatas', { page: page, perPage: this.perPage, sortBy: this.sortBy, @@ -260,8 +260,8 @@ export default { filterDateStart: this.filterDateStart, filterDateEnd: this.filterDateEnd }) - .catch((error) => { - alert(error) + .catch((e) => { + alert(e) }) }, searchClick() { diff --git a/src/store/modules/auth.js b/src/store/modules/auth.js index 3e7c839..5874d92 100644 --- a/src/store/modules/auth.js +++ b/src/store/modules/auth.js @@ -1,5 +1,5 @@ import axios from 'axios' -import jwt from './jwt' +import jwt from '../../common/jwt' //참조: https://yamoo9.github.io/axios/guide/interceptors.html const apiServer = axios.create({ baseURL: process.env.VUE_APP_AUTH_HOST, @@ -58,17 +58,18 @@ const actions = { .post('/auth/login', params) .then((response) => { const { data } = response - context.commit('login', { - tokens: data.tokens - }) + //console.log(data) + context.commit('login', { tokens: data }) return response }) - .catch((error) => { - return error + .catch((e) => { + throw new Error('login 오류\n' + e.response.data.message) }) }, logout: async function (context, payload) { - return await context.commit('logout', payload) + return await context.commit('logout', payload).catch((e) => { + throw new Error('logout 오류\n' + +e.response.data.message) + }) }, register: async function (context, payload) { const params = { @@ -80,13 +81,11 @@ const actions = { .post('/auth/register', params) .then((response) => { const { data } = response - context.commit('login', { - tokens: data.tokens - }) + context.commit('login', { tokens: data.tokens }) return response }) - .catch((error) => { - return error + .catch((e) => { + throw new Error('register 오류\n' + +e.response.data.message) }) } } diff --git a/src/store/modules/todo.js b/src/store/modules/todo.js index a1f68d1..933f94b 100644 --- a/src/store/modules/todo.js +++ b/src/store/modules/todo.js @@ -1,5 +1,5 @@ import axios from 'axios' -import jwt from './jwt' +import jwt from '../../common/jwt' //참조: https://yamoo9.github.io/axios/guide/interceptors.html const apiServer = axios.create({ @@ -30,37 +30,24 @@ const getters = { } } const mutations = { - setData: function (state, data) { + setDatas: function (state, data) { state.total = data.total state.rows = data.rows } } const actions = { - sendAccessToken: async function (context, accessToken) { - //주의 .get의 parameter는 { params: params} 처럼 보내야함 - return await apiServer - .get('/todo/accessToken', { params: accessToken }) - .then((response) => { - const { data } = response - context.commit('setData', data) - return response - }) - .catch((error) => { - return error - }) - }, - setData: async function (context, params) { + setDatas: async function (context, params) { console.log(params) //주의 .get의 parameter는 { params: params} 처럼 보내야함 return await apiServer .get('/todo', { params: params }) .then((response) => { const { data } = response - context.commit('setData', data) - return response + console.log(data) + context.commit('setDatas', data) }) - .catch((error) => { - return error + .catch((e) => { + throw new Error('todo List 오류\n' + +e.response.data.message) }) } }