import type { GetResourcesDataParams, ResourcesDataResponse, OperateComponents, } from '#layers/types/api/resourcesData' export const useResourcesData = () => { const getResourcesData = async ( params: GetResourcesDataParams ): Promise => { const { pageSeq, pageVer, pageVerTmplSeq, langCode, q, qc } = params const config = useRuntimeConfig() const stoveApiBaseUrl = config.public.stoveApiUrl const apiUrl = `${stoveApiBaseUrl}/pub-comm/v1.0/template/operateResources` const queryParams: Record = { page_seq: pageSeq, page_ver: pageVer, page_ver_tmpl_seq: pageVerTmplSeq, lang_code: langCode, q: q || '', qc: qc || '', _t: Date.now().toString(), // 캐시 무효화를 위한 타임스탬프 } const response = (await commonFetch('GET', apiUrl, { query: queryParams, loading: true, })) as ResourcesDataResponse | null if (response?.code === 0 && 'value' in response) { return response.value } return null } return { getResourcesData, } }