Skip to content

路由配置与访问控制

router/index.ts 定义了煤热解仿真系统的空间拓扑结构。它通过 三层 Layout 架构 实现了业务场景的隔离,并利用 Vue Router 的导航守卫建立了管理员与普通用户之间的安全防线。


系统采用“嵌套路由”方案,根据业务职能将应用划分为:主模拟区离线分析区管理后台

多布局 (Multi-Layout) 隔离

根据 URL 前缀自动匹配 MainLayout(仿真)、AnalyzeLayout(分析)或 AdminLayout(后台)。

按需加载 (Lazy Loading)

通过 () => import() 语法实现组件分包。仅在用户访问对应路径时才加载组件代码,极大优化了首屏加载性能。

管理员路由守卫

/admin 路径执行 beforeEnter 钩子,从持久化存储中校验用户的 is_admin 权限。

默认语义化重定向

当访问根路径 / 时,系统会自动重定向至 /simulation,确保用户始终处于有效的工作界面。

  1. 路径解析:Vue Router 监听 URL 变化并匹配路由表。
  2. 钩子检查:如果是管理员路径,执行权限前置检查。
  3. 布局挂载:渲染对应的顶层 Layout 组件(包含公共导航或侧边栏)。
  4. 异步载入:后台发起 HTTP 请求获取对应业务组件的 JavaScript 包。
  5. 视图更新:在 <router-view /> 插槽中填充业务内容。

访问路径映射组件对应布局权限级别
/CoalSimPanelMainLayout游客/普通用户
/nmr-predictionCoalNmrPredictionPanelMainLayout游客/普通用户
/tools/xrdXRDAnalyzeLayout游客/普通用户
/adminAdminLayoutAdminLayout管理员 (is_admin)