vue2-client 1.17.19 → 1.17.20

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 (331) hide show
  1. package/.claude/settings.local.json +20 -20
  2. package/.cursorrules +19 -19
  3. package/.env.apply +19 -19
  4. package/.env.gaslink +19 -19
  5. package/.env.his +19 -19
  6. package/.env.liuli +20 -20
  7. package/.env.scada +19 -19
  8. package/.eslintrc.js +90 -90
  9. package/.serena/memories/code_style_conventions.md +218 -0
  10. package/.serena/memories/project_overview.md +55 -0
  11. package/.serena/memories/project_structure.md +330 -0
  12. package/.serena/memories/suggested_commands.md +128 -0
  13. package/.serena/memories/task_completion_checklist.md +184 -0
  14. package/.serena/memories/tech_stack.md +95 -0
  15. package/CHANGELOG.md +830 -830
  16. package/CLAUDE.md +97 -97
  17. package/Components.md +60 -60
  18. package/docs/LowCode/lowcode.md +155 -155
  19. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  20. package/docs/index.md +30 -30
  21. package/index.js +31 -31
  22. package/jest-transform-stub.js +8 -8
  23. package/jest.setup.js +7 -7
  24. package/jsconfig.json +19 -19
  25. package/package.json +1 -1
  26. package/public/his/editor/editor.html +51 -51
  27. package/public/his/editor/mock/bind_data.html +779 -779
  28. package/public/his/editor/mock/data_table.html +40 -40
  29. package/public/his/editor/mock/sign.html +75 -75
  30. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  31. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  32. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  33. package/public/his/editor/vender/date97/calendar.js +4 -4
  34. package/public/his/editor/vender/date97/lang/en.js +13 -13
  35. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  36. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  37. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  38. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  39. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  40. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  41. package/public/his/editor/vender/diff.js +1627 -1627
  42. package/public/his/editor/vender/editor.js +1 -1
  43. package/public/his/editor/vender/fabric.js +31187 -31187
  44. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  45. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  46. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  47. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  48. package/public/his/editor/vender/mui/mui.min.css +4 -4
  49. package/public/his/editor/vender/mui/mui.min.js +5 -5
  50. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  51. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  52. package/public/his/editor/vender/qrcode.js +7 -7
  53. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  54. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  55. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  56. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  57. package/public/his/editor/vender/validator.js +5094 -5094
  58. package/public/his/editor/vender/weui/weui.css +5659 -5659
  59. package/public/his/editor/vender/weui/weui.min.css +4 -4
  60. package/public/his/editor/vender/weui/weui.min.js +11 -11
  61. package/src/assets/img/querySlotDemo.svg +15 -15
  62. package/src/assets/svg/badtwo.svg +1 -1
  63. package/src/assets/svg/goodtwo.svg +1 -1
  64. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  65. package/src/base-client/components/AI/demo.vue +31 -31
  66. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  67. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  68. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  69. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  70. package/src/base-client/components/common/CitySelect/index.js +3 -3
  71. package/src/base-client/components/common/CitySelect/index.md +109 -109
  72. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  73. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  74. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  75. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  77. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  80. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  81. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  82. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  83. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  84. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  85. package/src/base-client/components/common/HIS/demo.vue +61 -61
  86. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  89. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  100. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  101. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  102. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  103. package/src/base-client/components/common/Recording/index.js +3 -3
  104. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  105. package/src/base-client/components/common/Tree/index.js +2 -2
  106. package/src/base-client/components/common/Upload/Upload.vue +334 -334
  107. package/src/base-client/components/common/Upload/index.js +3 -3
  108. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  109. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  110. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  111. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  112. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  113. package/src/base-client/components/common/XAddReport/index.js +3 -3
  114. package/src/base-client/components/common/XAddReport/index.md +56 -56
  115. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  116. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  117. package/src/base-client/components/common/XButtons/index.js +3 -3
  118. package/src/base-client/components/common/XButtons/index.md +61 -61
  119. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  120. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  121. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  122. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  123. package/src/base-client/components/common/XDataCard/index.js +3 -3
  124. package/src/base-client/components/common/XDataCard/index.md +1 -1
  125. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  126. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  127. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  128. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  129. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  130. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  131. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  132. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  133. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  134. package/src/base-client/components/common/XForm/index.md +178 -178
  135. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  136. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  137. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  138. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  139. package/src/base-client/components/common/XFormTable/index.md +92 -92
  140. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  141. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  142. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  143. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  144. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  145. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  146. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  147. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  148. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  149. package/src/base-client/components/common/XPrint/index.vue +97 -97
  150. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  151. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  152. package/src/base-client/components/common/XReport/index.js +3 -3
  153. package/src/base-client/components/common/XReport/print.js +186 -186
  154. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  155. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  156. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  157. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  158. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  159. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  160. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  161. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  162. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  163. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  164. package/src/base-client/components/common/XStepView/index.js +3 -3
  165. package/src/base-client/components/common/XStepView/index.md +31 -31
  166. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  167. package/src/base-client/components/common/XTab/index.js +3 -3
  168. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  169. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  170. package/src/base-client/components/common/XTable/index.md +255 -255
  171. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  172. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  173. package/src/base-client/components/common/XTree/index.js +3 -3
  174. package/src/base-client/components/common/XTree/index.md +36 -36
  175. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  176. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  177. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  178. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  179. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  180. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  181. package/src/base-client/components/index.js +51 -51
  182. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  183. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  184. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  185. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  186. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  187. package/src/base-client/plugins/Config.js +19 -19
  188. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  189. package/src/base-client/plugins/Recording.js +258 -258
  190. package/src/base-client/plugins/index.js +23 -23
  191. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  192. package/src/components/Charts/Bar.vue +62 -62
  193. package/src/components/Charts/ChartCard.vue +134 -134
  194. package/src/components/Charts/Liquid.vue +67 -67
  195. package/src/components/Charts/MiniArea.vue +39 -39
  196. package/src/components/Charts/MiniBar.vue +39 -39
  197. package/src/components/Charts/MiniProgress.vue +75 -75
  198. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  199. package/src/components/Charts/Radar.vue +68 -68
  200. package/src/components/Charts/RankList.vue +77 -77
  201. package/src/components/Charts/TagCloud.vue +113 -113
  202. package/src/components/Charts/TransferBar.vue +64 -64
  203. package/src/components/Charts/Trend.vue +82 -82
  204. package/src/components/Charts/chart.less +12 -12
  205. package/src/components/Charts/smooth.area.less +13 -13
  206. package/src/components/CodeMirror/inedx.vue +118 -118
  207. package/src/components/CodeMirror/setting.js +40 -40
  208. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  209. package/src/components/NumberInfo/index.js +3 -3
  210. package/src/components/NumberInfo/index.less +54 -54
  211. package/src/components/NumberInfo/index.md +43 -43
  212. package/src/components/card/ChartCard.vue +79 -79
  213. package/src/components/chart/Bar.vue +60 -60
  214. package/src/components/chart/MiniArea.vue +67 -67
  215. package/src/components/chart/MiniBar.vue +59 -59
  216. package/src/components/chart/MiniProgress.vue +57 -57
  217. package/src/components/chart/Radar.vue +80 -80
  218. package/src/components/chart/RankingList.vue +60 -60
  219. package/src/components/chart/Trend.vue +79 -79
  220. package/src/components/chart/index.less +9 -9
  221. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  222. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  223. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  224. package/src/components/checkbox/index.js +9 -9
  225. package/src/components/exception/ExceptionPage.vue +70 -70
  226. package/src/components/g2Charts/constants.js +202 -202
  227. package/src/components/g2Charts/demo.vue +808 -808
  228. package/src/components/g2Charts/designer.vue +228 -228
  229. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  230. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  231. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  232. package/src/components/g2Charts/index.vue +397 -397
  233. package/src/components/index.js +36 -36
  234. package/src/components/input/IInput.vue +66 -66
  235. package/src/components/menu/SideMenu.vue +75 -75
  236. package/src/components/menu/menu.js +273 -273
  237. package/src/components/setting/Setting.vue +234 -234
  238. package/src/components/tool/AStepItem.vue +60 -60
  239. package/src/config/CreateQueryConfig.js +325 -325
  240. package/src/config/default/antd.config.js +89 -89
  241. package/src/config/default/setting.config.js +55 -55
  242. package/src/font-style/font.css +60 -60
  243. package/src/layouts/CommonLayout.vue +56 -56
  244. package/src/layouts/PageLayout.vue +151 -151
  245. package/src/layouts/SinglePageView.vue +136 -136
  246. package/src/layouts/header/AdminHeader.vue +132 -132
  247. package/src/layouts/header/HeaderNotice.vue +177 -177
  248. package/src/layouts/header/InstitutionDetail.vue +181 -181
  249. package/src/layouts/tabs/TabsHead.vue +189 -189
  250. package/src/lib.js +1 -1
  251. package/src/mock/extend/index.js +84 -84
  252. package/src/mock/goods/index.js +108 -108
  253. package/src/pages/DefaultExample/index.vue +77 -77
  254. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  255. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  256. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  257. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  258. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  259. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  260. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  261. package/src/pages/DynamicStatistics/index.vue +282 -282
  262. package/src/pages/Example/childIndex.vue +15 -15
  263. package/src/pages/Example/index.vue +30 -30
  264. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  265. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  266. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  267. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  268. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  269. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  270. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  271. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  272. package/src/pages/Recording/index.vue +77 -77
  273. package/src/pages/ServiceReview/index.vue +284 -284
  274. package/src/pages/SubExample/index.vue +26 -26
  275. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
  276. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  277. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1811 -1784
  278. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -943
  279. package/src/pages/XReportView/index.vue +64 -64
  280. package/src/pages/XTreeOneProExample/index.vue +67 -67
  281. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  282. package/src/pages/login/Login.vue +379 -379
  283. package/src/pages/login/LoginV3.vue +389 -389
  284. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  285. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  286. package/src/pages/report/ReportTable.js +124 -124
  287. package/src/pages/resourceManage/orgListManage.vue +98 -98
  288. package/src/pages/system/dictionary/index.vue +44 -44
  289. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  290. package/src/pages/system/monitor/operLog/index.vue +37 -37
  291. package/src/pages/system/settings/modifyPassword.vue +117 -117
  292. package/src/pages/system/ticket/index.vue +480 -480
  293. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  294. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  295. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  296. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  297. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  298. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  299. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  300. package/src/plugins/EventLogPlugin.js +33 -33
  301. package/src/plugins/FindParentsData.js +17 -17
  302. package/src/services/DataModel.js +30 -30
  303. package/src/services/LodopFuncs.js +137 -137
  304. package/src/services/api/TicketDetailsViewApi.js +46 -46
  305. package/src/services/api/cas.js +79 -79
  306. package/src/services/api/entity.js +18 -18
  307. package/src/services/api/index.js +17 -17
  308. package/src/services/api/workFlow.js +3 -1
  309. package/src/store/modules/account.js +121 -115
  310. package/src/store/modules/index.js +5 -5
  311. package/src/store/modules/lowCode.js +33 -33
  312. package/src/store/modules/setting.js +119 -119
  313. package/src/theme/default/style.less +58 -58
  314. package/src/utils/authority-utils.js +85 -85
  315. package/src/utils/errorCode.js +6 -6
  316. package/src/utils/formatter.js +74 -74
  317. package/src/utils/htmlToPDF.js +108 -108
  318. package/src/utils/htmlToPDFApi.js +5 -5
  319. package/src/utils/login.js +188 -188
  320. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  321. package/src/utils/lowcode/lowcodeLog.js +29 -29
  322. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  323. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  324. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  325. package/src/utils/map-utils.js +47 -47
  326. package/src/utils/reg.js +95 -95
  327. package/src/utils/runEvalFunction.js +14 -14
  328. package/src/utils/theme-color-replacer-extend.js +92 -92
  329. package/src/utils/util.js +329 -329
  330. package/src/utils/waterMark.js +31 -31
  331. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,21 +1,21 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "WebSearch",
