1
This commit is contained in:
@@ -44,19 +44,14 @@ const app = new Vue({
|
|||||||
console.log('框架版本:', AdminFramework.version)
|
console.log('框架版本:', AdminFramework.version)
|
||||||
console.log('配置信息:', this.$config)
|
console.log('配置信息:', this.$config)
|
||||||
|
|
||||||
// 设置系统标题
|
// 刷新时恢复菜单和标题
|
||||||
await this.$store.dispatch('app/getSysTitle', {
|
|
||||||
defaultTitle: this.$config.title,
|
|
||||||
defaultLogo: ''
|
|
||||||
})
|
|
||||||
|
|
||||||
// 刷新时恢复菜单
|
|
||||||
const token = this.$store.state.user.token
|
const token = this.$store.state.user.token
|
||||||
const authorityMenus = localStorage.getItem('authorityMenus')
|
const authorityMenus = localStorage.getItem('authorityMenus')
|
||||||
|
|
||||||
if (token && authorityMenus) {
|
if (token && authorityMenus) {
|
||||||
console.log('检测到登录状态,恢复菜单...')
|
console.log('检测到登录状态,恢复菜单和标题...')
|
||||||
try {
|
try {
|
||||||
|
// 先恢复菜单
|
||||||
await this.$store.dispatch('user/setAuthorityMenus', {
|
await this.$store.dispatch('user/setAuthorityMenus', {
|
||||||
Main: AdminFramework.Main,
|
Main: AdminFramework.Main,
|
||||||
ParentView: AdminFramework.ParentView,
|
ParentView: AdminFramework.ParentView,
|
||||||
@@ -64,9 +59,19 @@ const app = new Vue({
|
|||||||
authorityMenus: authorityMenus
|
authorityMenus: authorityMenus
|
||||||
})
|
})
|
||||||
console.log('菜单恢复成功')
|
console.log('菜单恢复成功')
|
||||||
|
|
||||||
|
// 再获取系统标题(已登录,会从接口获取)
|
||||||
|
await this.$store.dispatch('app/getSysTitle', {
|
||||||
|
defaultTitle: this.$config.title,
|
||||||
|
defaultLogo: ''
|
||||||
|
})
|
||||||
} catch (error) {
|
} 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) {
|
if (mainMenu && mainMenu.children) {
|
||||||
commit('setMenuList', 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 }) {
|
async handleLogin({ state, commit, dispatch }, { userFrom, Main, ParentView, Page404 }) {
|
||||||
|
|||||||
@@ -53,9 +53,15 @@ export default {
|
|||||||
Page404
|
Page404
|
||||||
})
|
})
|
||||||
|
|
||||||
// 跳转到首页(使用 location.href 触发完整页面加载)
|
this.$Message.success('登录成功!')
|
||||||
|
|
||||||
|
// 跳转到首页
|
||||||
|
// 使用 replace 避免返回时回到登录页
|
||||||
setTimeout(() => {
|
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)
|
}, 500)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('登录失败:', error)
|
console.error('登录失败:', error)
|
||||||
|
|||||||
Reference in New Issue
Block a user