Bläddra i källkod

fix #729 prevent pollution url history

jim 8 år sedan
förälder
incheckning
87ca9fd5ab
2 ändrade filer med 9 tillägg och 4 borttagningar
  1. 8 3
      src/layouts/BasicLayout.js
  2. 1 1
      src/models/login.js

+ 8 - 3
src/layouts/BasicLayout.js

@@ -102,10 +102,15 @@ class BasicLayout extends React.PureComponent {
     // According to the url parameter to redirect
     // 这里是重定向的,重定向到 url 的 redirect 参数所示地址
     const urlParams = new URL(window.location.href);
-    const redirect = urlParams.searchParams.get('redirect') || '/dashboard/analysis';
+
+    const redirect = urlParams.searchParams.get('redirect');
     // Remove the parameters in the url
-    urlParams.searchParams.delete('redirect');
-    window.history.pushState(null, 'redirect', urlParams.href);
+    if (redirect) {
+      urlParams.searchParams.delete('redirect');
+      window.history.replaceState(null, 'redirect', urlParams.href);
+    } else {
+      return '/dashboard/analysis';
+    }
     return redirect;
   }
   handleMenuCollapse = (collapsed) => {

+ 1 - 1
src/models/login.js

@@ -31,7 +31,7 @@ export default {
         const pathname = yield select(state => state.routing.location.pathname);
         // add the parameters in the url
         urlParams.searchParams.set('redirect', pathname);
-        window.history.pushState(null, 'login', urlParams.href);
+        window.history.replaceState(null, 'login', urlParams.href);
       } finally {
         // yield put(routerRedux.push('/user/login'));
         // Login out after permission changes to admin or user