@gct-paas/render 0.1.6-dev.8 → 6.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -0
- package/dist/loader.esm.min.js +2 -1
- package/es/Event/Dependency/displayRule.d.ts +2 -0
- package/es/Event/Dependency/displayRule.mjs +1 -1
- package/es/Event/index.d.ts +1 -0
- package/es/Event/index.mjs +1 -0
- package/es/Event/utils/appRedis.mjs +1 -1
- package/es/Event/utils/runGlobalByPage.d.ts +11 -0
- package/es/Event/utils/runGlobalByPage.mjs +27 -2
- package/es/index.d.ts +1 -0
- package/es/index.mjs +10 -2
- package/es/locale/auto-register.d.ts +2 -0
- package/es/locale/auto-register.mjs +13 -0
- package/es/locale/sys/process.mjs +10 -0
- package/es/locale/sys.mjs +6 -0
- package/es/register/node/node.register.mjs +2 -0
- package/es/register/render-register/render-register.mjs +6 -1
- package/es/setup-app.d.ts +2 -0
- package/es/setup-app.mjs +7 -0
- package/es/types/index.d.ts +10 -0
- package/es/utils/get-ref-data.mjs +3 -3
- package/es/utils/model-transformer.mjs +13 -7
- package/es/utils/search/search-hooks.mjs +7 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -1 +1,175 @@
|
|
|
1
|
+
# @gct-paas/render
|
|
1
2
|
|
|
3
|
+
PaaS 平台**渲染引擎**底包。负责将设计 schema 渲染为运行时页面:设计渲染 controller/state、Event 引擎、表达式、搜索 hooks、RenderNode 注册。挂载 `_gct.register.render` 与 `window._kit`。
|
|
4
|
+
|
|
5
|
+
> 本文档面向后续开发与 AI 模型阅读:说明渲染注册机制及与 render-web 的分工。
|
|
6
|
+
|
|
7
|
+
## 包信息
|
|
8
|
+
|
|
9
|
+
| 项 | 值 |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| 包名 | `@gct-paas/render` |
|
|
12
|
+
| 入口 | `es/index.mjs`(类型:`es/index.d.ts`) |
|
|
13
|
+
| 全局类型 | `@gct-paas/render/types` |
|
|
14
|
+
| peer | `@gct-paas/api`、`core`、`core-web`、`schema`、`scss`、`vue>=3` |
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { renderSetupApp, RenderRegister, RenderNodeRegister } from '@gct-paas/render';
|
|
18
|
+
// 引入即 onInit() → register.render + window._kit
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 在 monorepo 中的位置
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
core → core-web → render(渲染引擎)
|
|
27
|
+
└── render-web(Web 渲染产品层)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
规划中:`render-mobile` / `render-pad` 为端侧对等层(仓库暂未包含)。
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 依赖说明
|
|
35
|
+
|
|
36
|
+
### 关键 workspace 依赖
|
|
37
|
+
|
|
38
|
+
| 包 | 用途 |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| `@gct-paas/core` | `_gct`、PluginPgkUtil、工具 |
|
|
41
|
+
| `@gct-paas/core-web` | 运行时 UI、表单渲染基础 |
|
|
42
|
+
| `@gct-paas/schema` | 渲染 schema 类型 |
|
|
43
|
+
|
|
44
|
+
### 主要工具依赖
|
|
45
|
+
|
|
46
|
+
| 依赖 | 用途 |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
| `esprima-next` + `escodegen` | 表达式 AST |
|
|
49
|
+
| `vue3-dnd` | 运行时拖拽 |
|
|
50
|
+
| `bignumber.js` | 数值计算 |
|
|
51
|
+
| `axios` / `qs` | 渲染期请求 |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 源码结构
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
packages/render/src/
|
|
59
|
+
├── index.ts # onInit → register.render + _kit
|
|
60
|
+
├── setup-app.ts # renderSetupApp(locale)
|
|
61
|
+
├── register/ # RenderRegister、RenderNodeRegister
|
|
62
|
+
├── components/ # design-render、design-render-item
|
|
63
|
+
├── controller/ # 渲染 controller 层级
|
|
64
|
+
├── state/ # Pinia/状态:design-render*
|
|
65
|
+
├── Event/ # 页面事件引擎、依赖规则、bizService
|
|
66
|
+
├── providers/ # 节点 provider 扩展
|
|
67
|
+
├── hooks/ # useDesignRenderController 等
|
|
68
|
+
├── utils/ # 表达式、搜索、插件包、field-attrs
|
|
69
|
+
├── modules/vue3-dnd/ # 运行时 DND
|
|
70
|
+
└── constant/ # 数据格式、日期等
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 与 `_gct` 的关系
|
|
76
|
+
|
|
77
|
+
**引入时自动挂载(防重复):**
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
_gct.register.render = new RenderRegister();
|
|
81
|
+
|
|
82
|
+
// 插件/套件扩展容器(只读空对象,由各 kit 写入)
|
|
83
|
+
Object.defineProperty(window, '_kit', {
|
|
84
|
+
value: {},
|
|
85
|
+
writable: false,
|
|
86
|
+
configurable: false,
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
| 全局 | 说明 |
|
|
91
|
+
| --- | --- |
|
|
92
|
+
| `_gct.register.render` | 渲染器总注册(视图、插件等) |
|
|
93
|
+
| `window._kit` | 套件/插件挂载点,供扩展包注册能力 |
|
|
94
|
+
|
|
95
|
+
运行时还依赖 core-web 的 `_gct.message`、mqtt、store、router 等。
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 启动与用法
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
import { setupApp, createAppVue } from '@gct-paas/core';
|
|
103
|
+
import { coreWebSetupApp, coreWebCreateAppVue } from '@gct-paas/core-web';
|
|
104
|
+
import { renderSetupApp } from '@gct-paas/render';
|
|
105
|
+
|
|
106
|
+
const app = createApp(Root);
|
|
107
|
+
|
|
108
|
+
await setupApp(app);
|
|
109
|
+
await coreWebSetupApp(app);
|
|
110
|
+
await renderSetupApp(app); // 注册 render locale
|
|
111
|
+
|
|
112
|
+
createAppVue(app);
|
|
113
|
+
coreWebCreateAppVue(app);
|
|
114
|
+
|
|
115
|
+
app.mount('#app');
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
扩展渲染节点:
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
import {
|
|
122
|
+
RenderNodeRegister,
|
|
123
|
+
RenderNodeType,
|
|
124
|
+
DesignRenderViewPrefix,
|
|
125
|
+
} from '@gct-paas/render';
|
|
126
|
+
|
|
127
|
+
RenderNodeRegister.register(
|
|
128
|
+
RenderNodeType.FIELD,
|
|
129
|
+
() => new MyFieldProvider(),
|
|
130
|
+
DesignRenderViewPrefix.CARD_VIEW,
|
|
131
|
+
);
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
(Web 端 card-view 注册见 `@gct-paas/render-web` 的 `renderWebSetupApp`。)
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 主要导出速查
|
|
139
|
+
|
|
140
|
+
| 类别 | 示例 |
|
|
141
|
+
| --- | --- |
|
|
142
|
+
| 启动 | `renderSetupApp`、`onInit` |
|
|
143
|
+
| 注册 | `RenderRegister`、`RenderNodeRegister`、`RenderNodeType` |
|
|
144
|
+
| 渲染 | `design-render` 组件、controller/state |
|
|
145
|
+
| Event | `baseEvent`、Dependency、页面事件 utils |
|
|
146
|
+
| 工具 | 表达式、search hooks、`render-plugin-pkg-util` |
|
|
147
|
+
| 常量 | `DesignRenderViewPrefix`、`data-format` |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 与 `@gct-paas/render-web` 的分工
|
|
152
|
+
|
|
153
|
+
| 层 | 职责 |
|
|
154
|
+
| --- | --- |
|
|
155
|
+
| **render** | 跨端渲染引擎:controller、Event、register.render、_kit |
|
|
156
|
+
| **render-web** | Web 产品实现:BasicPage、card-view 插件、页面事件、app-mqtt |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 给后续模型的约束
|
|
161
|
+
|
|
162
|
+
1. 新增渲染 provider → `RenderNodeRegister` + provider 类,类型对齐 schema。
|
|
163
|
+
2. 套件扩展写入 `window._kit`,不要替换整个 `_kit` 对象。
|
|
164
|
+
3. 页面事件/表达式逻辑放 `Event/`,避免在 render-web 重复实现引擎逻辑。
|
|
165
|
+
4. 重复引入 render 包会警告 `register.render` 已存在。
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 本地命令
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
cd packages/render
|
|
173
|
+
npm run dev
|
|
174
|
+
npm run build # lint + vue-tsc + 双 Vite 构建
|
|
175
|
+
```
|