1010 <div class =" profile" >
1111 <p class =" text-body text-xs font-bold" >프로필 사진</p >
1212 <img
13- v-if =" previewUrl || info.imageUrl "
14- :src =" previewUrl || info.imageUrl "
13+ v-if =" previewUrl || info.profileImageUrl "
14+ :src =" previewUrl || info.profileImageUrl "
1515 alt =" 프로필 이미지"
1616 class =" w-24 h-24 rounded-full object-cover border mt-3" />
1717
3333 <input
3434 class =" input-box h-11 mt-2 text-black"
3535 placeholder =" 이름을 입력해주세요"
36- v-model =" info.memberName " />
36+ v-model =" info.name " />
3737 </div >
3838 <div class =" flex flex-col" >
3939 <p class =" text-body text-xs font-bold" >아이디</p >
5555 <p class =" text-body text-xs font-bold" >알림 수신 여부</p >
5656 <div class =" flex flex-col mt-2 gap-2" >
5757 <FormCheckbox
58- v-model =" memberForm.isAgitChecked "
58+ v-model =" info.notificationSettingInfo.agit "
5959 :checkButtonName =" '아지트'"
60- :isChecked =" memberForm.isAgitChecked " />
60+ :isChecked =" info.notificationSettingInfo.agit " />
6161 <FormCheckbox
62- v-model =" memberForm.isKakaoWorkChecked "
62+ v-model =" info.notificationSettingInfo.kakaoWork "
6363 :checkButtonName =" '카카오워크'"
64- :isChecked =" memberForm.isKakaoWorkChecked " />
64+ :isChecked =" info.notificationSettingInfo.kakaoWork " />
6565 <FormCheckbox
66- v-model =" memberForm.isEmailChecked "
66+ v-model =" info.notificationSettingInfo.email "
6767 :checkButtonName =" '이메일'"
68- :isChecked =" memberForm.isEmailChecked " />
68+ :isChecked =" info.notificationSettingInfo.email " />
6969 </div >
7070 </div >
7171 <div >
@@ -94,8 +94,7 @@ import FormCheckbox from './common/FormCheckbox.vue'
9494const router = useRouter ()
9595import { useMemberStore } from ' @/stores/member'
9696import { storeToRefs } from ' pinia'
97- import { patchEditInfo } from ' @/api/user'
98- import
97+ import { patchEditInfo } from ' @/api/common'
9998
10099const memberStore = useMemberStore ()
101100const { info } = storeToRefs (memberStore )
@@ -105,20 +104,6 @@ const previewUrl = ref<string | null>(null)
105104
106105const isModalVisible = ref (false )
107106
108- const memberForm = ref ({
109- isAgitChecked : false ,
110- isKakaoWorkChecked : false ,
111- isEmailChecked : false
112- })
113-
114- const formData = new FormData ()
115-
116- const requestData : any = {
117- name : info .value .memberName ,
118- agitNotification : memberForm .value .isAgitChecked ,
119- emailNotification : memberForm .value .isEmailChecked ,
120- kakaoWorkNotification : memberForm .value .isKakaoWorkChecked
121- }
122107const handleCancel = () => {
123108 router .back ()
124109}
@@ -136,9 +121,30 @@ const handleFileUpload = (event: Event) => {
136121 }
137122}
138123
139- const handleSubmit = () => {
140- isModalVisible .value = true
141- console .log (requestData )
142- patchEditInfo (requestData , selectedFile .value )
124+ const handleSubmit = async () => {
125+ const formData = new FormData ()
126+ const memberInfo = {
127+ name: info .value .name ,
128+ agitNotification: info .value .notificationSettingInfo .agit ,
129+ emailNotification: info .value .notificationSettingInfo .email ,
130+ kakaoWorkNotification: info .value .notificationSettingInfo .kakaoWork
131+ }
132+
133+ const jsonMemberInfo = JSON .stringify (memberInfo )
134+ const newBlob = new Blob ([jsonMemberInfo ], { type: ' application/json' })
135+
136+ formData .append (' memberInfo' , newBlob )
137+
138+ if (selectedFile .value ) {
139+ formData .append (' profileImage' , selectedFile .value )
140+ }
141+
142+ try {
143+ await patchEditInfo (formData )
144+ isModalVisible .value = true
145+ await memberStore .updateMemberInfoWithToken ()
146+ } catch (error ) {
147+ console .error (' 요청 실패:' , error )
148+ }
143149}
144150 </script >
0 commit comments