Skip to content

06 状态管理

6.1 Store 结构

Store 入口为 src/store/index.js,模块位于 src/store/modules/。当前核心模块包括:

模块职责
userToken、当前用户、登录和退出
access菜单、角色、权限和动态路由
system系统配置和运行时信息
decoration装修页面、区块和编辑状态

6.2 用户状态

用户模块集中管理登录凭证、当前用户、角色和登录/退出动作。退出时同步清理 Token、用户信息、动态路由和需要隔离的本地缓存。

6.3 访问权限

access 模块把后端菜单转换为前端导航和动态路由。动态路由生成后避免重复注册;刷新时按登录态恢复。权限变化需同步更新菜单、面包屑、标签页和操作按钮。

6.4 装修状态

装修模块维护当前页面、区块列表、选中区块、属性配置、草稿和预览状态。编辑器操作通过明确的 mutation/action 更新,避免多个组件直接修改同一份嵌套对象。

6.5 使用原则

  • 组件临时状态留在组件内部。
  • 跨页面共享状态才进入 Vuex。
  • 异步请求放在 action 或 API 层,mutation 保持同步。
  • Token、权限、公司/租户信息设置明确清理时机。