Skip to content

H. 前端 Store 速查 ​

概述

前端使用 Pinia 进行全局状态管理,核心 Store 定义在 ui/src/store/modules/ 目录下。

userStore ​

文件:store/modules/user.ts

状态 ​

字段类型说明
tokenstringJWT Token
usernamestring用户名
avatarstring头像 URL
permissionsstring[]权限列表
infoobject用户信息

Actions ​

Action说明返回
login(userInfo)登录Promise
GetInfo()获取用户信息Promise
logout()登出Promise

使用示例 ​

typescript
import { useUserStore } from '@/store/modules/user';

const userStore = useUserStore();

// 登录
await userStore.login({ username: 'admin', password: '123456' });

// 获取用户信息
const info = userStore.getUserInfo;
const permissions = userStore.getPermissions;

// 登出
await userStore.logout();

asyncRouteStore ​

文件:store/modules/asyncRoute.ts

状态 ​

字段类型说明
menusarray菜单列表
keepAliveComponentsstring[]缓存的组件名
isDynamicAddedRouteboolean是否已添加动态路由

Actions ​

Action说明
generateRoutes(userInfo)从后端获取菜单并生成路由
setDynamicAddedRoute(flag)设置动态路由添加状态
setKeepAliveComponents(components)设置 keep-alive 组件列表

projectSettingStore ​

文件:store/modules/projectSetting.ts

字段说明
layout布局模式(side 侧边 / top 顶部 / mix 拆分)
navTheme导航主题(light / dark)
headerTheme标题栏主题
menuSetting菜单配置(宽度、折叠、固定等)
multiTabsSetting多标签页配置
permissionMode菜单权限模式(ROLE / BACK)
isWaterMark是否显示水印

tabsViewStore ​

文件:store/modules/tabsView.ts

字段说明
tabsList标签页列表
Action说明
addTabs(route)添加标签
closeCurrentTab(route)关闭当前标签
closeOtherTabs(route, activeKey)关闭其他标签
closeAllTabs()关闭所有标签

lockscreenStore ​

文件:store/modules/lockscreen.ts

字段说明
isLock是否锁屏
lockTime锁屏剩余时间
Action说明
setLock(flag)设置锁屏状态(持久化到 Storage)
setLockTime(time)设置锁屏时间

在组件外使用 ​

typescript
// 在 setup 外使用 Store
import { useUserStoreWidthOut } from '@/store/modules/user';

const userStore = useUserStoreWidthOut();

小蚂蚁云团队 · 提供技术支持