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
|