Skip to content

Commit 5f14347

Browse files
JackLianliujuping
authored andcommitted
feat: move specs to docs
1 parent cff86c4 commit 5f14347

File tree

8 files changed

+167
-165
lines changed

8 files changed

+167
-165
lines changed

docs/config/navbar.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ module.exports = {
2121
position: 'left',
2222
label: 'API',
2323
},
24+
{
25+
type: 'doc',
26+
docId: 'specs/lowcode-spec',
27+
position: 'left',
28+
label: '协议',
29+
},
2430
{
2531
type: 'doc',
2632
docId: 'faq/index',

docs/config/sidebars.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ module.exports = {
3333
dirName: 'api',
3434
},
3535
],
36+
specs: [
37+
{
38+
type: 'autogenerated',
39+
dirName: 'specs',
40+
},
41+
],
3642
faq: [
3743
{
3844
type: 'autogenerated',

docs/docs/api/common.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ common.utils.startTransaction(() => {
4242
}, TransitionType.repaint);
4343
```
4444

45+
### createIntl
46+
i18n相关工具
47+
*引擎版本 >= 1.0.17
48+
```typescript
49+
import { common } from '@alilc/lowcode-engine';
50+
import enUS from './en-US.json';
51+
import zhCN from './zh-CN.json';
52+
53+
const { intl, getLocale, setLocale } = common.utils.createIntl({
54+
'en-US': enUS,
55+
'zh-CN': zhCN,
56+
});
57+
58+
```
4559
## designerCabin
4660
### isSettingField
4761
是否是 SettingField 实例
Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
---
2+
title: 《低代码引擎资产包协议规范》
3+
sidebar_position: 2
4+
---
15
# 《低代码引擎资产包协议规范》
26

3-
# 1 介绍
7+
## 1 介绍
48

5-
## 1.1 本协议规范涉及的问题域
9+
### 1.1 本协议规范涉及的问题域
610

711
- 定义本协议版本号规范
812
- 定义本协议中每个子规范需要被支持的 Level
@@ -12,44 +16,44 @@
1216
- 定义低代码资产包协议组件描述资源加载规范(A)
1317
- 定义低代码资产包协议组件在面板展示规范(AA)
1418

15-
## 1.2 协议草案起草人
19+
### 1.2 协议草案起草人
1620

1721
- 撰写:金禅、璿玑、彼洋
1822
- 审阅:力皓、絮黎、光弘、戊子、潕量、游鹿
1923

20-
## 1.3 版本号
24+
### 1.3 版本号
2125

2226
1.1.0
2327

24-
## 1.4 协议版本号规范(A)
28+
### 1.4 协议版本号规范(A)
2529

2630
本协议采用语义版本号,版本号格式为 `major.minor.patch` 的形式。
2731

2832
- major 是大版本号:用于发布不向下兼容的协议格式修改
2933
- minor 是小版本号:用于发布向下兼容的协议功能新增
3034
- patch 是补丁号:用于发布向下兼容的协议问题修正
3135

32-
## 1.5 协议中子规范 Level 定义
36+
### 1.5 协议中子规范 Level 定义
3337

3438
| 规范等级 | 实现要求 |
3539
| -------- | ------------------------------------------------------------ |
3640
| A | 基础规范,低代码引擎核心层支持; |
3741
| AA | 推荐规范,由低代码引擎官方插件、setter 支持。 |
3842
| AAA | 参考规范,需由基于引擎的上层搭建平台支持,实现可参考该规范。 |
3943

40-
## 1.6 名词术语
44+
### 1.6 名词术语
4145

4246
- **资产包**: 低代码引擎加载资源的动态数据集合,主要包含组件及其依赖的资源、组件低代码描述、动态插件/设置器资源等。
4347

44-
## 1.7 背景
48+
### 1.7 背景
4549

4650
根据低代码引擎的实现,一个组件要在引擎上渲染和配置,需要提供组件的 umd 资源以及组件的`低代码描述`,并且组件通常都是以集合的形式被引擎消费的;除了组件之外,还有组件的依赖资源、引擎的动态插件/设置器等资源也需要注册到引擎中;因此我们定义了“低代码资产包”这个数据结构,来描述引擎所需加载的动态资源的集合。
4751

48-
## 1.8 受众
52+
### 1.8 受众
4953

5054
本协议适用于使用“低代码引擎”构建搭建平台的开发者,通过本协议的定义来进行资源的分类和加载。阅读及使用本协议,需要对低代码搭建平台的交互和实现有一定的了解,对前端开发相关技术栈的熟悉也会有帮助,协议中对通用的前端相关术语不会做进一步的解释说明。
5155

52-
# 2 协议结构
56+
## 2 协议结构
5357

5458
协议最顶层结构如下,包含 7 方面的描述内容:
5559

@@ -61,15 +65,15 @@
6165
- setters { Array } 设计器中设置器描述协议列表
6266
- extConfig { Object } 平台自定义扩展字段
6367

64-
## 2.1 version(A)
68+
### 2.1 version(A)
6569

6670
定义当前协议 schema 的版本号;
6771

6872
| 根属性名称 | 类型 | 说明 | 变量支持 | 默认值 |
6973
| ---------- | ------ | ---------- | -------- | ------ |
7074
| version | String | 协议版本号 | - | 1.1.0 |
7175

72-
## 2.2 packages(A)
76+
### 2.2 packages(A)
7377

7478
定义低代码编辑器中加载的资源列表,包含公共库和组件(库) cdn 资源等;
7579

@@ -81,18 +85,18 @@
8185
| packages[].version | npm 包版本号 | String | A | 组件资源版本号 |
8286
| packages[].type | 资源包类型 | String | AA | 取值为: proCode(源码)、lowCode(低代码,默认为 proCode |
8387
| packages[].schema | 低代码组件 schema 内容 | object | AA | 取值为: proCode(源码)、lowCode(低代码) |
84-
| packages[].deps | 当前资源包的依赖资源的唯一标识列表 | Array<String> | A | 唯一标识为 id 或者 package 对应的值 |
88+
| packages[].deps | 当前资源包的依赖资源的唯一标识列表 | Array<String\> | A | 唯一标识为 id 或者 package 对应的值 |
8589
| packages[].library | 作为全局变量引用时的名称,用来定义全局变量名 | String | A | 低代码引擎通过该字段获取组件实例 |
86-
| packages[].editUrls | 组件编辑态视图打包后的 CDN url 列表,包含 js 和 css | Array<String> | A | 低代码引擎编辑器会加载这些 url |
87-
| packages[].urls | 组件渲染态视图打包后的 CDN url 列表,包含 js 和 css | Array<String> | AA | 低代码引擎渲染模块会加载这些 url |
90+
| packages[].editUrls | 组件编辑态视图打包后的 CDN url 列表,包含 js 和 css | Array<String\> | A | 低代码引擎编辑器会加载这些 url |
91+
| packages[].urls | 组件渲染态视图打包后的 CDN url 列表,包含 js 和 css | Array<String\> | AA | 低代码引擎渲染模块会加载这些 url |
8892
| packages[].advancedEditUrls | 组件多个编辑态视图打包后的 CDN url 列表集合,包含 js 和 css | Object | AAA | 上层平台根据特定标识提取某个编辑态的资源,低代码引擎编辑器会加载这些资源,优先级高于 packages[].editUrls |
8993
| packages[].advancedUrls | 组件多个端的渲染态视图打包后的 CDN url 列表集合,包含 js 和 css | Object | AAA | 上层平台根据特定标识提取某个渲染态的资源, 低代码引擎渲染模块会加载这些资源,优先级高于 packages[].urls |
9094
| packages[].external | 当前资源在作为其他资源的依赖,在其他依赖打包时时是否被排除了(同 webpack 中 external 概念) | Boolean | AAA | 某些资源会被单独提取出来,是其他依赖的前置依赖,根据这个字段决定是否提前加载该资源 |
91-
| packages[].loadEnv | 指定当前资源加载的环境 | Array<String> | AAA | 主要用于指定 external 资源加载的环境,取值为 design(设计态)、runtime(预览态)中的一个或多个 |
95+
| packages[].loadEnv | 指定当前资源加载的环境 | Array<String\> | AAA | 主要用于指定 external 资源加载的环境,取值为 design(设计态)、runtime(预览态)中的一个或多个 |
9296
| packages[].exportSourceId | 标识当前 package 内容是从哪个 package 导出来的 | String | AAA | 此时 urls 无效 |
9397
| packages[].exportSourceLibrary | 标识当前 package 是从 window 上的哪个属性导出来的 | String | AAA | exportSourceId 的优先级高于exportSourceLibrary ,此时 urls 无效 |
9498
| packages[].async | 标识当前 package 资源加载在 window.library 上的是否是一个异步对象 | Boolean | A | async 为 true 时,需要通过 await 才能拿到真正内容 |
95-
| packages[].exportMode | 标识当前 package 从其他 package 的导出方式 | String | A | 目前只支持 `"functionCall"`, exportMode等于 `"functionCall"` 时,当前package 的内容以函数的方式从其他 package 中导出,具体导出接口如: (library: string, packageName: string, isRuntime?: boolean) => any | Promise<any>, library 为当前 package 的 library, packageName 为当前的包名,返回值为当前 package 的导出内容 |
99+
| packages[].exportMode | 标识当前 package 从其他 package 的导出方式 | String | A | 目前只支持 `"functionCall"`, exportMode等于 `"functionCall"` 时,当前package 的内容以函数的方式从其他 package 中导出,具体导出接口如: (library: string, packageName: string, isRuntime?: boolean) => any | Promise<any\>, library 为当前 package 的 library, packageName 为当前的包名,返回值为当前 package 的导出内容 |
96100

97101
描述举例:
98102

@@ -294,14 +298,14 @@
294298
}
295299
```
296300

297-
## 2.3 components (A)
301+
### 2.3 components (A)
298302

299303
定义资产包中包含的所有组件的低代码描述的集合,分为“ComponentDescription”和“RemoteComponentDescription”(详见 2.6 TypeScript 定义):
300304

301305
- ComponentDescription: 符合“组件描述协议”的数据,详见物料规范中`2.2.2 组件描述协议`部分;
302306
- RemoteComponentDescription 是将一个或多个 ComponentDescription 构建打包的 js 资源的描述,在浏览器中加载该资源后可获取到其中包含的每个组件的 ComponentDescription 的具体内容;
303307

304-
## 2.4 sort (AA)
308+
### 2.4 sort (AA)
305309

306310
定义组件列表分组
307311

@@ -310,7 +314,7 @@
310314
| sort.groupList | String[] | 组件分组,用于组件面板 tab 展示 | - | ['精选组件', '原子组件'] |
311315
| sort.categoryList | String[] | 组件面板中同一个 tab 下的不同区间用 category 区分,category 的排序依照 categoryList 顺序排列 | - | ['通用', '数据展示', '表格类', '表单类'] |
312316

313-
## 2.5 plugins (AAA)
317+
### 2.5 plugins (AAA)
314318

315319
自定义设计器插件列表
316320

@@ -325,7 +329,7 @@
325329
| plugins[].keywords | String[] | 插件检索关键字 | - | - |
326330
| plugins[].reference | Reference | 插件引用的资源包信息 | - | - |
327331

328-
## 2.6 setters (AAA)
332+
### 2.6 setters (AAA)
329333

330334
自定义设置器列表
331335

@@ -340,11 +344,11 @@
340344
| setters[].keywords | String[] | 设置器检索关键字 | - | - |
341345
| setters[].reference | Reference | 设置器引用的资源包信息 | - | - |
342346

343-
## 2.7 extConfig (AAA)
347+
### 2.7 extConfig (AAA)
344348

345349
定义平台相关的扩展内容,用于存放平台自身实现的一些私有协议, 以允许存量平台能够平滑地迁移至标准协议。 extConfig 是一个 key-value 结构的对象,协议不会规定 extConfig 中的字段名称以及类型, 完全自定义
346350

347-
## 2.8 TypeScript 定义
351+
### 2.8 TypeScript 定义
348352

349353
_组件低代码描述相关部分字段含义详见物料规范中`2.2.2 组件描述协议`部分;_
350354

@@ -463,19 +467,19 @@ export interface Package {
463467
*/
464468
exportName?: string;
465469
/**
466-
* 标识当前 package 资源加载在 window.library 上的是否是一个异步对象
470+
* 标识当前 package 资源加载在 window.library 上的是否是一个异步对象
467471
*/
468472
async?: boolean;
469473
/**
470474
* 标识当前 package 从其他 package 的导出方式
471475
*/
472476
exportMode?: string;
473477
/**
474-
* 标识当前 package 内容是从哪个 package 导出来的
478+
* 标识当前 package 内容是从哪个 package 导出来的
475479
*/
476480
exportSourceId?: string;
477481
/**
478-
* 标识当前 package 是从 window 上的哪个属性导出来的
482+
* 标识当前 package 是从 window 上的哪个属性导出来的
479483
*/
480484
exportSourceLibrary?: string;
481485
}
@@ -684,4 +688,4 @@ export interface ComponentSchema {
684688

685689
```
686690

687-
`ComponentSchema` 的定义见[低代码业务组件描述](./1.material-spec.md#221-组件规范)
691+
`ComponentSchema` 的定义见[低代码业务组件描述](./material-spec.md#221-组件规范)

0 commit comments

Comments
 (0)