5
- "WebFetch(domain:context7.com)",
6
- "Bash(npm run lint)",
7
- "mcp__context7__resolve-library-id",
8
- "mcp__context7__get-library-docs",
9
- "WebFetch(domain:github.com)",
10
- "Bash(npm run serve:*)",
11
- "mcp__serena__get_current_config",
12
- "mcp__serena__activate_project",
13
- "mcp__serena__get_symbols_overview",
14
- "mcp__serena__list_dir",
15
- "mcp__serena__find_file"
16
- ],
17
- "deny": [],
18
- "ask": [],
19
- "defaultMode": "acceptEdits"
20
- }
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "WebSearch",
5
+ "WebFetch(domain:context7.com)",
6
+ "Bash(npm run lint)",
7
+ "mcp__context7__resolve-library-id",
8
+ "mcp__context7__get-library-docs",
9
+ "WebFetch(domain:github.com)",
10
+ "Bash(npm run serve:*)",
11
+ "mcp__serena__get_current_config",
12
+ "mcp__serena__activate_project",
13
+ "mcp__serena__get_symbols_overview",
14
+ "mcp__serena__list_dir",
15
+ "mcp__serena__find_file"
16
+ ],
17
+ "deny": [],
18
+ "ask": [],
19
+ "defaultMode": "acceptEdits"
20
+ }
21
21
  }
