Files
CN_Tool_client/frontend/src/stores/interface/index.ts
yexb f7d297decf docs(design): 删除磁盘监控设计文档并更新前端页面结构规范
- 删除 frontend/src/views/systemMonitor/2026-04-22-disk-monitor-design.md 设计文档
- 删除 frontend/src/views/tools/addLedger/API_DEBUG.md 调试文档
- 在 AGENTS.md 中新增前端页面结构归档章节,规范复杂工具页结构
- 明确 index.vue、components/、utils/ 职责边界和拆分原则
- 规定页面级类型和 contract 脚本管理方式
- 统一复杂页面拆分优先顺序和注意事项
2026-05-14 09:17:25 +08:00

84 lines
1.7 KiB
TypeScript

import { type Activate } from '@/api/activate/interface'
export type LayoutType = 'vertical' | 'classic' | 'transverse' | 'columns'
export type AssemblySizeType = 'large' | 'default' | 'small'
export type LanguageType = 'zh' | 'en' | null
/* GlobalState */
export interface GlobalState {
layout: LayoutType
assemblySize: AssemblySizeType
language: LanguageType
maximize: boolean
primary: string
isDark: boolean
isGrey: boolean
isWeak: boolean
asideInverted: boolean
headerInverted: boolean
isCollapse: boolean
accordion: boolean
breadcrumb: boolean
breadcrumbIcon: boolean
tabs: boolean
tabsIcon: boolean
footer: boolean
}
/* UserState */
export interface UserState {
accessToken: string
refreshToken: string
isRefreshToken: boolean
exp: number
userInfo: { id: string; name: string; loginName: string }
}
/* tabsMenuProps */
export interface TabsMenuProps {
icon: string
title: string
path: string
name: string
cacheName?: string
close: boolean
isKeepAlive: boolean
unshift?: boolean
}
/* TabsState */
export interface TabsState {
tabsMenuList: TabsMenuProps[]
}
/* AuthState */
export interface AuthState {
routeName: string
authButtonList: {
[key: string]: string[]
}
authMenuList: Menu.MenuOptions[]
showMenuFlag: boolean
activateInfo: Activate.ActivationCodePlaintext
activateInfoLoaded: boolean
}
/* KeepAliveState */
export interface KeepAliveState {
keepAliveName: string[]
}
/* HomeRecentVisitedItem */
export interface HomeRecentVisitedItem {
path: string
visitedAt: number
}
/* HomeState */
export interface HomeState {
favoritePaths: string[]
recentVisited: HomeRecentVisitedItem[]
}