home.js 2.5 KB
import { notifyError } from '../services/app.js';
import { getBanner,getPlanList,getMyPlan,getCustomerInfo,GetRoomList,getSearchList,setClickRecord} from '../services/home';

export default {
  namespace: 'home',
  state: {
    PersonalDetail:{},
    AllPlanList:[],
    MyPlanList:[],
    searchList:[]
  },
  effects: {
    *getBanner({ payload, callback }, { call, put }) {
      const { data } = yield call(getBanner, payload);
      if (data.status === true) {
        if (callback) callback(data.data);
      } else {
        // notifyError(data.message);
      }
    },


    *getPlanList({ payload, callback }, { call, put }) {
      const { data } = yield call(getPlanList, payload);
      if (data.status === true) {
        if (callback) callback(data.data);
        yield put({ type: 'updatePlanList' ,payload:{planList:data.data}});
      } else {
        notifyError('退出失败!');
      }
    },
    *getMyPlan({ payload, callback }, { call, put }) {
      const { data } = yield call(getMyPlan, payload);
      if (data.status === true) {

        if (callback) callback(data.data);
      } else {
        // notifyError(data.message);
      }
    },
    *getCustomerInfo({ payload, callback }, { call, put }) {
      const { data } = yield call(getCustomerInfo, payload);
        if (callback) callback(data);
    },
    *getRoomList({ payload, callback }, { call, put }) {
      const { data } = yield call(GetRoomList, payload);
      if (data.code === 0) {
        if (callback) callback(data);
      } else {
        notifyError(data.message);
      }
    },
    *getSearchList({ payload, callback }, { call, put }) {
      const { data } = yield call(getSearchList, payload);
      if (data.status) {
        if (callback) callback(data.data);
        yield put({ type: 'updateSearchList' ,payload:{searchList:data.data}});
      } else {
        notifyError(data.message);
      }
    },
    *setClickRecord({ payload, callback }, { call, put }) {
      const { data } = yield call(setClickRecord, payload);
      if (data.status) {
        if (callback) callback(data.data);
      } else {
        notifyError(data.message);
      }
    }

  },
  reducers: {
    savePersonalDetail(state, { payload }) {
      return { ...state, PersonalDetail: payload.microPlanInfo };
    },
    updatePlanList(state, { payload }){
      return { 
        ...state,
        AllPlanList: payload.planList };
    },
    updateSearchList(state, { payload }){
      return { 
        ...state,
        ...payload };
    }
  },
  subscriptions: {

  },
};