package/.cursorrules CHANGED
@@ -1,19 +1,19 @@
1
- 你是JavaScript、Node.js、Vue 2.7+、AntdV方面的专家。
2
-
3
- 代码风格和结构
4
-
5
- 编写简洁、技术性的JavaScript代码,并提供准确的示例。
6
- -使用组合API和声明式编程模式 setup 语法糖函数;避免选项API 或者 stepup 标签。如果已有代码,则使用已有的代码。
7
- -比起代码复制,更喜欢迭代和模块化。
8
- 使用带有助动词的描述性变量名(例如,isLoading, hasError)。
9
- -结构文件:导出的组件,可组合,助手,静态内容,类型。
10
-
11
- 命名约定
12
- -使用小写带破折号的目录(例如,components/auth-wizard)。
13
- -组件名称使用PascalCase(例如,AuthWizard.vue)。
14
- -对可组合组件使用camelCase(例如,useAuthState.ts)。
15
-
16
- 语法和格式
17
- -方法和计算属性使用箭头函数。
18
- -避免在条件语句中使用不必要的花括号;对简单的语句使用简洁的语法。
19
- -使用模板语法进行声明性呈现。
1
+ 你是JavaScript、Node.js、Vue 2.7+、AntdV方面的专家。
2
+
3
+ 代码风格和结构
4
+
5
+ 编写简洁、技术性的JavaScript代码,并提供准确的示例。
6
+ -使用组合API和声明式编程模式 setup 语法糖函数;避免选项API 或者 stepup 标签。如果已有代码,则使用已有的代码。
7
+ -比起代码复制,更喜欢迭代和模块化。
8
+ 使用带有助动词的描述性变量名(例如,isLoading, hasError)。
9
+ -结构文件:导出的组件,可组合,助手,静态内容,类型。
10
+
11
+ 命名约定
12
+ -使用小写带破折号的目录(例如,components/auth-wizard)。
13
+ -组件名称使用PascalCase(例如,AuthWizard.vue)。
14
+ -对可组合组件使用camelCase(例如,useAuthState.ts)。
15
+
16
+ 语法和格式
17
+ -方法和计算属性使用箭头函数。
18
+ -避免在条件语句中使用不必要的花括号;对简单的语句使用简洁的语法。
19
+ -使用模板语法进行声明性呈现。
package/.env.apply CHANGED
@@ -1,19 +1,19 @@
1
- VUE_APP_PUBLIC_PATH=/
2
- VUE_APP_NAME=Admin
3
- VUE_APP_ROUTES_KEY=admin.routes
4
- VUE_APP_PERMISSIONS_KEY=admin.permissions
5
- VUE_APP_ROLES_KEY=admin.roles
6
- VUE_APP_USER_KEY=admin.user
7
- VUE_APP_LOGIN_KEY=admin.login
8
- VUE_APP_SETTING_KEY=admin.setting
9
- VUE_APP_TBAS_KEY=admin.tabs
10
- VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
- VUE_APP_DICTIONARY_KEY=admin.dictionary
12
- VUE_APP_BADGE_KEY=admin.badge
13
- VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
- VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
- VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
- VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
- VUE_APP_SYSTEM_NAME=af-apply
18
- VUE_APP_LOGIN_VERSION=V4
19
-
1
+ VUE_APP_PUBLIC_PATH=/
2
+ VUE_APP_NAME=Admin
3
+ VUE_APP_ROUTES_KEY=admin.routes
4
+ VUE_APP_PERMISSIONS_KEY=admin.permissions
5
+ VUE_APP_ROLES_KEY=admin.roles
6
+ VUE_APP_USER_KEY=admin.user
7
+ VUE_APP_LOGIN_KEY=admin.login
8
+ VUE_APP_SETTING_KEY=admin.setting
9
+ VUE_APP_TBAS_KEY=admin.tabs
10
+ VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
+ VUE_APP_DICTIONARY_KEY=admin.dictionary
12
+ VUE_APP_BADGE_KEY=admin.badge
13
+ VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
+ VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
+ VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
+ VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
+ VUE_APP_SYSTEM_NAME=af-apply
18
+ VUE_APP_LOGIN_VERSION=V4
19
+
package/.env.gaslink CHANGED
@@ -1,19 +1,19 @@
1
- VUE_APP_PUBLIC_PATH=/
2
- VUE_APP_NAME=Admin
3
- VUE_APP_ROUTES_KEY=admin.routes
4
- VUE_APP_PERMISSIONS_KEY=admin.permissions
5
- VUE_APP_ROLES_KEY=admin.roles
6
- VUE_APP_USER_KEY=admin.user
7
- VUE_APP_LOGIN_KEY=admin.login
8
- VUE_APP_SETTING_KEY=admin.setting
9
- VUE_APP_TBAS_KEY=admin.tabs
10
- VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
- VUE_APP_DICTIONARY_KEY=admin.dictionary
12
- VUE_APP_BADGE_KEY=admin.badge
13
- VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
- VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
- VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
- VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
- VUE_APP_SYSTEM_NAME=af-gaslink
18
- VUE_APP_LOGIN_VERSION=V4
19
-
1
+ VUE_APP_PUBLIC_PATH=/
2
+ VUE_APP_NAME=Admin
3
+ VUE_APP_ROUTES_KEY=admin.routes
4
+ VUE_APP_PERMISSIONS_KEY=admin.permissions
5
+ VUE_APP_ROLES_KEY=admin.roles
6
+ VUE_APP_USER_KEY=admin.user
7
+ VUE_APP_LOGIN_KEY=admin.login
8
+ VUE_APP_SETTING_KEY=admin.setting
9
+ VUE_APP_TBAS_KEY=admin.tabs
10
+ VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
+ VUE_APP_DICTIONARY_KEY=admin.dictionary
12
+ VUE_APP_BADGE_KEY=admin.badge
13
+ VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
+ VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
+ VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
+ VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
+ VUE_APP_SYSTEM_NAME=af-gaslink
18
+ VUE_APP_LOGIN_VERSION=V4
19
+
package/.env.his CHANGED
@@ -1,19 +1,19 @@
1
- VUE_APP_PUBLIC_PATH=/
2
- VUE_APP_NAME=Admin
3
- VUE_APP_ROUTES_KEY=admin.routes
4
- VUE_APP_PERMISSIONS_KEY=admin.permissions
5
- VUE_APP_ROLES_KEY=admin.roles
6
- VUE_APP_USER_KEY=admin.user
7
- VUE_APP_LOGIN_KEY=admin.login
8
- VUE_APP_SETTING_KEY=admin.setting
9
- VUE_APP_TBAS_KEY=admin.tabs
10
- VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
- VUE_APP_DICTIONARY_KEY=admin.dictionary
12
- VUE_APP_BADGE_KEY=admin.badge
13
- VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
- VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
- VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
- VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
- VUE_APP_SYSTEM_NAME=af-his
18
- VUE_APP_LOGIN_VERSION=V4
19
-
1
+ VUE_APP_PUBLIC_PATH=/
2
+ VUE_APP_NAME=Admin
3
+ VUE_APP_ROUTES_KEY=admin.routes
4
+ VUE_APP_PERMISSIONS_KEY=admin.permissions
5
+ VUE_APP_ROLES_KEY=admin.roles
6
+ VUE_APP_USER_KEY=admin.user
7
+ VUE_APP_LOGIN_KEY=admin.login
8
+ VUE_APP_SETTING_KEY=admin.setting
9
+ VUE_APP_TBAS_KEY=admin.tabs
10
+ VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
+ VUE_APP_DICTIONARY_KEY=admin.dictionary
12
+ VUE_APP_BADGE_KEY=admin.badge
13
+ VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
+ VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
+ VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
+ VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
+ VUE_APP_SYSTEM_NAME=af-his
18
+ VUE_APP_LOGIN_VERSION=V4
19
+
package/.env.liuli CHANGED
@@ -1,20 +1,20 @@
1
- VUE_APP_PUBLIC_PATH=/liuli-web
2
- VUE_APP_NAME=Admin
3
- VUE_APP_ROUTES_KEY=admin.routes
4
- VUE_APP_PERMISSIONS_KEY=admin.permissions
5
- VUE_APP_ROLES_KEY=admin.roles
6
- VUE_APP_USER_KEY=admin.user
7
- VUE_APP_LOGIN_KEY=admin.login
8
- VUE_APP_SETTING_KEY=admin.setting
9
- VUE_APP_TBAS_KEY=admin.tabs
10
- VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
- VUE_APP_DICTIONARY_KEY=admin.dictionary
12
- VUE_APP_BADGE_KEY=admin.badge
13
- VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
- VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
- VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
- VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
- VUE_APP_SYSTEM_NAME=af-liuli
18
- VUE_APP_SINGLE_PAPER=TRUE
19
- VUE_APP_LOGIN_VERSION=V4
20
-
1
+ VUE_APP_PUBLIC_PATH=/liuli-web
2
+ VUE_APP_NAME=Admin
3
+ VUE_APP_ROUTES_KEY=admin.routes
4
+ VUE_APP_PERMISSIONS_KEY=admin.permissions
5
+ VUE_APP_ROLES_KEY=admin.roles
6
+ VUE_APP_USER_KEY=admin.user
7
+ VUE_APP_LOGIN_KEY=admin.login
8
+ VUE_APP_SETTING_KEY=admin.setting
9
+ VUE_APP_TBAS_KEY=admin.tabs
10
+ VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
+ VUE_APP_DICTIONARY_KEY=admin.dictionary
12
+ VUE_APP_BADGE_KEY=admin.badge
13
+ VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
+ VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
+ VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
+ VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
+ VUE_APP_SYSTEM_NAME=af-liuli
18
+ VUE_APP_SINGLE_PAPER=TRUE
19
+ VUE_APP_LOGIN_VERSION=V4
20
+
package/.env.scada CHANGED
@@ -1,19 +1,19 @@
1
- VUE_APP_PUBLIC_PATH=/
2
- VUE_APP_NAME=Admin
3
- VUE_APP_ROUTES_KEY=admin.routes
4
- VUE_APP_PERMISSIONS_KEY=admin.permissions
5
- VUE_APP_ROLES_KEY=admin.roles
6
- VUE_APP_USER_KEY=admin.user
7
- VUE_APP_LOGIN_KEY=admin.login
8
- VUE_APP_SETTING_KEY=admin.setting
9
- VUE_APP_TBAS_KEY=admin.tabs
10
- VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
- VUE_APP_DICTIONARY_KEY=admin.dictionary
12
- VUE_APP_BADGE_KEY=admin.badge
13
- VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
- VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
- VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
- VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
- VUE_APP_SYSTEM_NAME=af-scada
18
- VUE_APP_LOGIN_VERSION=V4
19
-
1
+ VUE_APP_PUBLIC_PATH=/
2
+ VUE_APP_NAME=Admin
3
+ VUE_APP_ROUTES_KEY=admin.routes
4
+ VUE_APP_PERMISSIONS_KEY=admin.permissions
5
+ VUE_APP_ROLES_KEY=admin.roles
6
+ VUE_APP_USER_KEY=admin.user
7
+ VUE_APP_LOGIN_KEY=admin.login
8
+ VUE_APP_SETTING_KEY=admin.setting
9
+ VUE_APP_TBAS_KEY=admin.tabs
10
+ VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
11
+ VUE_APP_DICTIONARY_KEY=admin.dictionary
12
+ VUE_APP_BADGE_KEY=admin.badge
13
+ VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
14
+ VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
15
+ VUE_APP_WEB_CONFIG_KEY=admin.webconfig
16
+ VUE_APP_API_BASE_URL=http://123.60.214.109:8405
17
+ VUE_APP_SYSTEM_NAME=af-scada
18
+ VUE_APP_LOGIN_VERSION=V4
19
+
package/.eslintrc.js CHANGED
@@ -1,90 +1,90 @@
1
- module.exports = {
2
- root: true,
3
- env: {
4
- node: true
5
- },
6
- extends: [
7
- 'plugin:vue/essential',
8
- 'plugin:vue/strongly-recommended',
9
- '@vue/standard'
10
- ],
11
- rules: {
12
- 'comma-dangle': 'off',
13
- 'no-console': 'off',
14
- 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
15
- 'generator-star-spacing': 'off',
16
- 'no-mixed-operators': 0,
17
- 'vue/max-attributes-per-line': [
18
- 2,
19
- {
20
- singleline: {
21
- max: 5
22
- },
23
- multiline: {
24
- max: 1,
25
- }
26
- }
27
- ],
28
- 'vue/attribute-hyphenation': 0,
29
- 'vue/html-self-closing': 0,
30
- 'vue/component-name-in-template-casing': 0,
31
- 'vue/html-closing-bracket-spacing': 0,
32
- 'vue/singleline-html-element-content-newline': 0,
33
- 'vue/no-unused-components': 0,
34
- 'vue/multiline-html-element-content-newline': 0,
35
- 'vue/no-use-v-if-with-v-for': 0,
36
- 'vue/html-closing-bracket-newline': 0,
37
- 'vue/no-parsing-error': 0,
38
- 'vue/name-property-casing': 0,
39
- 'vue/multi-word-component-names': 0,
40
- 'vue/require-valid-default-prop': 0,
41
- 'no-template-curly-in-string': 0,
42
- 'vue/no-mutating-props': 0,
43
- 'no-useless-escape': 0,
44
- 'no-tabs': 0,
45
- 'multiline-ternary': 0,
46
- 'object-shorthand': 0,
47
- quotes: [
48
- 2,
49
- 'single',
50
- {
51
- avoidEscape: true,
52
- allowTemplateLiterals: true
53
- }
54
- ],
55
- semi: [
56
- 2,
57
- 'never',
58
- {
59
- beforeStatementContinuationChars: 'never'
60
- }
61
- ],
62
- 'no-delete-var': 2,
63
- 'prefer-const': [
64
- 2,
65
- {
66
- ignoreReadBeforeAssign: false
67
- }
68
- ],
69
- 'template-curly-spacing': 'off',
70
- indent: 'off',
71
- // 必须使用全等: false
72
- eqeqeq: 0,
73
- // 可以使用!! 双重否定
74
- 'no-extra-boolean-cast': 'off'
75
- },
76
- parserOptions: {
77
- parser: '@babel/eslint-parser'
78
- },
79
- overrides: [
80
- {
81
- files: [
82
- '**/__tests__/*.{j,t}s?(x)',
83
- '**/tests/unit/**/*.spec.{j,t}s?(x)'
84
- ],
85
- env: {
86
- jest: true
87
- }
88
- }
89
- ]
90
- }
1
+ module.exports = {
2
+ root: true,
3
+ env: {
4
+ node: true
5
+ },
6
+ extends: [
7
+ 'plugin:vue/essential',
8
+ 'plugin:vue/strongly-recommended',
9
+ '@vue/standard'
10
+ ],
11
+ rules: {
12
+ 'comma-dangle': 'off',
13
+ 'no-console': 'off',
14
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
15
+ 'generator-star-spacing': 'off',
16
+ 'no-mixed-operators': 0,
17
+ 'vue/max-attributes-per-line': [
18
+ 2,
19
+ {
20
+ singleline: {
21
+ max: 5
22
+ },
23
+ multiline: {
24
+ max: 1,
25
+ }
26
+ }
27
+ ],
28
+ 'vue/attribute-hyphenation': 0,
29
+ 'vue/html-self-closing': 0,
30
+ 'vue/component-name-in-template-casing': 0,
31
+ 'vue/html-closing-bracket-spacing': 0,
32
+ 'vue/singleline-html-element-content-newline': 0,
33
+ 'vue/no-unused-components': 0,
34
+ 'vue/multiline-html-element-content-newline': 0,
35
+ 'vue/no-use-v-if-with-v-for': 0,
36
+ 'vue/html-closing-bracket-newline': 0,
37
+ 'vue/no-parsing-error': 0,
38
+ 'vue/name-property-casing': 0,
39
+ 'vue/multi-word-component-names': 0,
40
+ 'vue/require-valid-default-prop': 0,
41
+ 'no-template-curly-in-string': 0,
42
+ 'vue/no-mutating-props': 0,
43
+ 'no-useless-escape': 0,
44
+ 'no-tabs': 0,
45
+ 'multiline-ternary': 0,
46
+ 'object-shorthand': 0,
47
+ quotes: [
48
+ 2,
49
+ 'single',
50
+ {
51
+ avoidEscape: true,
52
+ allowTemplateLiterals: true
53
+ }
54
+ ],
55
+ semi: [
56
+ 2,
57
+ 'never',
58
+ {
59
+ beforeStatementContinuationChars: 'never'
60
+ }
61
+ ],
62
+ 'no-delete-var': 2,
63
+ 'prefer-const': [
64
+ 2,
65
+ {
66
+ ignoreReadBeforeAssign: false
67
+ }
68
+ ],
69
+ 'template-curly-spacing': 'off',
70
+ indent: 'off',
71
+ // 必须使用全等: false
72
+ eqeqeq: 0,
73
+ // 可以使用!! 双重否定
74
+ 'no-extra-boolean-cast': 'off'
75
+ },
76
+ parserOptions: {
77
+ parser: '@babel/eslint-parser'
78
+ },
79
+ overrides: [
80
+ {
81
+ files: [
82
+ '**/__tests__/*.{j,t}s?(x)',
83
+ '**/tests/unit/**/*.spec.{j,t}s?(x)'
84
+ ],
85
+ env: {
86
+ jest: true
87
+ }
88
+ }
89
+ ]
90
+ }
@@ -0,0 +1,218 @@
1
+ # Vue2-Client 代码风格和约定
2
+
3
+ ## 总体原则
4
+ - 编写简洁、技术性的JavaScript代码
5
+ - 提供准确的代码示例
6
+ - 优先迭代和模块化,避免代码重复
7
+ - 使用描述性变量名(如:isLoading, hasError)
8
+
9
+ ## Vue组件开发规范
10
+
11
+ ### 组件API风格
12
+ **优先使用**:
13
+ - Vue 2.7组合API + setup语法糖
14
+ - 声明式编程模式
15
+
16
+ **避免使用**(除非修改现有代码):
17
+ - 选项API (Options API)
18
+ - 传统的setup标签形式
19
+
20
+ ### 示例:推荐的组件结构
21
+ ```vue
22
+ <script setup>
23
+ import { ref, computed } from 'vue'
24
+
25
+ // 使用组合API
26
+ const isLoading = ref(false)
27
+ const hasError = ref(false)
28
+
29
+ // 计算属性使用箭头函数
30
+ const displayText = computed(() => {
31
+ return isLoading.value ? '加载中...' : '已完成'
32
+ })
33
+
34
+ // 方法使用箭头函数
35
+ const handleClick = () => {
36
+ isLoading.value = true
37
+ }
38
+ </script>
39
+
40
+ <template>
41
+ <div>{{ displayText }}</div>
42
+ </template>
43
+ ```
44
+
45
+ ## 命名约定
46
+
47
+ ### 目录命名
48
+ - 使用kebab-case(小写带破折号)
49
+ - 示例:`components/auth-wizard`、`pages/user-manage`
50
+
51
+ ### 文件命名
52
+ - **组件文件**:使用PascalCase
53
+ - 示例:`AuthWizard.vue`、`UserTable.vue`
54
+ - **可组合函数**:使用camelCase
55
+ - 示例:`useAuthState.js`、`useFormValidation.js`
56
+ - **工具函数**:使用camelCase
57
+ - 示例:`formatDate.js`、`encryptData.js`
58
+
59
+ ### 变量命名
60
+ - **布尔值**:使用助动词前缀
61
+ - `isLoading`、`hasError`、`canEdit`、`shouldShow`
62
+ - **普通变量**:使用camelCase
63
+ - `userData`、`pageTitle`、`apiResponse`
64
+ - **常量**:使用UPPER_SNAKE_CASE
65
+ - `API_BASE_URL`、`MAX_RETRY_COUNT`
66
+
67
+ ## 项目特定约定
68
+
69
+ ### X组件命名规范
70
+ Base-client中的核心组件使用X前缀:
71
+ - `XForm`:表单组件
72
+ - `XTable`:表格组件
73
+ - `XCard`:卡片组件
74
+ - `XPageView`:页面视图组件
75
+
76
+ ### 组件文件结构
77
+ ```
78
+ src/
79
+ ├── base-client/ # 基础组件(全局注册)
80
+ │ ├── components/ # X系列组件
81
+ │ └── plugins/ # 全局插件
82
+ ├── components/ # 通用组件(按需引入)
83
+ ├── pages/ # 页面组件
84
+ └── layouts/ # 布局组件
85
+ ```
86
+
87
+ ## 代码格式规范
88
+
89
+ ### 语法和格式
90
+ - **箭头函数**:方法和计算属性统一使用箭头函数
91
+ - **简洁语法**:避免条件语句中不必要的花括号
92
+ ```javascript
93
+ // 推荐
94
+ if (isValid) return true
95
+
96
+ // 避免(简单语句)
97
+ if (isValid) {
98
+ return true
99
+ }
100
+ ```
101
+ - **模板语法**:使用声明式渲染,避免在模板中写复杂逻辑
102
+
103
+ ### 导入顺序
104
+ 文件导入按以下顺序组织:
105
+ 1. Vue核心和第三方库
106
+ 2. 组件导入
107
+ 3. 可组合函数(composables)
108
+ 4. 工具函数(helpers)
109
+ 5. 静态内容(assets、styles)
110
+ 6. 类型定义(如果有)
111
+
112
+ 示例:
113
+ ```javascript
114
+ // 1. 核心库
115
+ import { ref, computed } from 'vue'
116
+ import { message } from 'ant-design-vue'
117
+
118
+ // 2. 组件
119
+ import UserForm from '@/components/UserForm.vue'
120
+
121
+ // 3. 可组合函数
122
+ import { useAuth } from '@/composables/useAuth'
123
+
124
+ // 4. 工具
125
+ import { formatDate } from '@/utils/date'
126
+
127
+ // 5. 样式
128
+ import './styles.less'
129
+ ```
130
+
131
+ ## Less样式规范
132
+
133
+ ### 样式组织
134
+ - 使用Less预处理器
135
+ - 主题变量定义在`src/theme/`
136
+ - 组件样式与组件文件共同放置
137
+ - 使用BEM命名规范(可选,但推荐)
138
+
139
+ ### 示例
140
+ ```less
141
+ .user-table {
142
+ &__header {
143
+ padding: 16px;
144
+ }
145
+
146
+ &__body {
147
+ min-height: 400px;
148
+ }
149
+ }
150
+ ```
151
+
152
+ ## 注释规范
153
+
154
+ ### 注释语言
155
+ - **必须使用中文**编写注释
156
+ - 代码注释、文档、说明都使用中文
157
+
158
+ ### 注释格式
159
+ ```javascript
160
+ /**
161
+ * 用户认证可组合函数
162
+ * @returns {Object} 返回认证状态和方法
163
+ */
164
+ const useAuth = () => {
165
+ // 检查用户是否已登录
166
+ const isLoggedIn = ref(false)
167
+
168
+ return { isLoggedIn }
169
+ }
170
+ ```
171
+
172
+ ## 配置驱动开发规范
173
+
174
+ ### JSON配置
175
+ 项目采用配置驱动模式,组件行为通过JSON配置定义:
176
+ ```javascript
177
+ // XForm配置示例
178
+ const formConfig = {
179
+ columns: [
180
+ {
181
+ title: '用户名',
182
+ key: 'username',
183
+ type: 'input',
184
+ required: true
185
+ }
186
+ ]
187
+ }
188
+ ```
189
+
190
+ ### 配置文件位置
191
+ - 系统配置:`src/config/`
192
+ - 默认配置:`src/config/default/`
193
+ - 配置替换器:`src/config/replacer/`
194
+
195
+ ## ESLint规范
196
+ - 开发时默认禁用ESLint(--no-eslint)
197
+ - 提交前必须运行`npm run lint`检查
198
+ - 遵循Vue官方ESLint规则
199
+ - 标准JavaScript风格(@vue/eslint-config-standard)
200
+
201
+ ## Git提交规范
202
+ 虽然项目未强制要求,但推荐使用约定式提交:
203
+ - `feat:` 新功能
204
+ - `fix:` 修复bug
205
+ - `docs:` 文档更新
206
+ - `style:` 代码格式调整
207
+ - `refactor:` 重构
208
+ - `test:` 测试相关
209
+ - `chore:` 构建或工具变更
210
+
211
+ ## 最佳实践
212
+ 1. **组件复用**:优先使用base-client中的X组件
213
+ 2. **配置优于编码**:能用配置实现的不写硬编码
214
+ 3. **mixins使用**:表单验证等共享逻辑使用mixins
215
+ 4. **响应式设计**:使用XFormCol栅格系统
216
+ 5. **API调用**:统一使用`src/services/apiService.js`
217
+ 6. **数据转换**:遵循DataModel模式
218
+ 7. **错误处理**:使用axios拦截器统一处理