Browse Source

react: hack router push callback

Sendya 5 years ago
parent
commit
e2f827359f
3 changed files with 13 additions and 1 deletions
  1. 5 0
      src/config/router.config.js
  2. 7 0
      src/router/index.js
  3. 1 1
      src/views/user/Login.vue

+ 5 - 0
src/config/router.config.js

@@ -355,6 +355,11 @@ export const constantRouterMap = [
         path: 'register-result',
         name: 'registerResult',
         component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult')
+      },
+      {
+        path: 'recover',
+        name: 'recover',
+        component: undefined
       }
     ]
   },

+ 7 - 0
src/router/index.js

@@ -2,6 +2,13 @@ import Vue from 'vue'
 import Router from 'vue-router'
 import { constantRouterMap } from '@/config/router.config'
 
+// hack router push callback
+const originalPush = Router.prototype.push
+Router.prototype.push = function push (location, onResolve, onReject) {
+  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
+  return originalPush.call(this, location).catch(err => err)
+}
+
 Vue.use(Router)
 
 export default new Router({

+ 1 - 1
src/views/user/Login.vue

@@ -261,7 +261,7 @@ export default {
         })
       })
       */
-      this.$router.push({ name: 'Analysis' })
+      this.$router.push({ path: '/' })
       // 延迟 1 秒显示欢迎信息
       setTimeout(() => {
         this.$notification.success({