49 lines
781 B
TypeScript
49 lines
781 B
TypeScript
import { Effect, Reducer } from 'umi';
|
|
|
|
import { BasicGood } from './data.d';
|
|
import { queryBasicProfile } from './service';
|
|
|
|
export interface StateType {
|
|
basicGoods: BasicGood[];
|
|
}
|
|
|
|
export interface ModelType {
|
|
namespace: string;
|
|
state: StateType;
|
|
effects: {
|
|
fetchBasic: Effect;
|
|
};
|
|
reducers: {
|
|
show: Reducer<StateType>;
|
|
};
|
|
}
|
|
|
|
const Model: ModelType = {
|
|
namespace: 'profileBasic',
|
|
|
|
state: {
|
|
basicGoods: [],
|
|
},
|
|
|
|
effects: {
|
|
*fetchBasic(_, { call, put }) {
|
|
const response = yield call(queryBasicProfile);
|
|
yield put({
|
|
type: 'show',
|
|
payload: response,
|
|
});
|
|
},
|
|
},
|
|
|
|
reducers: {
|
|
show(state, { payload }) {
|
|
return {
|
|
...state,
|
|
...payload,
|
|
};
|
|
},
|
|
},
|
|
};
|
|
|
|
export default Model;
|