text: import { queryNotices,updatePassword } from '../services/api';
  import {optSucessNotify,optFailedNotify} from '../utils/notify'
  import {ENUMS} from '../utils/enums'
  
  export default {
    namespace: 'global',
  
    state: {
      collapsed: false,
      notices: [],
    },
  
    effects: {
      *fetchNotices(_, { call, put }) {
        const data = yield call(queryNotices);
        yield put({
          type: 'saveNotices',
          payload: data,
        });
        yield put({
          type: 'user/changeNotifyCount',
          payload: data.length,
        });
      },
  
  
      *updatePassword({payload},{call,put}){
        const response = yield call(updatePassword, payload);
        if(response && response.code==ENUMS.ErrCode.Success){
            optSucessNotify("操作成功");
            yield put({
                type: 'reload',
            });
        }else{
          if(response){
            optFailedNotify("操作失败："+response.message)
          }else{
            optFailedNotify("操作失败：")
          }
           
        }
    },
  
      *clearNotices({ payload }, { put, select }) {
        yield put({
          type: 'saveClearedNotices',
          payload,
        });
        const count = yield select(state => state.global.notices.length);
        yield put({
          type: 'user/changeNotifyCount',
          payload: count,
        });
      },
    },
  
    reducers: {
      changeLayoutCollapsed(state, { payload }) {
        return {
          ...state,
          collapsed: payload,
        };
      },
      saveNotices(state, { payload }) {
        return {
          ...state,
          notices: payload,
        };
      },
      saveClearedNotices(state, { payload }) {
        return {
          ...state,
          notices: state.notices.filter(item => item.type !== payload),
        };
      },
    },
  
    subscriptions: {
      setup({ history }) {
        // Subscribe history(url) change, trigger `load` action if pathname is `/`
        return history.listen(({ pathname, search }) => {
          if (typeof window.ga !== 'undefined') {
            window.ga('send', 'pageview', pathname + search);
          }
        });
      },
    },
  };
  