vue2-client 1.17.19 → 1.17.21
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/.claude/settings.local.json +20 -20
- package/.cursorrules +19 -19
- package/.env.apply +19 -19
- package/.env.gaslink +19 -19
- package/.env.his +19 -19
- package/.env.liuli +20 -20
- package/.env.scada +19 -19
- package/.eslintrc.js +90 -90
- package/.serena/memories/code_style_conventions.md +218 -0
- package/.serena/memories/project_overview.md +55 -0
- package/.serena/memories/project_structure.md +330 -0
- package/.serena/memories/suggested_commands.md +128 -0
- package/.serena/memories/task_completion_checklist.md +184 -0
- package/.serena/memories/tech_stack.md +95 -0
- package/CHANGELOG.md +830 -830
- package/CLAUDE.md +97 -97
- package/Components.md +60 -60
- package/docs/LowCode/lowcode.md +155 -155
- package/docs/LowCode/lowcodeForDeveloper.md +230 -230
- package/docs/index.md +30 -30
- package/index.js +31 -31
- package/jest-transform-stub.js +8 -8
- package/jest.setup.js +7 -7
- package/jsconfig.json +19 -19
- package/package.json +1 -1
- package/public/his/editor/editor.html +51 -51
- package/public/his/editor/mock/bind_data.html +779 -779
- package/public/his/editor/mock/data_table.html +40 -40
- package/public/his/editor/mock/sign.html +75 -75
- package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
- package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
- package/public/his/editor/vender/date97/WdatePicker.js +677 -677
- package/public/his/editor/vender/date97/calendar.js +4 -4
- package/public/his/editor/vender/date97/lang/en.js +13 -13
- package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
- package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
- package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
- package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
- package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
- package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
- package/public/his/editor/vender/diff.js +1627 -1627
- package/public/his/editor/vender/editor.js +1 -1
- package/public/his/editor/vender/fabric.js +31187 -31187
- package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
- package/public/his/editor/vender/jquery/jquery.js +10872 -10872
- package/public/his/editor/vender/jquery/jquery.print.js +255 -255
- package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
- package/public/his/editor/vender/mui/mui.min.css +4 -4
- package/public/his/editor/vender/mui/mui.min.js +5 -5
- package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
- package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
- package/public/his/editor/vender/qrcode.js +7 -7
- package/public/his/editor/vender/requirejs/require.js +2145 -2145
- package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
- package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
- package/public/his/editor/vender/signature/jSignature.js +1486 -1486
- package/public/his/editor/vender/validator.js +5094 -5094
- package/public/his/editor/vender/weui/weui.css +5659 -5659
- package/public/his/editor/vender/weui/weui.min.css +4 -4
- package/public/his/editor/vender/weui/weui.min.js +11 -11
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/assets/svg/badtwo.svg +1 -1
- package/src/assets/svg/goodtwo.svg +1 -1
- package/src/base-client/components/AI/AskAiBtn.vue +136 -136
- package/src/base-client/components/AI/demo.vue +31 -31
- package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
- package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
- package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
- package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
- package/src/base-client/components/common/CreateQuery/index.js +3 -3
- package/src/base-client/components/common/CreateQuery/index.md +42 -42
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
- package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
- package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
- package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
- package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
- package/src/base-client/components/common/HIS/demo.vue +61 -61
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
- package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
- package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
- package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
- package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
- package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
- package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
- package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Recording/Recording.vue +243 -243
- package/src/base-client/components/common/Recording/index.js +3 -3
- package/src/base-client/components/common/Tree/Tree.vue +149 -149
- package/src/base-client/components/common/Tree/index.js +2 -2
- package/src/base-client/components/common/Upload/Upload.vue +334 -334
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
- package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
- package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
- package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
- package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
- package/src/base-client/components/common/XAddReport/index.js +3 -3
- package/src/base-client/components/common/XAddReport/index.md +56 -56
- package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
- package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
- package/src/base-client/components/common/XButtons/index.js +3 -3
- package/src/base-client/components/common/XButtons/index.md +61 -61
- package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
- package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
- package/src/base-client/components/common/XDataCard/index.js +3 -3
- package/src/base-client/components/common/XDataCard/index.md +1 -1
- package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
- package/src/base-client/components/common/XDataDrawer/index.js +3 -3
- package/src/base-client/components/common/XDataDrawer/index.md +41 -41
- package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
- package/src/base-client/components/common/XDescriptions/index.js +3 -3
- package/src/base-client/components/common/XDescriptions/index.md +83 -83
- package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
- package/src/base-client/components/common/XDetailsView/index.js +3 -3
- package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
- package/src/base-client/components/common/XForm/index.md +178 -178
- package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
- package/src/base-client/components/common/XFormGroup/index.js +3 -3
- package/src/base-client/components/common/XFormGroup/index.md +38 -38
- package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
- package/src/base-client/components/common/XFormTable/index.md +92 -92
- package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
- package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
- package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
- package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
- package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
- package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
- package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
- package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
- package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
- package/src/base-client/components/common/XPrint/index.vue +97 -97
- package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
- package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
- package/src/base-client/components/common/XReport/index.js +3 -3
- package/src/base-client/components/common/XReport/print.js +186 -186
- package/src/base-client/components/common/XReportDrawer/index.js +3 -3
- package/src/base-client/components/common/XReportGrid/index.js +3 -3
- package/src/base-client/components/common/XReportGrid/index.md +44 -44
- package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
- package/src/base-client/components/common/XReportSlot/index.js +3 -3
- package/src/base-client/components/common/XReportSlot/index.md +48 -48
- package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
- package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
- package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
- package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
- package/src/base-client/components/common/XStepView/index.js +3 -3
- package/src/base-client/components/common/XStepView/index.md +31 -31
- package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
- package/src/base-client/components/common/XTab/index.js +3 -3
- package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
- package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
- package/src/base-client/components/common/XTable/index.md +255 -255
- package/src/base-client/components/common/XTagGroup/index.vue +52 -52
- package/src/base-client/components/common/XTree/XTree.vue +424 -424
- package/src/base-client/components/common/XTree/index.js +3 -3
- package/src/base-client/components/common/XTree/index.md +36 -36
- package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
- package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
- package/src/base-client/components/common/richTextModal/index.vue +56 -56
- package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
- package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
- package/src/base-client/components/his/XHisEditor/index.js +3 -3
- package/src/base-client/components/index.js +51 -51
- package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
- package/src/base-client/components/layout/XTreeView/index.js +3 -3
- package/src/base-client/components/layout/XTreeView/index.md +46 -46
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
- package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
- package/src/base-client/plugins/Config.js +19 -19
- package/src/base-client/plugins/GetLoginInfoService.js +183 -183
- package/src/base-client/plugins/Recording.js +258 -258
- package/src/base-client/plugins/index.js +23 -23
- package/src/base-client/plugins/tabs-page-plugin.js +39 -39
- package/src/components/Charts/Bar.vue +62 -62
- package/src/components/Charts/ChartCard.vue +134 -134
- package/src/components/Charts/Liquid.vue +67 -67
- package/src/components/Charts/MiniArea.vue +39 -39
- package/src/components/Charts/MiniBar.vue +39 -39
- package/src/components/Charts/MiniProgress.vue +75 -75
- package/src/components/Charts/MiniSmoothArea.vue +40 -40
- package/src/components/Charts/Radar.vue +68 -68
- package/src/components/Charts/RankList.vue +77 -77
- package/src/components/Charts/TagCloud.vue +113 -113
- package/src/components/Charts/TransferBar.vue +64 -64
- package/src/components/Charts/Trend.vue +82 -82
- package/src/components/Charts/chart.less +12 -12
- package/src/components/Charts/smooth.area.less +13 -13
- package/src/components/CodeMirror/inedx.vue +118 -118
- package/src/components/CodeMirror/setting.js +40 -40
- package/src/components/NumberInfo/NumberInfo.vue +54 -54
- package/src/components/NumberInfo/index.js +3 -3
- package/src/components/NumberInfo/index.less +54 -54
- package/src/components/NumberInfo/index.md +43 -43
- package/src/components/card/ChartCard.vue +79 -79
- package/src/components/chart/Bar.vue +60 -60
- package/src/components/chart/MiniArea.vue +67 -67
- package/src/components/chart/MiniBar.vue +59 -59
- package/src/components/chart/MiniProgress.vue +57 -57
- package/src/components/chart/Radar.vue +80 -80
- package/src/components/chart/RankingList.vue +60 -60
- package/src/components/chart/Trend.vue +79 -79
- package/src/components/chart/index.less +9 -9
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/checkbox/ImgCheckbox.vue +117 -117
- package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
- package/src/components/checkbox/index.js +9 -9
- package/src/components/exception/ExceptionPage.vue +70 -70
- package/src/components/g2Charts/constants.js +202 -202
- package/src/components/g2Charts/demo.vue +808 -808
- package/src/components/g2Charts/designer.vue +228 -228
- package/src/components/g2Charts/designerBaseConfig.vue +61 -61
- package/src/components/g2Charts/designerDataConfig.vue +259 -259
- package/src/components/g2Charts/designerStyleConfig.vue +16 -16
- package/src/components/g2Charts/index.vue +397 -397
- package/src/components/index.js +36 -36
- package/src/components/input/IInput.vue +66 -66
- package/src/components/menu/SideMenu.vue +75 -75
- package/src/components/menu/menu.js +273 -273
- package/src/components/setting/Setting.vue +234 -234
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/config/CreateQueryConfig.js +325 -325
- package/src/config/default/antd.config.js +89 -89
- package/src/config/default/setting.config.js +55 -55
- package/src/font-style/font.css +60 -60
- package/src/layouts/CommonLayout.vue +56 -56
- package/src/layouts/PageLayout.vue +151 -151
- package/src/layouts/SinglePageView.vue +136 -136
- package/src/layouts/header/AdminHeader.vue +132 -132
- package/src/layouts/header/HeaderNotice.vue +177 -177
- package/src/layouts/header/InstitutionDetail.vue +181 -181
- package/src/layouts/tabs/TabsHead.vue +189 -189
- package/src/lib.js +1 -1
- package/src/mock/extend/index.js +84 -84
- package/src/mock/goods/index.js +108 -108
- package/src/pages/DefaultExample/index.vue +77 -77
- package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
- package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
- package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
- package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
- package/src/pages/DynamicStatistics/index.vue +282 -282
- package/src/pages/Example/childIndex.vue +15 -15
- package/src/pages/Example/index.vue +30 -30
- package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
- package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
- package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
- package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
- package/src/pages/NewDynamicStatistics/index.vue +258 -258
- package/src/pages/Recording/index.vue +77 -77
- package/src/pages/ServiceReview/index.vue +284 -284
- package/src/pages/SubExample/index.vue +26 -26
- package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
- package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1811 -1784
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -943
- package/src/pages/XReportView/index.vue +64 -64
- package/src/pages/XTreeOneProExample/index.vue +67 -67
- package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
- package/src/pages/login/Login.vue +379 -379
- package/src/pages/login/LoginV3.vue +389 -389
- package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
- package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
- package/src/pages/report/ReportTable.js +124 -124
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/pages/system/dictionary/index.vue +44 -44
- package/src/pages/system/monitor/loginInfor/index.vue +37 -37
- package/src/pages/system/monitor/operLog/index.vue +37 -37
- package/src/pages/system/settings/modifyPassword.vue +117 -117
- package/src/pages/system/ticket/index.vue +480 -480
- package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
- package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
- package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
- package/src/plugins/EventLogPlugin.js +33 -33
- package/src/plugins/FindParentsData.js +17 -17
- package/src/services/DataModel.js +30 -30
- package/src/services/LodopFuncs.js +137 -137
- package/src/services/api/TicketDetailsViewApi.js +46 -46
- package/src/services/api/cas.js +79 -79
- package/src/services/api/entity.js +18 -18
- package/src/services/api/index.js +17 -17
- package/src/services/api/workFlow.js +3 -1
- package/src/store/modules/account.js +121 -115
- package/src/store/modules/index.js +5 -5
- package/src/store/modules/lowCode.js +33 -33
- package/src/store/modules/setting.js +119 -119
- package/src/theme/default/style.less +58 -58
- package/src/utils/authority-utils.js +85 -85
- package/src/utils/errorCode.js +6 -6
- package/src/utils/formatter.js +74 -74
- package/src/utils/htmlToPDF.js +108 -108
- package/src/utils/htmlToPDFApi.js +5 -5
- package/src/utils/login.js +188 -188
- package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
- package/src/utils/lowcode/lowcodeLog.js +29 -29
- package/src/utils/lowcode/lowcodeUtils.js +373 -373
- package/src/utils/lowcode/registerComponentForEditor.js +1 -1
- package/src/utils/lowcode/registerComponentForRender.js +11 -11
- package/src/utils/map-utils.js +47 -47
- package/src/utils/reg.js +95 -95
- package/src/utils/runEvalFunction.js +14 -14
- package/src/utils/theme-color-replacer-extend.js +92 -92
- package/src/utils/util.js +329 -329
- package/src/utils/waterMark.js +31 -31
- package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Vue2-Client 项目概述
|
|
2
|
+
|
|
3
|
+
## 项目目的
|
|
4
|
+
Vue2-Client是一个基于Vue Antd Admin封装的**通用基础组件库**,旨在为企业级应用提供统一的UI组件和开发框架。
|
|
5
|
+
|
|
6
|
+
## 核心定位
|
|
7
|
+
- **可复用组件库**:提供一套完整的企业级UI组件
|
|
8
|
+
- **低代码平台基础**:支持通过JSON配置驱动的动态UI生成
|
|
9
|
+
- **多业务场景支持**:适用于医院信息系统(HIS)、工单管理、系统管理等多个领域
|
|
10
|
+
- **多环境部署**:支持gaslink、revenue、liuli、scada、iot、his等多个部署环境
|
|
11
|
+
|
|
12
|
+
## 主要功能模块
|
|
13
|
+
|
|
14
|
+
### 1. Base-Client基础组件系统
|
|
15
|
+
核心组件库,包含:
|
|
16
|
+
- **X系列组件**:XForm、XTable、XFormTable、XPageView等配置驱动组件
|
|
17
|
+
- **全局插件**:认证、国际化、页面管理等Vue插件
|
|
18
|
+
- 所有base-client组件全局注册,整个应用直接可用
|
|
19
|
+
|
|
20
|
+
### 2. 低代码平台集成
|
|
21
|
+
- 内置低代码编辑器和渲染器
|
|
22
|
+
- 支持通过JSON配置动态生成表单、表格和页面布局
|
|
23
|
+
- 逻辑运行器系统(LogicRunner)和表达式求值(ExpressionRunner)
|
|
24
|
+
- 自定义组件注册系统
|
|
25
|
+
|
|
26
|
+
### 3. 业务页面模块
|
|
27
|
+
- **系统管理**:用户、角色、权限管理
|
|
28
|
+
- **工单流程**:工单详情、流程审批
|
|
29
|
+
- **资源管理**:资源分配和管理
|
|
30
|
+
- **动态统计**:数据可视化和报表
|
|
31
|
+
- **HIS医院系统**:医疗信息管理相关功能
|
|
32
|
+
|
|
33
|
+
### 4. 配置驱动开发
|
|
34
|
+
- 通过`src/config/`中的配置文件定义组件行为
|
|
35
|
+
- 支持多环境配置切换
|
|
36
|
+
- 统一的配置管理和替换机制
|
|
37
|
+
|
|
38
|
+
## 技术特点
|
|
39
|
+
1. **配置优于编码**:大部分UI通过JSON配置生成,减少重复代码
|
|
40
|
+
2. **组件化架构**:高度模块化,易于维护和扩展
|
|
41
|
+
3. **主题定制**:支持动态主题色替换
|
|
42
|
+
4. **国际化支持**:内置i18n支持多语言
|
|
43
|
+
5. **响应式设计**:基于Ant Design栅格系统的响应式布局
|
|
44
|
+
|
|
45
|
+
## 目标用户
|
|
46
|
+
- 企业内部开发团队
|
|
47
|
+
- 需要快速构建管理系统的项目
|
|
48
|
+
- 低代码平台的二次开发者
|
|
49
|
+
- 需要统一UI规范的多系统项目
|
|
50
|
+
|
|
51
|
+
## 项目状态
|
|
52
|
+
- 当前版本:v1.17.13
|
|
53
|
+
- 维护状态:活跃开发中
|
|
54
|
+
- Git分支:dev分支
|
|
55
|
+
- 部署环境:支持多环境部署
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# Vue2-Client 项目结构详解
|
|
2
|
+
|
|
3
|
+
## 顶层目录结构
|
|
4
|
+
```
|
|
5
|
+
vue2-client/
|
|
6
|
+
├── src/ # 源代码目录
|
|
7
|
+
├── public/ # 静态资源(不经webpack处理)
|
|
8
|
+
├── dist/ # 构建输出目录
|
|
9
|
+
├── docs/ # 项目文档
|
|
10
|
+
├── test/ # 测试文件(Jest)
|
|
11
|
+
├── tests/unit/ # 单元测试
|
|
12
|
+
├── node_modules/ # 依赖包
|
|
13
|
+
├── package.json # 项目配置和依赖
|
|
14
|
+
├── vue.config.js # Vue CLI配置
|
|
15
|
+
├── jest.config.js # Jest测试配置
|
|
16
|
+
├── babel.config.js # Babel配置
|
|
17
|
+
└── README.md # 项目说明
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 核心源码结构 (src/)
|
|
21
|
+
|
|
22
|
+
### 1. base-client/ - 基础组件系统(核心)
|
|
23
|
+
```
|
|
24
|
+
base-client/
|
|
25
|
+
├── components/ # 可复用UI组件(全局注册)
|
|
26
|
+
│ ├── XForm/ # 表单组件
|
|
27
|
+
│ ├── XTable/ # 表格组件
|
|
28
|
+
│ ├── XCard/ # 卡片组件
|
|
29
|
+
│ ├── XPageView/ # 页面视图组件
|
|
30
|
+
│ └── ... # 其他X系列组件
|
|
31
|
+
└── plugins/ # 全局Vue插件
|
|
32
|
+
├── auth.js # 认证插件
|
|
33
|
+
├── i18n-extend.js # 国际化扩展
|
|
34
|
+
└── ... # 其他插件
|
|
35
|
+
```
|
|
36
|
+
**特点**:
|
|
37
|
+
- 所有组件全局注册,整个应用可直接使用
|
|
38
|
+
- X前缀命名,表示核心基础组件
|
|
39
|
+
- 通过JSON配置驱动组件行为
|
|
40
|
+
|
|
41
|
+
### 2. components/ - 通用组件(按需引入)
|
|
42
|
+
```
|
|
43
|
+
components/
|
|
44
|
+
├── chart/ # 图表组件
|
|
45
|
+
├── Charts/ # G2图表组件
|
|
46
|
+
├── table/ # 表格相关
|
|
47
|
+
├── form/ # 表单相关
|
|
48
|
+
├── menu/ # 菜单组件
|
|
49
|
+
├── page/ # 页面组件
|
|
50
|
+
└── ... # 其他业务组件
|
|
51
|
+
```
|
|
52
|
+
**特点**:
|
|
53
|
+
- 按需引入,不全局注册
|
|
54
|
+
- 包含业务特定的组件
|
|
55
|
+
- 包含第三方组件的封装
|
|
56
|
+
|
|
57
|
+
### 3. pages/ - 页面组件
|
|
58
|
+
```
|
|
59
|
+
pages/
|
|
60
|
+
├── login/ # 登录页
|
|
61
|
+
├── dashboard/ # 仪表盘
|
|
62
|
+
├── system/ # 系统管理
|
|
63
|
+
├── WorkflowDetail/ # 工单流程详情
|
|
64
|
+
├── userInfoDetailManage/ # 用户信息管理
|
|
65
|
+
├── resourceManage/ # 资源管理
|
|
66
|
+
├── DynamicStatistics/ # 动态统计
|
|
67
|
+
├── lowCode/ # 低代码相关页面
|
|
68
|
+
└── ... # 其他业务页面
|
|
69
|
+
```
|
|
70
|
+
**特点**:
|
|
71
|
+
- 每个目录是一个功能模块
|
|
72
|
+
- 对应路由配置
|
|
73
|
+
- 可能包含子组件
|
|
74
|
+
|
|
75
|
+
### 4. layouts/ - 布局组件
|
|
76
|
+
```
|
|
77
|
+
layouts/
|
|
78
|
+
├── AdminLayout.vue # 管理后台布局
|
|
79
|
+
├── BlankView.vue # 空白布局
|
|
80
|
+
├── PageLayout.vue # 页面布局
|
|
81
|
+
├── PageView.vue # 页面视图
|
|
82
|
+
├── header/ # 头部组件
|
|
83
|
+
├── footer/ # 底部组件
|
|
84
|
+
└── tabs/ # 标签页组件
|
|
85
|
+
```
|
|
86
|
+
**特点**:
|
|
87
|
+
- 定义整体页面结构
|
|
88
|
+
- 包含通用的头部、侧边栏、底部
|
|
89
|
+
- 支持多种布局模式
|
|
90
|
+
|
|
91
|
+
### 5. router/ - 路由配置
|
|
92
|
+
```
|
|
93
|
+
router/
|
|
94
|
+
├── index.js # 路由主入口
|
|
95
|
+
├── guards.js # 路由守卫
|
|
96
|
+
├── i18n.js # 国际化路由
|
|
97
|
+
└── async/ # 异步路由
|
|
98
|
+
└── router.map.js # 路由映射配置
|
|
99
|
+
```
|
|
100
|
+
**特点**:
|
|
101
|
+
- 支持动态路由
|
|
102
|
+
- 路由权限控制
|
|
103
|
+
- 国际化路由
|
|
104
|
+
|
|
105
|
+
### 6. services/ - 数据服务层
|
|
106
|
+
```
|
|
107
|
+
services/
|
|
108
|
+
├── apiService.js # API服务基类
|
|
109
|
+
├── DataModel.js # 数据模型转换
|
|
110
|
+
├── dataSource.js # 数据源配置
|
|
111
|
+
├── user.js # 用户服务
|
|
112
|
+
├── v3Api.js # V3版本API
|
|
113
|
+
└── api/ # API接口定义
|
|
114
|
+
├── account.js # 账户相关
|
|
115
|
+
├── system.js # 系统相关
|
|
116
|
+
└── ... # 其他模块API
|
|
117
|
+
```
|
|
118
|
+
**特点**:
|
|
119
|
+
- 统一的API调用封装
|
|
120
|
+
- 数据模型转换层
|
|
121
|
+
- axios拦截器配置
|
|
122
|
+
|
|
123
|
+
### 7. store/ - Vuex状态管理
|
|
124
|
+
```
|
|
125
|
+
store/
|
|
126
|
+
├── index.js # Store主入口
|
|
127
|
+
├── mutation-types.js # Mutation类型常量
|
|
128
|
+
└── modules/ # 状态模块
|
|
129
|
+
├── account.js # 账户状态
|
|
130
|
+
├── setting.js # 设置状态
|
|
131
|
+
├── lowCode.js # 低代码状态
|
|
132
|
+
└── async-router.js # 异步路由状态
|
|
133
|
+
```
|
|
134
|
+
**特点**:
|
|
135
|
+
- 模块化状态管理
|
|
136
|
+
- 持久化存储支持
|
|
137
|
+
- 全局状态共享
|
|
138
|
+
|
|
139
|
+
### 8. config/ - 配置文件
|
|
140
|
+
```
|
|
141
|
+
config/
|
|
142
|
+
├── index.js # 配置主入口
|
|
143
|
+
├── CreateQueryConfig.js # 查询配置
|
|
144
|
+
├── default/ # 默认配置
|
|
145
|
+
│ ├── setting.config.js
|
|
146
|
+
│ └── ...
|
|
147
|
+
└── replacer/ # 配置替换器
|
|
148
|
+
```
|
|
149
|
+
**特点**:
|
|
150
|
+
- 配置驱动开发
|
|
151
|
+
- 支持环境配置
|
|
152
|
+
- 可动态替换
|
|
153
|
+
|
|
154
|
+
### 9. utils/ - 工具函数
|
|
155
|
+
```
|
|
156
|
+
utils/
|
|
157
|
+
├── request.js # HTTP请求封装
|
|
158
|
+
├── auth.js # 认证工具
|
|
159
|
+
├── storage.js # 存储工具
|
|
160
|
+
├── date.js # 日期处理
|
|
161
|
+
├── encrypt.js # 加密工具
|
|
162
|
+
├── format.js # 格式化工具
|
|
163
|
+
└── ... # 其他工具
|
|
164
|
+
```
|
|
165
|
+
**特点**:
|
|
166
|
+
- 纯函数工具
|
|
167
|
+
- 可复用逻辑
|
|
168
|
+
- 无副作用
|
|
169
|
+
|
|
170
|
+
### 10. theme/ - 主题样式
|
|
171
|
+
```
|
|
172
|
+
theme/
|
|
173
|
+
├── index.less # 主题入口
|
|
174
|
+
├── theme.less # 主题变量
|
|
175
|
+
├── global.less # 全局样式
|
|
176
|
+
├── antd/ # Ant Design主题定制
|
|
177
|
+
└── default/ # 默认主题
|
|
178
|
+
```
|
|
179
|
+
**特点**:
|
|
180
|
+
- Less变量定义
|
|
181
|
+
- Ant Design主题定制
|
|
182
|
+
- 动态主题切换支持
|
|
183
|
+
|
|
184
|
+
### 11. expression/ - 表达式系统
|
|
185
|
+
```
|
|
186
|
+
expression/
|
|
187
|
+
├── ExpressionRunner.js # 表达式运行器
|
|
188
|
+
├── core/ # 核心逻辑
|
|
189
|
+
├── enums/ # 枚举定义
|
|
190
|
+
├── exception/ # 异常处理
|
|
191
|
+
└── ts/ # TypeScript定义
|
|
192
|
+
```
|
|
193
|
+
**特点**:
|
|
194
|
+
- 低代码平台表达式求值
|
|
195
|
+
- 支持复杂表达式计算
|
|
196
|
+
|
|
197
|
+
### 12. logic/ - 逻辑系统
|
|
198
|
+
```
|
|
199
|
+
logic/
|
|
200
|
+
├── LogicRunner.js # 逻辑运行器
|
|
201
|
+
├── plugins/ # 逻辑插件
|
|
202
|
+
└── ts/ # TypeScript定义
|
|
203
|
+
```
|
|
204
|
+
**特点**:
|
|
205
|
+
- 低代码平台业务逻辑执行
|
|
206
|
+
- 插件化扩展
|
|
207
|
+
|
|
208
|
+
### 13. assets/ - 静态资源
|
|
209
|
+
```
|
|
210
|
+
assets/
|
|
211
|
+
├── img/ # 图片
|
|
212
|
+
├── svg/ # SVG图标
|
|
213
|
+
├── sound/ # 音频文件
|
|
214
|
+
└── ttf/ # 字体文件
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### 14. mixins/ - Vue混入
|
|
218
|
+
```
|
|
219
|
+
mixins/
|
|
220
|
+
└── formValidationMixin.js # 表单验证混入
|
|
221
|
+
```
|
|
222
|
+
**特点**:
|
|
223
|
+
- 共享组件逻辑
|
|
224
|
+
- 表单验证等通用功能
|
|
225
|
+
|
|
226
|
+
### 15. plugins/ - 自定义插件
|
|
227
|
+
```
|
|
228
|
+
plugins/
|
|
229
|
+
├── EventLogPlugin.js # 事件日志插件
|
|
230
|
+
├── FindParentsData.js # 父级数据查找
|
|
231
|
+
└── HiPrintPlugin.js # 打印插件
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## 关键入口文件
|
|
235
|
+
|
|
236
|
+
### main.js
|
|
237
|
+
- 应用入口
|
|
238
|
+
- Vue实例创建
|
|
239
|
+
- 全局配置初始化
|
|
240
|
+
|
|
241
|
+
### bootstrap.js
|
|
242
|
+
- 应用启动引导
|
|
243
|
+
- 插件注册
|
|
244
|
+
- 全局组件注册
|
|
245
|
+
|
|
246
|
+
### index.js
|
|
247
|
+
- 模块导出入口
|
|
248
|
+
- 供外部项目引入使用
|
|
249
|
+
|
|
250
|
+
### App.vue
|
|
251
|
+
- 根组件
|
|
252
|
+
- 应用容器
|
|
253
|
+
|
|
254
|
+
## 配置文件说明
|
|
255
|
+
|
|
256
|
+
### vue.config.js
|
|
257
|
+
- Webpack配置
|
|
258
|
+
- 开发服务器配置
|
|
259
|
+
- 代理配置
|
|
260
|
+
- 别名配置
|
|
261
|
+
- 主题配置
|
|
262
|
+
- 性能优化配置
|
|
263
|
+
|
|
264
|
+
### package.json
|
|
265
|
+
- 项目元信息
|
|
266
|
+
- 依赖管理
|
|
267
|
+
- 脚本命令
|
|
268
|
+
- 版本:v1.17.13
|
|
269
|
+
|
|
270
|
+
### jest.config.js
|
|
271
|
+
- 测试框架配置
|
|
272
|
+
- 模块映射
|
|
273
|
+
- 转换规则
|
|
274
|
+
|
|
275
|
+
### babel.config.js
|
|
276
|
+
- Babel编译配置
|
|
277
|
+
- JSX支持
|
|
278
|
+
- Polyfill配置
|
|
279
|
+
|
|
280
|
+
## 特殊目录说明
|
|
281
|
+
|
|
282
|
+
### public/
|
|
283
|
+
不经webpack处理的静态资源:
|
|
284
|
+
- index.html(入口HTML)
|
|
285
|
+
- favicon.ico
|
|
286
|
+
- his/editor/(富文本编辑器)
|
|
287
|
+
|
|
288
|
+
### dist/
|
|
289
|
+
构建输出目录:
|
|
290
|
+
- 生产环境构建结果
|
|
291
|
+
- 压缩和优化后的资源
|
|
292
|
+
- 按环境生成不同配置
|
|
293
|
+
|
|
294
|
+
### docs/
|
|
295
|
+
项目文档:
|
|
296
|
+
- 低代码平台文档
|
|
297
|
+
- 组件使用文档
|
|
298
|
+
- 功能说明文档
|
|
299
|
+
|
|
300
|
+
## 模块依赖关系
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
main.js
|
|
304
|
+
└── bootstrap.js
|
|
305
|
+
├── base-client/ (全局注册)
|
|
306
|
+
├── plugins/
|
|
307
|
+
├── router/
|
|
308
|
+
├── store/
|
|
309
|
+
└── config/
|
|
310
|
+
|
|
311
|
+
pages/
|
|
312
|
+
└── layouts/
|
|
313
|
+
└── base-client/components/ (X组件)
|
|
314
|
+
└── components/ (通用组件)
|
|
315
|
+
└── utils/
|
|
316
|
+
└── services/
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## 构建输出结构 (dist/)
|
|
320
|
+
```
|
|
321
|
+
dist/
|
|
322
|
+
├── index.html # 入口HTML
|
|
323
|
+
├── static/ # 静态资源
|
|
324
|
+
│ ├── css/ # 样式文件
|
|
325
|
+
│ ├── js/ # JavaScript文件
|
|
326
|
+
│ ├── fonts/ # 字体文件
|
|
327
|
+
│ └── img/ # 图片文件
|
|
328
|
+
├── css/ # 主题CSS
|
|
329
|
+
└── favicon.ico # 图标
|
|
330
|
+
```
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Vue2-Client 项目常用命令
|
|
2
|
+
|
|
3
|
+
## Windows系统命令说明
|
|
4
|
+
本项目在Windows系统下开发,使用PowerShell或CMD。
|
|
5
|
+
|
|
6
|
+
## 核心开发命令
|
|
7
|
+
|
|
8
|
+
### 开发服务器(开发模式)
|
|
9
|
+
```powershell
|
|
10
|
+
# 默认开发服务器 (端口8020)
|
|
11
|
+
npm run serve
|
|
12
|
+
|
|
13
|
+
# MacOS/Linux开发服务器
|
|
14
|
+
npm run mac-serve
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 多环境开发服务器
|
|
18
|
+
支持以下环境模式,每个模式对应不同的代理配置:
|
|
19
|
+
```powershell
|
|
20
|
+
npm run serve:gaslink # 燃气链路模式
|
|
21
|
+
npm run serve:revenue # 营收模式
|
|
22
|
+
npm run serve:liuli # 流离模式
|
|
23
|
+
npm run serve:scada # SCADA模式
|
|
24
|
+
npm run serve:iot # IoT模式
|
|
25
|
+
npm run serve:his # HIS医院信息系统模式
|
|
26
|
+
npm run serve:runtime # 运行时模式
|
|
27
|
+
npm run serve:message # 消息模式
|
|
28
|
+
npm run serve:apply # 应用模式
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 构建命令
|
|
32
|
+
```powershell
|
|
33
|
+
# 生产环境构建
|
|
34
|
+
npm run build
|
|
35
|
+
|
|
36
|
+
# 预览环境构建
|
|
37
|
+
npm run build:preview
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 代码质量检查
|
|
41
|
+
```powershell
|
|
42
|
+
# 运行ESLint并自动修复
|
|
43
|
+
npm run lint
|
|
44
|
+
|
|
45
|
+
# 运行ESLint但不自动修复(仅检查)
|
|
46
|
+
npm run lint:nofix
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 测试命令
|
|
50
|
+
```powershell
|
|
51
|
+
# 运行Jest单元测试
|
|
52
|
+
npm test
|
|
53
|
+
|
|
54
|
+
# 运行Vue CLI单元测试
|
|
55
|
+
npm run test:unit
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 重要说明
|
|
59
|
+
|
|
60
|
+
### NODE_OPTIONS配置
|
|
61
|
+
Windows环境下所有开发命令需要设置`NODE_OPTIONS=--openssl-legacy-provider`来解决OpenSSL兼容性问题。这已经集成在`package.json`的scripts中。
|
|
62
|
+
|
|
63
|
+
### 开发服务器配置
|
|
64
|
+
- 默认端口:8020
|
|
65
|
+
- 开发模式默认禁用ESLint(--no-eslint),需要单独运行`npm run lint`进行代码检查
|
|
66
|
+
- 支持热重载和代理配置
|
|
67
|
+
|
|
68
|
+
### Windows常用系统命令
|
|
69
|
+
```powershell
|
|
70
|
+
# 文件和目录操作
|
|
71
|
+
dir # 列出目录内容(类似Linux的ls)
|
|
72
|
+
cd <path> # 切换目录
|
|
73
|
+
mkdir <name> # 创建目录
|
|
74
|
+
rmdir /s <name> # 删除目录及内容
|
|
75
|
+
del <file> # 删除文件
|
|
76
|
+
|
|
77
|
+
# 文件搜索
|
|
78
|
+
findstr /s "pattern" *.js # 在js文件中搜索文本(类似Linux的grep)
|
|
79
|
+
where <command> # 查找命令位置(类似Linux的which)
|
|
80
|
+
|
|
81
|
+
# 进程和端口
|
|
82
|
+
netstat -ano | findstr :8020 # 查看端口占用
|
|
83
|
+
taskkill /PID <pid> /F # 终止进程
|
|
84
|
+
|
|
85
|
+
# Git操作
|
|
86
|
+
git status # 查看仓库状态
|
|
87
|
+
git add . # 添加所有改动
|
|
88
|
+
git commit -m "" # 提交改动
|
|
89
|
+
git pull # 拉取最新代码
|
|
90
|
+
git push # 推送代码
|
|
91
|
+
git log # 查看提交历史
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 项目初始化
|
|
95
|
+
```powershell
|
|
96
|
+
# 克隆项目后首次运行
|
|
97
|
+
npm install
|
|
98
|
+
|
|
99
|
+
# 如果依赖安装失败,尝试清理缓存
|
|
100
|
+
npm cache clean --force
|
|
101
|
+
npm install
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## 故障排查
|
|
105
|
+
|
|
106
|
+
### 端口被占用
|
|
107
|
+
```powershell
|
|
108
|
+
# 查看8020端口占用
|
|
109
|
+
netstat -ano | findstr :8020
|
|
110
|
+
|
|
111
|
+
# 终止占用端口的进程
|
|
112
|
+
taskkill /PID <进程ID> /F
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 依赖问题
|
|
116
|
+
```powershell
|
|
117
|
+
# 删除node_modules和lock文件重新安装
|
|
118
|
+
rmdir /s /q node_modules
|
|
119
|
+
del package-lock.json
|
|
120
|
+
npm install
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### OpenSSL错误
|
|
124
|
+
如果遇到OpenSSL相关错误,确保使用了带有`NODE_OPTIONS`设置的命令,或手动设置:
|
|
125
|
+
```powershell
|
|
126
|
+
SET NODE_OPTIONS=--openssl-legacy-provider
|
|
127
|
+
npm run serve
|
|
128
|
+
```
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# 任务完成检查清单
|
|
2
|
+
|
|
3
|
+
当完成一个开发任务时,请按以下清单逐项检查:
|
|
4
|
+
|
|
5
|
+
## 1. 代码质量检查
|
|
6
|
+
|
|
7
|
+
### 运行ESLint检查
|
|
8
|
+
```powershell
|
|
9
|
+
npm run lint
|
|
10
|
+
```
|
|
11
|
+
- ✅ 确保没有ESLint错误
|
|
12
|
+
- ✅ 修复所有警告(如果可能)
|
|
13
|
+
- ✅ 确保代码符合项目风格规范
|
|
14
|
+
|
|
15
|
+
### 代码审查要点
|
|
16
|
+
- ✅ 变量命名使用描述性名称(isLoading, hasError等)
|
|
17
|
+
- ✅ 组件使用Vue 2.7组合API + setup语法糖
|
|
18
|
+
- ✅ 方法和计算属性使用箭头函数
|
|
19
|
+
- ✅ 避免代码重复,提取可复用逻辑
|
|
20
|
+
- ✅ 注释使用中文编写
|
|
21
|
+
- ✅ 复杂逻辑有适当的注释说明
|
|
22
|
+
|
|
23
|
+
## 2. 功能测试
|
|
24
|
+
|
|
25
|
+
### 本地测试
|
|
26
|
+
- ✅ 在开发服务器验证功能正常:`npm run serve`
|
|
27
|
+
- ✅ 测试所有用户交互流程
|
|
28
|
+
- ✅ 验证表单验证规则
|
|
29
|
+
- ✅ 测试错误处理和边界情况
|
|
30
|
+
- ✅ 检查响应式布局(不同屏幕尺寸)
|
|
31
|
+
|
|
32
|
+
### 单元测试(如果涉及)
|
|
33
|
+
```powershell
|
|
34
|
+
npm test
|
|
35
|
+
```
|
|
36
|
+
- ✅ 为新功能编写单元测试
|
|
37
|
+
- ✅ 确保现有测试通过
|
|
38
|
+
- ✅ 测试覆盖核心业务逻辑
|
|
39
|
+
|
|
40
|
+
## 3. 性能检查
|
|
41
|
+
|
|
42
|
+
- ✅ 检查是否有不必要的重新渲染
|
|
43
|
+
- ✅ 大列表使用虚拟滚动或分页
|
|
44
|
+
- ✅ 图片和资源已优化
|
|
45
|
+
- ✅ 避免在computed中进行复杂计算
|
|
46
|
+
- ✅ 合理使用防抖和节流
|
|
47
|
+
|
|
48
|
+
## 4. 样式检查
|
|
49
|
+
|
|
50
|
+
- ✅ 样式符合设计规范
|
|
51
|
+
- ✅ 使用项目主题变量(theme.less)
|
|
52
|
+
- ✅ 检查不同主题下的显示效果
|
|
53
|
+
- ✅ 移动端响应式适配
|
|
54
|
+
- ✅ 浏览器兼容性(Chrome、Edge、Firefox)
|
|
55
|
+
|
|
56
|
+
## 5. 文档更新
|
|
57
|
+
|
|
58
|
+
- ✅ 如果是新组件,在Components.md中添加说明
|
|
59
|
+
- ✅ 更新相关的项目文档
|
|
60
|
+
- ✅ 添加代码注释和使用示例
|
|
61
|
+
- ✅ 更新CHANGELOG.md(重要功能)
|
|
62
|
+
|
|
63
|
+
## 6. Git提交
|
|
64
|
+
|
|
65
|
+
### 提交前检查
|
|
66
|
+
```powershell
|
|
67
|
+
# 查看修改的文件
|
|
68
|
+
git status
|
|
69
|
+
|
|
70
|
+
# 查看具体修改内容
|
|
71
|
+
git diff
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 提交规范
|
|
75
|
+
- ✅ 只提交与任务相关的文件
|
|
76
|
+
- ✅ 避免提交调试代码和console.log
|
|
77
|
+
- ✅ 提交信息清晰描述改动内容
|
|
78
|
+
- ✅ 使用约定式提交格式(推荐):
|
|
79
|
+
- `feat:` 新功能
|
|
80
|
+
- `fix:` 修复bug
|
|
81
|
+
- `docs:` 文档更新
|
|
82
|
+
- `style:` 代码格式
|
|
83
|
+
- `refactor:` 重构
|
|
84
|
+
- `test:` 测试
|
|
85
|
+
- `chore:` 构建或工具
|
|
86
|
+
|
|
87
|
+
### 提交命令
|
|
88
|
+
```powershell
|
|
89
|
+
git add .
|
|
90
|
+
git commit -m "feat: 添加用户管理功能"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 7. 构建验证
|
|
94
|
+
|
|
95
|
+
### 生产环境构建测试
|
|
96
|
+
```powershell
|
|
97
|
+
npm run build
|
|
98
|
+
```
|
|
99
|
+
- ✅ 构建成功无错误
|
|
100
|
+
- ✅ 检查构建产物大小是否合理
|
|
101
|
+
- ✅ 验证dist目录结构正确
|
|
102
|
+
|
|
103
|
+
### 预览环境测试(可选)
|
|
104
|
+
```powershell
|
|
105
|
+
npm run build:preview
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## 8. 配置检查(多环境项目)
|
|
109
|
+
|
|
110
|
+
如果涉及多环境配置:
|
|
111
|
+
- ✅ 验证gaslink环境:`npm run serve:gaslink`
|
|
112
|
+
- ✅ 验证revenue环境:`npm run serve:revenue`
|
|
113
|
+
- ✅ 验证his环境:`npm run serve:his`
|
|
114
|
+
- ✅ 确保API代理配置正确
|
|
115
|
+
- ✅ 环境变量设置正确
|
|
116
|
+
|
|
117
|
+
## 9. 低代码平台检查(如果相关)
|
|
118
|
+
|
|
119
|
+
如果涉及低代码组件:
|
|
120
|
+
- ✅ 组件已在低代码环境正确注册
|
|
121
|
+
- ✅ JSON配置格式正确且文档完善
|
|
122
|
+
- ✅ 在低代码编辑器中测试组件
|
|
123
|
+
- ✅ 验证表达式和逻辑运行器功能
|
|
124
|
+
|
|
125
|
+
## 10. 团队协作
|
|
126
|
+
|
|
127
|
+
- ✅ 通知相关团队成员关于重要改动
|
|
128
|
+
- ✅ 如有API变更,通知后端团队
|
|
129
|
+
- ✅ 如有组件变更,通知使用该组件的开发者
|
|
130
|
+
- ✅ 更新团队共享文档
|
|
131
|
+
|
|
132
|
+
## 11. 安全检查
|
|
133
|
+
|
|
134
|
+
- ✅ 敏感信息不直接写在代码中
|
|
135
|
+
- ✅ 用户输入已正确验证和过滤
|
|
136
|
+
- ✅ XSS和CSRF防护已考虑
|
|
137
|
+
- ✅ API调用使用正确的认证
|
|
138
|
+
|
|
139
|
+
## 12. 清理工作
|
|
140
|
+
|
|
141
|
+
- ✅ 删除临时文件和调试代码
|
|
142
|
+
- ✅ 清理未使用的导入和变量
|
|
143
|
+
- ✅ 删除注释掉的废弃代码
|
|
144
|
+
- ✅ 确保node_modules不在提交中
|
|
145
|
+
|
|
146
|
+
## 快速检查命令
|
|
147
|
+
|
|
148
|
+
```powershell
|
|
149
|
+
# 完整检查流程
|
|
150
|
+
npm run lint # 代码检查
|
|
151
|
+
npm test # 运行测试
|
|
152
|
+
npm run build # 构建验证
|
|
153
|
+
git status # 查看修改
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## 常见问题排查
|
|
157
|
+
|
|
158
|
+
### 如果ESLint失败
|
|
159
|
+
1. 仔细阅读错误信息
|
|
160
|
+
2. 运行`npm run lint`自动修复
|
|
161
|
+
3. 手动修复无法自动修复的错误
|
|
162
|
+
|
|
163
|
+
### 如果构建失败
|
|
164
|
+
1. 检查是否有语法错误
|
|
165
|
+
2. 确认所有导入路径正确
|
|
166
|
+
3. 检查是否缺少依赖包
|
|
167
|
+
4. 查看控制台错误详细信息
|
|
168
|
+
|
|
169
|
+
### 如果测试失败
|
|
170
|
+
1. 查看具体失败的测试用例
|
|
171
|
+
2. 检查是否破坏了现有功能
|
|
172
|
+
3. 更新或修复测试用例
|
|
173
|
+
4. 确保测试环境配置正确
|
|
174
|
+
|
|
175
|
+
## 最终确认
|
|
176
|
+
|
|
177
|
+
在推送代码前,问自己:
|
|
178
|
+
- ✅ 我的代码是否可读且易于维护?
|
|
179
|
+
- ✅ 我的改动是否会影响其他模块?
|
|
180
|
+
- ✅ 我是否遵循了项目的代码规范?
|
|
181
|
+
- ✅ 我是否进行了充分的测试?
|
|
182
|
+
- ✅ 我的提交信息是否清晰?
|
|
183
|
+
|
|
184
|
+
**只有所有检查项都通过后,才能推送代码!**
|