import { useEffect, useState } from 'react'; import { useRequest } from 'umi'; import { APP_TYPE } from '../../types'; import { getNoticeRulesAPIConfig } from '../../config'; import { fetchList, fetchUpdate } from '../../services/notice-rules'; const useNoticeRules = (appType: APP_TYPE) => { const config = getNoticeRulesAPIConfig(appType); const [data, setData] = useState({ noticeRules: [], eventRules: [], }); const fetchRequest = useRequest(() => fetchList(config?.fetchParams), { refreshDeps: [], }); const updateRequest = useRequest(params => fetchUpdate(params), { manual: true, onSuccess: (result, params) => {}, }); useEffect(() => { setData(fetchRequest?.data); }, [fetchRequest?.data]); return { fetchRequest: { ...fetchRequest, data, }, updateRequest, ...data, loading: fetchRequest.loading, updateLoading: updateRequest.loading, }; }; export default useNoticeRules;