1
This commit is contained in:
@@ -44,19 +44,14 @@ const app = new Vue({
|
||||
console.log('框架版本:', AdminFramework.version)
|
||||
console.log('配置信息:', this.$config)
|
||||
|
||||
// 设置系统标题
|
||||
await this.$store.dispatch('app/getSysTitle', {
|
||||
defaultTitle: this.$config.title,
|
||||
defaultLogo: ''
|
||||
})
|
||||
|
||||
// 刷新时恢复菜单
|
||||
// 刷新时恢复菜单和标题
|
||||
const token = this.$store.state.user.token
|
||||
const authorityMenus = localStorage.getItem('authorityMenus')
|
||||
|
||||
if (token && authorityMenus) {
|
||||
console.log('检测到登录状态,恢复菜单...')
|
||||
console.log('检测到登录状态,恢复菜单和标题...')
|
||||
try {
|
||||
// 先恢复菜单
|
||||
await this.$store.dispatch('user/setAuthorityMenus', {
|
||||
Main: AdminFramework.Main,
|
||||
ParentView: AdminFramework.ParentView,
|
||||
@@ -64,9 +59,19 @@ const app = new Vue({
|
||||
authorityMenus: authorityMenus
|
||||
})
|
||||
console.log('菜单恢复成功')
|
||||
|
||||
// 再获取系统标题(已登录,会从接口获取)
|
||||
await this.$store.dispatch('app/getSysTitle', {
|
||||
defaultTitle: this.$config.title,
|
||||
defaultLogo: ''
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('恢复菜单失败:', error)
|
||||
console.error('恢复失败:', error)
|
||||
}
|
||||
} else {
|
||||
// 未登录,使用默认标题
|
||||
console.log('未登录,使用默认标题')
|
||||
document.title = this.$config.title
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -100,6 +100,23 @@ export default {
|
||||
|
||||
if (mainMenu && mainMenu.children) {
|
||||
commit('setMenuList', mainMenu.children)
|
||||
|
||||
// 动态添加路由(重要!解决登录后点击菜单空白的问题)
|
||||
if (window.rootVue && window.rootVue.$router) {
|
||||
// 先移除旧的主路由(如果存在)
|
||||
const router = window.rootVue.$router
|
||||
const routes = router.options.routes
|
||||
|
||||
// 查找并移除旧的主路由
|
||||
const mainRouteIndex = routes.findIndex(r => r.path === '/')
|
||||
if (mainRouteIndex !== -1) {
|
||||
routes.splice(mainRouteIndex, 1)
|
||||
}
|
||||
|
||||
// 添加新的主路由
|
||||
router.addRoute(mainMenu)
|
||||
console.log('动态路由已添加')
|
||||
}
|
||||
}
|
||||
},
|
||||
async handleLogin({ state, commit, dispatch }, { userFrom, Main, ParentView, Page404 }) {
|
||||
|
||||
@@ -53,9 +53,15 @@ export default {
|
||||
Page404
|
||||
})
|
||||
|
||||
// 跳转到首页(使用 location.href 触发完整页面加载)
|
||||
this.$Message.success('登录成功!')
|
||||
|
||||
// 跳转到首页
|
||||
// 使用 replace 避免返回时回到登录页
|
||||
setTimeout(() => {
|
||||
window.location.href = window.location.origin + window.location.pathname + '#/'
|
||||
this.$router.replace({ path: '/home' }).catch(() => {
|
||||
// 如果路由跳转失败,刷新页面
|
||||
window.location.href = window.location.origin + window.location.pathname + '#/'
|
||||
})
|
||||
}, 500)
|
||||
} catch (error) {
|
||||
console.error('登录失败:', error)
|
||||
|
||||
Reference in New Issue
Block a user