Parcourir la source

登录使用replace,登出携带redirect for #1728

yoyo837 il y a 7 ans
Parent
commit
f904467d30
1 fichiers modifiés avec 13 ajouts et 20 suppressions
  1. 13 20
      src/models/login.js

+ 13 - 20
src/models/login.js

@@ -31,28 +31,21 @@ export default {
             return;
           }
         }
-        yield put(routerRedux.push(redirect || '/'));
+        yield put(routerRedux.replace(redirect || '/'));
       }
     },
-    *logout(_, { put, select }) {
-      try {
-        // get location pathname
-        const urlParams = new URL(window.location.href);
-        const pathname = yield select(state => state.routing.location.pathname);
-        // add the parameters in the url
-        urlParams.searchParams.set('redirect', pathname);
-        window.history.replaceState(null, 'login', urlParams.href);
-      } finally {
-        yield put({
-          type: 'changeLoginStatus',
-          payload: {
-            status: false,
-            currentAuthority: 'guest',
-          },
-        });
-        reloadAuthorized();
-        yield put(routerRedux.push('/user/login'));
-      }
+    *logout(_, { put }) {
+      yield put({
+        type: 'changeLoginStatus',
+        payload: {
+          status: false,
+          currentAuthority: 'guest',
+        },
+      });
+      reloadAuthorized();
+      yield put(
+        routerRedux.push(`/user/login?redirect=${encodeURIComponent(window.location.href)}`)
+      );
     },
   },