king-design-analyzer 2.1.9 → 2.2.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/components/actions.json +109 -0
- package/components/advancedset.json +128 -0
- package/components/affix.json +8 -0
- package/components/aksk.json +172 -0
- package/components/anchor.json +220 -0
- package/components/anchorlink.json +111 -0
- package/components/az.json +15 -2
- package/components/badge.json +8 -0
- package/components/billtypes.json +14 -2
- package/components/breadcrumb.json +9 -1
- package/components/button.json +192 -0
- package/components/buttonlink.json +74 -0
- package/components/card.json +14 -4
- package/components/cardcol.json +142 -0
- package/components/cardcols.json +121 -0
- package/components/cardcontent.json +20 -3
- package/components/cardtabs.json +172 -0
- package/components/carousel.json +7 -0
- package/components/cascader.json +576 -368
- package/components/checkbox.json +51 -4
- package/components/cidrinput.json +140 -0
- package/components/code.json +8 -1
- package/components/collapse.json +335 -341
- package/components/colorpicker.json +217 -0
- package/components/configprovider.json +96 -0
- package/components/copy.json +7 -0
- package/components/copyhover.json +111 -0
- package/components/copyrow.json +125 -0
- package/components/datepicker.json +656 -524
- package/components/description.json +98 -0
- package/components/descriptions.json +10 -3
- package/components/diagram.json +295 -0
- package/components/dialog.json +526 -455
- package/components/divider.json +9 -1
- package/components/drawer.json +603 -558
- package/components/dropdown.json +464 -384
- package/components/duration.json +125 -0
- package/components/editable.json +66 -0
- package/components/ellipsis.json +34 -1
- package/components/filtertablefieldsdialog.json +128 -0
- package/components/flex.json +152 -0
- package/components/form.json +143 -3
- package/components/formiteminput.json +214 -0
- package/components/formitemspinner.json +213 -0
- package/components/formitemswitch.json +185 -0
- package/components/formitemtableconfigs.json +210 -0
- package/components/grid.json +7 -0
- package/components/header.json +165 -0
- package/components/icon.json +13 -1
- package/components/icontooltip.json +19 -1
- package/components/input.json +196 -8
- package/components/instancelist.json +194 -0
- package/components/instancenum.json +196 -0
- package/components/ipinput.json +117 -0
- package/components/kspstatus.json +205 -0
- package/components/kvcode.json +120 -0
- package/components/layoutcontent.json +24 -3
- package/components/layoutlistcontent.json +157 -0
- package/components/layoutpermissioncontent.json +156 -0
- package/components/layoutstandardlist.json +276 -0
- package/components/layouttabs.json +168 -0
- package/components/lazymount.json +87 -0
- package/components/lazyteleport.json +119 -0
- package/components/menu.json +11 -3
- package/components/notification.json +351 -0
- package/components/pagination.json +12 -0
- package/components/paginationplus.json +30 -3
- package/components/password.json +121 -0
- package/components/popover.json +457 -437
- package/components/projects.json +129 -0
- package/components/protable.json +99 -8
- package/components/queuevisualrange.json +110 -0
- package/components/radio.json +82 -2
- package/components/rate.json +200 -0
- package/components/region.json +14 -2
- package/components/scrollselect.json +140 -0
- package/components/search.json +221 -0
- package/components/searchinput.json +132 -0
- package/components/searchitems.json +215 -0
- package/components/searchselect.json +195 -0
- package/components/select.json +749 -666
- package/components/sidebar.json +198 -0
- package/components/skeleton.json +234 -0
- package/components/slider.json +12 -2
- package/components/spin.json +10 -2
- package/components/spinner.json +419 -429
- package/components/split.json +263 -0
- package/components/sshkeys.json +138 -0
- package/components/status.json +60 -3
- package/components/steps.json +7 -0
- package/components/switch.json +12 -3
- package/components/table.json +24 -2
- package/components/tablecolumnid.json +14 -2
- package/components/tabs.json +14 -2
- package/components/tag.json +8 -5
- package/components/timeline.json +215 -0
- package/components/timepicker.json +147 -3
- package/components/timerange.json +262 -0
- package/components/tip.json +27 -0
- package/components/tooltip.json +492 -395
- package/components/tour.json +418 -372
- package/components/transfer.json +79 -8
- package/components/tree.json +28 -5
- package/components/treeselect.json +612 -475
- package/components/upload.json +474 -473
- package/components/vdialog.json +309 -0
- package/components/vdrawer.json +335 -0
- package/components/virtuallist.json +7 -0
- package/dist/ast/index.d.mts +65 -2
- package/dist/ast/index.d.ts +65 -2
- package/dist/ast/index.js +4 -3
- package/dist/ast/index.mjs +2 -1
- package/dist/chunk-4OTQAQ6J.mjs +341 -0
- package/dist/{chunk-F26GUCGG.js → chunk-4WXOYU2N.js} +32 -9
- package/dist/chunk-6HOIRUQB.mjs +409 -0
- package/dist/chunk-DHLWNT53.js +364 -0
- package/dist/{chunk-H2ET6MMM.mjs → chunk-IPJJMPOO.mjs} +155 -66
- package/dist/{chunk-WYSRJVX4.js → chunk-JJ6AB4ZH.js} +2 -2
- package/dist/{chunk-2W6OCG2S.js → chunk-JNRGUR3O.js} +155 -67
- package/dist/chunk-KF5YBEM5.js +143 -0
- package/dist/{chunk-OJOHB64C.mjs → chunk-LRTDTFFQ.mjs} +28 -5
- package/dist/{chunk-DSWKLUIX.mjs → chunk-NZL6T22V.mjs} +1 -1
- package/dist/chunk-QC6VTSA3.mjs +117 -0
- package/dist/chunk-V5N65MRP.js +411 -0
- package/dist/full/index.d.mts +2 -0
- package/dist/full/index.d.ts +2 -0
- package/dist/full/index.js +7 -6
- package/dist/full/index.mjs +5 -4
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +14 -13
- package/dist/index.mjs +6 -5
- package/dist/metadata/index.d.mts +38 -3
- package/dist/metadata/index.d.ts +38 -3
- package/dist/metadata/index.js +26 -16
- package/dist/metadata/index.mjs +26 -15
- package/dist/resolve-BsLBxlBi.d.mts +24 -0
- package/dist/resolve-BsLBxlBi.d.ts +24 -0
- package/dist/runtime/index.d.mts +2 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +4 -4
- package/dist/runtime/index.mjs +2 -2
- package/dist/shared/index.d.mts +10 -0
- package/dist/shared/index.d.ts +10 -0
- package/dist/shared/index.js +23 -0
- package/dist/shared/index.mjs +2 -0
- package/dist/static/index.js +5 -5
- package/dist/static/index.mjs +2 -2
- package/docs_for_llm/actions.doc.md +87 -0
- package/docs_for_llm/advancedset.doc.md +98 -0
- package/docs_for_llm/affix.doc.md +20 -7
- package/docs_for_llm/aksk.doc.md +111 -0
- package/docs_for_llm/anchor.doc.md +155 -0
- package/docs_for_llm/anchorlink.doc.md +75 -0
- package/docs_for_llm/az.doc.md +17 -11
- package/docs_for_llm/badge.doc.md +11 -5
- package/docs_for_llm/billtypes.doc.md +17 -11
- package/docs_for_llm/breadcrumb.doc.md +80 -4
- package/docs_for_llm/button.doc.md +91 -18
- package/docs_for_llm/buttonlink.doc.md +64 -0
- package/docs_for_llm/card.doc.md +58 -8
- package/docs_for_llm/cardcol.doc.md +78 -0
- package/docs_for_llm/cardcols.doc.md +84 -0
- package/docs_for_llm/cardcontent.doc.md +31 -10
- package/docs_for_llm/cardtabs.doc.md +106 -0
- package/docs_for_llm/carousel.doc.md +79 -7
- package/docs_for_llm/cascader.doc.md +106 -23
- package/docs_for_llm/checkbox.doc.md +25 -13
- package/docs_for_llm/cidrinput.doc.md +83 -0
- package/docs_for_llm/code.doc.md +22 -11
- package/docs_for_llm/collapse.doc.md +147 -14
- package/docs_for_llm/colorpicker.doc.md +104 -0
- package/docs_for_llm/configprovider.doc.md +77 -0
- package/docs_for_llm/copy.doc.md +15 -13
- package/docs_for_llm/copyhover.doc.md +59 -0
- package/docs_for_llm/copyrow.doc.md +80 -0
- package/docs_for_llm/datepicker.doc.md +66 -35
- package/docs_for_llm/description.doc.md +75 -0
- package/docs_for_llm/descriptions.doc.md +122 -10
- package/docs_for_llm/diagram.doc.md +343 -0
- package/docs_for_llm/dialog.doc.md +97 -77
- package/docs_for_llm/divider.doc.md +14 -7
- package/docs_for_llm/drawer.doc.md +114 -69
- package/docs_for_llm/dropdown.doc.md +290 -22
- package/docs_for_llm/duration.doc.md +76 -0
- package/docs_for_llm/editable.doc.md +36 -14
- package/docs_for_llm/ellipsis.doc.md +10 -5
- package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
- package/docs_for_llm/flex.doc.md +83 -0
- package/docs_for_llm/form.doc.md +196 -18
- package/docs_for_llm/formiteminput.doc.md +128 -0
- package/docs_for_llm/formitemspinner.doc.md +105 -0
- package/docs_for_llm/formitemswitch.doc.md +113 -0
- package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
- package/docs_for_llm/grid.doc.md +78 -5
- package/docs_for_llm/header.doc.md +114 -0
- package/docs_for_llm/icon.doc.md +12 -8
- package/docs_for_llm/icontooltip.doc.md +121 -0
- package/docs_for_llm/input.doc.md +199 -41
- package/docs_for_llm/instancelist.doc.md +113 -0
- package/docs_for_llm/instancenum.doc.md +95 -0
- package/docs_for_llm/ipinput.doc.md +77 -0
- package/docs_for_llm/kspstatus.doc.md +82 -0
- package/docs_for_llm/kvcode.doc.md +76 -0
- package/docs_for_llm/layoutcontent.doc.md +54 -17
- package/docs_for_llm/layoutlistcontent.doc.md +168 -0
- package/docs_for_llm/layoutpermissioncontent.doc.md +93 -0
- package/docs_for_llm/layoutstandardlist.doc.md +129 -0
- package/docs_for_llm/layouttabs.doc.md +101 -0
- package/docs_for_llm/lazymount.doc.md +82 -0
- package/docs_for_llm/lazyteleport.doc.md +85 -0
- package/docs_for_llm/menu.doc.md +139 -14
- package/docs_for_llm/message.doc.md +93 -10
- package/docs_for_llm/notification.doc.md +214 -0
- package/docs_for_llm/pagination.doc.md +30 -17
- package/docs_for_llm/paginationplus.doc.md +31 -10
- package/docs_for_llm/password.doc.md +86 -0
- package/docs_for_llm/popover.doc.md +24 -55
- package/docs_for_llm/progress.doc.md +13 -10
- package/docs_for_llm/projects.doc.md +91 -0
- package/docs_for_llm/protable.doc.md +98 -15
- package/docs_for_llm/queuevisualrange.doc.md +78 -0
- package/docs_for_llm/radio.doc.md +23 -8
- package/docs_for_llm/rate.doc.md +127 -0
- package/docs_for_llm/region.doc.md +25 -13
- package/docs_for_llm/scrollselect.doc.md +90 -0
- package/docs_for_llm/search.doc.md +120 -0
- package/docs_for_llm/searchinput.doc.md +111 -0
- package/docs_for_llm/searchitems.doc.md +116 -0
- package/docs_for_llm/searchselect.doc.md +126 -0
- package/docs_for_llm/select.doc.md +208 -49
- package/docs_for_llm/sidebar.doc.md +133 -0
- package/docs_for_llm/skeleton.doc.md +152 -0
- package/docs_for_llm/slider.doc.md +42 -22
- package/docs_for_llm/spin.doc.md +18 -6
- package/docs_for_llm/spinner.doc.md +28 -18
- package/docs_for_llm/split.doc.md +170 -0
- package/docs_for_llm/sshkeys.doc.md +88 -0
- package/docs_for_llm/status.doc.md +14 -9
- package/docs_for_llm/steps.doc.md +81 -7
- package/docs_for_llm/switch.doc.md +32 -16
- package/docs_for_llm/table.doc.md +317 -55
- package/docs_for_llm/tablecolumnid.doc.md +36 -16
- package/docs_for_llm/tabs.doc.md +117 -12
- package/docs_for_llm/tag.doc.md +167 -15
- package/docs_for_llm/timeline.doc.md +187 -0
- package/docs_for_llm/timepicker.doc.md +74 -36
- package/docs_for_llm/timerange.doc.md +157 -0
- package/docs_for_llm/tip.doc.md +50 -11
- package/docs_for_llm/tooltip.doc.md +99 -27
- package/docs_for_llm/tour.doc.md +125 -28
- package/docs_for_llm/transfer.doc.md +99 -33
- package/docs_for_llm/tree.doc.md +129 -24
- package/docs_for_llm/treeselect.doc.md +101 -44
- package/docs_for_llm/upload.doc.md +63 -32
- package/docs_for_llm/useCRUD.doc.md +49 -0
- package/docs_for_llm/useCountdown.doc.md +43 -0
- package/docs_for_llm/useDetail.doc.md +48 -0
- package/docs_for_llm/useDialog.doc.md +46 -0
- package/docs_for_llm/useEntity.doc.md +45 -0
- package/docs_for_llm/useEventListener.doc.md +44 -0
- package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
- package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
- package/docs_for_llm/useGetUserPermission.doc.md +43 -0
- package/docs_for_llm/useGroup.doc.md +48 -0
- package/docs_for_llm/useIdEntities.doc.md +48 -0
- package/docs_for_llm/useIdEntity.doc.md +103 -0
- package/docs_for_llm/useInterval.doc.md +43 -0
- package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
- package/docs_for_llm/useMessage.doc.md +46 -0
- package/docs_for_llm/useModifyCache.doc.md +37 -0
- package/docs_for_llm/useOpenDialog.doc.md +41 -0
- package/docs_for_llm/usePagination.doc.md +60 -0
- package/docs_for_llm/usePersist.doc.md +54 -0
- package/docs_for_llm/usePoll.doc.md +41 -0
- package/docs_for_llm/useRoutePlus.doc.md +34 -0
- package/docs_for_llm/useRouterPlus.doc.md +34 -0
- package/docs_for_llm/useSearch.doc.md +68 -0
- package/docs_for_llm/useShell.doc.md +43 -0
- package/docs_for_llm/useSkip.doc.md +41 -0
- package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
- package/docs_for_llm/useStore.doc.md +34 -0
- package/docs_for_llm/useTable.doc.md +57 -0
- package/docs_for_llm/useTableGroup.doc.md +47 -0
- package/docs_for_llm/useTableSort.doc.md +40 -0
- package/docs_for_llm/useToState.doc.md +112 -0
- package/docs_for_llm/useUser.doc.md +38 -0
- package/docs_for_llm/useValidForm.doc.md +41 -0
- package/docs_for_llm/vdialog.doc.md +154 -0
- package/docs_for_llm/vdrawer.doc.md +148 -0
- package/docs_for_llm/virtuallist.doc.md +157 -3
- package/hooks/useCRUD.json +61 -0
- package/hooks/useCountdown.json +49 -0
- package/hooks/useDetail.json +67 -0
- package/hooks/useDialog.json +49 -0
- package/hooks/useEntity.json +61 -0
- package/hooks/useEventListener.json +61 -0
- package/hooks/useFalseUntilTruthy.json +43 -0
- package/hooks/useGetCopyAuthText.json +36 -0
- package/hooks/useGetUserPermission.json +55 -0
- package/hooks/useGroup.json +49 -0
- package/hooks/useIdEntities.json +61 -0
- package/hooks/useInterval.json +55 -0
- package/hooks/useLayoutStandardList.json +36 -0
- package/hooks/useMessage.json +73 -0
- package/hooks/useModifyCache.json +36 -0
- package/hooks/useOpenDialog.json +43 -0
- package/hooks/usePagination.json +49 -0
- package/hooks/usePersist.json +61 -0
- package/hooks/usePoll.json +43 -0
- package/hooks/useRoutePlus.json +36 -0
- package/hooks/useRouterPlus.json +36 -0
- package/hooks/useSearch.json +56 -0
- package/hooks/useShell.json +49 -0
- package/hooks/useSkip.json +43 -0
- package/hooks/useStorageIdEntity.json +67 -0
- package/hooks/useStore.json +36 -0
- package/hooks/useTable.json +49 -0
- package/hooks/useTableGroup.json +43 -0
- package/hooks/useTableSort.json +43 -0
- package/hooks/useUser.json +36 -0
- package/hooks/useValidForm.json +43 -0
- package/package.json +14 -8
- package/dist/chunk-D3Y6FGWA.js +0 -153
- package/dist/chunk-HPAUCD5I.js +0 -156
- package/dist/chunk-L4DS3EXI.mjs +0 -133
- package/dist/chunk-NZ6TLWMD.mjs +0 -151
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# 实例数量 (InstanceNum)
|
|
2
|
+
|
|
3
|
+
围绕实例数量录入封装的业务组件,补充了范围控制、禁用提示和补丁数联动,适合节点数量、实例副本数等场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: instance num, instance count, 实例数量, 节点数量, 副本数输入
|
|
6
|
+
|
|
7
|
+
**使用场景**: 启停开关、集群节点数量配置、受限规格下展示禁用原因
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { InstanceNum } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `number` | `undefined` | 否 | 实例数量 | - | - |
|
|
18
|
+
| label | `string` | `undefined` | 否 | 表单项标题 | - | - |
|
|
19
|
+
| max | `number | null` | `undefined` | 否 | 允许的最大数量 | - | - |
|
|
20
|
+
| min | `number | null` | `undefined` | 否 | 允许的最小数量 | - | - |
|
|
21
|
+
| required | `boolean` | `undefined` | 否 | 是否必填 | - | - |
|
|
22
|
+
| rules | `Record<string, any>` | `{}` | 否 | 表单校验规则 | - | - |
|
|
23
|
+
| width | `string | number` | `undefined` | 否 | 输入控件宽度 | - | - |
|
|
24
|
+
| disabled | `boolean` | `undefined` | 否 | 是否禁用输入 | - | - |
|
|
25
|
+
| disabledTooltip | `boolean` | `undefined` | 否 | 禁用时是否显示 tooltip | - | - |
|
|
26
|
+
| tooltipContent | `string` | `undefined` | 否 | 禁用提示内容 | - | - |
|
|
27
|
+
| patchcount | `number` | `undefined` | 否 | 补丁数量或步进修正值 | - | - |
|
|
28
|
+
|
|
29
|
+
## 事件 (Events)
|
|
30
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
31
|
+
| --- | --- | --- | --- | --- |
|
|
32
|
+
| update:modelValue | `@update:modelValue` | 实例数量变化时触发,可用于联动库存、价格和配额校验。 | `value?: number` | - |
|
|
33
|
+
|
|
34
|
+
### 事件参数说明
|
|
35
|
+
**update:modelValue**
|
|
36
|
+
|
|
37
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
38
|
+
| --- | --- | --- | --- | --- |
|
|
39
|
+
| value | `number` | 否 | - | 当前实例数量或副本数。 |
|
|
40
|
+
|
|
41
|
+
## 使用示例
|
|
42
|
+
### 集群节点数量选择
|
|
43
|
+
**场景**: 在集群或弹性扩缩容场景中控制实例数量。
|
|
44
|
+
|
|
45
|
+
限制节点数量范围,并在禁用时给出原因说明。
|
|
46
|
+
|
|
47
|
+
**使用的 API**: 属性: modelValue, label, min, max, tooltipContent | 事件: update:modelValue
|
|
48
|
+
|
|
49
|
+
```vue
|
|
50
|
+
<script setup lang="ts">
|
|
51
|
+
import { ref } from 'vue';
|
|
52
|
+
import { InstanceNum } from '@ksyun-internal/versatile';
|
|
53
|
+
|
|
54
|
+
const count = ref(3);
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<template>
|
|
58
|
+
<InstanceNum
|
|
59
|
+
v-model="count"
|
|
60
|
+
label="节点数量"
|
|
61
|
+
:min="1"
|
|
62
|
+
:max="10"
|
|
63
|
+
tooltip-content="超出规格上限时需要升级套餐"
|
|
64
|
+
/>
|
|
65
|
+
</template>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 禁用状态下展示原因
|
|
69
|
+
**场景**: 在受限套餐下明确告知用户为什么不能修改数量。
|
|
70
|
+
|
|
71
|
+
当规格不满足条件时暂时禁用数量调整,并给出解释。
|
|
72
|
+
|
|
73
|
+
**使用的 API**: 属性: modelValue, label, disabled, disabledTooltip
|
|
74
|
+
|
|
75
|
+
```vue
|
|
76
|
+
<script setup lang="ts">
|
|
77
|
+
import { ref } from 'vue';
|
|
78
|
+
import { InstanceNum } from '@ksyun-internal/versatile';
|
|
79
|
+
|
|
80
|
+
const count = ref(1);
|
|
81
|
+
</script>
|
|
82
|
+
|
|
83
|
+
<template>
|
|
84
|
+
<InstanceNum
|
|
85
|
+
v-model="count"
|
|
86
|
+
label="实例数量"
|
|
87
|
+
:disabled="true"
|
|
88
|
+
disabled-tooltip="当前套餐仅支持单实例部署"
|
|
89
|
+
/>
|
|
90
|
+
</template>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 相关组件
|
|
94
|
+
FormItemSpinner, FormItemTableConfigs
|
|
95
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# IP 输入框 (IPInput)
|
|
2
|
+
|
|
3
|
+
面向 IPv4 地址录入的分段输入组件,适合网卡、白名单、后端服务地址等需要明确格式校验的网络场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: ip input, ipv4 input, IP 输入, ip 地址录入, 网络地址输入
|
|
6
|
+
|
|
7
|
+
**使用场景**: IPv4 地址录入、网络配置表单、分段 IP 输入提示
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { IPInput } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| modelValue | `string` | `undefined` | 否 | IP 地址值 | - | - |
|
|
18
|
+
| disabled | `boolean | any[]` | `undefined` | 否 | 禁用状态或分段禁用配置 | - | - |
|
|
19
|
+
| tooltip | `any[]` | `undefined` | 否 | 分段 tooltip 配置 | - | - |
|
|
20
|
+
|
|
21
|
+
## 事件 (Events)
|
|
22
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
23
|
+
| --- | --- | --- | --- | --- |
|
|
24
|
+
| update:modelValue | `@update:modelValue` | 完整 IP 地址变化时触发,可直接同步网络配置表单。 | `value?: string` | - |
|
|
25
|
+
|
|
26
|
+
### 事件参数说明
|
|
27
|
+
**update:modelValue**
|
|
28
|
+
|
|
29
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
30
|
+
| --- | --- | --- | --- | --- |
|
|
31
|
+
| value | `string` | 否 | - | 当前输入的 IPv4 地址字符串。 |
|
|
32
|
+
|
|
33
|
+
## 使用示例
|
|
34
|
+
### 后端服务 IP 地址录入
|
|
35
|
+
**场景**: 在网络或服务发现配置中录入单个 IPv4 地址。
|
|
36
|
+
|
|
37
|
+
用分段输入方式降低手写 IP 地址的出错概率。
|
|
38
|
+
|
|
39
|
+
**使用的 API**: 属性: modelValue | 事件: update:modelValue
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import { ref } from 'vue';
|
|
44
|
+
import { IPInput } from '@ksyun-internal/versatile';
|
|
45
|
+
|
|
46
|
+
const ip = ref('10.0.0.12');
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<template>
|
|
50
|
+
<IPInput v-model="ip" />
|
|
51
|
+
</template>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 为 IP 分段添加提示
|
|
55
|
+
**场景**: 在网络配置页中为 IP 输入提供更明确的填写提示。
|
|
56
|
+
|
|
57
|
+
给分段输入框补充提示信息,帮助用户理解每段含义。
|
|
58
|
+
|
|
59
|
+
**使用的 API**: 属性: modelValue, tooltip | 事件: update:modelValue
|
|
60
|
+
|
|
61
|
+
```vue
|
|
62
|
+
<script setup lang="ts">
|
|
63
|
+
import { ref } from 'vue';
|
|
64
|
+
import { IPInput } from '@ksyun-internal/versatile';
|
|
65
|
+
|
|
66
|
+
const ip = ref('172.16.0.10');
|
|
67
|
+
const tooltip = ['第一段', '第二段', '第三段', '第四段'];
|
|
68
|
+
</script>
|
|
69
|
+
|
|
70
|
+
<template>
|
|
71
|
+
<IPInput v-model="ip" :tooltip="tooltip" />
|
|
72
|
+
</template>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 相关组件
|
|
76
|
+
CidrInput
|
|
77
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# 业务状态标识 (KspStatus)
|
|
2
|
+
|
|
3
|
+
根据业务状态值自动映射文案、颜色和加载态的状态展示组件,适合实例生命周期、任务状态和工单状态等复杂业务场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: ksp status, business status, 业务状态, 状态码映射, progress status, 任务状态
|
|
6
|
+
|
|
7
|
+
**使用场景**: 资源状态展示、任务进度与异常态展示、带进度的迁移或备份状态
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { KspStatus } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| status | `string | number` | `undefined` | 否 | 业务状态值,可为字符串或数字 | - | - |
|
|
18
|
+
| progress | `number` | `undefined` | 否 | 进度值,用于进度型状态展示 | - | - |
|
|
19
|
+
| success | `any[]` | `undefined` | 否 | 会被视为成功态的状态值集合 | - | - |
|
|
20
|
+
| danger | `any[]` | `undefined` | 否 | 会被视为失败态的状态值集合 | - | - |
|
|
21
|
+
| disabled | `any[]` | `undefined` | 否 | 会被视为禁用态的状态值集合 | - | - |
|
|
22
|
+
| warning | `any[]` | `undefined` | 否 | 会被视为警告态的状态值集合 | - | - |
|
|
23
|
+
| loading | `any[]` | `undefined` | 否 | 会被视为加载态的状态值集合 | - | - |
|
|
24
|
+
| progressbar | `any[]` | `undefined` | 否 | 会被视为进度条态的状态值集合 | - | - |
|
|
25
|
+
| maps | `Record<string, any>` | `undefined` | 否 | 自定义状态映射表 | - | - |
|
|
26
|
+
| tip | `string` | `undefined` | 否 | 状态说明 tooltip 文案 | - | - |
|
|
27
|
+
| position | `any` | `undefined` | 否 | tooltip 或刷新按钮的弹出位置 | - | - |
|
|
28
|
+
| refreshTip | `string` | `undefined` | 否 | 刷新按钮提示文案 | - | - |
|
|
29
|
+
| refresh | `() => Promise<void>` | `undefined` | 否 | 点击刷新时执行的异步函数 | - | - |
|
|
30
|
+
| text | `string` | `undefined` | 否 | 自定义展示文案,优先级高于状态映射 | - | - |
|
|
31
|
+
|
|
32
|
+
## 使用示例
|
|
33
|
+
### 实例生命周期状态展示
|
|
34
|
+
**场景**: 在列表或详情页中按统一规则展示业务状态。
|
|
35
|
+
|
|
36
|
+
通过 maps 配置把业务状态码映射成统一的状态展示。
|
|
37
|
+
|
|
38
|
+
**使用的 API**: 属性: status, maps, refreshTip
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<script setup lang="ts">
|
|
42
|
+
import { KspStatus } from '@ksyun-internal/versatile';
|
|
43
|
+
|
|
44
|
+
const maps = {
|
|
45
|
+
creating: { text: '创建中', loading: true },
|
|
46
|
+
running: { text: '运行中', success: true },
|
|
47
|
+
stopped: { text: '已停止', disabled: true },
|
|
48
|
+
};
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<template>
|
|
52
|
+
<KspStatus status="creating" :maps="maps" refresh-tip="状态每 10 秒刷新一次" />
|
|
53
|
+
</template>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 展示带进度的业务状态
|
|
57
|
+
**场景**: 在迁移、备份等长任务场景中展示进度化状态。
|
|
58
|
+
|
|
59
|
+
通过 progress 和 refresh 提示渲染任务执行中的状态。
|
|
60
|
+
|
|
61
|
+
**使用的 API**: 属性: status, text, progress, refresh, refreshTip, tip
|
|
62
|
+
|
|
63
|
+
```vue
|
|
64
|
+
<script setup lang="ts">
|
|
65
|
+
import { KspStatus } from '@ksyun-internal/versatile';
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
<template>
|
|
69
|
+
<KspStatus
|
|
70
|
+
status="migrating"
|
|
71
|
+
text="迁移中"
|
|
72
|
+
:progress="68"
|
|
73
|
+
:refresh="true"
|
|
74
|
+
refresh-tip="状态会自动刷新"
|
|
75
|
+
tip="预计 2 分钟后完成"
|
|
76
|
+
/>
|
|
77
|
+
</template>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 相关组件
|
|
81
|
+
Status
|
|
82
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# 键值代码输入 (KvCode)
|
|
2
|
+
|
|
3
|
+
用于录入脚本、配置片段或键值代码内容的表单组件,适合高级参数、启动脚本和策略文本等输入场景。
|
|
4
|
+
|
|
5
|
+
**关键词**: kv code, code input, 代码输入, 脚本录入, 策略文本
|
|
6
|
+
|
|
7
|
+
**使用场景**: 脚本配置输入、高级参数录入、JSON 策略文本填写
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { KvCode } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| label | `string` | `undefined` | 否 | 表单项标题 | - | - |
|
|
18
|
+
| modelValue | `string` | `undefined` | 否 | 代码内容 | - | - |
|
|
19
|
+
| required | `boolean` | `undefined` | 否 | 是否必填 | - | - |
|
|
20
|
+
|
|
21
|
+
## 事件 (Events)
|
|
22
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
23
|
+
| --- | --- | --- | --- | --- |
|
|
24
|
+
| update:modelValue | `@update:modelValue` | 代码或文本片段内容变化时触发,适合与父级表单实时同步。 | `value?: string` | - |
|
|
25
|
+
|
|
26
|
+
### 事件参数说明
|
|
27
|
+
**update:modelValue**
|
|
28
|
+
|
|
29
|
+
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
30
|
+
| --- | --- | --- | --- | --- |
|
|
31
|
+
| value | `string` | 否 | - | 当前编辑器中的代码或文本内容。 |
|
|
32
|
+
|
|
33
|
+
## 使用示例
|
|
34
|
+
### 启动脚本输入
|
|
35
|
+
**场景**: 录入任务脚本、环境变量模板或高级参数文本。
|
|
36
|
+
|
|
37
|
+
在创建任务或实例时录入一段配置脚本。
|
|
38
|
+
|
|
39
|
+
**使用的 API**: 属性: modelValue, label, required | 事件: update:modelValue
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import { ref } from 'vue';
|
|
44
|
+
import { KvCode } from '@ksyun-internal/versatile';
|
|
45
|
+
|
|
46
|
+
const script = ref('export NODE_ENV=production');
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<template>
|
|
50
|
+
<KvCode v-model="script" label="启动脚本" :required="true" />
|
|
51
|
+
</template>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 录入策略 JSON 文本
|
|
55
|
+
**场景**: 在策略配置页中录入 JSON 结构化文本。
|
|
56
|
+
|
|
57
|
+
在权限或策略场景中填写结构化文本配置。
|
|
58
|
+
|
|
59
|
+
**使用的 API**: 属性: modelValue, label | 事件: update:modelValue
|
|
60
|
+
|
|
61
|
+
```vue
|
|
62
|
+
<script setup lang="ts">
|
|
63
|
+
import { ref } from 'vue';
|
|
64
|
+
import { KvCode } from '@ksyun-internal/versatile';
|
|
65
|
+
|
|
66
|
+
const policy = ref('{"Version":"1.0","Statement":[]}');
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
<KvCode v-model="policy" label="访问策略" />
|
|
71
|
+
</template>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 相关组件
|
|
75
|
+
Code, FormItemInput
|
|
76
|
+
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
标准页面布局组件,包含头部、面包屑、内容区和可选的底部操作栏。
|
|
4
4
|
|
|
5
|
-
**关键词**: layout, content, page,
|
|
5
|
+
**关键词**: layout, content, page, 布局, 详情布局, 页面骨架, 内容页容器
|
|
6
6
|
|
|
7
|
-
**使用场景**:
|
|
7
|
+
**使用场景**: 详情页、列表页、表单页、购买链路页面、带顶部栏和底部栏的业务内容页
|
|
8
8
|
|
|
9
9
|
## 导入语句
|
|
10
10
|
```typescript
|
|
@@ -12,21 +12,21 @@ import { LayoutContent } from '@ksyun-internal/versatile';
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## 属性 (Props)
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 示例 |
|
|
16
|
-
| --- | --- | --- | --- | --- | --- |
|
|
17
|
-
| title | `string` | `""` | 否 | 定义顶部栏标题,也可通过 headerProps.title 定义标题 | - |
|
|
18
|
-
| back | `() => any | RouteLocationRaw` | `undefined` | 否 | 定义顶部栏是否支持返回按钮,也可通过 headerProps.back 定义返回内容 | - |
|
|
19
|
-
| headerProps | `LayoutHeaderProps` | `undefined` | 否 | 定义顶部栏,Header 组件支持的属性 | - |
|
|
20
|
-
| tab | `string` | `""` | 否 | 当前选项卡 | - |
|
|
21
|
-
| tabs | `TabItem[]` | `undefined` | 否 | 所有选项卡数据 | - |
|
|
22
|
-
| tabsProps | `LayoutTabsProps` | `undefined` | 否 | 定义 tab 栏,LayoutTabs 组件支持的属性 | - |
|
|
23
|
-
| newable | `boolean` | `false` | 否 | 购买链路页面样式。UI 规范要求在浏览器新的 tab 中打开 | - |
|
|
24
|
-
| scroll | `boolean` | `false` | 否 | 内容超出范围是否支持滚动条 | - |
|
|
25
|
-
| topShadow | `boolean` | `false` | 否 | 顶部固定处是否加阴影,有返回操作的默认自带阴影 | - |
|
|
26
|
-
| initialized | `boolean` | `true` | 否 | 是否初始化完成,默认初始化已完成为 true,初始化未完成时会有 loading 效果 | - |
|
|
27
|
-
| loading | `boolean` | `false` | 否 | 是否为加载中状态 | - |
|
|
28
|
-
| isHasFooter | `boolean` | `undefined` | 否 | 是否有底部栏,可通过此参数强制进行设置。默认根据是否有 footer、footerLeft、footerRight 扩展点判断 | - |
|
|
29
|
-
| breadcrumb | `Array<{ to: string, label: string }>` | `undefined` | 否 | 同 Header 组件的 breadcrumb 属性一致,定义面包屑导航,数组元素为 { to: string, label: string } 格式 | - |
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| title | `string` | `""` | 否 | 定义顶部栏标题,也可通过 headerProps.title 定义标题 | - | - |
|
|
18
|
+
| back | `() => any | RouteLocationRaw` | `undefined` | 否 | 定义顶部栏是否支持返回按钮,也可通过 headerProps.back 定义返回内容 | - | - |
|
|
19
|
+
| headerProps | `LayoutHeaderProps` | `undefined` | 否 | 定义顶部栏,Header 组件支持的属性 | - | - |
|
|
20
|
+
| tab | `string` | `""` | 否 | 当前选项卡 | - | - |
|
|
21
|
+
| tabs | `TabItem[]` | `undefined` | 否 | 所有选项卡数据 | - | - |
|
|
22
|
+
| tabsProps | `LayoutTabsProps` | `undefined` | 否 | 定义 tab 栏,LayoutTabs 组件支持的属性 | - | - |
|
|
23
|
+
| newable | `boolean` | `false` | 否 | 购买链路页面样式。UI 规范要求在浏览器新的 tab 中打开 | - | - |
|
|
24
|
+
| scroll | `boolean` | `false` | 否 | 内容超出范围是否支持滚动条 | - | - |
|
|
25
|
+
| topShadow | `boolean` | `false` | 否 | 顶部固定处是否加阴影,有返回操作的默认自带阴影 | - | - |
|
|
26
|
+
| initialized | `boolean` | `true` | 否 | 是否初始化完成,默认初始化已完成为 true,初始化未完成时会有 loading 效果 | - | - |
|
|
27
|
+
| loading | `boolean` | `false` | 否 | 是否为加载中状态 | - | - |
|
|
28
|
+
| isHasFooter | `boolean` | `undefined` | 否 | 是否有底部栏,可通过此参数强制进行设置。默认根据是否有 footer、footerLeft、footerRight 扩展点判断 | - | - |
|
|
29
|
+
| breadcrumb | `Array<{ to: string, label: string }>` | `undefined` | 否 | 同 Header 组件的 breadcrumb 属性一致,定义面包屑导航,数组元素为 { to: string, label: string } 格式 | - | - |
|
|
30
30
|
|
|
31
31
|
## 插槽 (Slots)
|
|
32
32
|
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
@@ -41,3 +41,40 @@ import { LayoutContent } from '@ksyun-internal/versatile';
|
|
|
41
41
|
| footerRight | 扩展底部栏右侧处内容 | `<template #footerRight>...</template>` | `<LayoutContent><template #footerRight><Button>提交</Button></template></LayoutContent>` |
|
|
42
42
|
| footer | 扩展底部栏处的整体内容,底部栏没有左右之分的时候可使用此扩展 | `<template #footer>...</template>` | `<LayoutContent><template #footer><Button>保存</Button><Button>取消</Button></template></LayoutContent>` |
|
|
43
43
|
|
|
44
|
+
### 插槽参数说明
|
|
45
|
+
**default**
|
|
46
|
+
|
|
47
|
+
- 参数结构: 无参数
|
|
48
|
+
|
|
49
|
+
**headerTitle**
|
|
50
|
+
|
|
51
|
+
- 参数结构: 无参数
|
|
52
|
+
|
|
53
|
+
**headerTitleAppend**
|
|
54
|
+
|
|
55
|
+
- 参数结构: 无参数
|
|
56
|
+
|
|
57
|
+
**headerDocPrepend**
|
|
58
|
+
|
|
59
|
+
- 参数结构: 无参数
|
|
60
|
+
|
|
61
|
+
**headerDoc**
|
|
62
|
+
|
|
63
|
+
- 参数结构: 无参数
|
|
64
|
+
|
|
65
|
+
**tab**
|
|
66
|
+
|
|
67
|
+
- 参数结构: 无参数
|
|
68
|
+
|
|
69
|
+
**footerLeft**
|
|
70
|
+
|
|
71
|
+
- 参数结构: 无参数
|
|
72
|
+
|
|
73
|
+
**footerRight**
|
|
74
|
+
|
|
75
|
+
- 参数结构: 无参数
|
|
76
|
+
|
|
77
|
+
**footer**
|
|
78
|
+
|
|
79
|
+
- 参数结构: 无参数
|
|
80
|
+
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# 列表布局 (LayoutListContent)
|
|
2
|
+
|
|
3
|
+
面向列表页的一体化布局容器,统一承载头部、操作区、搜索区和列表内容,适合和 Search、ProTable 组合使用。
|
|
4
|
+
|
|
5
|
+
**关键词**: list layout, layout list, 列表布局, 资源列表页, 搜索加表格布局, 页头操作区
|
|
6
|
+
|
|
7
|
+
**使用场景**: 资源列表页、带搜索和操作栏的列表页、通过插槽扩展头部操作区
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { LayoutListContent } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| title | `string` | `""` | 否 | 顶部栏标题,也可通过 headerProps.title 配置 | - | - |
|
|
18
|
+
| headerProps | `LayoutHeaderProps` | `undefined` | 否 | 顶部栏配置,同 Header 组件的属性集合 | - | - |
|
|
19
|
+
| loading | `boolean` | `false` | 否 | 整体加载状态 | - | - |
|
|
20
|
+
|
|
21
|
+
## 插槽 (Slots)
|
|
22
|
+
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
23
|
+
| --- | --- | --- | --- |
|
|
24
|
+
| default | 页面主体内容区域 | `<LayoutListContent>...</LayoutListContent>` | `<LayoutListContent>
|
|
25
|
+
<template <LayoutListContent>...</LayoutListContent>>
|
|
26
|
+
自定义default内容
|
|
27
|
+
</template>
|
|
28
|
+
</LayoutListContent>` |
|
|
29
|
+
| headerTitle | 扩展顶部栏左侧标题处内容 | `<template #headerTitle>...</template>` | `<LayoutListContent>
|
|
30
|
+
<template <template #headerTitle>...</template>>
|
|
31
|
+
自定义headerTitle内容
|
|
32
|
+
</template>
|
|
33
|
+
</LayoutListContent>` |
|
|
34
|
+
| headerTitleAppend | 扩展顶部栏左侧标题后的追加内容 | `<template #headerTitleAppend>...</template>` | `<LayoutListContent>
|
|
35
|
+
<template <template #headerTitleAppend>...</template>>
|
|
36
|
+
自定义headerTitleAppend内容
|
|
37
|
+
</template>
|
|
38
|
+
</LayoutListContent>` |
|
|
39
|
+
| headerDocPrepend | 扩展顶部栏右侧文档前置内容 | `<template #headerDocPrepend>...</template>` | `<LayoutListContent>
|
|
40
|
+
<template <template #headerDocPrepend>...</template>>
|
|
41
|
+
自定义headerDocPrepend内容
|
|
42
|
+
</template>
|
|
43
|
+
</LayoutListContent>` |
|
|
44
|
+
| headerDoc | 扩展顶部栏右侧文档内容 | `<template #headerDoc>...</template>` | `<LayoutListContent>
|
|
45
|
+
<template <template #headerDoc>...</template>>
|
|
46
|
+
自定义headerDoc内容
|
|
47
|
+
</template>
|
|
48
|
+
</LayoutListContent>` |
|
|
49
|
+
| opLeft | 卡片操作栏左侧内容 | `<template #opLeft>...</template>` | `<LayoutListContent>
|
|
50
|
+
<template <template #opLeft>...</template>>
|
|
51
|
+
自定义opLeft内容
|
|
52
|
+
</template>
|
|
53
|
+
</LayoutListContent>` |
|
|
54
|
+
| opRight | 卡片操作栏右侧内容 | `<template #opRight>...</template>` | `<LayoutListContent>
|
|
55
|
+
<template <template #opRight>...</template>>
|
|
56
|
+
自定义opRight内容
|
|
57
|
+
</template>
|
|
58
|
+
</LayoutListContent>` |
|
|
59
|
+
| prepend | 卡片操作栏上方扩展内容 | `<template #prepend>...</template>` | `<LayoutListContent>
|
|
60
|
+
<template <template #prepend>...</template>>
|
|
61
|
+
自定义prepend内容
|
|
62
|
+
</template>
|
|
63
|
+
</LayoutListContent>` |
|
|
64
|
+
| extra | 头部附加区域 | `<template #extra>...</template>` | `<LayoutListContent>
|
|
65
|
+
<template <template #extra>...</template>>
|
|
66
|
+
自定义extra内容
|
|
67
|
+
</template>
|
|
68
|
+
</LayoutListContent>` |
|
|
69
|
+
|
|
70
|
+
### 插槽参数说明
|
|
71
|
+
**default**
|
|
72
|
+
|
|
73
|
+
- 参数结构: 无参数
|
|
74
|
+
|
|
75
|
+
**headerTitle**
|
|
76
|
+
|
|
77
|
+
- 参数结构: 无参数
|
|
78
|
+
|
|
79
|
+
**headerTitleAppend**
|
|
80
|
+
|
|
81
|
+
- 参数结构: 无参数
|
|
82
|
+
|
|
83
|
+
**headerDocPrepend**
|
|
84
|
+
|
|
85
|
+
- 参数结构: 无参数
|
|
86
|
+
|
|
87
|
+
**headerDoc**
|
|
88
|
+
|
|
89
|
+
- 参数结构: 无参数
|
|
90
|
+
|
|
91
|
+
**opLeft**
|
|
92
|
+
|
|
93
|
+
- 参数结构: 无参数
|
|
94
|
+
|
|
95
|
+
**opRight**
|
|
96
|
+
|
|
97
|
+
- 参数结构: 无参数
|
|
98
|
+
|
|
99
|
+
**prepend**
|
|
100
|
+
|
|
101
|
+
- 参数结构: 无参数
|
|
102
|
+
|
|
103
|
+
**extra**
|
|
104
|
+
|
|
105
|
+
- 参数结构: 无参数
|
|
106
|
+
|
|
107
|
+
## 使用示例
|
|
108
|
+
### 标准列表页布局
|
|
109
|
+
**场景**: 搭建常见的“页头 + 搜索 + 表格”列表页面。
|
|
110
|
+
|
|
111
|
+
在同一容器内组合标题、搜索区和表格区,形成标准列表页结构。
|
|
112
|
+
|
|
113
|
+
```vue
|
|
114
|
+
<script setup lang="ts">
|
|
115
|
+
import { LayoutListContent, Header, Search, ProTable } from '@ksyun-internal/versatile';
|
|
116
|
+
|
|
117
|
+
const searches = [
|
|
118
|
+
{ key: 'name', label: '实例名称', type: 'input', placeholder: '请输入实例名称' },
|
|
119
|
+
];
|
|
120
|
+
const columns = [
|
|
121
|
+
{ key: 'name', title: '实例名称' },
|
|
122
|
+
];
|
|
123
|
+
</script>
|
|
124
|
+
|
|
125
|
+
<template>
|
|
126
|
+
<LayoutListContent>
|
|
127
|
+
<template #headerTitle>
|
|
128
|
+
<Header title="实例列表" />
|
|
129
|
+
</template>
|
|
130
|
+
<template #prepend>
|
|
131
|
+
<Search :searches="searches" />
|
|
132
|
+
</template>
|
|
133
|
+
<ProTable :columns="columns" :data-source="[]" />
|
|
134
|
+
</LayoutListContent>
|
|
135
|
+
</template>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 使用操作栏左右插槽
|
|
139
|
+
**场景**: 在列表页头部同时摆放批量操作、主操作和统计信息。
|
|
140
|
+
|
|
141
|
+
通过 opLeft、opRight 和 extra 插槽扩展列表页头部区域。
|
|
142
|
+
|
|
143
|
+
**使用的 API**: 属性: title
|
|
144
|
+
|
|
145
|
+
```vue
|
|
146
|
+
<script setup lang="ts">
|
|
147
|
+
import { LayoutListContent, ProTable } from '@ksyun-internal/versatile';
|
|
148
|
+
</script>
|
|
149
|
+
|
|
150
|
+
<template>
|
|
151
|
+
<LayoutListContent title="镜像列表">
|
|
152
|
+
<template #opLeft>
|
|
153
|
+
<button>批量导出</button>
|
|
154
|
+
</template>
|
|
155
|
+
<template #opRight>
|
|
156
|
+
<button>新建镜像</button>
|
|
157
|
+
</template>
|
|
158
|
+
<template #extra>
|
|
159
|
+
<span>共 32 个镜像</span>
|
|
160
|
+
</template>
|
|
161
|
+
<ProTable :columns="[]" :data-source="[]" />
|
|
162
|
+
</LayoutListContent>
|
|
163
|
+
</template>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## 相关组件
|
|
167
|
+
Header, ProTable, Search
|
|
168
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# 权限内容布局 (LayoutPermissionContent)
|
|
2
|
+
|
|
3
|
+
用于承载无权限、待开通、待授权等结果页内容的布局组件,统一管理插图、说明文案和主操作按钮。
|
|
4
|
+
|
|
5
|
+
**关键词**: permission, permission layout, 权限布局, 无权限页, 结果页布局, 开通引导
|
|
6
|
+
|
|
7
|
+
**使用场景**: 无权限页、待授权提示页、纵向结果页和引导操作
|
|
8
|
+
|
|
9
|
+
## 导入语句
|
|
10
|
+
```typescript
|
|
11
|
+
import { LayoutPermissionContent } from '@ksyun-internal/versatile';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 属性 (Props)
|
|
15
|
+
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 标签 | 示例 |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| img | `string` | `undefined` | 否 | 状态插图地址 | - | - |
|
|
18
|
+
| title | `string` | `undefined` | 否 | 主标题 | - | - |
|
|
19
|
+
| message | `string` | `undefined` | 否 | 说明文案 | - | - |
|
|
20
|
+
| btnText | `string` | `undefined` | 否 | 操作按钮文案 | - | - |
|
|
21
|
+
| vertical | `boolean` | `undefined` | 否 | 是否采用纵向布局 | - | - |
|
|
22
|
+
| type | `string` | `undefined` | 否 | 展示类型 | - | - |
|
|
23
|
+
| loading | `boolean` | `undefined` | 否 | 按钮是否处于加载状态 | - | - |
|
|
24
|
+
|
|
25
|
+
## 事件 (Events)
|
|
26
|
+
| 事件名 | Vue事件名 | 说明 | 回调参数 | 示例 |
|
|
27
|
+
| --- | --- | --- | --- | --- |
|
|
28
|
+
| click:btn | `@click:btn` | 用户点击主操作按钮时触发,通常用于跳转授权页、申请开通或返回列表。 | `-` | - |
|
|
29
|
+
|
|
30
|
+
## 插槽 (Slots)
|
|
31
|
+
| 插槽名 | 说明 | 模板写法 | 示例 |
|
|
32
|
+
| --- | --- | --- | --- |
|
|
33
|
+
| default | 主内容区域 | `<LayoutPermissionContent>...</LayoutPermissionContent>` | `<LayoutPermissionContent>
|
|
34
|
+
<template <LayoutPermissionContent>...</LayoutPermissionContent>>
|
|
35
|
+
自定义default内容
|
|
36
|
+
</template>
|
|
37
|
+
</LayoutPermissionContent>` |
|
|
38
|
+
|
|
39
|
+
### 插槽参数说明
|
|
40
|
+
**default**
|
|
41
|
+
|
|
42
|
+
- 参数结构: 无参数
|
|
43
|
+
|
|
44
|
+
## 使用示例
|
|
45
|
+
### 无权限状态页
|
|
46
|
+
**场景**: 在用户没有资源访问权限时展示统一结果页。
|
|
47
|
+
|
|
48
|
+
统一展示无权限说明并提供下一步操作入口。
|
|
49
|
+
|
|
50
|
+
**使用的 API**: 属性: title, message, btnText | 事件: click:btn
|
|
51
|
+
|
|
52
|
+
```vue
|
|
53
|
+
<script setup lang="ts">
|
|
54
|
+
import { LayoutPermissionContent } from '@ksyun-internal/versatile';
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<template>
|
|
58
|
+
<LayoutPermissionContent
|
|
59
|
+
title="暂无访问权限"
|
|
60
|
+
message="请联系项目管理员为当前账号开通实例查看权限"
|
|
61
|
+
btn-text="去申请权限"
|
|
62
|
+
@click:btn="() => console.log('apply')"
|
|
63
|
+
/>
|
|
64
|
+
</template>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 纵向结果页布局
|
|
68
|
+
**场景**: 在待开通或待申请的结果页中展示更多引导说明。
|
|
69
|
+
|
|
70
|
+
在说明较多时启用纵向布局并通过默认插槽补充帮助信息。
|
|
71
|
+
|
|
72
|
+
**使用的 API**: 属性: title, message, btnText, vertical
|
|
73
|
+
|
|
74
|
+
```vue
|
|
75
|
+
<script setup lang="ts">
|
|
76
|
+
import { LayoutPermissionContent } from '@ksyun-internal/versatile';
|
|
77
|
+
</script>
|
|
78
|
+
|
|
79
|
+
<template>
|
|
80
|
+
<LayoutPermissionContent
|
|
81
|
+
title="服务暂未开通"
|
|
82
|
+
message="当前地域尚未开通该服务,可先查看产品介绍。"
|
|
83
|
+
btn-text="申请开通"
|
|
84
|
+
:vertical="true"
|
|
85
|
+
>
|
|
86
|
+
<p>如需加急,请联系客户经理或提交工单。</p>
|
|
87
|
+
</LayoutPermissionContent>
|
|
88
|
+
</template>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 相关组件
|
|
92
|
+
LayoutContent, CardContent
|
|
93
|
+
|