Skip to content
On this page

DesignRock 核心层包说明

DesignRock(磐石)是 Grow Admin 的框架核心层,所有包以 @grow-admin-rock/* 命名。

README「相关包说明」速查表见 开发规范 - 相关包速查

包总览

包名职责
@grow-admin-rock/iocIOC 依赖注入容器(基于 Inversify)
@grow-admin-rock/base-packageLibrary 基座、AppContext、模块 install 机制
@grow-admin-rock/types全局 TypeScript 类型定义
@grow-admin-rock/constants枚举与常量(主题、菜单、权限等)
@grow-admin-rock/componentsRockComponent 枚举、Grow* 契约组件、ComponentMap
@grow-admin-rock/component-driver抽象驱动、ComponentDriverProvider、Builder API
@grow-admin-rock/component-driver-element-plusElement Plus 组件映射(84 个)
@grow-admin-rock/component-driver-naiveNaive UI 组件映射(84 个)
@grow-admin-rock/component-driver-antdvAnt Design Vue 组件映射(84 个)
@grow-admin-rock/layouts布局壳:LayoutSettingDrawerMenuSettingThemeSwitchLanguage
@grow-admin-rock/mockMock 注册中心、resultSuccess/resultError 工具
@grow-admin-rock/infrastructureHTTP 请求基础设施(Axios 封装)
@grow-admin-rock/middleware-router路由表、菜单状态、路由操作器
@grow-admin-rock/settings项目设置(主题色、布局模式、暗色模式)
@grow-admin-rock/statePinia 状态管理封装
@grow-admin-rock/locale国际化(i18n)
@grow-admin-rock/hooks通用 Hooks(设置、断点等)
@grow-admin-rock/utils工具函数(含 VueUse 重导出)
@grow-admin-rock/styles全局样式与 Reset CSS
@grow-admin-rock/code-sandbox在线代码编辑与 Vue SFC 沙箱预览
@grow-admin-rock/designer低代码页面设计器(GrowDesigner / GrowRenderer
@grow-admin-rock/report-designer报表设计器(GrowReportDesigner / GrowReportRenderer
@grow-admin-rock/schema-designer可视化数据库建模(GrowSchemaDesigner
@grow-admin-rock/data-prep数据准备 Dataset(GrowDataPrepDesigner
@grow-admin-rock/data-clean数据清洗流(GrowDataCleanDesigner
@grow-admin-rock/process-engine流程引擎(GrowProcessDesigner

@grow-admin-rock/ioc

基于 Inversify 的 IOC 容器封装。

主要导出:

导出说明
IocPluginVue 插件,挂载 IOC 容器
IocContainerIOC 容器类
AsyncIocModule异步模块加载
diKT / di服务获取工具
THROWN_HANDLER异常处理标识

@grow-admin-rock/base-package

Library 基座,定义模块接入契约。

主要导出:

导出说明
AppContext应用上下文(路由、IOC 模块、参数、生命周期)
installLibrary 自动装配函数
toPackage将配置转为标准 Library
Library / ModuleLibContextLibrary 类型定义
APP_CONTEXTIOC 服务标识符

@grow-admin-rock/components

契约组件层,业务代码的主要 UI 入口。

主要导出:

导出说明
RockComponent84 个组件契约枚举
LibLibrary 声明(注册 Grow* 全局组件)
ComponentMap组件映射表
useDriverComponent获取驱动组件
useMessage / useNotice / useDialog命令式 API
setMessage / setNotice / setDialog驱动绑定注入
withInstall组件安装工具
ContextParamDefAppContext 参数标识

@grow-admin-rock/component-driver

组件驱动桥接基础包。

主要导出:

导出说明
ComponentDriverProvider局部驱动覆盖组件
createDriverHook驱动 Hook 创建
GrowAdminComponentDriver驱动接口类型
RockComponent重导出契约枚举

三个驱动子包均实现 GrowAdminComponentDriver 接口,提供 builder().enableXxx().finish() API。


@grow-admin-rock/infrastructure

HTTP 请求基础设施。

主要导出:

导出说明
LibLibrary 声明(注册 Axios 服务)
InfrastructureAxiosAxios 封装类
setPromoter基础设施配置注入
RequestCanceler请求取消器
InfrastructureHelper辅助工具
axios重导出 axios

IOC 服务:

  • InfrastructureAxios — HTTP 客户端
  • CreateAxiosOptions — Axios 创建配置
  • AxiosTransform — 请求/响应转换器

@grow-admin-rock/middleware-router

路由与菜单中间件。

主要导出:

导出说明
LibLibrary 声明
RoutesTable路由表(含 Vue Router 实例)
RouteOperator路由操作器
MenuState菜单状态管理

路由表在 IOC 加载时根据 AppContext.basicRoutesAppContext.appRoutes 动态创建。

业务代码通过 resolveByKeyOrThrow(routeLib.types.RouteTable).router 获取 router 实例,布局层与动态路由注册均遵循此约定apps-loginuseLoginSuccess 等少数历史代码仍直接使用 useRouter(),新代码建议统一走 IoC。


@grow-admin-rock/mock

Mock 注册中心与响应工具。

主要导出:

导出说明
LibLibrary 声明(注册 MockRegistry
registerMock业务包注册 Mock 方法
getMockModules聚合所有已注册 Mock
resultSuccess / resultError统一 { type, data, message } 响应格式

详见 Mock 数据


@grow-admin-rock/layouts

布局与项目配置 UI 组件。

主要导出:

导出说明
Layout / LayoutLogo主布局壳与 Logo
SettingDrawer项目配置抽屉
SettingTheme主题模式 + 主题色表单项
SwitchLanguage语言切换表单项
Menu侧边菜单容器(从 authStore.backMenuList 读取)
PageLoading页面加载动画

Menu 组件通过 MenuTreeNode 递归渲染树形菜单,使用 GrowSubMenu / GrowMenuItem 契约组件,点击跳转通过 IoC 获取 router。


@grow-admin-rock/settings

项目设置 IOC 服务(SettingStoreGlobConfigMenuSettingData 等),与 projectSetting.ts 配合。

功能:

  • 主题色切换
  • 暗色模式
  • 布局模式(侧边栏 / 混合 / 顶部)
  • 菜单折叠、宽度
  • 多标签页配置
  • 页面过渡动画

装配状态

当前 sample 宿主未默认装配 settingsLibuseGlobConfig(OAuth、authMode)依赖此包 + hooks。详见 项目配置 - 可选模块


@grow-admin-rock/hooks

通用 Hooks(useGlobConfiguseBreakpoint 等)。

library.tsonSetup 通过 createBreakpointListen 更新移动端状态,需同时装配 settings + hooks 才完整生效


@grow-admin-rock/state

Pinia 状态管理封装。

主要导出:

导出说明
defineStore重导出 Pinia defineStore
storeToRefs重导出 storeToRefs
LibLibrary 声明
useAppConfig项目配置状态(主题色、主题模式等)
useAuthStore认证状态(backMenuListisDynamicAddedRoute 等)
useAppStore页面 loading(setPageLoadingsetPageLoadingTip
useLayout布局状态(菜单折叠等)
useTheme主题 CSS 变量动态写入
useLoginRememberStore登录记住密码(pinia persist)
DataEventBusmitt 事件总线 + Vue 生命周期 $watchWithVue

authStore.backMenuList 存储接口返回的树形菜单数据,供 rock-layouts/Menu 渲染侧边栏。


@grow-admin-rock/locale

国际化支持。

主要导出:

导出说明
useI18ni18n Hook
t / $t翻译函数
useLocale语言切换 Hook
localeHelper国际化辅助工具

@grow-admin-rock/hooks

通用 Hooks 集合。

主要导出:

导出说明
SettingHooks项目设置相关 Hooks
useBreakpoint响应式断点 Hook

@grow-admin-rock/utils

工具函数库,同时重导出 @vueuse/core

主要模块:

模块说明
config配置工具
is类型判断
toDataType数据类型转换
utils通用工具(clone、deepMerge 等)

@grow-admin-rock/constants

框架枚举与常量。

主要枚举:

枚举说明
ComponentLibraryType组件库类型
ThemeEnum主题(明/暗)
MenuModeEnum / MenuTypeEnum菜单模式与类型
PermissionModeEnum权限模式
ContentLayoutEnum内容布局
RouterTransitionEnum路由过渡动画
CacheTypeEnum缓存类型

@grow-admin-rock/types

全局 TypeScript 类型定义,被所有 Rock 包引用。

主要类型:

  • ProjectSetting — 项目配置
  • RouteRecordItem — 路由记录
  • RequestOptions — 请求配置
  • WmqComponentDictionary — 组件驱动字典

@grow-admin-rock/styles

全局样式入口,在 sample/src/main.ts 中首行引入:

typescript
import '@grow-admin-rock/styles'

包含 Reset CSS、CSS 变量(variables.css)、亮/暗主题 token 与主题切换过渡动画(theme-transition.css)。


@grow-admin-rock/code-sandbox

在线代码编辑与 Vue SFC 沙箱预览(Monaco + @vue/compiler-sfc)。预览挂载在宿主 Vue 树内,可继续使用 Grow* 组件与 IOC。

主要导出:

导出说明
GrowCodeEditorMonaco 代码编辑器
GrowCodeDeps依赖注入面板(host / npm)
GrowCodeSandboxSFC 编译预览
composeVueSfc / parseVueSfc组装 / 解析 SFC
createPreviewComponent编译 SFC 为可挂载组件
DEFAULT_SANDBOX_DEPENDENCIES默认锁定依赖
mergeDependencies / normalizeDependencies依赖合并规范化

目录:DesignRock/rock-code-sandbox

完整 API、用法与注意事项见 代码沙箱。演示模块见 apps-sandbox


@grow-admin-rock/designer

低代码页面设计器:拖拽物料、配置属性 / 样式 / 事件,支持数据源与变量绑定,输出可渲染 schema。

主要导出:

导出说明
GrowDesigner可视化编辑器(画布 + 左右面板)
GrowRenderer:schema 渲染页面(含绑定求值)
DesignerDataSourcePanel页面级数据面板(报表设计器可复用)
GROW_RUNTIME_STATE / runApiOutlinedList运行时 state 与 API 执行

目录:DesignRock/rock-designer

完整说明见 页面设计器。演示模块见 apps-designer


@grow-admin-rock/report-designer

基于 ECharts 的报表设计器:网格布局、图表视觉配置、页面级数据 + 区块数据绑定,导出 ReportSchema 并由渲染器拉数展示。

主要导出:

导出说明
GrowReportDesigner可视化编辑器(getSchema / runtimeState
GrowReportRenderer:schema 渲染报表(可选 httpClient
createReportSchema组装带默认 pageConfig 的 schema
buildEChartsOption / createDefaultChartConfig图表 option 编译与默认配置
REPORT_CHART_TYPE_OPTIONS图表类型常量

目录:DesignRock/rock-report-designer

完整说明见 报表设计器。演示入口同 apps-designer(菜单:报表设计器)。区块数据经页面 state 绑定;可与 数据准备 查询结果对接(由数据请求写入 state)。工具链见 低代码设计器


@grow-admin-rock/schema-designer

基于 Vue Flow 的可视化数据库建模:表 / 字段 / 关联(1:1、1:N、N:N),导出可持久化的 DatabaseSchema JSON。当前方言为 PostgreSQL。

主要导出:

导出说明
GrowSchemaDesigner可视化编辑器(v-model / getSchema / setSchema / exportJson
createDatabaseSchema / createSchemaTable / createSchemaColumnschema 工厂
exportSchemaJson序列化为可持久化 JSON 字符串
SCHEMA_COLUMN_TYPE_OPTIONS / RELATION_TYPE_OPTIONSPostgreSQL 字段类型与关联类型选项
clampIdentifier / MAX_*_NAME_LENGTH标识符截断与长度常量(最长 63)

目录:DesignRock/rock-schema-designer

完整说明见 数据库建模。演示入口同 apps-designer(菜单:数据库建模)。


@grow-admin-rock/data-prep

可视化数据准备(分析层 Dataset):从 Schema 选表、配置多表 Join、公式度量(metricConfigs)与输出字段投影,支持预览聚合与本地 / Mock 查询。查询结果经页面 / 报表的 apiOutlined 写入 state 后绑定展示;报表不直选 Dataset。

主要导出:

导出说明
GrowDataPrepDesigner可视化编辑器(v-model / @save
createDataPrepDataset / createDataPrepMetricConfig / createDataPrepJoinDataset 工厂
queryDatasetLocal / queryDataPrepDataset / previewMetricConfig本地聚合 / Mock 查询 / 单配置试算
measureOutputKey / toCartesianSeriesPayload结果字段名 / 笛卡尔图轴与系列适配
FORMULA_FUNCTION_DOCS / evaluateFormulaOnGroup公式函数文档与求值
listOutputFieldCandidates / pruneOutputFields输出字段候选与修剪
loadDatasetsFromStorage / upsertDatasetInStoragelocalStorage 读写
ensureDemoDataset写入演示用 Dataset
./core无 Vue 的纯 TS 入口(供 Mock esbuild)

目录:DesignRock/rock-data-prep

完整说明见 数据准备。工具链见 低代码设计器。演示入口同 apps-designer(菜单:数据准备)。


@grow-admin-rock/data-clean

可视化数据清洗(声明式 ETL 流):从组件库拖入源 / 清洗 / 合并 / 聚合 / 输出节点,连成有向无环图,产物为 CleanFlow(设计期编排,调用时执行)。提供全量节点配置 UI、本地管道预览(runCleanFlowLocal)与 Mock /data-clean/*;展示侧消费者绑定仍待对接。

主要导出:

导出说明
GrowDataCleanDesigner可视化编辑器(v-model / @change / @savegetFlow / setFlow
createCleanFlow / createCleanFlowNode / createCleanFlowEdge流 / 节点 / 边工厂
cloneCleanFlow / defaultConfigForType深拷贝 / 按类型默认 config
CATEGORY_META / NODE_TYPE_META / PALETTE_GROUPS类别与组件库元数据
TABLE_SOURCE_KIND_OPTIONS / DEMO_SOURCE_OPTIONS表源种类与 demo 选项
FILTER_OP_OPTIONS / FILTER_LOGIC_OPTIONS / SPLIT_MODE_OPTIONS过滤与拆分 UI 选项
runCleanFlowLocal / countOutputNodes / CLEAN_IMPLEMENTED_NODE_TYPES本地管道执行与输出节点计数
loadCleanTableRowsMap / fetchCleanDemoTables / fetchCleanTableRowsMock / Demo 表加载
buildDemoPreview旧版占位采样(兼容导出;设计器主路径已不用)

目录:DesignRock/rock-data-clean。Mock:sample/mock/dataClean.ts

完整说明见 数据清洗。工具链见 低代码设计器。演示入口同 apps-designer(菜单:数据清洗)。


@grow-admin-rock/process-engine

可视化流程编排(业务审批 / 事件 / 系统 / 状态机 / 决策):从组件库拖入节点,自上而下连成 ProcessFlow。当前为设计期编排与全量配置 UI;尚无运行时执行引擎与独立 Mock。

主要导出:

导出说明
GrowProcessDesigner可视化编辑器(v-model / @change / @savegetFlow / setFlow
createProcessFlow / createProcessFlowNode / createProcessFlowEdge流 / 节点 / 边工厂
cloneProcessFlow / defaultConfigForType深拷贝 / 按类型默认 config
CATEGORY_META / NODE_TYPE_META / PALETTE_GROUPS类别与组件库元数据
PERSON_ASSIGNEE_TYPE_OPTIONS 及各类 UI 选项常量指派、超时、驳回、协议等
canConnectNodes / isStartNodeType / isEndNodeType连线与起止判定
resolveSourceHandle / resolveTargetHandleHandle 归一化

目录:DesignRock/rock-process-engine

完整说明见 流程引擎。演示入口同 apps-designer(菜单:流程引擎)。