수정화면 비밀번호 확인 로직 추가
This commit is contained in:
parent
74be397b5d
commit
277524c0c3
@ -5,23 +5,40 @@
|
||||
수정일 :
|
||||
설명 : 게시글 수정 시 비밀번호 적재용.
|
||||
*/
|
||||
import { ref, computed } from 'vue';
|
||||
import { ref, computed, watch } from 'vue';
|
||||
import { defineStore } from 'pinia';
|
||||
|
||||
export const useBoardAccessStore = defineStore('access', () => {
|
||||
const password = ref(null);
|
||||
export const useBoardAccessStore = defineStore(
|
||||
'access',
|
||||
() => {
|
||||
const password = ref('');
|
||||
|
||||
function setBoardPassword(input) {
|
||||
password.value = input;
|
||||
}
|
||||
if (localStorage.getItem('tempPassword')) {
|
||||
// 저장된 값을 불러와 상태에 할당
|
||||
const storedState = JSON.parse(localStorage.getItem('tempPassword'));
|
||||
password.value = storedState;
|
||||
}
|
||||
|
||||
function $reset() {
|
||||
password.value = null;
|
||||
}
|
||||
watch(password, newValue => {
|
||||
localStorage.setItem('tempPassword', JSON.stringify(newValue.value));
|
||||
});
|
||||
|
||||
return {
|
||||
password,
|
||||
setBoardPassword,
|
||||
$reset,
|
||||
};
|
||||
});
|
||||
function setBoardPassword(input) {
|
||||
password.value = input;
|
||||
}
|
||||
|
||||
function $reset() {
|
||||
password.value = '';
|
||||
localStorage.removeItem('tempPassword', newValue);
|
||||
}
|
||||
|
||||
return {
|
||||
password,
|
||||
setBoardPassword,
|
||||
$reset,
|
||||
};
|
||||
},
|
||||
{
|
||||
persist: true,
|
||||
},
|
||||
);
|
||||
|
||||
@ -119,31 +119,30 @@
|
||||
|
||||
// 게시물 데이터 로드
|
||||
const fetchBoardDetails = async () => {
|
||||
try {
|
||||
// 수정 데이터 전송
|
||||
const params = {
|
||||
password: accessStore.password?.value || '',
|
||||
};
|
||||
//const response = await axios.get(`board/${currentBoardId.value}`);
|
||||
const response = await axios.post(`board/${currentBoardId.value}`, params);
|
||||
// 수정 데이터 전송
|
||||
const password = accessStore.password.value;
|
||||
const params = {
|
||||
password: password || '',
|
||||
};
|
||||
console.log('params: ', params);
|
||||
//const response = await axios.get(`board/${currentBoardId.value}`);
|
||||
const { data } = await axios.post(`board/${currentBoardId.value}`, params);
|
||||
|
||||
if (response.data.code !== 200) {
|
||||
toastStore.onToast(response.data.message, 'e');
|
||||
router.go(-1);
|
||||
}
|
||||
const data = response.data.data;
|
||||
// 기존 첨부파일 추가
|
||||
if (data.hasAttachment && data.attachments.length > 0) {
|
||||
attachFiles.value = addDisplayFileName([...data.attachments]);
|
||||
}
|
||||
|
||||
// 데이터 설정
|
||||
title.value = data.title || '제목 없음';
|
||||
content.value = data.content || '내용 없음';
|
||||
contentLoaded.value = true;
|
||||
} catch (error) {
|
||||
console.error('게시물 가져오기 오류:', error.response || error.message);
|
||||
if (data.code !== 200) {
|
||||
toastStore.onToast(data.message, 'e');
|
||||
router.go(-1);
|
||||
return;
|
||||
}
|
||||
const boardData = data.data;
|
||||
// 기존 첨부파일 추가
|
||||
if (boardData.hasAttachment && boardData.attachments.length > 0) {
|
||||
attachFiles.value = addDisplayFileName([...boardData.attachments]);
|
||||
}
|
||||
|
||||
// 데이터 설정
|
||||
title.value = boardData.title || '제목 없음';
|
||||
content.value = boardData.content || '내용 없음';
|
||||
contentLoaded.value = true;
|
||||
};
|
||||
|
||||
// 기존 첨부파일명을 노출
|
||||
@ -265,7 +264,7 @@
|
||||
};
|
||||
|
||||
// 컴포넌트 마운트 시 데이터 로드
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
if (currentBoardId.value) {
|
||||
fetchBoardDetails();
|
||||
} else {
|
||||
|
||||
@ -240,21 +240,25 @@
|
||||
};
|
||||
// 게시물 상세 데이터 불러오기
|
||||
const fetchBoardDetails = async () => {
|
||||
const response = await axios.get(`board/${currentBoardId.value}`);
|
||||
const data = response.data.data;
|
||||
|
||||
profileName.value = data.author || '익명';
|
||||
authorId.value = data.authorId;
|
||||
boardTitle.value = data.title || '제목 없음';
|
||||
boardContent.value = data.content || '';
|
||||
profileImg.value = data.profileImg || '';
|
||||
date.value = data.date || '';
|
||||
views.value = data.cnt || 0;
|
||||
likes.value = data.likeCount || 0;
|
||||
dislikes.value = data.dislikeCount || 0;
|
||||
attachment.value = data.hasAttachment || null;
|
||||
commentNum.value = data.commentCount || 0;
|
||||
attachments.value = data.attachments || [];
|
||||
const { data } = await axios.get(`board/${currentBoardId.value}`);
|
||||
if (data?.data) {
|
||||
const boardData = data.data;
|
||||
profileName.value = boardData.author || '익명';
|
||||
authorId.value = boardData.authorId;
|
||||
boardTitle.value = boardData.title || '제목 없음';
|
||||
boardContent.value = boardData.content || '';
|
||||
profileImg.value = boardData.profileImg || '';
|
||||
date.value = boardData.date || '';
|
||||
views.value = boardData.cnt || 0;
|
||||
likes.value = boardData.likeCount || 0;
|
||||
dislikes.value = boardData.dislikeCount || 0;
|
||||
attachment.value = boardData.hasAttachment || null;
|
||||
commentNum.value = boardData.commentCount || 0;
|
||||
attachments.value = boardData.attachments || [];
|
||||
} else {
|
||||
toastStore.onToast(data.message, 'e');
|
||||
router.back();
|
||||
}
|
||||
};
|
||||
|
||||
// 좋아요, 싫어요
|
||||
|
||||
Loading…
Reference in New Issue
Block a user