lcap-frontend-library 0.0.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 +271 -0
- package/bin/lcap-frontend-library.mjs +3 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +27 -0
- package/dist/init.d.ts +6 -0
- package/dist/init.js +79 -0
- package/dist/sync.d.ts +4 -0
- package/dist/sync.js +70 -0
- package/dist/utils.d.ts +19 -0
- package/dist/utils.js +101 -0
- package/package.json +34 -0
- package/packages/lcap-frontend-library/LEARNINGS.md +11 -0
- package/packages/lcap-frontend-library/SKILL.md +86 -0
- package/packages/lcap-frontend-library/commands/migrate.check.md +287 -0
- package/packages/lcap-frontend-library/commands/migrate.green.md +190 -0
- package/packages/lcap-frontend-library/commands/migrate.plan.md +169 -0
- package/packages/lcap-frontend-library/commands/migrate.red.md +160 -0
- package/packages/lcap-frontend-library/commands/migrate.scan.md +151 -0
- package/packages/lcap-frontend-library/commands/migrate.spec.md +144 -0
- package/packages/lcap-frontend-library/commands/migrate.tasks.md +179 -0
- package/packages/lcap-frontend-library/commands/speckit.create.md +201 -0
- package/packages/lcap-frontend-library/commands/speckit.implement.md +88 -0
- package/packages/lcap-frontend-library/commands/speckit.plan.md +79 -0
- package/packages/lcap-frontend-library/commands/speckit.self-check.md +177 -0
- package/packages/lcap-frontend-library/commands/speckit.specify.md +91 -0
- package/packages/lcap-frontend-library/commands/speckit.tasks.md +61 -0
- package/packages/lcap-frontend-library/references/frontend-design/LICENSE.txt +177 -0
- package/packages/lcap-frontend-library/references/frontend-design/SKILL.md +42 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/SKILL.md +360 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/api.md +331 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/block.md +160 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/i18n.md +95 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/icon.md +27 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide/container.md +728 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide/element.md +312 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide/expression.md +154 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide/index.md +113 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide/modal.md +189 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide/popover.md +171 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/ide.md +799 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/implementation-rules.md +242 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/index.md +27 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/nasl-view-component.md +895 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/accessibility.md +185 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/child.md +82 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/data-source.md +261 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/event.md +171 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/form.md +266 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/function.md +80 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/link.md +137 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/slot.md +128 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/theme-variables-ant-design.md +1470 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/theme-variables-cloud-ui.md +259 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/theme-variables-element-plus.md +580 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/theme-variables-element-ui.md +1007 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/platform/theme-variables-mobile-ui.md +85 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/theme.md +234 -0
- package/packages/lcap-frontend-library/references/lcap-extension-component/workflow-guardrails.md +328 -0
- package/packages/lcap-frontend-library/references/nasl-logic-authoring/SKILL.md +201 -0
- package/packages/lcap-frontend-library/scripts/bash/create-component-files.sh +95 -0
- package/packages/lcap-frontend-library/scripts/bash/create-extension-project.sh +109 -0
- package/packages/lcap-frontend-library/scripts/bash/create-logic-files.sh +149 -0
- package/packages/lcap-frontend-library/scripts/bash/create-spec.sh +109 -0
- package/packages/lcap-frontend-library/scripts/bash/get-available-port.sh +35 -0
- package/packages/lcap-frontend-library/scripts/bash/list-specs.sh +19 -0
- package/packages/lcap-frontend-library/scripts/node/setup-extension-project.mjs +166 -0
- package/packages/lcap-frontend-library/templates/component-self-check.md +31 -0
- package/packages/lcap-frontend-library/templates/component-template.md +96 -0
- package/packages/lcap-frontend-library/templates/library-report-template.md +52 -0
- package/packages/lcap-frontend-library/templates/logic-template.md +44 -0
- package/packages/lcap-frontend-library/templates/migration-manifest-template.md +84 -0
- package/packages/lcap-frontend-library/templates/migration-plan-template.md +138 -0
- package/packages/lcap-frontend-library/templates/migration-report-template.md +227 -0
- package/packages/lcap-frontend-library/templates/migration-spec-template.md +135 -0
- package/packages/lcap-frontend-library/templates/migration-tasks-template.md +129 -0
- package/packages/lcap-frontend-library/templates/plan-template.md +299 -0
- package/packages/lcap-frontend-library/templates/self-check-report-template.md +148 -0
- package/packages/lcap-frontend-library/templates/tasks-template.md +81 -0
- package/packages/lcap-frontend-library/workflows/create/flow.md +199 -0
- package/packages/lcap-frontend-library/workflows/evolve/flow.md +249 -0
- package/packages/lcap-frontend-library/workflows/generate/flow.md +10 -0
- package/packages/lcap-frontend-library/workflows/harness/flow.md +82 -0
- package/packages/lcap-frontend-library/workflows/migrate/flow.md +302 -0
- package/packages/lcap-frontend-library/workflows/migrate/knowledge-base.md +564 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
outline: deep
|
|
3
|
+
---
|
|
4
|
+
<script setup>
|
|
5
|
+
import { VTCodeGroup, VTCodeGroupTab } from '../../.vitepress/components'
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
# 区块示例说明
|
|
9
|
+
|
|
10
|
+
## 1. 功能说明
|
|
11
|
+
|
|
12
|
+
区块示例是拖拽组件到画布后**默认生成的初始代码**。在 `block.stories.js` / `block.stories.tsx` 中定义,作为画布上组件的初始形态。例如:拖拽按钮组件到画布后,生成的代码中按钮的 `text` 属性为 `"确定"`。
|
|
13
|
+
|
|
14
|
+
依赖库中创建组件后,默认会生成一个区块示例;该示例必须**仅含静态内容**,以便设计器可靠还原、不依赖运行时变量或事件。
|
|
15
|
+
|
|
16
|
+
## 2. 文件与结构
|
|
17
|
+
|
|
18
|
+
在 **block.stories.js**(Vue2)/ **block.stories.tsx**(React)中定义,每个区块为一个 Story 对象,必须包含 `name`、`render`。
|
|
19
|
+
|
|
20
|
+
<VTCodeGroup>
|
|
21
|
+
<VTCodeGroupTab label="Vue2">
|
|
22
|
+
|
|
23
|
+
**block.stories.js**
|
|
24
|
+
```javascript
|
|
25
|
+
export const Default = {
|
|
26
|
+
name: '默认按钮',
|
|
27
|
+
render: () => ({
|
|
28
|
+
template: '<u-button text="确定"></u-button>',
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
</VTCodeGroupTab>
|
|
34
|
+
<VTCodeGroupTab label="React">
|
|
35
|
+
|
|
36
|
+
**block.stories.tsx**
|
|
37
|
+
```jsx
|
|
38
|
+
export const Default = {
|
|
39
|
+
name: '主要按钮',
|
|
40
|
+
render: () => <Button type="primary" children="确定" />,
|
|
41
|
+
};
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
</VTCodeGroupTab>
|
|
45
|
+
</VTCodeGroup>
|
|
46
|
+
|
|
47
|
+
Vue2 下会使用 `render` 返回对象中的 `template`。
|
|
48
|
+
|
|
49
|
+
## 3. 书写规范(必须遵守)
|
|
50
|
+
|
|
51
|
+
block.stories 用于画布初始代码,**必须满足**以下三条,否则拖入画布后无法正确还原:
|
|
52
|
+
|
|
53
|
+
| 规则 | 说明 |
|
|
54
|
+
|------|------|
|
|
55
|
+
| **仅允许静态属性** | 所有 props 的值必须直接写在模板/JSX 里,为字面量或内联的静态结构(如数组、对象字面量)。 |
|
|
56
|
+
| **禁止绑定变量** | 不得使用 `setup()`、`data()`、`ref`、`reactive` 等把数据存成变量再绑定到模板;属性一律用内联字面量。 |
|
|
57
|
+
| **禁止绑定事件** | 不得在模板/JSX 中写 `@click`、`onClick`、`v-on` 等事件绑定。 |
|
|
58
|
+
|
|
59
|
+
### 3.1 错误示例(禁止)
|
|
60
|
+
|
|
61
|
+
使用变量或事件会导致设计器无法还原、或行为不一致。
|
|
62
|
+
|
|
63
|
+
<VTCodeGroup>
|
|
64
|
+
<VTCodeGroupTab label="Vue2">
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
// 错误:使用 data() 和 @click
|
|
68
|
+
export const Default = {
|
|
69
|
+
name: '默认',
|
|
70
|
+
render: () => ({
|
|
71
|
+
data() {
|
|
72
|
+
return { text: '确定' };
|
|
73
|
+
},
|
|
74
|
+
methods: { handleClick() {} },
|
|
75
|
+
template: '<u-button :text="text" @click="handleClick"></u-button>',
|
|
76
|
+
}),
|
|
77
|
+
};
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```javascript
|
|
81
|
+
// 错误:使用 setup() 和变量绑定
|
|
82
|
+
export const Default = {
|
|
83
|
+
name: '基本用法',
|
|
84
|
+
render: () => ({
|
|
85
|
+
components: { 'funnel-chart': Component },
|
|
86
|
+
setup() {
|
|
87
|
+
const data = [
|
|
88
|
+
{ name: '未触达客户', value: 1000 },
|
|
89
|
+
{ name: '已触达客户', value: 800 },
|
|
90
|
+
];
|
|
91
|
+
return { data };
|
|
92
|
+
},
|
|
93
|
+
template: '<funnel-chart :data="data" height="400px"></funnel-chart>',
|
|
94
|
+
}),
|
|
95
|
+
};
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
</VTCodeGroupTab>
|
|
99
|
+
<VTCodeGroupTab label="React">
|
|
100
|
+
|
|
101
|
+
```jsx
|
|
102
|
+
// 错误:使用变量和 onClick
|
|
103
|
+
export const Default = {
|
|
104
|
+
name: '主要按钮',
|
|
105
|
+
render: () => {
|
|
106
|
+
const text = '确定';
|
|
107
|
+
const handleClick = () => {};
|
|
108
|
+
return <Button type="primary" children={text} onClick={handleClick} />;
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
</VTCodeGroupTab>
|
|
114
|
+
</VTCodeGroup>
|
|
115
|
+
|
|
116
|
+
### 3.2 正确示例
|
|
117
|
+
|
|
118
|
+
**简单组件**:属性直接写死为字面量。
|
|
119
|
+
|
|
120
|
+
<VTCodeGroup>
|
|
121
|
+
<VTCodeGroupTab label="Vue2">
|
|
122
|
+
|
|
123
|
+
```javascript
|
|
124
|
+
export const Default = {
|
|
125
|
+
name: '默认按钮',
|
|
126
|
+
render: () => ({
|
|
127
|
+
template: '<u-button text="确定"></u-button>',
|
|
128
|
+
}),
|
|
129
|
+
};
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
</VTCodeGroupTab>
|
|
133
|
+
<VTCodeGroupTab label="React">
|
|
134
|
+
|
|
135
|
+
```jsx
|
|
136
|
+
export const Default = {
|
|
137
|
+
name: '主要按钮',
|
|
138
|
+
render: () => <Button type="primary" children="确定" />,
|
|
139
|
+
};
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
</VTCodeGroupTab>
|
|
143
|
+
</VTCodeGroup>
|
|
144
|
+
|
|
145
|
+
**需传数组/对象时**:在模板/JSX 中**内联字面量**,不通过变量绑定。
|
|
146
|
+
|
|
147
|
+
```javascript
|
|
148
|
+
// Vue2:data 为内联数组字面量
|
|
149
|
+
export const Default = {
|
|
150
|
+
name: '基本用法',
|
|
151
|
+
render: () => ({
|
|
152
|
+
components: { 'funnel-chart': Component },
|
|
153
|
+
template: '<funnel-chart :data="[{ name: \'未触达客户\', value: 1000 }, { name: \'已触达客户\', value: 800 }, { name: \'意向客户\', value: 600 }]" height="400px" width="600px"></funnel-chart>',
|
|
154
|
+
}),
|
|
155
|
+
};
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 3.3 story 数量
|
|
159
|
+
|
|
160
|
+
**block.stories 中仅保留一个 story**(通常为 `Default`),供拖拽到画布使用。若需多个示例或本地调试用例,请写在 **example.stories.{js|tsx|jsx}** 中,勿在 block.stories 中新增多个 story。
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
outline: deep
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 国际化
|
|
6
|
+
|
|
7
|
+
## 1. 功能说明
|
|
8
|
+
|
|
9
|
+
依赖库组件支持在IDE引入后,通过[国际化多语言](https://community.codewave.163.com/CommunityParent/fileIndex?filePath=20.%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%2F60.%E5%8F%AF%E8%A7%86%E5%8C%96%E5%BC%80%E5%8F%91%E7%95%8C%E9%9D%A2%2F70.%E6%9B%B4%E5%A4%9A%E8%AE%BE%E7%BD%AE%2F50.%E5%9B%BD%E9%99%85%E5%8C%96%E5%A4%9A%E8%AF%AD%E8%A8%80.md&version=3.13&title=3.3.2%20%E6%9B%B4%E6%96%B0%E5%9B%BD%E9%99%85%E5%8C%96%E5%88%97%E8%A1%A8)功能配置组件的系统文案。
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## 2. 功能实现
|
|
14
|
+
|
|
15
|
+
### 2.1 组件内部获取国际语言
|
|
16
|
+
|
|
17
|
+
在组件内部,可以通过以下方式获取相关信息:
|
|
18
|
+
|
|
19
|
+
- 获取当前语言环境
|
|
20
|
+
|
|
21
|
+
```javascript
|
|
22
|
+
window.$global.i18nInfo.locale
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- 获取所有的语言包
|
|
26
|
+
|
|
27
|
+
```javascript
|
|
28
|
+
window.$global.i18nInfo.messages
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### 2.2 组件文案上传到 IDE 国际化配置
|
|
34
|
+
|
|
35
|
+
1. 依赖库组件目录下增加 `i18n` 目录。
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
|-- src
|
|
39
|
+
|---- components
|
|
40
|
+
|------- cwd-capluse
|
|
41
|
+
|---------- i18n
|
|
42
|
+
|------------- zh-CN.json
|
|
43
|
+
|------------- en-US.json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
1. 配置文案。本示例将配置文案写在zh-CN.json 文件中,并在 index.vue 处引用。
|
|
49
|
+
|
|
50
|
+
- 配置文案示例如下:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
//仅支持二级结构,key 建议带上组件的前缀。
|
|
54
|
+
{
|
|
55
|
+
"cwd-capluse.text": "这个是胶囊选择器的国际化测试文案"
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
- 在index.vue引入配置好的文案。
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
2. 更改 vite.config.js 构建配置,增加 i18n 配置项:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
// lcapPlugin 打包配置更改
|
|
69
|
+
lcapPlugin({
|
|
70
|
+
i18n: true,
|
|
71
|
+
}),
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
### 2.3 IDE内配置文案
|
|
77
|
+
|
|
78
|
+
以下步骤为依赖库打包发布并在IDE成功引入后的操作。
|
|
79
|
+
|
|
80
|
+
1. 点击 IDE 页面上方的“更多”按钮,在弹出的选项中,选择“国际化多语言”。
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
2. 配置依赖库组件内置文案。更多国际化多语言的配置说明及详细功能介绍,可参见:[国际化多语言](https://community.codewave.163.com/CommunityParent/fileIndex?filePath=20.%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%2F60.%E5%8F%AF%E8%A7%86%E5%8C%96%E5%BC%80%E5%8F%91%E7%95%8C%E9%9D%A2%2F70.%E6%9B%B4%E5%A4%9A%E8%AE%BE%E7%BD%AE%2F50.%E5%9B%BD%E9%99%85%E5%8C%96%E5%A4%9A%E8%AF%AD%E8%A8%80.md&version=3.13)。
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
> 注意:
|
|
89
|
+
> 依赖库组件内置文案是在依赖库组件开发时就已定义好的,无法在 IDE 内进行更改。例如上图所示,选中行中文文案为开发时定义好的无法在ID内更改;
|
|
90
|
+
> 但对于那些未定义的文案,可以自行配置。例如上图所示,中文文案对应的英文文案可以在 IDE 内设置。
|
|
91
|
+
|
|
92
|
+
## 3. 使用效果演示
|
|
93
|
+
|
|
94
|
+
以下效果为依赖库打包发布并在IDE中引入后在应用中的使用演示。
|
|
95
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
outline: deep
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 自定义组件面板图标
|
|
6
|
+
|
|
7
|
+
## 1. 功能说明
|
|
8
|
+
|
|
9
|
+
自定义在IDE右侧组件列表中展示的组件图标。
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## 2. 功能实现
|
|
14
|
+
|
|
15
|
+
1. 在项目文件根目录下创建文件夹 assets ,在文件夹下添加.svg格式图标文件。
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
1. 在组件的 api.ts 文件中,通过 @Component 装饰器定义图标 icon 。icon对应的文件支持根据 assets 匹配路径。
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
@Component({
|
|
23
|
+
icon: 'demo.svg',
|
|
24
|
+
})
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
|