import { message } from 'antd'; import { routerRedux } from 'dva/router'; import { queryCoursewareList, queryCoursewareItem, createCoursewareItem, updateCoursewareItem, deleteCoursewareItem, } from '../services/courseware'; export default { namespace: 'courseware', state: { list: [], pageNo: 1, pageSize: 15, totalSize: 0, currentItem: {}, }, effects: { *fetchCoursewareList({ payload }, { call, put }) { const response = yield call(queryCoursewareList, payload); if (response.success) { yield put({ type: 'querySuccess', payload: { list: response.data.list || [], pageSize: response.data.pageSize, totalSize: response.data.totalSize, pageNo: response.data.pageNo, }, }); } }, *fetchCoursewareItem({ payload }, { call, put }) { const response = yield call(queryCoursewareItem, payload); if (response.success) { yield put({ type: 'querySuccess', payload: { currentItem: response.data || {}, }, }); } }, *createCoursewareItem({ payload, state }, { call, put }) { const response = yield call(createCoursewareItem, payload); if (response.success) { message.success('创建课件成功'); yield put(routerRedux.push({ state, pathname: '/product/courseware/list', })); } }, *deleteCoursewareItem({ payload, states }, { call, put }) { const response = yield call(deleteCoursewareItem, payload); if (response.success) { message.success('删除课件成功'); yield put({ type: 'fetchCoursewareList', payload: states.Queryers, }); } }, *updateCoursewareItem({ payload, states }, { call, put }) { const response = yield call(updateCoursewareItem, payload); if (response.success) { message.success('修改课件成功'); yield put(routerRedux.push({ pathname: '/product/courseware/list', state: states, })); } }, }, reducers: { querySuccess(state, action) { return { ...state, ...action.payload, }; }, fixResourceList(state, action) { return { ...state, currentItem: { ...state.currentItem, resourceList: action.payload, }, }; }, cleanItemState(state) { return { ...state, currentItem: {}, }; }, }, };