46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
/*
|
|
작성자 : 박지윤
|
|
작성일 : 2025-02-04
|
|
수정자 :
|
|
수정일 :
|
|
설명 : 공통 api
|
|
*/
|
|
import { ref, onMounted } from "vue";
|
|
import $api from '@api';
|
|
|
|
const commonApi = (options = {}) => {
|
|
const colorList = ref([]);
|
|
const mbtiList = ref([]);
|
|
const pwhintList = ref([]);
|
|
const yearCategory = ref([]);
|
|
const cateList = ref([]);
|
|
|
|
// type 파라미터를 추가로 받도록 수정
|
|
const CommonCode = async (path, endpoint, targetList, type = null) => {
|
|
const params = type ? { type } : {};
|
|
const response = await $api.get(`${path}/${endpoint}`, {
|
|
params
|
|
});
|
|
targetList.value = response.data.data.map(item => ({
|
|
label: item.CMNCODNAM,
|
|
value: item.CMNCODVAL,
|
|
}));
|
|
};
|
|
|
|
onMounted(async () => {
|
|
// 요청할 데이터가 옵션으로 전달 -> 그에 맞게 호출
|
|
// color 옵션에 type 포함
|
|
if (options.loadColor) {
|
|
await CommonCode("user", "color", colorList, options.colorType);
|
|
}
|
|
if (options.loadMbti) await CommonCode("user", "mbti", mbtiList);
|
|
if (options.loadPwhint) await CommonCode("user", "pwhint", pwhintList);
|
|
if (options.loadYearCategory) await CommonCode("project", "yearCategory", yearCategory);
|
|
if (options.loadCateList) await CommonCode("worddict", "getWordCategory", cateList);
|
|
});
|
|
|
|
return { colorList, mbtiList, pwhintList, yearCategory, cateList };
|
|
};
|
|
|
|
export default commonApi;
|