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;
|