Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

model.ts 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import kbService from '@/services/kbService';
  2. import { Effect, Reducer, Subscription } from 'umi';
  3. export interface knowledgeModelState {
  4. loading: boolean;
  5. data: any[];
  6. }
  7. export interface knowledgegModelType {
  8. namespace: 'knowledgeModel';
  9. state: knowledgeModelState;
  10. effects: {
  11. rmKb: Effect;
  12. getList: Effect;
  13. };
  14. reducers: {
  15. updateState: Reducer<knowledgeModelState>;
  16. };
  17. subscriptions: { setup: Subscription };
  18. }
  19. const Model: knowledgegModelType = {
  20. namespace: 'knowledgeModel',
  21. state: {
  22. loading: false,
  23. data: [],
  24. },
  25. subscriptions: {
  26. setup({ dispatch, history }) {
  27. history.listen((location) => {
  28. console.log(location);
  29. });
  30. },
  31. },
  32. effects: {
  33. *rmKb({ payload = {}, callback }, { call, put }) {
  34. const { data, response } = yield call(kbService.rmKb, payload);
  35. const { retcode, data: res, retmsg } = data;
  36. if (retcode === 0) {
  37. callback && callback();
  38. }
  39. },
  40. *getList({ payload = {} }, { call, put }) {
  41. yield put({
  42. type: 'updateState',
  43. payload: {
  44. loading: true,
  45. },
  46. });
  47. const { data, response } = yield call(kbService.getList, payload);
  48. const { retcode, data: res, retmsg } = data;
  49. yield put({
  50. type: 'updateState',
  51. payload: {
  52. loading: false,
  53. },
  54. });
  55. if (retcode === 0) {
  56. yield put({
  57. type: 'updateState',
  58. payload: {
  59. data: res,
  60. },
  61. });
  62. }
  63. },
  64. },
  65. reducers: {
  66. updateState(state, { payload }) {
  67. return {
  68. ...state,
  69. ...payload,
  70. };
  71. },
  72. },
  73. };
  74. export default Model;