resource.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import { routerRedux } from 'dva/router';
  2. import { message } from 'antd';
  3. import {
  4. createImage,
  5. deleteImage,
  6. updateImage,
  7. queryImageResource,
  8. queryVideoResource,
  9. } from '../services/resource';
  10. export default {
  11. namespace: 'resource',
  12. state: {
  13. list: [],
  14. pageNo: 1,
  15. pageSize: 15,
  16. totalSize: 0,
  17. },
  18. effects: {
  19. *fetchImageList({ payload }, { call, put }) {
  20. const response = yield call(queryImageResource, payload);
  21. if (response.success) {
  22. yield put({
  23. type: 'querySuccess',
  24. payload: {
  25. list: response.data.list || [],
  26. pageSize: response.data.pageSize,
  27. totalSize: response.data.totalSize,
  28. pageNo: response.data.pageNo,
  29. },
  30. });
  31. }
  32. },
  33. *fetchVideoList({ payload }, { call, put }) {
  34. const response = yield call(queryVideoResource, payload);
  35. if (response.success) {
  36. yield put({
  37. type: 'querySuccess',
  38. payload: {
  39. list: response.data.list || [],
  40. pageSize: response.data.pageSize,
  41. totalSize: response.data.totalSize,
  42. pageNo: response.data.pageNo,
  43. },
  44. });
  45. }
  46. },
  47. *createImage({ payload }, { call, put }) {
  48. const response = yield call(createImage, payload);
  49. if (response && response.success) {
  50. yield put(
  51. routerRedux.push({
  52. pathname: '/resource/picture-upload/result',
  53. state: response.data,
  54. })
  55. );
  56. }
  57. },
  58. *updateImage({ payload, states }, { call, put }) {
  59. const response = yield call(updateImage, payload);
  60. if (response && response.success) {
  61. message.success('修改图片成功');
  62. yield put(routerRedux.push({
  63. pathname: '/resource/picture',
  64. state: states,
  65. }));
  66. }
  67. },
  68. *deleteImage({ payload, states }, { call, put }) {
  69. const response = yield call(deleteImage, payload);
  70. if (response && response.success) {
  71. message.success('删除图片成功');
  72. yield put({
  73. type: 'fetchImageList',
  74. payload: states,
  75. });
  76. }
  77. },
  78. },
  79. reducers: {
  80. querySuccess(state, action) {
  81. return {
  82. ...state,
  83. ...action.payload,
  84. };
  85. },
  86. },
  87. };