vue2-client 1.8.310 → 1.8.312

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.
Files changed (222) hide show
  1. package/.env +19 -19
  2. package/.eslintrc.js +90 -90
  3. package/CHANGELOG.md +824 -824
  4. package/Components.md +60 -60
  5. package/babel.config.js +21 -21
  6. package/docs/LowCode/lowcode.md +155 -155
  7. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  8. package/docs/index.md +30 -30
  9. package/index.js +31 -31
  10. package/jest-transform-stub.js +8 -8
  11. package/jest.config.js +21 -21
  12. package/jest.setup.js +7 -7
  13. package/package.json +97 -97
  14. package/public/index.html +27 -27
  15. package/src/App.vue +188 -188
  16. package/src/ReportView.js +19 -19
  17. package/src/assets/img/querySlotDemo.svg +15 -15
  18. package/src/assets/svg/badtwo.svg +1 -1
  19. package/src/assets/svg/goodtwo.svg +1 -1
  20. package/src/base-client/components/common/AMisRender/index.js +3 -3
  21. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  22. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +438 -416
  23. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  24. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  25. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  26. package/src/base-client/components/common/CitySelect/CitySelect.vue +342 -342
  27. package/src/base-client/components/common/CitySelect/index.js +3 -3
  28. package/src/base-client/components/common/CitySelect/index.md +109 -109
  29. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  30. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  31. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  32. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  33. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  34. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  35. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  36. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  37. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  38. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  39. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  40. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  41. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  42. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  43. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  44. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -350
  45. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  46. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -699
  47. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  48. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -162
  49. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  50. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  51. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  52. package/src/base-client/components/common/Tree/index.js +2 -2
  53. package/src/base-client/components/common/Upload/Upload.vue +239 -239
  54. package/src/base-client/components/common/Upload/index.js +3 -3
  55. package/src/base-client/components/common/XAddForm/XAddForm.vue +105 -105
  56. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +807 -807
  57. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  58. package/src/base-client/components/common/XAddNativeForm/lowcodeEditorRegister.js +16 -16
  59. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  60. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  61. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  62. package/src/base-client/components/common/XBadge/XBadge.vue +78 -78
  63. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  64. package/src/base-client/components/common/XDataCard/XDataCard.vue +355 -0
  65. package/src/base-client/components/common/XDataCard/index.js +3 -0
  66. package/src/base-client/components/common/XDataCard/index.md +1 -0
  67. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  68. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  69. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  70. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +188 -187
  71. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +306 -306
  72. package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
  73. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  74. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  75. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +214 -214
  76. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  77. package/src/base-client/components/common/XForm/XForm.vue +294 -294
  78. package/src/base-client/components/common/XForm/XFormItem.vue +911 -911
  79. package/src/base-client/components/common/XForm/XTreeSelect.vue +207 -207
  80. package/src/base-client/components/common/XForm/index.md +178 -178
  81. package/src/base-client/components/common/XFormCol/XFormCol.vue +36 -36
  82. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +241 -241
  83. package/src/base-client/components/common/XFormGroup/demo.vue +40 -40
  84. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  85. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  86. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  87. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  88. package/src/base-client/components/common/XFormTable/XFormTable.vue +545 -539
  89. package/src/base-client/components/common/XFormTable/demo.vue +72 -72
  90. package/src/base-client/components/common/XFormTable/index.md +98 -98
  91. package/src/base-client/components/common/XFormTable/lowcodeEditorRegister.js +30 -30
  92. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +147 -147
  93. package/src/base-client/components/common/XReport/XReport.vue +858 -858
  94. package/src/base-client/components/common/XReport/XReportDemo.vue +266 -266
  95. package/src/base-client/components/common/XReport/XReportDesign.vue +509 -509
  96. package/src/base-client/components/common/XReport/XReportJsonRender.vue +295 -295
  97. package/src/base-client/components/common/XReport/XReportTrGroup.vue +801 -801
  98. package/src/base-client/components/common/XReport/index.js +3 -3
  99. package/src/base-client/components/common/XReport/index.md +44 -44
  100. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  101. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  102. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +137 -0
  103. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -0
  104. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -0
  105. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  106. package/src/base-client/components/common/XStepView/index.js +3 -3
  107. package/src/base-client/components/common/XStepView/index.md +31 -31
  108. package/src/base-client/components/common/XTable/XTable.vue +715 -676
  109. package/src/base-client/components/common/XTable/index.md +255 -255
  110. package/src/base-client/components/common/XTree/XTree.vue +423 -423
  111. package/src/base-client/components/common/XTree/index.js +3 -3
  112. package/src/base-client/components/common/XTree/index.md +36 -36
  113. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +114 -114
  114. package/src/base-client/components/common/XTreeOne/lowcodeEditorRegister.js +11 -11
  115. package/src/base-client/components/index.js +51 -51
  116. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  117. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  118. package/src/base-client/plugins/AppData.js +121 -121
  119. package/src/base-client/plugins/Config.js +19 -19
  120. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  121. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  122. package/src/bootstrap.js +39 -39
  123. package/src/components/CodeMirror/inedx.vue +118 -118
  124. package/src/components/CodeMirror/setting.js +40 -40
  125. package/src/components/FilePreview/FilePreview.vue +166 -166
  126. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  127. package/src/components/STable/index.js +361 -361
  128. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  129. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  130. package/src/components/menu/SideMenu.vue +75 -75
  131. package/src/components/menu/menu.js +273 -273
  132. package/src/components/tool/AStepItem.vue +60 -60
  133. package/src/config/CreateQueryConfig.js +322 -322
  134. package/src/config/default/antd.config.js +89 -89
  135. package/src/config/default/setting.config.js +55 -55
  136. package/src/font-style/font.css +4 -4
  137. package/src/layouts/CommonLayout.vue +56 -56
  138. package/src/layouts/PageLayout.vue +151 -151
  139. package/src/layouts/SinglePageView.vue +138 -138
  140. package/src/layouts/header/AdminHeader.vue +132 -132
  141. package/src/layouts/header/HeaderNotice.vue +177 -177
  142. package/src/layouts/tabs/TabsHead.vue +189 -189
  143. package/src/layouts/tabs/TabsView.vue +387 -387
  144. package/src/lib.js +1 -1
  145. package/src/main.js +26 -26
  146. package/src/mock/extend/index.js +84 -84
  147. package/src/mock/goods/index.js +108 -108
  148. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  149. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  150. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  151. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  152. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  153. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  154. package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
  155. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  156. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  157. package/src/pages/DynamicStatistics/index.vue +282 -282
  158. package/src/pages/Example/index.vue +193 -33
  159. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  160. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  161. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  162. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  163. package/src/pages/NewDynamicStatistics/FavoriteList.vue +51 -51
  164. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  165. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  166. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  167. package/src/pages/ServiceReview/index.vue +284 -284
  168. package/src/pages/XReportView/index.vue +62 -62
  169. package/src/pages/login/Login.vue +378 -378
  170. package/src/pages/login/LoginV3.vue +389 -389
  171. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1030
  172. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  173. package/src/pages/resourceManage/orgListManage.vue +98 -98
  174. package/src/pages/system/dictionary/index.vue +44 -44
  175. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  176. package/src/pages/system/monitor/operLog/index.vue +37 -37
  177. package/src/pages/system/settings/modifyPassword.vue +117 -117
  178. package/src/pages/system/ticket/index.vue +480 -480
  179. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  180. package/src/router/async/config.async.js +34 -34
  181. package/src/router/async/router.map.js +104 -104
  182. package/src/router/guards.js +223 -223
  183. package/src/router/index.js +27 -27
  184. package/src/router.js +19 -19
  185. package/src/services/api/TicketDetailsViewApi.js +46 -46
  186. package/src/services/api/cas.js +79 -79
  187. package/src/services/api/common.js +307 -307
  188. package/src/services/api/entity.js +18 -18
  189. package/src/services/api/index.js +17 -17
  190. package/src/services/api/restTools.js +46 -46
  191. package/src/services/apiService.js +14 -14
  192. package/src/services/user.js +71 -71
  193. package/src/services/v3Api.js +81 -81
  194. package/src/store/modules/index.js +5 -5
  195. package/src/store/modules/lowCode.js +33 -33
  196. package/src/store/modules/setting.js +119 -119
  197. package/src/theme/default/style.less +58 -58
  198. package/src/theme/global.less +139 -139
  199. package/src/utils/authority-utils.js +85 -85
  200. package/src/utils/errorCode.js +6 -6
  201. package/src/utils/formatter.js +80 -80
  202. package/src/utils/htmlToPDF.js +108 -108
  203. package/src/utils/htmlToPDFApi.js +5 -5
  204. package/src/utils/indexedDB.js +258 -258
  205. package/src/utils/login.js +188 -188
  206. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  207. package/src/utils/lowcode/lowcodeLog.js +29 -29
  208. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  209. package/src/utils/lowcode/registerComponentForEditor.js +11 -11
  210. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  211. package/src/utils/map-utils.js +47 -47
  212. package/src/utils/reg.js +95 -95
  213. package/src/utils/request.js +347 -347
  214. package/src/utils/routerUtil.js +435 -435
  215. package/src/utils/runEvalFunction.js +6 -6
  216. package/src/utils/util.js +241 -241
  217. package/src/utils/waterMark.js +31 -31
  218. package/test/Amis.spec.js +163 -163
  219. package/test/Tree.spec.js +167 -167
  220. package/test/myDialog.spec.js +46 -46
  221. package/vue.config.js +181 -181
  222. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
