File size: 1,564 Bytes
4086c42
6b8fc2c
362ec6c
6b8fc2c
362ec6c
bd39551
4086c42
fad2ec7
362ec6c
 
6b8fc2c
 
e1bc1d4
4086c42
6b8fc2c
362ec6c
 
 
 
 
 
 
4086c42
 
 
 
 
 
362ec6c
6b8fc2c
af3ef26
362ec6c
 
6b8fc2c
362ec6c
 
 
 
6b8fc2c
 
 
362ec6c
058cd84
362ec6c
6b8fc2c
 
 
 
e1bc1d4
 
6b8fc2c
 
 
4086c42
 
 
 
 
 
 
6b8fc2c
 
362ec6c
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
import { IKnowledge } from '@/interfaces/database/knowledge';
import kbService from '@/services/kbService';
import { DvaModel } from 'umi';

export interface KnowledgeModelState {
  data: IKnowledge[];
  knowledge: IKnowledge;
}

const model: DvaModel<KnowledgeModelState> = {
  namespace: 'knowledgeModel',
  state: {
    data: [],
    knowledge: {} as IKnowledge,
  },
  reducers: {
    updateState(state, { payload }) {
      return {
        ...state,
        ...payload,
      };
    },
    setKnowledge(state, { payload }) {
      return {
        ...state,
        knowledge: payload,
      };
    },
  },
  effects: {
    *rmKb({ payload = {} }, { call, put }) {
      const { data } = yield call(kbService.rmKb, payload);
      const { retcode } = data;
      if (retcode === 0) {
        yield put({
          type: 'getList',
          payload: {},
        });
      }
    },
    *getList({ payload = {} }, { call, put }) {
      const { data } = yield call(kbService.getList, payload);
      const { retcode, data: res } = data;

      if (retcode === 0) {
        yield put({
          type: 'updateState',
          payload: {
            data: res,
          },
        });
      }
    },
    *getKnowledgeDetail({ payload = {} }, { call, put }) {
      const { data } = yield call(kbService.get_kb_detail, payload);
      if (data.retcode === 0) {
        yield put({ type: 'setKnowledge', payload: data.data });
      }
      return data.retcode;
    },
  },
};
export default model;