import { getPersonalComponents, getOrginzationComponents, getPublicComponents, uploadFiles, } from '../services/api'; import { message } from 'antd'; const ComponentsModel = { namespace: 'components', state: { personalList: [], publicList: [], orginzationList: [], filePath: '', }, effects: { *getPersonalComponents(_, { call, put }) { const response = yield call(getPersonalComponents); if (response && response.code == 200) { let payload = response.data; yield put({ type: 'savePersonalComponents', payload, }); } else { message.error(response.msg); } }, *getPublicComponents(_, { call, put }) { const response = yield call(getPublicComponents); if (response && response.code == 200) { let payload = response.data; yield put({ type: 'savePublicComponents', payload, }); } else { message.error(response.msg); } }, *getOrginzationComponents(_, { call, put }) { const response = yield call(getOrginzationComponents); if (response && response.code == 200) { let payload = response.data; yield put({ type: 'saveOrginzationComponents', payload, }); } else { message.error(response.msg); } }, *uploadFile({ payload }, { call, put }) { const response = yield call(uploadFiles, payload); if (response && response.code == 200) { let payload = response.data.filename; yield put({ type: 'saveFileImg', payload, }); return payload; } else { message.error(response.msg); } }, }, reducers: { savePersonalComponents(state, { payload }) { return { ...state, personalList: payload }; }, savePublicComponents(state, { payload }) { return { ...state, publicList: payload }; }, saveOrginzationComponents(state, { payload }) { return { ...state, orginzationList: payload }; }, saveFileImg(state, { payload }) { return { ...state, filePath: payload }; }, }, }; export default ComponentsModel;