签入版本
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# H. 前端 Store 速查
|
||||
|
||||
:::tip 概述
|
||||
Pinia store 模块速查(store/modules/ 七个):user/asyncRoute/tabsView/designSetting/projectSetting/lockscreen/ossConfig。详见 [9.6 状态管理(Pinia)](../frontend/store)。
|
||||
:::
|
||||
|
||||
## 模块速查
|
||||
|
||||
| 模块 | 职责 | 关键状态/动作 |
|
||||
|------|------|-------------|
|
||||
| user.ts | 登录与身份 | token、userInfo;Login/GetInfo/LogOut |
|
||||
| asyncRoute.ts | 动态路由 | 菜单树、generateRoutes、isDynamicAddedRoute |
|
||||
| tabsView.ts | 标签页 | visitedTabs、cachedTabs、delCachedTab |
|
||||
| designSetting.ts | 设计设置 | 主题色、水印、灰度/色弱 |
|
||||
| projectSetting.ts | 项目设置 | 布局模式、标签页/面包屑开关 |
|
||||
| lockscreen.ts | 锁屏 | 锁定状态、解锁 |
|
||||
| ossConfig.ts | 存储配置 | OSS 配置状态 |
|
||||
|
||||
## 辅助文件
|
||||
|
||||
```text
|
||||
store/index.ts createPinia(含持久化插件)
|
||||
store/mutation-types.ts 存储键常量(ACCESS_TOKEN / FIRST_ROUTE)
|
||||
store/types.ts 类型定义
|
||||
store/plugins/ 持久化等插件
|
||||
```
|
||||
|
||||
## 关键流转
|
||||
|
||||
```text
|
||||
登录:Login → data.access_token → storage(ACCESS_TOKEN) + store.token
|
||||
首进:守卫 → GetInfo(getUser)→ userInfo.permissions
|
||||
→ generateRoutes(getMenus)→ 动态路由注入
|
||||
登出/401:清 storage + store → 跳登录
|
||||
|
||||
持久化:token/用户设置持久化;用户信息/菜单内存态(刷新重拉)
|
||||
```
|
||||
|
||||
## 使用模式
|
||||
|
||||
```ts
|
||||
import { useUserStore, useUserStoreWidthOut } from '@/store/modules/user';
|
||||
|
||||
const userStore = useUserStore(); // setup 内
|
||||
const token = userStore.token;
|
||||
```
|
||||
Reference in New Issue
Block a user