[QCAST] promisePatch 추가 및 promise 사용 부분(가입, 비밀번호변경, 파일다운로드 등) 적용

This commit is contained in:
leeyongjae 2024-10-16 09:27:49 +09:00
parent b97f372f62
commit b18280803d
5 changed files with 88 additions and 67 deletions

View File

@ -7,7 +7,7 @@ import Cookies from 'js-cookie'
export default function Join() { export default function Join() {
const { getMessage } = useMessage() const { getMessage } = useMessage()
const { post } = useAxios() const { promisePost } = useAxios()
const router = useRouter() const router = useRouter()
// //
@ -34,7 +34,8 @@ export default function Join() {
}, },
} }
await post({ url: '/api/login/v1.0/user/join', data: param }).then((res) => { await promisePost({ url: '/api/login/v1.0/user/join', data: param })
.then((res) => {
if (res) { if (res) {
if (res.result.resultCode == 'S') { if (res.result.resultCode == 'S') {
Cookies.set('joinEmail', formData.get('email'), { expires: 1 }) Cookies.set('joinEmail', formData.get('email'), { expires: 1 })
@ -44,6 +45,9 @@ export default function Join() {
} }
} }
}) })
.catch((error) => {
alert(error.response.data.message)
})
} }
return ( return (

View File

@ -34,7 +34,7 @@ export default function Login() {
const [passwordReset, setPasswordReset] = useState(1) const [passwordReset, setPasswordReset] = useState(1)
const { post, patch } = useAxios(globalLocaleState) const { promisePost, promisePatch } = useAxios(globalLocaleState)
// login process // login process
const loginProcess = async (e) => { const loginProcess = async (e) => {
@ -88,26 +88,27 @@ export default function Login() {
// loginId: formData.get('id'), // loginId: formData.get('id'),
// pwd: formData.get('password'), // pwd: formData.get('password'),
// } // }
// await promisePost({ url: '/api/login/v1.0/login', data: param })
// const res = await post({ url: '/api/login/v1.0/login', data: param }) // .then((res) => {
// if (res) { // if (res) {
// if (res.result.resultCode == 'S') { // if (res.result.resultCode == 'S') {
// setSession(res.data) // setSession(res.data)
// setSessionState(res.data) // setSessionState(res.data)
// // ID SAVE , // // ID SAVE ,
// if (chkLoginId) { // if (chkLoginId) {
// Cookies.set('chkLoginId', formData.get('id'), { expires: 7 }) // Cookies.set('chkLoginId', formData.get('id'), { expires: 7 })
// } else { // } else {
// Cookies.remove('chkLoginId') // Cookies.remove('chkLoginId')
// } // }
// router.push('/') // router.push('/')
// } else { // } else {
// alert(res.result.resultMsg) // alert(res.result.resultMsg)
// } // }
// } // }
// })
// .catch((error) => {
// alert(error.response.data.message)
// })
} }
// //
@ -117,11 +118,11 @@ export default function Login() {
email: checkEmail, email: checkEmail,
} }
const res = await patch({ await promisePatch({
url: '/api/login/v1.0/user/init-password', url: '/api/login/v1.0/user/init-password',
data: param, data: param,
}) })
.then((res) => {
if (res) { if (res) {
if (res.result.resultCode == 'S') { if (res.result.resultCode == 'S') {
alert(getMessage('login.init_password.complete_message')) alert(getMessage('login.init_password.complete_message'))
@ -132,6 +133,10 @@ export default function Login() {
alert(res.result.resultMsg) alert(res.result.resultMsg)
} }
} }
})
.catch((error) => {
alert(error.response.data.message)
})
} }
return ( return (

View File

@ -8,7 +8,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
const { getMessage } = useMessage() const { getMessage } = useMessage()
// api // api
const { get, patch } = useAxios() const { get, promisePatch } = useAxios()
const [info, setInfo] = useState({ const [info, setInfo] = useState({
userId: '', userId: '',
password: '', password: '',
@ -69,7 +69,8 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
const params = { loginId: info.userId, chgType: 'C', pwd: password, chgPwd: chgPwd } const params = { loginId: info.userId, chgType: 'C', pwd: password, chgPwd: chgPwd }
await patch({ url: '/api/login/v1.0/user/change-password', data: params }).then((res) => { await promisePatch({ url: '/api/login/v1.0/user/change-password', data: params })
.then((res) => {
if (res) { if (res) {
if (res.result.resultCode === 'S') { if (res.result.resultCode === 'S') {
alert(getMessage('myinfo.message.save')) alert(getMessage('myinfo.message.save'))
@ -79,6 +80,9 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
} }
} }
}) })
.catch((error) => {
alert(error.response.data.message)
})
} }
return ( return (

View File

@ -80,6 +80,10 @@ export function useAxios(lang = '') {
.catch(console.error) .catch(console.error)
} }
const promisePatch = async ({ url, data }) => {
return await getInstances(url).patch(url, data)
}
const del = async ({ url }) => { const del = async ({ url }) => {
return await getInstances(url) return await getInstances(url)
.delete(url) .delete(url)
@ -91,5 +95,5 @@ export function useAxios(lang = '') {
return await getInstances(url).delete(url) return await getInstances(url).delete(url)
} }
return { get, promiseGet, post, promisePost, put, promisePut, patch, del, promiseDel } return { get, promiseGet, post, promisePost, put, promisePut, patch, promisePatch, del, promiseDel }
} }

View File

@ -2,15 +2,15 @@ import { useAxios } from '@/hooks/useAxios'
// 파일 다운로드 // 파일 다운로드
export const handleFileDown = async (file) => { export const handleFileDown = async (file) => {
const { get } = useAxios() const { promiseGet } = useAxios()
const url = `/api/board/file/download` const url = `/api/board/file/download`
const params = new URLSearchParams({ const params = new URLSearchParams({
encodeFileNo: file.encodeFileNo, encodeFileNo: file.encodeFileNo,
}) })
const apiUrl = `${url}?${params.toString()}` const apiUrl = `${url}?${params.toString()}`
const resultData = await get({ url: apiUrl }) await promiseGet({ url: apiUrl })
.then((resultData) => {
if (resultData) { if (resultData) {
const blob = new Blob([resultData]) const blob = new Blob([resultData])
const fileUrl = window.URL.createObjectURL(blob) const fileUrl = window.URL.createObjectURL(blob)
@ -23,6 +23,10 @@ export const handleFileDown = async (file) => {
link.remove() link.remove()
window.URL.revokeObjectURL(url) window.URL.revokeObjectURL(url)
} }
})
.catch((error) => {
alert(error.response.data.message)
})
} }
// 페이지 번호 생성 // 페이지 번호 생성