如何在 Electron App Activate 事件上加载特定路由

How to Load Certain Route on Electron App Activate Event

我真的很难弄清楚如何在触发 activate 事件时加载特定路线。我正在使用 Electron-Vue framework 创建一个 Electron 应用程序,我有以下路线:

export default [
  {
    path: '/',
    name: 'login-page',
    component: require('components/LoginPageView')
  },
  {
    path: '/tracker',
    name: 'tracker-page',
    component: require('components/TrackerPageView')
  },
  {
    path: '*',
    redirect: '/'
  }
]

现在,我想在 app.on('activate') 触发后加载 /tracker 路由:

app.on('activate', () => {
  if (mainWindow === null) {
    createWindow()
  }
})

这背后的主要原因是我正在创建两个 window Electron 应用程序。第一个 window 是登录名,第二个 window 是用户配置文件。当用户已经登录并使用系统关闭按钮关闭了应用程序时,应用程序停留在 Dock 栏中,当应用程序被点击时,Electron activate 事件被触发并再次显示登录屏幕。由于用户已经登录,我不希望用户再次显示登录 window。任何建议都将不胜感激。

我终于能够通过使用Vue-Router Per-Route Guard beforeEnter 方法来实现这一点。这是我的草稿:

let auth = true

export default [
  {
    path: '/',
    name: 'login-page',
    component: require('components/LoginPageView'),
    meta: {
      auth: false
    },
    beforeEnter: (to, from, next) => {
      if (auth) {
        next('/tracker')
      } else {
        next()
      }
    }
  },
  {
    path: '/tracker',
    name: 'tracker-page',
    component: require('components/TrackerPageView'),
    meta: {
      auth: true
    }
  },
  {
    path: '*',
    redirect: '/'
  }
]

欢迎任何反馈,以便更好地改进:)