vue2-client 1.17.38 → 1.17.40

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 (344) hide show
  1. package/.claude/settings.local.json +20 -20
  2. package/.cursorrules +19 -19
  3. package/.env +20 -20
  4. package/.env.apply +19 -19
  5. package/.env.gaslink +19 -19
  6. package/.env.his +19 -19
  7. package/.env.liuli +20 -20
  8. package/.env.scada +19 -19
  9. package/.eslintrc.js +90 -90
  10. package/.serena/memories/code_style_conventions.md +217 -217
  11. package/.serena/memories/project_overview.md +54 -54
  12. package/.serena/memories/project_structure.md +329 -329
  13. package/.serena/memories/suggested_commands.md +127 -127
  14. package/.serena/memories/task_completion_checklist.md +183 -183
  15. package/.serena/memories/tech_stack.md +94 -94
  16. package/CHANGELOG.md +830 -830
  17. package/CLAUDE.md +97 -97
  18. package/Components.md +60 -60
  19. package/docs/LowCode/lowcode.md +155 -155
  20. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  21. package/docs/index.md +30 -30
  22. package/index.js +31 -31
  23. package/jest-transform-stub.js +8 -8
  24. package/jest.setup.js +7 -7
  25. package/jsconfig.json +19 -19
  26. package/package.json +1 -1
  27. package/public/his/editor/editor.html +51 -51
  28. package/public/his/editor/mock/bind_data.html +779 -779
  29. package/public/his/editor/mock/data_table.html +40 -40
  30. package/public/his/editor/mock/sign.html +75 -75
  31. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  32. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  33. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  34. package/public/his/editor/vender/date97/calendar.js +4 -4
  35. package/public/his/editor/vender/date97/lang/en.js +13 -13
  36. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  37. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  38. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  39. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  40. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  41. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  42. package/public/his/editor/vender/diff.js +1627 -1627
  43. package/public/his/editor/vender/editor.js +1 -1
  44. package/public/his/editor/vender/fabric.js +31187 -31187
  45. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  46. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  47. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  48. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  49. package/public/his/editor/vender/mui/mui.min.css +4 -4
  50. package/public/his/editor/vender/mui/mui.min.js +5 -5
  51. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  52. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  53. package/public/his/editor/vender/qrcode.js +7 -7
  54. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  55. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  56. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  57. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  58. package/public/his/editor/vender/validator.js +5094 -5094
  59. package/public/his/editor/vender/weui/weui.css +5659 -5659
  60. package/public/his/editor/vender/weui/weui.min.css +4 -4
  61. package/public/his/editor/vender/weui/weui.min.js +11 -11
  62. package/src/assets/img/paymentMethod/package.info +1 -1
  63. package/src/assets/img/querySlotDemo.svg +15 -15
  64. package/src/assets/svg/badtwo.svg +1 -1
  65. package/src/assets/svg/goodtwo.svg +1 -1
  66. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  67. package/src/base-client/components/AI/demo.vue +31 -31
  68. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  69. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  70. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  71. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  72. package/src/base-client/components/common/CitySelect/index.js +3 -3
  73. package/src/base-client/components/common/CitySelect/index.md +109 -109
  74. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  75. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  76. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  77. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  78. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  79. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  80. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  81. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  82. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  83. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  84. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  85. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  86. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  87. package/src/base-client/components/common/HIS/demo.vue +61 -61
  88. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  91. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  93. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  102. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  103. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  104. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  105. package/src/base-client/components/common/Recording/index.js +3 -3
  106. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  107. package/src/base-client/components/common/Tree/index.js +2 -2
  108. package/src/base-client/components/common/Upload/index.js +3 -3
  109. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  110. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  111. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  112. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  113. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  114. package/src/base-client/components/common/XAddReport/index.js +3 -3
  115. package/src/base-client/components/common/XAddReport/index.md +56 -56
  116. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  117. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  118. package/src/base-client/components/common/XButtons/index.js +3 -3
  119. package/src/base-client/components/common/XButtons/index.md +61 -61
  120. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  121. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  122. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  123. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  124. package/src/base-client/components/common/XCollapse/XCollapse.vue +20 -23
  125. package/src/base-client/components/common/XDataCard/index.js +3 -3
  126. package/src/base-client/components/common/XDataCard/index.md +1 -1
  127. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  128. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  129. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  130. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  131. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  132. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  133. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  134. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  135. package/src/base-client/components/common/XForm/XFormItem.vue +12 -4
  136. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  137. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  138. package/src/base-client/components/common/XForm/index.md +178 -178
  139. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  140. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  141. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  142. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  143. package/src/base-client/components/common/XFormTable/XFormTable.vue +1093 -980
  144. package/src/base-client/components/common/XFormTable/demo.vue +34 -10
  145. package/src/base-client/components/common/XFormTable/index.md +92 -92
  146. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  147. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  148. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  149. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  150. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  151. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  152. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  153. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  154. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  155. package/src/base-client/components/common/XPrint/index.vue +97 -97
  156. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  157. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  158. package/src/base-client/components/common/XReport/index.js +3 -3
  159. package/src/base-client/components/common/XReport/print.js +186 -186
  160. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  161. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  162. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  163. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  164. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  165. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  166. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  167. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  168. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  169. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  170. package/src/base-client/components/common/XStepView/index.js +3 -3
  171. package/src/base-client/components/common/XStepView/index.md +31 -31
  172. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  173. package/src/base-client/components/common/XTab/index.js +3 -3
  174. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  175. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  176. package/src/base-client/components/common/XTable/XTable.vue +46 -0
  177. package/src/base-client/components/common/XTable/XTableWrapper.vue +706 -674
  178. package/src/base-client/components/common/XTable/index.md +255 -255
  179. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  180. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  181. package/src/base-client/components/common/XTree/index.js +3 -3
  182. package/src/base-client/components/common/XTree/index.md +36 -36
  183. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  184. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  185. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  186. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  187. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  188. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +41 -2
  189. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  190. package/src/base-client/components/index.js +51 -51
  191. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  192. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  193. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  194. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  195. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  196. package/src/base-client/plugins/Config.js +19 -19
  197. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  198. package/src/base-client/plugins/Recording.js +258 -258
  199. package/src/base-client/plugins/index.js +23 -23
  200. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  201. package/src/components/Charts/Bar.vue +62 -62
  202. package/src/components/Charts/ChartCard.vue +134 -134
  203. package/src/components/Charts/Liquid.vue +67 -67
  204. package/src/components/Charts/MiniArea.vue +39 -39
  205. package/src/components/Charts/MiniBar.vue +39 -39
  206. package/src/components/Charts/MiniProgress.vue +75 -75
  207. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  208. package/src/components/Charts/Radar.vue +68 -68
  209. package/src/components/Charts/RankList.vue +77 -77
  210. package/src/components/Charts/TagCloud.vue +113 -113
  211. package/src/components/Charts/TransferBar.vue +64 -64
  212. package/src/components/Charts/Trend.vue +82 -82
  213. package/src/components/Charts/chart.less +12 -12
  214. package/src/components/Charts/smooth.area.less +13 -13
  215. package/src/components/CodeMirror/inedx.vue +118 -118
  216. package/src/components/CodeMirror/setting.js +40 -40
  217. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  218. package/src/components/NumberInfo/index.js +3 -3
  219. package/src/components/NumberInfo/index.less +54 -54
  220. package/src/components/NumberInfo/index.md +43 -43
  221. package/src/components/STable/index.js +771 -732
  222. package/src/components/card/ChartCard.vue +79 -79
  223. package/src/components/chart/Bar.vue +60 -60
  224. package/src/components/chart/MiniArea.vue +67 -67
  225. package/src/components/chart/MiniBar.vue +59 -59
  226. package/src/components/chart/MiniProgress.vue +57 -57
  227. package/src/components/chart/Radar.vue +80 -80
  228. package/src/components/chart/RankingList.vue +60 -60
  229. package/src/components/chart/Trend.vue +79 -79
  230. package/src/components/chart/index.less +9 -9
  231. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  232. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  233. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  234. package/src/components/checkbox/index.js +9 -9
  235. package/src/components/exception/ExceptionPage.vue +70 -70
  236. package/src/components/g2Charts/constants.js +202 -202
  237. package/src/components/g2Charts/demo.vue +808 -808
  238. package/src/components/g2Charts/designer.vue +228 -228
  239. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  240. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  241. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  242. package/src/components/g2Charts/index.vue +397 -397
  243. package/src/components/index.js +36 -36
  244. package/src/components/input/IInput.vue +66 -66
  245. package/src/components/menu/SideMenu.vue +75 -75
  246. package/src/components/menu/menu.js +273 -273
  247. package/src/components/setting/Setting.vue +234 -234
  248. package/src/components/tool/AStepItem.vue +60 -60
  249. package/src/config/CreateQueryConfig.js +325 -325
  250. package/src/config/default/antd.config.js +89 -89
  251. package/src/config/default/setting.config.js +55 -55
  252. package/src/font-style/font.css +60 -60
  253. package/src/layouts/CommonLayout.vue +56 -56
  254. package/src/layouts/PageLayout.vue +151 -151
  255. package/src/layouts/SinglePageView.vue +136 -136
  256. package/src/layouts/header/AdminHeader.vue +132 -132
  257. package/src/layouts/header/HeaderNotice.vue +177 -177
  258. package/src/layouts/header/InstitutionDetail.vue +181 -181
  259. package/src/layouts/tabs/TabsHead.vue +189 -189
  260. package/src/lib.js +1 -1
  261. package/src/mock/extend/index.js +84 -84
  262. package/src/mock/goods/index.js +108 -108
  263. package/src/pages/DefaultExample/index.vue +77 -77
  264. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  265. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  266. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  267. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  268. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  269. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  270. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  271. package/src/pages/DynamicStatistics/index.vue +282 -282
  272. package/src/pages/Example/childIndex.vue +15 -15
  273. package/src/pages/Example/index.vue +30 -30
  274. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  275. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  276. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  277. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  278. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  279. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  280. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  281. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  282. package/src/pages/Recording/index.vue +77 -77
  283. package/src/pages/ServiceReview/index.vue +284 -284
  284. package/src/pages/SubExample/index.vue +26 -26
  285. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  286. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
  287. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1815 -1815
  288. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
  289. package/src/pages/XReportView/index.vue +64 -64
  290. package/src/pages/XTreeOneProExample/index.vue +67 -67
  291. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  292. package/src/pages/login/Login.vue +379 -379
  293. package/src/pages/login/LoginV3.vue +389 -389
  294. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  295. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  296. package/src/pages/report/ReportTable.js +124 -124
  297. package/src/pages/resourceManage/orgListManage.vue +98 -98
  298. package/src/pages/system/dictionary/index.vue +44 -44
  299. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  300. package/src/pages/system/monitor/operLog/index.vue +37 -37
  301. package/src/pages/system/settings/modifyPassword.vue +117 -117
  302. package/src/pages/system/ticket/index.vue +480 -480
  303. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  304. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  305. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  306. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  307. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  308. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  309. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  310. package/src/plugins/EventLogPlugin.js +33 -33
  311. package/src/plugins/FindParentsData.js +17 -17
  312. package/src/router/async/router.map.js +2 -2
  313. package/src/services/DataModel.js +30 -30
  314. package/src/services/LodopFuncs.js +137 -137
  315. package/src/services/api/TicketDetailsViewApi.js +46 -46
  316. package/src/services/api/cas.js +79 -79
  317. package/src/services/api/entity.js +18 -18
  318. package/src/services/api/index.js +17 -17
  319. package/src/services/api/restTools.js +215 -215
  320. package/src/store/modules/account.js +121 -121
  321. package/src/store/modules/index.js +5 -5
  322. package/src/store/modules/lowCode.js +33 -33
  323. package/src/store/modules/setting.js +119 -119
  324. package/src/theme/default/style.less +58 -58
  325. package/src/theme/global.less +311 -279
  326. package/src/utils/authority-utils.js +85 -85
  327. package/src/utils/errorCode.js +6 -6
  328. package/src/utils/formatter.js +74 -74
  329. package/src/utils/htmlToPDF.js +108 -108
  330. package/src/utils/htmlToPDFApi.js +5 -5
  331. package/src/utils/login.js +188 -188
  332. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  333. package/src/utils/lowcode/lowcodeLog.js +29 -29
  334. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  335. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  336. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  337. package/src/utils/map-utils.js +47 -47
  338. package/src/utils/reg.js +95 -95
  339. package/src/utils/runEvalFunction.js +14 -14
  340. package/src/utils/theme-color-replacer-extend.js +92 -92
  341. package/src/utils/util.js +329 -329
  342. package/src/utils/waterMark.js +31 -31
  343. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  344. package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +0 -127
