File size: 1,768 Bytes
6b8fc2c
04aba1b
6b8fc2c
fad2ec7
 
e1bc1d4
fad2ec7
 
 
 
 
 
 
 
 
 
 
04aba1b
fad2ec7
 
6b8fc2c
 
 
e1bc1d4
6b8fc2c
04aba1b
 
 
 
 
 
 
6b8fc2c
e1bc1d4
6b8fc2c
e1bc1d4
6b8fc2c
e1bc1d4
6b8fc2c
 
 
 
 
 
e1bc1d4
 
6b8fc2c
 
e1bc1d4
6b8fc2c
 
 
e1bc1d4
 
6b8fc2c
 
 
 
 
e1bc1d4
 
6b8fc2c
 
 
 
 
 
 
 
e1bc1d4
6b8fc2c
e1bc1d4
 
6b8fc2c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import kbService from '@/services/kbService';
import { Effect, Reducer } from 'umi';

export interface knowledgeModelState {
  loading: boolean;
  data: any[];
}
export interface knowledgegModelType {
  namespace: 'knowledgeModel';
  state: knowledgeModelState;
  effects: {
    rmKb: Effect;
    getList: Effect;
  };
  reducers: {
    updateState: Reducer<knowledgeModelState>;
  };
  // subscriptions: { setup: Subscription };
}
const Model: knowledgegModelType = {
  namespace: 'knowledgeModel',
  state: {
    loading: false,
    data: [],
  },
  // subscriptions: {
  //   setup({ dispatch, history }) {
  //     history.listen((location) => {
  //       console.log(location);
  //     });
  //   },
  // },
  effects: {
    *rmKb({ payload = {}, callback }, { call, put }) {
      const { data, response } = yield call(kbService.rmKb, payload);
      const { retcode, data: res, retmsg } = data;
      if (retcode === 0) {
        callback && callback();
      }
    },
    *getList({ payload = {} }, { call, put }) {
      yield put({
        type: 'updateState',
        payload: {
          loading: true,
        },
      });
      const { data, response } = yield call(kbService.getList, payload);
      const { retcode, data: res, retmsg } = data;
      yield put({
        type: 'updateState',
        payload: {
          loading: false,
        },
      });
      if (retcode === 0) {
        yield put({
          type: 'updateState',
          payload: {
            data: res,
          },
        });
      }
    },
  },
  reducers: {
    updateState(state, { payload }) {
      return {
        ...state,
        ...payload,
      };
    },
  },
};
export default Model;