415 lines
7.9 KiB
YAML
415 lines
7.9 KiB
YAML
# OpenSpec-lite: 模块清单(可逐步补全)
|
||
# 目的:让 AI 在“选模块”阶段就能定位入口与主要依赖。
|
||
|
||
modules:
|
||
- id: boot
|
||
name: 应用入口与初始化
|
||
type: core
|
||
entrypoints:
|
||
- src/main.ts
|
||
- library/index.ts
|
||
keywords:
|
||
- createApp
|
||
- setupVab
|
||
- setupI18n
|
||
- setupStore
|
||
- setupRouter
|
||
|
||
- id: setup-vab
|
||
name: setupVab(library/index.ts 自动加载/图标/样式/插件)
|
||
type: core
|
||
entrypoints:
|
||
- library/index.ts
|
||
- library/plugins/
|
||
- library/styles/
|
||
- src/icon/index.ts
|
||
keywords:
|
||
- require.context
|
||
- VabIcon
|
||
- createHead
|
||
|
||
- id: router
|
||
name: 路由与权限
|
||
type: core
|
||
entrypoints:
|
||
- src/router/index.ts
|
||
- src/router/permissions.ts
|
||
keywords:
|
||
- constantRoutes
|
||
- asyncRoutes
|
||
- meta
|
||
|
||
- id: store
|
||
name: Pinia 状态
|
||
type: core
|
||
entrypoints:
|
||
- src/store/index.ts
|
||
- src/store/modules
|
||
keywords:
|
||
- createPinia
|
||
|
||
- id: store-settings
|
||
name: Settings Store(主题/布局等全局配置)
|
||
type: store
|
||
entrypoints:
|
||
- src/store/modules/settings.ts
|
||
- library/styles/variables/
|
||
keywords:
|
||
- updateTheme
|
||
- themeName
|
||
- menuWidth
|
||
|
||
- id: store-routes
|
||
name: Routes Store(路由拦截/菜单路由设置)
|
||
type: store
|
||
entrypoints:
|
||
- src/store/modules/routes.ts
|
||
keywords:
|
||
- setRoutes
|
||
- resetRouter
|
||
|
||
- id: store-user
|
||
name: User Store(登录/用户信息/登出)
|
||
type: store
|
||
entrypoints:
|
||
- src/store/modules/user.ts
|
||
keywords:
|
||
- getUserInfo
|
||
- resetAll
|
||
|
||
- id: store-tabs
|
||
name: Tabs Store(visitedRoutes)
|
||
type: store
|
||
entrypoints:
|
||
- src/store/modules/tabs.ts
|
||
keywords:
|
||
- visitedRoutes
|
||
- noClosable
|
||
|
||
- id: store-errorlog
|
||
name: ErrorLog Store(错误日志收集)
|
||
type: store
|
||
entrypoints:
|
||
- src/store/modules/errorLog.ts
|
||
keywords:
|
||
- addErrorLog
|
||
|
||
- id: i18n
|
||
name: 国际化
|
||
type: core
|
||
entrypoints:
|
||
- src/i18n/index.ts
|
||
keywords:
|
||
- createI18n
|
||
- translate
|
||
|
||
- id: api-system
|
||
name: API 层(src/api + request 封装)
|
||
type: core
|
||
entrypoints:
|
||
- src/api/
|
||
- src/utils/request.ts
|
||
keywords:
|
||
- axios
|
||
- interceptors
|
||
- refreshToken
|
||
|
||
- id: config-system
|
||
name: 配置系统(src/config 聚合)
|
||
type: core
|
||
entrypoints:
|
||
- src/config/index.js
|
||
- src/config
|
||
keywords:
|
||
- cli.config
|
||
- theme.config
|
||
- net.config
|
||
|
||
- id: access-control
|
||
name: 访问控制(ACL + hasPermission + v-permissions)
|
||
type: core
|
||
entrypoints:
|
||
- src/store/modules/acl.ts
|
||
- src/utils/permission.ts
|
||
- library/plugins/directive.ts
|
||
keywords:
|
||
- hasPermission
|
||
- v-permissions
|
||
|
||
- id: mock
|
||
name: 本地 Mock
|
||
type: tooling
|
||
entrypoints:
|
||
- mock/index.js
|
||
- mock/controller
|
||
keywords:
|
||
- setupMiddlewares
|
||
- mockjs
|
||
- responseFake
|
||
|
||
- id: icons
|
||
name: SVG Icons(src/icon)
|
||
type: ui
|
||
entrypoints:
|
||
- src/icon/index.ts
|
||
- src/icon
|
||
keywords:
|
||
- require.context
|
||
- svg
|
||
|
||
- id: styles
|
||
name: 样式体系(library/styles)
|
||
type: ui
|
||
entrypoints:
|
||
- library/styles/vab.scss
|
||
- library/styles/variables
|
||
- library/styles/background
|
||
keywords:
|
||
- scss
|
||
- variables
|
||
|
||
- id: ui-components
|
||
name: Vab 组件库
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/
|
||
keywords:
|
||
- Vab
|
||
- ElementPlus
|
||
|
||
- id: vab-app
|
||
name: VabApp
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabApp/
|
||
|
||
- id: vab-app-main
|
||
name: VabAppMain
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabAppMain/
|
||
|
||
- id: vab-avatar
|
||
name: VabAvatar
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabAvatar/
|
||
|
||
- id: vab-breadcrumb
|
||
name: VabBreadcrumb
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabBreadcrumb/
|
||
|
||
- id: vab-card
|
||
name: VabCard
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabCard/
|
||
|
||
- id: vab-colorful-card
|
||
name: VabColorfulCard
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabColorfulCard/
|
||
|
||
- id: vab-column-bar
|
||
name: VabColumnBar
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabColumnBar/
|
||
|
||
- id: vab-fold
|
||
name: VabFold
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabFold/
|
||
|
||
- id: vab-footer
|
||
name: VabFooter
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabFooter/
|
||
|
||
- id: vab-full-screen
|
||
name: VabFullScreen
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabFullScreen/
|
||
|
||
- id: vab-language
|
||
name: VabLanguage
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabLanguage/
|
||
|
||
- id: vab-link
|
||
name: VabLink
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabLink/
|
||
|
||
- id: vab-logo
|
||
name: VabLogo
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabLogo/
|
||
|
||
- id: vab-router-view
|
||
name: VabRouterView
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabRouterView/
|
||
|
||
- id: vab-query-form
|
||
name: VabQueryForm
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabQueryForm/
|
||
|
||
- id: vab-error-log
|
||
name: VabErrorLog
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabErrorLog/
|
||
|
||
- id: vab-menu
|
||
name: VabMenu
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabMenu/
|
||
|
||
- id: vab-nav
|
||
name: VabNav
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabNav/
|
||
|
||
- id: vab-tabs
|
||
name: VabTabs
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabTabs/
|
||
|
||
- id: vab-refresh
|
||
name: VabRefresh
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabRefresh/
|
||
|
||
- id: vab-search
|
||
name: VabSearch
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabSearch/
|
||
|
||
- id: vab-lock
|
||
name: VabLock
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabLock/
|
||
|
||
- id: vab-notice
|
||
name: VabNotice
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabNotice/
|
||
|
||
- id: vab-header
|
||
name: VabHeader
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabHeader/
|
||
|
||
- id: vab-sidebar
|
||
name: VabSideBar
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabSideBar/
|
||
|
||
- id: layouts
|
||
name: 布局体系
|
||
type: ui
|
||
entrypoints:
|
||
- library/layouts/index.vue
|
||
- library/layouts/
|
||
keywords:
|
||
- Layout
|
||
|
||
- id: vab-theme
|
||
name: Theme 系统(VabTheme)
|
||
type: ui
|
||
entrypoints:
|
||
- library/components/VabTheme/
|
||
- src/store/modules/settings.ts
|
||
- library/plugins/vab.ts
|
||
keywords:
|
||
- theme
|
||
- updateTheme
|
||
- $pub
|
||
|
||
- id: plugins
|
||
name: Plugins(全局注入/指令/错误处理)
|
||
type: core
|
||
entrypoints:
|
||
- library/plugins/
|
||
keywords:
|
||
- app.use
|
||
- globalProperties
|
||
|
||
- id: plugin-vab
|
||
name: plugin-vab(gp + mitt 事件总线)
|
||
type: plugin
|
||
entrypoints:
|
||
- library/plugins/vab.ts
|
||
keywords:
|
||
- $pub
|
||
- $sub
|
||
- mitt
|
||
|
||
- id: plugin-directive
|
||
name: plugin-directive(v-permissions)
|
||
type: plugin
|
||
entrypoints:
|
||
- library/plugins/directive.ts
|
||
keywords:
|
||
- v-permissions
|
||
- hasPermission
|
||
|
||
- id: plugin-errorlog
|
||
name: plugin-errorlog(全局错误捕获)
|
||
type: plugin
|
||
entrypoints:
|
||
- library/plugins/errorLog.ts
|
||
keywords:
|
||
- errorHandler
|
||
- useErrorLogStore
|
||
|
||
- id: plugin-support
|
||
name: plugin-support(构建信息/依赖检查)
|
||
type: plugin
|
||
entrypoints:
|
||
- library/plugins/support.ts
|
||
keywords:
|
||
- __APP_INFO__
|
||
|
||
- id: build
|
||
name: 构建扩展
|
||
type: tooling
|
||
entrypoints:
|
||
- vue.config.js
|
||
- library/build
|
||
keywords:
|
||
- chainWebpack
|
||
- createVuePlugin
|
||
|
||
- id: plop
|
||
name: Plop 代码生成器
|
||
type: tooling
|
||
entrypoints:
|
||
- plopfile.js
|
||
- plop-templates/
|
||
keywords:
|
||
- plop
|
||
- setGenerator
|