package/Components.md CHANGED
@@ -1,60 +1,60 @@
1
- # vue2基础组件库组件介绍
2
-
3
- ## XAddForm
4
-
5
- 基于XAddNativeForm二次封装的动态表单的Modal形式
6
-
7
- [使用文档](src/base-client/components/common/XAddForm/index.md)
8
-
9
- ## XAddNativeForm
10
-
11
- 通过JSON配置动态生成的数据保存表单
12
-
13
- [使用文档](src/base-client/components/common/XAddNativeForm/index.md)
14
-
15
- ## XBadge
16
-
17
- 对antdv的badge组件进行重封装
18
-
19
- [使用文档](src/base-client/components/common/XBadge/index.md)
20
-
21
- ## XCard
22
-
23
- 通用数据加载状态管理容器
24
-
25
- 提供一个可以根据数据加载状态显示不同内容的通用容器
26
- 当loadState为loading时,显示骨架屏(加载界面)
27
- 当loadState为success时,显示容器内容
28
- 当loadState为error时,显示点击重新加载数据的提示界面
29
-
30
- [使用文档](src/base-client/components/common/XCard/index.md)
31
-
32
- ## XForm
33
-
34
- 通过JSON配置动态生成的数据筛选查询表单
35
-
36
- [使用文档](src/base-client/components/common/XForm/index.md)
37
-
38
- ## XTable
39
-
40
- 通过JSON配置动态生成的数据表格
41
-
42
- [使用文档](src/base-client/components/common/XTable/index.md)
43
-
44
- ## XFormCol
45
-
46
- 适用于动态表单的可以自适应各种分辨率设备的栅格组件封装
47
-
48
- [使用文档](src/base-client/components/common/XFormCol/index.md)
49
-
50
- ## XFormTable
51
-
52
- 对XAddForm,XForm和XTable组件的二次封装,实现通过JSON配置动态生成一个完整的实体操作页面
53
-
54
- [使用文档](src/base-client/components/common/XFormTable/index.md)
55
-
56
- ## XImportExcel
57
-
58
- 通用的导入excel组件
59
-
60
- [使用文档](src/base-client/components/common/XImportExcel/index.md)
1
+ # vue2基础组件库组件介绍
2
+
3
+ ## XAddForm
4
+
5
+ 基于XAddNativeForm二次封装的动态表单的Modal形式
6
+
7
+ [使用文档](src/base-client/components/common/XAddForm/index.md)
8
+
9
+ ## XAddNativeForm
10
+
11
+ 通过JSON配置动态生成的数据保存表单
12
+
13
+ [使用文档](src/base-client/components/common/XAddNativeForm/index.md)
14
+
15
+ ## XBadge
16
+
17
+ 对antdv的badge组件进行重封装
18
+
19
+ [使用文档](src/base-client/components/common/XBadge/index.md)
20
+
21
+ ## XCard
22
+
23
+ 通用数据加载状态管理容器
24
+
25
+ 提供一个可以根据数据加载状态显示不同内容的通用容器
26
+ 当loadState为loading时,显示骨架屏(加载界面)
27
+ 当loadState为success时,显示容器内容
28
+ 当loadState为error时,显示点击重新加载数据的提示界面
29
+
30
+ [使用文档](src/base-client/components/common/XCard/index.md)
31
+
32
+ ## XForm
33
+
34
+ 通过JSON配置动态生成的数据筛选查询表单
35
+
36
+ [使用文档](src/base-client/components/common/XForm/index.md)
37
+
38
+ ## XTable
39
+
40
+ 通过JSON配置动态生成的数据表格
41
+
42
+ [使用文档](src/base-client/components/common/XTable/index.md)
43
+
44
+ ## XFormCol
45
+
46
+ 适用于动态表单的可以自适应各种分辨率设备的栅格组件封装
47
+
48
+ [使用文档](src/base-client/components/common/XFormCol/index.md)
49
+
50
+ ## XFormTable
51
+
52
+ 对XAddForm,XForm和XTable组件的二次封装,实现通过JSON配置动态生成一个完整的实体操作页面
53
+
54
+ [使用文档](src/base-client/components/common/XFormTable/index.md)
55
+
56
+ ## XImportExcel
57
+
58
+ 通用的导入excel组件
59
+
60
+ [使用文档](src/base-client/components/common/XImportExcel/index.md)
package/babel.config.js CHANGED
@@ -1,21 +1,21 @@
1
- const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
2
-
3
- const plugins = []
4
- if (IS_PROD) {
5
- // 在生产环境去掉console打印
6
- plugins.push('transform-remove-console')
7
- }
8
-
9
- module.exports = {
10
- presets: [
11
- '@vue/cli-plugin-babel/preset',
12
- ['@vue/babel-preset-jsx', { injectH: false }]
13
- ],
14
- plugins,
15
- env: {
16
- test: {
17
- presets: ['@babel/preset-env'],
18
- plugins: ['istanbul']
19
- }
20
- }
21
- }
1
+ const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
2
+
3
+ const plugins = []
4
+ if (IS_PROD) {
5
+ // 在生产环境去掉console打印
6
+ plugins.push('transform-remove-console')
7
+ }
8
+
9
+ module.exports = {
10
+ presets: [
11
+ '@vue/cli-plugin-babel/preset',
12
+ ['@vue/babel-preset-jsx', { injectH: false }]
13
+ ],
14
+ plugins,
15
+ env: {
16
+ test: {
17
+ presets: ['@babel/preset-env'],
18
+ plugins: ['istanbul']
19
+ }
20
+ }
21
+ }
@@ -1,155 +1,155 @@
1
- # 奥枫低代码平台
2
-
3
- > 奥枫低代码平台是一个前端低代码框架,它使用JSON配置来生成页面
4
-
5
-
6
-
7
- ## 概念
8
-
9
- ### 配置与组件
10
-
11
- #### 结构
12
-
13
- > 一个配置的结构是这样的
14
- >
15
- > ```json
16
- > {
17
- > "page": [
18
- > {
19
- > "id": "page_tvV9Ci",
20
- > "type": "page",
21
- > "title": "11",
22
- > "body": [
23
- > {
24
- > "id": "page_tvV9Ci_0",
25
- > "config": {
26
- > "align": "top",
27
- > "gutter": 0,
28
- > "justify": "start"
29
- > },
30
- > "type": "row",
31
- > "body": [
32
- > {
33
- > "type": "XFormTable",
34
- > "selected": false,
35
- > "span": 24,
36
- > "id": "XFormTable_76UItw",
37
- > "props": {
38
- > "queryParamsName": "",
39
- > "serviceName": ""
40
- > },
41
- > "selfEvent": [
42
- > "action"
43
- > ]
44
- > }
45
- > ]
46
- > }
47
- > ]
48
- > }
49
- > ]
50
- > }
51
- > ```
52
- > page下的每一个对象,表示一个`页面容器`
53
- >
54
- > body中的每一个对象,表示一`行`
55
- >
56
- > 每行中body下的每个元素,表示一个`组件`
57
-
58
- > 组件的完整配置是这样的
59
- >
60
- > ```json
61
- > {
62
- > "type": "xx组件",
63
- > "span": 12,
64
- > "id": "xx组件_001",
65
- > "selected": false,
66
- > "props": {
67
- > "值1": "111",
68
- > "值2": "222",
69
- > ...
70
- > },
71
- > "selfEvent": [
72
- > "action",
73
- > ...
74
- > ],
75
- > "onEvent": {
76
- > "action": [
77
- > {
78
- > "emitType": "action",
79
- > "eventType": "changeValue",
80
- > "target": "组件_00x",
81
- > "targetKey": "data"
82
- > },
83
- > {...}
84
- > ]
85
- > }
86
- > }
87
- > ```
88
- >
89
- > `type`定义了组件的类型
90
- >
91
- > `span`定义了组件的宽度
92
- >
93
- > `selected`定义了组件当前是否被选中
94
- >
95
- > `id`表示组件的唯一标识
96
- >
97
- > `props`中定义的是组件可以被改变的值
98
- >
99
- > `selfEvent`定义了组件可以发出哪些事件交给低代码平台处理
100
- >
101
- > `onEvent`表示每一个事件的具体定义
102
- >
103
- > `onEvent`中的每一个对象的key代表了是针对哪种事件的处理
104
-
105
- > 在低代码平台中,最小的单位是`组件`,最大的单位是`页面容器`
106
-
107
-
108
-
109
- #### 页面容器
110
-
111
- > 一个`页面容器`可以是`页面`,`弹框`,`抽屉`等
112
- >
113
- > `页面容器`是所有`组件`的容器,`组件`组成了`行`,`行`组成了`页面`
114
-
115
-
116
-
117
- #### 组件
118
-
119
- > `组件`是低代码平台的最小单位
120
- >
121
- > 一个组件是某种功能的封装,比如XFormTable是为了展示CRUD表单,XTree是为了展示树型结构
122
-
123
-
124
-
125
- #### 组件的拆分
126
-
127
- > 如同栅格化布局一样,每一行套每一列
128
- >
129
- > 某个列又可被看做一个整体,在其下继续拆分为多行,每行又包含多列
130
-
131
- > 比如一个页面,左侧是导航栏,右侧是内容栏
132
- >
133
- > 这就是第一行,第一行分为两列,左侧列是导航栏,右侧列是内容栏
134
- >
135
- > 内容栏又被分为了两行
136
- >
137
- > 第一行是标题,第二行是主要内容
138
-
139
-
140
-
141
- ### 事件
142
-
143
- > 在组件中,会因为各种各样的原因,修改一些状态,比如点击搜索,切换标签
144
- >
145
- > 这些改动,要通过`事件`的形式,向外层触发,来通知其他组件进行联动。比如在树组件中切换了标签,根据不同的标签在CRUD表单中渲染不同的内容
146
- >
147
- > 这个时候我们就需要对触发改动的`组件`添加`事件`,比如在XFormTable中点击详情,我们希望打开一个抽屉,我们就需要为XFormTable添加一个点击详情的事件
148
-
149
-
150
-
151
- ### 行为
152
-
153
- > 行为是`组件`自身内部进行的一系列变动。比如其他组件触发了某个`事件`,这个`组件`需要对这个`事件`进行响应,并在自身内部进行一系列的更新。这就是一种行为
154
- >
155
- > 还是刚才的例子在XFormTable中点击详情,我们希望打开一个抽屉。那抽屉改变自身的显隐,就是响应点击详情`事件`的一种`行为`
1
+ # 奥枫低代码平台
2
+
3
+ > 奥枫低代码平台是一个前端低代码框架,它使用JSON配置来生成页面
4
+
5
+
6
+
7
+ ## 概念
8
+
9
+ ### 配置与组件
10
+
11
+ #### 结构
12
+
13
+ > 一个配置的结构是这样的
14
+ >
15
+ > ```json
16
+ > {
17
+ > "page": [
18
+ > {
19
+ > "id": "page_tvV9Ci",
20
+ > "type": "page",
21
+ > "title": "11",
22
+ > "body": [
23
+ > {
24
+ > "id": "page_tvV9Ci_0",
25
+ > "config": {
26
+ > "align": "top",
27
+ > "gutter": 0,
28
+ > "justify": "start"
29
+ > },
30
+ > "type": "row",
31
+ > "body": [
32
+ > {
33
+ > "type": "XFormTable",
34
+ > "selected": false,
35
+ > "span": 24,
36
+ > "id": "XFormTable_76UItw",
37
+ > "props": {
38
+ > "queryParamsName": "",
39
+ > "serviceName": ""
40
+ > },
41
+ > "selfEvent": [
42
+ > "action"
43
+ > ]
44
+ > }
45
+ > ]
46
+ > }
47
+ > ]
48
+ > }
49
+ > ]
50
+ > }
51
+ > ```
52
+ > page下的每一个对象,表示一个`页面容器`
53
+ >
54
+ > body中的每一个对象,表示一`行`
55
+ >
56
+ > 每行中body下的每个元素,表示一个`组件`
57
+
58
+ > 组件的完整配置是这样的
59
+ >
60
+ > ```json
61
+ > {
62
+ > "type": "xx组件",
63
+ > "span": 12,
64
+ > "id": "xx组件_001",
65
+ > "selected": false,
66
+ > "props": {
67
+ > "值1": "111",
68
+ > "值2": "222",
69
+ > ...
70
+ > },
71
+ > "selfEvent": [
72
+ > "action",
73
+ > ...
74
+ > ],
75
+ > "onEvent": {
76
+ > "action": [
77
+ > {
78
+ > "emitType": "action",
79
+ > "eventType": "changeValue",
80
+ > "target": "组件_00x",
81
+ > "targetKey": "data"
82
+ > },
83
+ > {...}
84
+ > ]
85
+ > }
86
+ > }
87
+ > ```
88
+ >
89
+ > `type`定义了组件的类型
90
+ >
91
+ > `span`定义了组件的宽度
92
+ >
93
+ > `selected`定义了组件当前是否被选中
94
+ >
95
+ > `id`表示组件的唯一标识
96
+ >
97
+ > `props`中定义的是组件可以被改变的值
98
+ >
99
+ > `selfEvent`定义了组件可以发出哪些事件交给低代码平台处理
100
+ >
101
+ > `onEvent`表示每一个事件的具体定义
102
+ >
103
+ > `onEvent`中的每一个对象的key代表了是针对哪种事件的处理
104
+
105
+ > 在低代码平台中,最小的单位是`组件`,最大的单位是`页面容器`
106
+
107
+
108
+
109
+ #### 页面容器
110
+
111
+ > 一个`页面容器`可以是`页面`,`弹框`,`抽屉`等
112
+ >
113
+ > `页面容器`是所有`组件`的容器,`组件`组成了`行`,`行`组成了`页面`
114
+
115
+
116
+
117
+ #### 组件
118
+
119
+ > `组件`是低代码平台的最小单位
120
+ >
121
+ > 一个组件是某种功能的封装,比如XFormTable是为了展示CRUD表单,XTree是为了展示树型结构
122
+
123
+
124
+
125
+ #### 组件的拆分
126
+
127
+ > 如同栅格化布局一样,每一行套每一列
128
+ >
129
+ > 某个列又可被看做一个整体,在其下继续拆分为多行,每行又包含多列
130
+
131
+ > 比如一个页面,左侧是导航栏,右侧是内容栏
132
+ >
133
+ > 这就是第一行,第一行分为两列,左侧列是导航栏,右侧列是内容栏
134
+ >
135
+ > 内容栏又被分为了两行
136
+ >
137
+ > 第一行是标题,第二行是主要内容
138
+
139
+
140
+
141
+ ### 事件
142
+
143
+ > 在组件中,会因为各种各样的原因,修改一些状态,比如点击搜索,切换标签
144
+ >
145
+ > 这些改动,要通过`事件`的形式,向外层触发,来通知其他组件进行联动。比如在树组件中切换了标签,根据不同的标签在CRUD表单中渲染不同的内容
146
+ >
147
+ > 这个时候我们就需要对触发改动的`组件`添加`事件`,比如在XFormTable中点击详情,我们希望打开一个抽屉,我们就需要为XFormTable添加一个点击详情的事件
148
+
149
+
150
+
151
+ ### 行为
152
+
153
+ > 行为是`组件`自身内部进行的一系列变动。比如其他组件触发了某个`事件`,这个`组件`需要对这个`事件`进行响应,并在自身内部进行一系列的更新。这就是一种行为
154
+ >
155
+ > 还是刚才的例子在XFormTable中点击详情,我们希望打开一个抽屉。那抽屉改变自身的显隐,就是响应点击详情`事件`的一种`行为`