From fc9565c157884007bdba4eb44882b5a9e5ee5bf6 Mon Sep 17 00:00:00 2001 From: Baorong Li Date: Mon, 24 Jun 2019 20:50:09 +0800 Subject: [PATCH] add a flag to detect refresh saving query times in model/app.js --- src/models/app.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/models/app.js b/src/models/app.js index e3895d9..0157f3e 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -69,9 +69,11 @@ export default { }, effects: { *query({ payload }, { call, put, select }) { - const { success, user } = yield call(queryUserInfo, payload) + // store isInit to prevent query trigger by refresh + const isInit = store.get('isInit') + if (isInit) return const { locationPathname } = yield select(_ => _.app) - + const { success, user } = yield call(queryUserInfo, payload) if (success && user) { const { list } = yield call(queryRouteList) const { permissions } = user @@ -96,6 +98,7 @@ export default { store.set('routeList', routeList) store.set('permissions', permissions) store.set('user', user) + store.set('isInit', true) if (pathMatchRegexp(['/', '/login'], window.location.pathname)) { router.push({ pathname: '/dashboard', @@ -117,6 +120,7 @@ export default { store.set('routeList', []) store.set('permissions', { visit: [] }) store.set('user', {}) + store.set('isInit', false) yield put({ type: 'query' }) } else { throw data