File size: 2,437 Bytes
fad2ec7
362ec6c
fad2ec7
362ec6c
fad2ec7
 
 
 
f3dd131
04aba1b
fad2ec7
362ec6c
 
fad2ec7
 
 
 
 
 
f3dd131
04aba1b
fad2ec7
362ec6c
 
 
 
 
 
 
 
04aba1b
 
 
 
 
 
 
fad2ec7
362ec6c
fad2ec7
 
04aba1b
fad2ec7
04aba1b
fad2ec7
 
 
 
 
04aba1b
fad2ec7
 
 
362ec6c
fad2ec7
04aba1b
362ec6c
fad2ec7
362ec6c
04aba1b
fad2ec7
04aba1b
362ec6c
 
fad2ec7
362ec6c
fad2ec7
04aba1b
fad2ec7
 
 
 
04aba1b
 
fad2ec7
 
362ec6c
fad2ec7
 
04aba1b
fad2ec7
04aba1b
fad2ec7
 
04aba1b
fad2ec7
 
 
 
04aba1b
 
fad2ec7
 
 
 
 
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import kbService from '@/services/kbService';
import { DvaModel } from 'umi';

export interface ChunkModelState {
  data: any[];
  total: number;
  isShowCreateModal: boolean;
  chunk_id: string;
  doc_id: string;
  chunkInfo: any;
}

const model: DvaModel<ChunkModelState> = {
  namespace: 'chunkModel',
  state: {
    data: [],
    total: 0,
    isShowCreateModal: false,
    chunk_id: '',
    doc_id: '',
    chunkInfo: {},
  },
  reducers: {
    updateState(state, { payload }) {
      return {
        ...state,
        ...payload,
      };
    },
  },
  // subscriptions: {
  //   setup({ dispatch, history }) {
  //     history.listen(location => {
  //       console.log(location)
  //     });
  //   }
  // },
  effects: {
    *chunk_list({ payload = {} }, { call, put }) {
      const { data, response } = yield call(kbService.chunk_list, payload);

      const { retcode, data: res, retmsg } = data;
      if (retcode === 0) {
        console.log(res);
        yield put({
          type: 'updateState',
          payload: {
            data: res.chunks,
            total: res.total,
          },
        });
      }
    },
    *switch_chunk({ payload = {} }, { call, put }) {
      const { data, response } = yield call(kbService.switch_chunk, payload);
      const { retcode, data: res, retmsg } = data;
      return retcode;
    },
    *rm_chunk({ payload = {} }, { call, put }) {
      console.log('shanchu');
      const { data, response } = yield call(kbService.rm_chunk, payload);
      const { retcode, data: res, retmsg } = data;

      return retcode;
    },
    *get_chunk({ payload = {} }, { call, put }) {
      const { data, response } = yield call(kbService.get_chunk, payload);
      const { retcode, data: res, retmsg } = data;
      if (retcode === 0) {
        yield put({
          type: 'updateState',
          payload: {
            chunkInfo: res,
          },
        });
      }
      return data;
    },
    *create_hunk({ payload = {} }, { call, put }) {
      let service = kbService.create_chunk;
      if (payload.chunk_id) {
        service = kbService.set_chunk;
      }
      const { data, response } = yield call(service, payload);
      const { retcode, data: res, retmsg } = data;
      if (retcode === 0) {
        yield put({
          type: 'updateState',
          payload: {
            isShowCreateModal: false,
          },
        });
      }
    },
  },
};
export default model;