feat: remove loading from model and use DvaModel instead of redundant types such as kAModelType (#47)

* feat: use DvaModel instead of redundant types such as kAModelType

* feat: set the type for registerServer

* feat: remove loading from model
This commit is contained in:
balibabu
2024-01-30 19:26:29 +08:00
committed by GitHub
parent 96a1a44cb6
commit 362ec6c364
29 changed files with 1911 additions and 1938 deletions

View File

@@ -1,57 +1,47 @@
import kbService from '@/services/kbService';
import { message } from 'antd';
import { Effect, Reducer, Subscription } from 'umi';
import pick from 'lodash/pick';
import { DvaModel } from 'umi';
export interface kFModelState {
export interface KFModelState {
isShowCEFwModal: boolean;
isShowTntModal: boolean;
isShowSegmentSetModal: boolean;
loading: boolean;
tenantIfo: any;
data: any[];
}
export interface kFModelType {
namespace: 'kFModel';
state: kFModelState;
effects: {
createKf: Effect;
updateKf: Effect;
getKfDetail: Effect;
getKfList: Effect;
updateDocumentStatus: Effect;
document_rm: Effect;
document_create: Effect;
document_change_parser: Effect;
};
reducers: {
updateState: Reducer<kFModelState>;
};
subscriptions: { setup: Subscription };
}
const Model: kFModelType = {
const model: DvaModel<KFModelState> = {
namespace: 'kFModel',
state: {
isShowCEFwModal: false,
isShowTntModal: false,
isShowSegmentSetModal: false,
loading: false,
tenantIfo: {},
data: [],
},
reducers: {
updateState(state, { payload }) {
return {
...state,
...payload,
};
},
},
subscriptions: {
setup({ dispatch, history }) {
history.listen((location) => {});
},
},
effects: {
*createKf({ payload = {}, callback }, { call, put }) {
*createKf({ payload = {} }, { call, put }) {
const { data, response } = yield call(kbService.createKb, payload);
const { retcode, data: res, retmsg } = data;
if (retcode === 0) {
message.success('创建成功!');
}
},
*updateKf({ payload = {}, callback }, { call, put }) {
*updateKf({ payload = {} }, { call, put }) {
const { data, response } = yield call(kbService.updateKb, payload);
const { retcode, data: res, retmsg } = data;
if (retcode === 0) {
@@ -67,23 +57,12 @@ const Model: kFModelType = {
}
},
*getKfList({ payload = {} }, { call, put }) {
yield put({
type: 'updateState',
payload: {
loading: true,
},
});
const { data, response } = yield call(
kbService.get_document_list,
payload,
);
const { retcode, data: res, retmsg } = data;
yield put({
type: 'updateState',
payload: {
loading: false,
},
});
if (retcode === 0) {
yield put({
type: 'updateState',
@@ -93,64 +72,64 @@ const Model: kFModelType = {
});
}
},
*updateDocumentStatus({ payload = {}, callback }, { call, put }) {
yield put({
type: 'updateState',
payload: {
loading: true,
},
});
*updateDocumentStatus({ payload = {} }, { call, put }) {
const { data, response } = yield call(
kbService.document_change_status,
payload,
pick(payload, ['doc_id', 'status']),
);
const { retcode, data: res, retmsg } = data;
if (retcode === 0) {
message.success('修改成功!');
yield put({
type: 'updateState',
payload: {
loading: false,
},
put({
type: 'getKfList',
payload: { kb_id: payload.kb_id },
});
callback && callback();
}
},
*document_rm({ payload = {}, callback }, { call, put }) {
const { data, response } = yield call(kbService.document_rm, payload);
*document_rm({ payload = {} }, { call, put }) {
const { data, response } = yield call(kbService.document_rm, {
doc_id: payload.doc_id,
});
const { retcode, data: res, retmsg } = data;
if (retcode === 0) {
message.success('删除成功!');
callback && callback();
put({
type: 'getKfList',
payload: { kb_id: payload.kb_id },
});
}
},
*document_create({ payload = {}, callback }, { call, put }) {
*document_create({ payload = {} }, { call, put }) {
const { data, response } = yield call(kbService.document_create, payload);
const { retcode, data: res, retmsg } = data;
if (retcode === 0) {
put({
type: 'kFModel/updateState',
payload: {
isShowCEFwModal: false,
},
});
message.success('创建成功!');
callback && callback();
}
return retcode;
},
*document_change_parser({ payload = {}, callback }, { call, put }) {
*document_change_parser({ payload = {} }, { call, put }) {
const { data, response } = yield call(
kbService.document_change_parser,
payload,
);
const { retcode, data: res, retmsg } = data;
if (retcode === 0) {
put({
type: 'updateState',
payload: {
isShowSegmentSetModal: false,
},
});
message.success('修改成功!');
callback && callback();
}
},
},
reducers: {
updateState(state, { payload }) {
return {
...state,
...payload,
};
return retcode;
},
},
};
export default Model;
export default model;