如何在 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: '/'
}
]
欢迎任何反馈,以便更好地改进:)
我真的很难弄清楚如何在触发 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: '/'
}
]
欢迎任何反馈,以便更好地改进:)