neo-cmp-cli 1.13.22 → 1.13.23
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 +3 -0
- package/package.json +1 -1
- package/template/antd-custom-cmp-template/package.json +1 -1
- package/template/antd-custom-cmp-template/src/components/dataDashboard__c/model.ts +1 -1
- package/template/antd-custom-cmp-template/src/components/dataDashboard__c/style.scss +11 -11
- package/template/antd-custom-cmp-template/src/components/searchWidget__c/model.ts +1 -1
- package/template/asset-manage-template/package.json +1 -1
- package/template/asset-manage-template/src/components/assetManage__c/style.scss +4 -4
- package/template/asset-manage-template/src/components/bidList__c/style.scss +2 -2
- package/template/asset-manage-template/src/components/bidPackage__c/style.scss +2 -2
- package/template/echarts-custom-cmp-template/package.json +1 -1
- package/template/echarts-custom-cmp-template/src/components/chartWidget__c/model.ts +1 -1
- package/template/echarts-custom-cmp-template/src/components/chartWidget__c/style.scss +1 -1
- package/template/empty-custom-cmp-template/package.json +1 -1
- package/template/map-custom-cmp-template/package.json +1 -1
- package/template/map-custom-cmp-template/src/components/mapWidget__c/model.ts +1 -1
- package/template/map-custom-cmp-template/src/components/mapWidget__c/style.scss +2 -2
- package/template/neo-bi-cmps/package.json +1 -1
- package/template/neo-bi-cmps/public/demo.html +10 -10
- package/template/neo-bi-cmps/src/components/filterBar__c/model.ts +2 -1
- package/template/neo-bi-cmps/src/components/targetNumber__c/index.tsx +13 -8
- package/template/neo-bi-cmps/src/components/targetNumber__c/model.ts +10 -4
- package/template/neo-bi-cmps/src/components/targetNumber__c/style.scss +13 -5
- package/template/neo-custom-cmp-template/package.json +1 -1
- package/template/neo-custom-cmp-template/src/components/customApi__c/model.ts +1 -1
- package/template/neo-custom-cmp-template/src/components/customApi__c/style.scss +5 -3
- package/template/neo-custom-cmp-template/src/components/entityDetail__c/index.tsx +25 -54
- package/template/neo-custom-cmp-template/src/components/entityDetail__c/model.ts +1 -1
- package/template/neo-custom-cmp-template/src/components/entityDetail__c/style.scss +111 -68
- package/template/neo-custom-cmp-template/src/components/entityForm__c/index.tsx +0 -1
- package/template/neo-custom-cmp-template/src/components/entityForm__c/model.ts +1 -1
- package/template/neo-custom-cmp-template/src/components/entityTable__c/index.tsx +0 -1
- package/template/neo-custom-cmp-template/src/components/entityTable__c/model.ts +11 -11
- package/template/neo-custom-cmp-template/src/components/entityTable__c/style.scss +4 -4
- package/template/neo-custom-cmp-template/src/components/simpleCmp__c/index.tsx +2 -2
- package/template/neo-custom-cmp-template/src/components/simpleCmp__c/model.ts +1 -1
- package/template/neo-h5-cmps/package.json +1 -1
- package/template/neo-h5-cmps/src/components/chatPage__c/model.ts +1 -1
- package/template/neo-h5-cmps/src/components/entityList__c/model.ts +1 -1
- package/template/neo-h5-cmps/src/components/entityTabs__c/model.ts +2 -2
- package/template/neo-h5-cmps/src/components/entityTabs__c/style.scss +15 -6
- package/template/neo-h5-cmps/src/components/globalSearchInput__c/model.ts +1 -1
- package/template/neo-h5-cmps/src/components/openChatPageBtn__c/model.ts +1 -1
- package/template/neo-order-cmps/src/components/entityInfoCard__c/index.tsx +4 -12
- package/template/neo-order-cmps/src/components/entityInfoCard__c/model.ts +3 -3
- package/template/neo-order-cmps/src/components/entityInfoCard__c/style.scss +6 -5
- package/template/neo-order-cmps/src/components/simpleTable__c/index.tsx +71 -20
- package/template/neo-order-cmps/src/components/simpleTable__c/model.ts +15 -11
- package/template/neo-order-cmps/src/components/simpleTable__c/style.scss +39 -29
- package/template/neo-pipeline-cmps/package.json +1 -1
- package/template/neo-pipeline-cmps/public/demo.html +10 -10
- package/template/neo-pipeline-cmps/src/components/pipelineFunnel__c/style.scss +1 -1
- package/template/neo-pipeline-cmps/src/components/showHealthResult__c/style.scss +1 -1
- package/template/neo-pipeline-cmps/src/components/simpleTable__c/common.scss +3 -3
- package/template/neo-pipeline-cmps/src/components/simpleTable__c/style.scss +2 -2
- package/template/neo-pipeline-cmps/src/components/stageSwitch__c/style.scss +1 -1
- package/template/neo-pipeline-cmps/src/components/stageTimeChart__c/style.scss +2 -2
- package/template/neo-web-entity-grid/package.json +1 -1
- package/template/neo-web-entity-grid/src/components/createForm__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid2__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid3__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid4__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/searchForm__c/model.ts +1 -1
- package/template/neo-web-form/package.json +1 -1
- package/template/neo-web-form/src/components/batchAddTable__c/model.ts +1 -1
- package/template/neo-web-form/src/components/batchAddTable__c/tableModal.scss +1 -1
- package/template/neo-web-form/src/components/listSummary__c/model.ts +1 -1
- package/template/neo-web-form/src/components/listSummary__c/style.scss +2 -2
- package/template/react-custom-cmp-template/package.json +1 -1
- package/template/react-custom-cmp-template/src/components/infoCard__c/model.js +1 -1
- package/template/react-ts-custom-cmp-template/package.json +1 -1
- package/template/react-ts-custom-cmp-template/src/components/listWidget__c/model.ts +1 -1
- package/template/react-ts-custom-cmp-template/src/components/listWidget__c/style.scss +1 -1
- package/template/vue2-custom-cmp-template/package.json +1 -1
- package/template/vue2-custom-cmp-template/src/components/vueInfoCard__c/model.js +1 -1
- package/template/antd-custom-cmp-template/src/components/infoCard__c/index.tsx +0 -89
- package/template/antd-custom-cmp-template/src/components/infoCard__c/model.ts +0 -76
- package/template/antd-custom-cmp-template/src/components/infoCard__c/style.scss +0 -105
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/README.md +0 -61
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/index.tsx +0 -226
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/model.ts +0 -89
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/style.scss +0 -260
|
@@ -13,7 +13,7 @@ export class NeoEntityGridModel {
|
|
|
13
13
|
|
|
14
14
|
// 组件描述,用于设置在编辑器左侧组件面板中展示的描述
|
|
15
15
|
description: string =
|
|
16
|
-
'
|
|
16
|
+
'基于平台 NeoEntityGrid 实现的数据列表: 支持 视图切换、搜索、新增、导出、分页等显隐控制,支持自定义工具栏和空占位等配置';
|
|
17
17
|
|
|
18
18
|
// 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示
|
|
19
19
|
// tags: string[] = ['自定义组件'];
|
|
@@ -16,7 +16,7 @@ export class SearchFormModel {
|
|
|
16
16
|
label: string = '自定义查询表单';
|
|
17
17
|
|
|
18
18
|
/** 组件描述,用于设置在编辑器左侧组件面板中展示的描述 */
|
|
19
|
-
description: string = '
|
|
19
|
+
description: string = '对象数据查询表单,用于设置自定义筛选条件';
|
|
20
20
|
|
|
21
21
|
/** 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示 */
|
|
22
22
|
// tags: string[] = ['自定义组件'];
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
.list-summary-title {
|
|
9
9
|
font-size: 14px;
|
|
10
|
-
font-weight:
|
|
10
|
+
font-weight: 500;
|
|
11
11
|
color: #262626;
|
|
12
12
|
margin-bottom: 10px;
|
|
13
13
|
padding-bottom: 8px;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
.list-summary-value {
|
|
36
36
|
font-size: 18px;
|
|
37
|
-
font-weight:
|
|
37
|
+
font-weight: 500;
|
|
38
38
|
color: #262626;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './style.scss'; // 组件内容样式
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
// import ChartWidget from 'chartWidget'; // 另一个自定义组件导出的模块
|
|
5
|
-
|
|
6
|
-
interface InfoCardProps {
|
|
7
|
-
title: string;
|
|
8
|
-
backgroundImage: string;
|
|
9
|
-
imgCount: number;
|
|
10
|
-
commentCount: number;
|
|
11
|
-
data?: any;
|
|
12
|
-
className?: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default class InfoCard extends React.PureComponent<InfoCardProps> {
|
|
16
|
-
constructor(props: InfoCardProps) {
|
|
17
|
-
super(props);
|
|
18
|
-
this.agreeDataFormat = this.agreeDataFormat.bind(this);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
agreeDataFormat(agreeData: number) {
|
|
22
|
-
if (agreeData && agreeData <= 9999) {
|
|
23
|
-
return agreeData;
|
|
24
|
-
}
|
|
25
|
-
if (agreeData && agreeData > 9999) {
|
|
26
|
-
return `${Math.floor(agreeData / 1000) / 10}w`;
|
|
27
|
-
}
|
|
28
|
-
return '';
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
render() {
|
|
32
|
-
const { title, backgroundImage, imgCount, commentCount, className } =
|
|
33
|
-
this.props;
|
|
34
|
-
console.log('当前自定义组件:', this.props, this);
|
|
35
|
-
const curAmisData = this.props.data || {};
|
|
36
|
-
|
|
37
|
-
const userInfo = curAmisData.__NeoCurrentUser;
|
|
38
|
-
const systemInfo = curAmisData.__NeoSystemInfo || {};
|
|
39
|
-
|
|
40
|
-
const curBackgroundImage =
|
|
41
|
-
backgroundImage || 'https://neo-widgets.bj.bcebos.com/NeoCRM.jpg';
|
|
42
|
-
return (
|
|
43
|
-
<div className={`infoCard__c ${className}`}>
|
|
44
|
-
<div className="news-title">
|
|
45
|
-
{title ||
|
|
46
|
-
'营销服全场景智能CRM,帮助企业搭建数字化客户经营平台,实现业绩高质量增长。'}
|
|
47
|
-
{systemInfo.tenantName ? `【${systemInfo.tenantName}】` : ''}
|
|
48
|
-
</div>
|
|
49
|
-
<div className="item-imgbox">
|
|
50
|
-
{userInfo && userInfo.icon && (
|
|
51
|
-
<div className="user-info-box">
|
|
52
|
-
<img src={userInfo.icon} className="user-icon" />
|
|
53
|
-
<span className="user-name">{userInfo.name}</span>
|
|
54
|
-
</div>
|
|
55
|
-
)}
|
|
56
|
-
<div
|
|
57
|
-
className="news-img"
|
|
58
|
-
style={{ backgroundImage: `url(${curBackgroundImage})` }}
|
|
59
|
-
></div>
|
|
60
|
-
{imgCount > 0 && <div className="img-count">{imgCount}</div>}
|
|
61
|
-
</div>
|
|
62
|
-
<div className="news-info">
|
|
63
|
-
<div className="left media-mark">NeoCRM · 低代码平台</div>
|
|
64
|
-
{commentCount && commentCount > 0 && (
|
|
65
|
-
<div className="cmt-num right">
|
|
66
|
-
{this.agreeDataFormat(commentCount)}评
|
|
67
|
-
</div>
|
|
68
|
-
)}
|
|
69
|
-
</div>
|
|
70
|
-
{/* <ChartWidget
|
|
71
|
-
chartType="line"
|
|
72
|
-
title="销售趋势"
|
|
73
|
-
subtitle="2025年数据"
|
|
74
|
-
width={800}
|
|
75
|
-
height={400}
|
|
76
|
-
mockData={{
|
|
77
|
-
xAxis: ['1月', '2月', '3月', '4月', '5月', '6月'],
|
|
78
|
-
series: [
|
|
79
|
-
{
|
|
80
|
-
name: '销售额',
|
|
81
|
-
data: [120, 200, 150, 80, 70, 110],
|
|
82
|
-
},
|
|
83
|
-
],
|
|
84
|
-
}}
|
|
85
|
-
/> */}
|
|
86
|
-
</div>
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 自定义组件对接编辑器的描述文件
|
|
3
|
-
*/
|
|
4
|
-
export class InfoCardModel {
|
|
5
|
-
/**
|
|
6
|
-
* cmpType 为自定义组件名称,用于标识组件的唯一性
|
|
7
|
-
* 在构建时根据当前组件目录名称自动生成
|
|
8
|
-
*/
|
|
9
|
-
// cmpType: string = 'infoCard';
|
|
10
|
-
|
|
11
|
-
// 组件名称,用于设置在编辑器左侧组件面板中展示的名称
|
|
12
|
-
label: string = '信息卡片';
|
|
13
|
-
|
|
14
|
-
// 组件描述,用于设置在编辑器左侧组件面板中展示的描述
|
|
15
|
-
description: string = '信息展示卡片';
|
|
16
|
-
|
|
17
|
-
// 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示
|
|
18
|
-
// tags: string[] = ['自定义组件'];
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 用于设置组件支持的页面类型
|
|
22
|
-
*
|
|
23
|
-
* 当前 NeoCRM 平台存在的页面类型:
|
|
24
|
-
* all: 1 全页面
|
|
25
|
-
* entityFormPage: 4 实体表单页
|
|
26
|
-
* customPage: 6 自定义页面
|
|
27
|
-
*/
|
|
28
|
-
// targetPage: string[] = ['all'];
|
|
29
|
-
|
|
30
|
-
// 组件图标,用于设置在编辑器左侧组件面板中展示的图标
|
|
31
|
-
iconUrl: string = 'https://neo-widgets.bj.bcebos.com/custom-widget.svg';
|
|
32
|
-
// iconUrl = 'https://neo-widgets.bj.bcebos.com/favicon.png';
|
|
33
|
-
|
|
34
|
-
// 初次插入页面的默认属性数据
|
|
35
|
-
defaultComProps = {
|
|
36
|
-
title:
|
|
37
|
-
'营销服全场景智能CRM,帮助企业搭建数字化客户经营平台,实现业绩高质量增长。',
|
|
38
|
-
label: '信息卡片',
|
|
39
|
-
backgroundImage: 'https://neo-widgets.bj.bcebos.com/NeoCRM.jpg',
|
|
40
|
-
imgCount: 3,
|
|
41
|
-
commentCount: 2025,
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* 组件面板配置,用于生成编辑器右侧属性配置面板内容
|
|
46
|
-
*/
|
|
47
|
-
propsSchema = [
|
|
48
|
-
{
|
|
49
|
-
type: 'textarea',
|
|
50
|
-
name: 'title',
|
|
51
|
-
label: '卡片title',
|
|
52
|
-
value:
|
|
53
|
-
'营销服全场景智能CRM,帮助企业搭建数字化客户经营平台,实现业绩高质量增长。',
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
type: 'panelInput',
|
|
57
|
-
name: 'backgroundImage',
|
|
58
|
-
label: '展示图片',
|
|
59
|
-
value: 'https://neo-widgets.bj.bcebos.com/NeoCRM.jpg',
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
type: 'number',
|
|
63
|
-
name: 'imgCount',
|
|
64
|
-
label: '图片数量',
|
|
65
|
-
value: 3,
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
type: 'number',
|
|
69
|
-
name: 'commentCount',
|
|
70
|
-
label: '评论数',
|
|
71
|
-
value: 2025,
|
|
72
|
-
},
|
|
73
|
-
];
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export default InfoCardModel;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--padding-bottom: 12px;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.infoCard__c {
|
|
6
|
-
position: relative;
|
|
7
|
-
box-sizing: border-box;
|
|
8
|
-
|
|
9
|
-
/* border-bottom: 1px solid #ececec; */
|
|
10
|
-
margin: 6px 12px;
|
|
11
|
-
padding: 6px var(--padding-bottom);
|
|
12
|
-
background-color: #fff;
|
|
13
|
-
|
|
14
|
-
.news-title {
|
|
15
|
-
padding: 6px 0;
|
|
16
|
-
font-family: PingFangSC-Regular;
|
|
17
|
-
font-size: 16px;
|
|
18
|
-
line-height: 22px;
|
|
19
|
-
color: #5f5e5e;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.item-imgbox {
|
|
23
|
-
position: relative;
|
|
24
|
-
height: 395px;
|
|
25
|
-
background: #f0f0f0;
|
|
26
|
-
cursor: pointer;
|
|
27
|
-
box-sizing: border-box;
|
|
28
|
-
text-align: center;
|
|
29
|
-
overflow: hidden;
|
|
30
|
-
|
|
31
|
-
.news-img {
|
|
32
|
-
width: 100%;
|
|
33
|
-
height: 100%;
|
|
34
|
-
box-sizing: border-box;
|
|
35
|
-
background-size: contain;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.img-count {
|
|
39
|
-
position: absolute;
|
|
40
|
-
top: 0;
|
|
41
|
-
right: 0;
|
|
42
|
-
padding: 6px 8px;
|
|
43
|
-
color: #fff;
|
|
44
|
-
min-width: 60px;
|
|
45
|
-
text-align: center;
|
|
46
|
-
line-height: 1.2;
|
|
47
|
-
background: rgb(0 0 0 / 40%);
|
|
48
|
-
font-size: 25px;
|
|
49
|
-
box-sizing: border-box;
|
|
50
|
-
overflow: hidden;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.user-info-box {
|
|
54
|
-
position: absolute;
|
|
55
|
-
top: 10px;
|
|
56
|
-
left: 10px;
|
|
57
|
-
width: 100px;
|
|
58
|
-
min-height: 100px;
|
|
59
|
-
padding: 6px 8px;
|
|
60
|
-
color: #fff;
|
|
61
|
-
min-width: 60px;
|
|
62
|
-
text-align: center;
|
|
63
|
-
line-height: 1.2;
|
|
64
|
-
background: rgb(0 0 0 / 40%);
|
|
65
|
-
font-size: 25px;
|
|
66
|
-
box-sizing: border-box;
|
|
67
|
-
overflow: hidden;
|
|
68
|
-
display: flex;
|
|
69
|
-
flex-direction: column;
|
|
70
|
-
align-items: center;
|
|
71
|
-
justify-content: center;
|
|
72
|
-
|
|
73
|
-
.user-icon {
|
|
74
|
-
width: 64px;
|
|
75
|
-
height: 64px;
|
|
76
|
-
border-radius: 50%;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.user-name {
|
|
80
|
-
font-size: 16px;
|
|
81
|
-
font-weight: 600;
|
|
82
|
-
margin-top: 10px;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.news-info {
|
|
88
|
-
font-family: PingFangSC-Light;
|
|
89
|
-
height: 28px;
|
|
90
|
-
box-sizing: border-box;
|
|
91
|
-
display: flex;
|
|
92
|
-
justify-content: space-between;
|
|
93
|
-
align-items: center;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.media-mark,
|
|
97
|
-
.cmt-num {
|
|
98
|
-
display: inline-block;
|
|
99
|
-
height: 28px;
|
|
100
|
-
line-height: 28px;
|
|
101
|
-
font-family: PingFangSC-Light;
|
|
102
|
-
font-size: 18px;
|
|
103
|
-
color: #828282;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# EntityCardList 数据卡片列表组件
|
|
2
|
-
数据卡片列表组件用于展示数据信息,以卡片形式展示每个数据的姓名和手机号。组件使用 Ant Design 的 Card 组件,具有良好的视觉效果和交互体验。
|
|
3
|
-
|
|
4
|
-
## 功能特性
|
|
5
|
-
|
|
6
|
-
- 📱 响应式设计,支持多种屏幕尺寸
|
|
7
|
-
- 🎨 美观的卡片布局,支持悬停效果
|
|
8
|
-
- 🔄 自动加载数据,支持错误重试
|
|
9
|
-
- 📊 使用 neo-open-api 获取 customContact__c 数据
|
|
10
|
-
- 🎯 展示数据姓名和手机号信息
|
|
11
|
-
- 💫 加载状态和空状态处理
|
|
12
|
-
|
|
13
|
-
## 组件属性
|
|
14
|
-
|
|
15
|
-
| 属性名 | 类型 | 默认值 | 描述 |
|
|
16
|
-
|--------|------|--------|------|
|
|
17
|
-
| title | string | '数据卡片列表' | 组件标题 |
|
|
18
|
-
| data | any | - | 组件数据,包含用户信息和系统信息 |
|
|
19
|
-
|
|
20
|
-
## 数据源
|
|
21
|
-
|
|
22
|
-
组件通过 `neo-open-api` 工具函数获取数据:
|
|
23
|
-
|
|
24
|
-
- **数据表**: `customContact__c`
|
|
25
|
-
- **字段**: `id`, `name`, `phone__c`
|
|
26
|
-
|
|
27
|
-
## 样式特性
|
|
28
|
-
|
|
29
|
-
- 使用 Flexbox 布局,支持响应式设计
|
|
30
|
-
- 卡片悬停效果,提升用户体验
|
|
31
|
-
- 渐变色头像,美观大方
|
|
32
|
-
- 支持移动端适配
|
|
33
|
-
|
|
34
|
-
## 使用示例
|
|
35
|
-
|
|
36
|
-
```tsx
|
|
37
|
-
import EntityCardList from './components/entity-card-list';
|
|
38
|
-
|
|
39
|
-
// 在页面中使用
|
|
40
|
-
<EntityCardList
|
|
41
|
-
title="我的数据"
|
|
42
|
-
data={amisData}
|
|
43
|
-
/>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 技术栈
|
|
47
|
-
|
|
48
|
-
- React 16.9+
|
|
49
|
-
- TypeScript
|
|
50
|
-
- Ant Design 4.9+
|
|
51
|
-
- SCSS
|
|
52
|
-
|
|
53
|
-
## 文件结构
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
entity-card-list/
|
|
57
|
-
├── index.tsx # 主组件文件
|
|
58
|
-
├── model.ts # 组件配置和编辑器属性定义
|
|
59
|
-
├── style.scss # 组件样式文件
|
|
60
|
-
└── README.md # 组件说明文档
|
|
61
|
-
```
|