@@ -1,243 +1,243 @@
1
- <template>
2
- <div>
3
- <a-button type="primary" @click="startRecording" :disabled="isRecording">开始录音</a-button>
4
- <a-button type="primary" @click="stopRecording" :disabled="!isRecording">停止录音</a-button>
5
- <!-- <audio v-if="audioUrl" :src="audioUrl" controls></audio>-->
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import { getConfigByName } from '@vue2-client/services/api/common'
11
- export default {
12
- name: 'PersonSetting',
13
- data () {
14
- return {
15
- isRecording: false, // 标识是否正在录音
16
- mediaRecorder: null, // MediaRecorder 实例
17
- audioChunks: [], // 存储录音数据块
18
- audioUrl: null, // 录音生成的 URL
19
- inputData: '',
20
- config: {}
21
- }
22
- },
23
- props: {},
24
- watch: {},
25
- components: {},
26
- created () {
27
- getConfigByName('V4RecodingConfig', undefined, (x) => {
28
- Object.assign(this.config, x)
29
- })
30
- },
31
- methods: {
32
- async startRecording () {
33
- this.inputData = ''
34
- this.audioChunks = []
35
- const url = this.config.webSocketURL ? this.config.webSocketURL : 'ws://192.168.50.67:31090/websocket/bash' // WebSocket地址
36
- this.setupWebSocket(url)
37
-
38
- // 等待 WebSocket 连接成功
39
- await this.waitForWebSocketConnection()
40
-
41
- this.isRecording = true
42
-
43
- // 初始化 AudioContext
44
- this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
45
-
46
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
47
- throw new Error(
48
- '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
49
- )
50
- }
51
-
52
- // 获取麦克风输入流
53
- this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
54
-
55
- // 设置音频处理流程
56
- this.setupAudioProcessing()
57
- },
58
- setupWebSocket (url) {
59
- this.ws = new WebSocket(url)
60
-
61
- this.ws.onmessage = (event) => {
62
- const data = JSON.parse(event.data)
63
- console.log('Result:', data.result)
64
- if (data.result !== undefined) {
65
- this.inputData += data.result
66
- }
67
- if (!this.isRecording) {
68
- this.ws.close()
69
- this.resRecordingData()
70
- }
71
- }
72
-
73
- this.ws.onclose = () => console.log('WebSocket closed.')
74
- this.ws.onerror = (error) => console.error('WebSocket error:', error)
75
- },
76
-
77
- waitForWebSocketConnection () {
78
- return new Promise((resolve, reject) => {
79
- this.ws.onopen = () => {
80
- console.log('WebSocket 连接成功')
81
- resolve()
82
- }
83
-
84
- this.ws.onerror = (error) => {
85
- reject(new Error('WebSocket 连接失败: ' + error.message))
86
- }
87
- })
88
- },
89
-
90
- setupAudioProcessing () {
91
- try {
92
- const source = this.audioContext.createMediaStreamSource(this.audioStream)
93
- const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
94
-
95
- processor.onaudioprocess = (e) => {
96
- if (!this.isRecording) return
97
-
98
- const inputData = e.inputBuffer.getChannelData(0)
99
-
100
- // 收集音频数据块
101
-
102
- // Resample to 16000 Hz if needed
103
- const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
104
-
105
- this.audioChunks.push(new Float32Array(resampledData))
106
-
107
- // Convert to 16-bit PCM and send via WebSocket
108
- const byteArray = this.convertTo16BitPCM(resampledData)
109
- this.ws.send(byteArray)
110
- }
111
-
112
- source.connect(processor)
113
- processor.connect(this.audioContext.destination)
114
- } catch (error) {
115
- console.error('Error setting up audio processing:', error)
116
- throw error
117
- }
118
- },
119
-
120
- stopRecording () {
121
- this.isRecording = false
122
-
123
- // 停止麦克风流
124
- if (this.audioStream) {
125
- this.audioStream.getTracks().forEach((track) => track.stop())
126
- }
127
-
128
- // 合并音频数据块并保存为文件
129
- // this.saveAudioFile()
130
-
131
- // 关闭 WebSocket
132
- // if (this.ws) {
133
- // this.ws.close()
134
- // }
135
-
136
- if (this.audioContext) {
137
- this.audioContext.close()
138
- }
139
- },
140
-
141
- saveAudioFile () {
142
- // 合并所有音频块
143
- const audioBuffer = this.mergeAudioChunks(this.audioChunks)
144
-
145
- // 转换为 WAV 格式
146
- const wavBlob = this.encodeWAV(audioBuffer, 16000)
147
-
148
- // 创建下载链接并触发下载
149
- const url = URL.createObjectURL(wavBlob)
150
- const a = document.createElement('a')
151
- a.style.display = 'none'
152
- a.href = url
153
- a.download = 'recording.wav'
154
- document.body.appendChild(a)
155
- a.click()
156
- window.URL.revokeObjectURL(url)
157
- },
158
-
159
- mergeAudioChunks (chunks) {
160
- const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
161
- const result = new Float32Array(length)
162
- let offset = 0
163
- for (const chunk of chunks) {
164
- result.set(chunk, offset)
165
- offset += chunk.length
166
- }
167
- return result
168
- },
169
-
170
- encodeWAV (samples, sampleRate) {
171
- const buffer = new ArrayBuffer(44 + samples.length * 2) // 每个样本占2字节
172
- const view = new DataView(buffer)
173
-
174
- const writeString = (view, offset, string) => {
175
- for (let i = 0; i < string.length; i++) {
176
- view.setUint8(offset + i, string.charCodeAt(i))
177
- }
178
- }
179
-
180
- // WAV文件头
181
- writeString(view, 0, 'RIFF') // ChunkID
182
- view.setUint32(4, 36 + samples.length * 2, true) // ChunkSize
183
- writeString(view, 8, 'WAVE') // Format
184
-
185
- // fmt子块
186
- writeString(view, 12, 'fmt ') // Subchunk1ID
187
- view.setUint32(16, 16, true) // Subchunk1Size (PCM格式固定为16)
188
- view.setUint16(20, 1, true) // AudioFormat (PCM为1)
189
- view.setUint16(22, 1, true) // NumChannels (单声道为1)
190
- view.setUint32(24, sampleRate, true) // SampleRate
191
- view.setUint32(28, sampleRate * 2, true) // ByteRate (SampleRate * NumChannels * BitsPerSample/8)
192
- view.setUint16(32, 2, true) // BlockAlign (NumChannels * BitsPerSample/8)
193
- view.setUint16(34, 16, true) // BitsPerSample
194
-
195
- // data子块
196
- writeString(view, 36, 'data') // Subchunk2ID
197
- view.setUint32(40, samples.length * 2, true) // Subchunk2Size
198
-
199
- // 写入PCM数据
200
- let offset = 44
201
- for (let i = 0; i < samples.length; i++) {
202
- const s = Math.max(-1, Math.min(1, samples[i])) // 限制范围为[-1, 1]
203
- view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true) // 转换为16位PCM
204
- offset += 2
205
- }
206
-
207
- return new Blob([buffer], { type: 'audio/wav' })
208
- },
209
-
210
- resample (data, inputSampleRate, outputSampleRate) {
211
- if (inputSampleRate === outputSampleRate) {
212
- return data
213
- }
214
- const sampleRateRatio = inputSampleRate / outputSampleRate
215
- const newLength = Math.round(data.length / sampleRateRatio)
216
- const resampledData = new Float32Array(newLength)
217
- for (let i = 0; i < newLength; i++) {
218
- const index = Math.round(i * sampleRateRatio)
219
- resampledData[i] = data[index]
220
- }
221
- return resampledData
222
- },
223
- convertTo16BitPCM (data) {
224
- const output = new Int16Array(data.length)
225
- for (let i = 0; i < data.length; i++) {
226
- output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7FFF
227
- }
228
- return new Uint8Array(output.buffer)
229
- },
230
- getRecordingData () {
231
- return this.inputData
232
- },
233
- resRecordingData () {
234
- this.$emit('recordingData', this.inputData)
235
- }
236
- }
237
- }
238
-
239
- </script>
240
-
241
- <style lang="less" scoped>
242
-
243
- </style>
1
+ <template>
2
+ <div>
3
+ <a-button type="primary" @click="startRecording" :disabled="isRecording">开始录音</a-button>
4
+ <a-button type="primary" @click="stopRecording" :disabled="!isRecording">停止录音</a-button>
5
+ <!-- <audio v-if="audioUrl" :src="audioUrl" controls></audio>-->
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import { getConfigByName } from '@vue2-client/services/api/common'
11
+ export default {
12
+ name: 'PersonSetting',
13
+ data () {
14
+ return {
15
+ isRecording: false, // 标识是否正在录音
16
+ mediaRecorder: null, // MediaRecorder 实例
17
+ audioChunks: [], // 存储录音数据块
18
+ audioUrl: null, // 录音生成的 URL
19
+ inputData: '',
20
+ config: {}
21
+ }
22
+ },
23
+ props: {},
24
+ watch: {},
25
+ components: {},
26
+ created () {
27
+ getConfigByName('V4RecodingConfig', undefined, (x) => {
28
+ Object.assign(this.config, x)
29
+ })
30
+ },
31
+ methods: {
32
+ async startRecording () {
33
+ this.inputData = ''
34
+ this.audioChunks = []
35
+ const url = this.config.webSocketURL ? this.config.webSocketURL : 'ws://192.168.50.67:31090/websocket/bash' // WebSocket地址
36
+ this.setupWebSocket(url)
37
+
38
+ // 等待 WebSocket 连接成功
39
+ await this.waitForWebSocketConnection()
40
+
41
+ this.isRecording = true
42
+
43
+ // 初始化 AudioContext
44
+ this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
45
+
46
+ if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
47
+ throw new Error(
48
+ '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
49
+ )
50
+ }
51
+
52
+ // 获取麦克风输入流
53
+ this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
54
+
55
+ // 设置音频处理流程
56
+ this.setupAudioProcessing()
57
+ },
58
+ setupWebSocket (url) {
59
+ this.ws = new WebSocket(url)
60
+
61
+ this.ws.onmessage = (event) => {
62
+ const data = JSON.parse(event.data)
63
+ console.log('Result:', data.result)
64
+ if (data.result !== undefined) {
65
+ this.inputData += data.result
66
+ }
67
+ if (!this.isRecording) {
68
+ this.ws.close()
69
+ this.resRecordingData()
70
+ }
71
+ }
72
+
73
+ this.ws.onclose = () => console.log('WebSocket closed.')
74
+ this.ws.onerror = (error) => console.error('WebSocket error:', error)
75
+ },
76
+
77
+ waitForWebSocketConnection () {
78
+ return new Promise((resolve, reject) => {
79
+ this.ws.onopen = () => {
80
+ console.log('WebSocket 连接成功')
81
+ resolve()
82
+ }
83
+
84
+ this.ws.onerror = (error) => {
85
+ reject(new Error('WebSocket 连接失败: ' + error.message))
86
+ }
87
+ })
88
+ },
89
+
90
+ setupAudioProcessing () {
91
+ try {
92
+ const source = this.audioContext.createMediaStreamSource(this.audioStream)
93
+ const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
94
+
95
+ processor.onaudioprocess = (e) => {
96
+ if (!this.isRecording) return
97
+
98
+ const inputData = e.inputBuffer.getChannelData(0)
99
+
100
+ // 收集音频数据块
101
+
102
+ // Resample to 16000 Hz if needed
103
+ const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
104
+
105
+ this.audioChunks.push(new Float32Array(resampledData))
106
+
107
+ // Convert to 16-bit PCM and send via WebSocket
108
+ const byteArray = this.convertTo16BitPCM(resampledData)
109
+ this.ws.send(byteArray)
110
+ }
111
+
112
+ source.connect(processor)
113
+ processor.connect(this.audioContext.destination)
114
+ } catch (error) {
115
+ console.error('Error setting up audio processing:', error)
116
+ throw error
117
+ }
118
+ },
119
+
120
+ stopRecording () {
121
+ this.isRecording = false
122
+
123
+ // 停止麦克风流
124
+ if (this.audioStream) {
125
+ this.audioStream.getTracks().forEach((track) => track.stop())
126
+ }
127
+
128
+ // 合并音频数据块并保存为文件
129
+ // this.saveAudioFile()
130
+
131
+ // 关闭 WebSocket
132
+ // if (this.ws) {
133
+ // this.ws.close()
134
+ // }
135
+
136
+ if (this.audioContext) {
137
+ this.audioContext.close()
138
+ }
139
+ },
140
+
141
+ saveAudioFile () {
142
+ // 合并所有音频块
143
+ const audioBuffer = this.mergeAudioChunks(this.audioChunks)
144
+
145
+ // 转换为 WAV 格式
146
+ const wavBlob = this.encodeWAV(audioBuffer, 16000)
147
+
148
+ // 创建下载链接并触发下载
149
+ const url = URL.createObjectURL(wavBlob)
150
+ const a = document.createElement('a')
151
+ a.style.display = 'none'
152
+ a.href = url
153
+ a.download = 'recording.wav'
154
+ document.body.appendChild(a)
155
+ a.click()
156
+ window.URL.revokeObjectURL(url)
157
+ },
158
+
159
+ mergeAudioChunks (chunks) {
160
+ const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
161
+ const result = new Float32Array(length)
162
+ let offset = 0
163
+ for (const chunk of chunks) {
164
+ result.set(chunk, offset)
165
+ offset += chunk.length
166
+ }
167
+ return result
168
+ },
169
+
170
+ encodeWAV (samples, sampleRate) {
171
+ const buffer = new ArrayBuffer(44 + samples.length * 2) // 每个样本占2字节
172
+ const view = new DataView(buffer)
173
+
174
+ const writeString = (view, offset, string) => {
175
+ for (let i = 0; i < string.length; i++) {
176
+ view.setUint8(offset + i, string.charCodeAt(i))
177
+ }
178
+ }
179
+
180
+ // WAV文件头
181
+ writeString(view, 0, 'RIFF') // ChunkID
182
+ view.setUint32(4, 36 + samples.length * 2, true) // ChunkSize
183
+ writeString(view, 8, 'WAVE') // Format
184
+
185
+ // fmt子块
186
+ writeString(view, 12, 'fmt ') // Subchunk1ID
187
+ view.setUint32(16, 16, true) // Subchunk1Size (PCM格式固定为16)
188
+ view.setUint16(20, 1, true) // AudioFormat (PCM为1)
189
+ view.setUint16(22, 1, true) // NumChannels (单声道为1)
190
+ view.setUint32(24, sampleRate, true) // SampleRate
191
+ view.setUint32(28, sampleRate * 2, true) // ByteRate (SampleRate * NumChannels * BitsPerSample/8)
192
+ view.setUint16(32, 2, true) // BlockAlign (NumChannels * BitsPerSample/8)
193
+ view.setUint16(34, 16, true) // BitsPerSample
194
+
195
+ // data子块
196
+ writeString(view, 36, 'data') // Subchunk2ID
197
+ view.setUint32(40, samples.length * 2, true) // Subchunk2Size
198
+
199
+ // 写入PCM数据
200
+ let offset = 44
201
+ for (let i = 0; i < samples.length; i++) {
202
+ const s = Math.max(-1, Math.min(1, samples[i])) // 限制范围为[-1, 1]
203
+ view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true) // 转换为16位PCM
204
+ offset += 2
205
+ }
206
+
207
+ return new Blob([buffer], { type: 'audio/wav' })
208
+ },
209
+
210
+ resample (data, inputSampleRate, outputSampleRate) {
211
+ if (inputSampleRate === outputSampleRate) {
212
+ return data
213
+ }
214
+ const sampleRateRatio = inputSampleRate / outputSampleRate
215
+ const newLength = Math.round(data.length / sampleRateRatio)
216
+ const resampledData = new Float32Array(newLength)
217
+ for (let i = 0; i < newLength; i++) {
218
+ const index = Math.round(i * sampleRateRatio)
219
+ resampledData[i] = data[index]
220
+ }
221
+ return resampledData
222
+ },
223
+ convertTo16BitPCM (data) {
224
+ const output = new Int16Array(data.length)
225
+ for (let i = 0; i < data.length; i++) {
226
+ output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7FFF
227
+ }
228
+ return new Uint8Array(output.buffer)
229
+ },
230
+ getRecordingData () {
231
+ return this.inputData
232
+ },
233
+ resRecordingData () {
234
+ this.$emit('recordingData', this.inputData)
235
+ }
236
+ }
237
+ }
238
+
239
+ </script>
240
+
241
+ <style lang="less" scoped>
242
+
243
+ </style>
@@ -1,3 +1,3 @@
1
- import Recording from './Recording.vue'
2
-
3
- export default Recording
1
+ import Recording from './Recording.vue'
2
+
3
+ export default Recording