cnhis-design-vue 3.3.1-beta.3 → 3.3.1-beta.44

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 (248) hide show
  1. package/es/components/ai-chat/index.d.ts +289 -68
  2. package/es/components/ai-chat/src/Index.vue.d.ts +289 -68
  3. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  4. package/es/components/ai-chat/src/api/index.d.ts +5 -3
  5. package/es/components/ai-chat/src/api/index.js +1 -1
  6. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +9 -15
  7. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -1
  8. package/es/components/ai-chat/src/components/ChatBI.vue.d.ts +2 -2
  9. package/es/components/ai-chat/src/components/ChatBI.vue2.js +1 -1
  10. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +46 -55
  12. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  13. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  14. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -0
  15. package/es/components/ai-chat/src/components/ChatPatient.vue.d.ts +2 -2
  16. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  17. package/es/components/ai-chat/src/components/ChatPrompt.vue.d.ts +2 -2
  18. package/es/components/ai-chat/src/components/ChatPrompt.vue2.js +1 -1
  19. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +6 -5
  20. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -1
  21. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -1
  22. package/es/components/ai-chat/src/components/{card/SelectIcon.d.ts → message-render/CardRender.d.ts} +9 -7
  23. package/es/components/ai-chat/src/components/message-render/CardRender.js +1 -0
  24. package/es/components/ai-chat/src/components/message-render/FormRender.d.ts +16 -0
  25. package/es/components/ai-chat/src/components/message-render/FormRender.js +1 -0
  26. package/es/components/ai-chat/src/components/mobile/MobileChatAudio.vue.d.ts +36 -0
  27. package/es/components/ai-chat/src/components/mobile/MobileChatAudio.vue.js +1 -0
  28. package/es/components/ai-chat/src/components/mobile/MobileChatAudio.vue2.js +1 -0
  29. package/es/components/ai-chat/src/components/mobile/MobileChatFooter.vue.d.ts +105 -0
  30. package/es/components/ai-chat/src/components/mobile/MobileChatFooter.vue.js +1 -0
  31. package/es/components/ai-chat/src/components/mobile/MobileChatFooter.vue2.js +1 -0
  32. package/es/components/ai-chat/src/components/svgs/AddIcon.vue.js +1 -0
  33. package/es/components/ai-chat/src/components/svgs/AudioIcon.vue.js +1 -0
  34. package/es/components/ai-chat/src/components/svgs/KeyboardIcon.vue.js +1 -0
  35. package/es/components/ai-chat/src/components/svgs/MicroPhone.vue.js +1 -0
  36. package/es/components/ai-chat/src/hooks/index.d.ts +2 -0
  37. package/es/components/ai-chat/src/hooks/index.js +1 -0
  38. package/es/components/ai-chat/src/hooks/useChartAudioContext.d.ts +18 -0
  39. package/es/components/ai-chat/src/hooks/useChartAudioContext.js +1 -0
  40. package/es/components/ai-chat/src/hooks/useData.d.ts +77 -0
  41. package/es/components/ai-chat/src/hooks/useData.js +1 -0
  42. package/es/components/ai-chat/src/hooks/useFooterContext.d.ts +38 -0
  43. package/es/components/ai-chat/src/hooks/useFooterContext.js +1 -0
  44. package/es/components/ai-chat/src/hooks/useProgram.d.ts +12 -4
  45. package/es/components/ai-chat/src/hooks/useProgram.js +1 -1
  46. package/es/components/ai-chat/src/hooks/useSSE.d.ts +9 -0
  47. package/es/components/ai-chat/src/hooks/useSSE.js +1 -0
  48. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +3 -1
  49. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -1
  50. package/es/components/ai-chat/src/types/index.d.ts +1 -3
  51. package/es/components/ai-chat/src/types/index.js +1 -1
  52. package/es/components/ai-chat/src/utils/index.d.ts +6 -1
  53. package/es/components/ai-chat/src/utils/index.js +1 -1
  54. package/es/components/ai-chat/style/index.css +1 -1
  55. package/es/components/audio-sdk/index.d.ts +274 -2
  56. package/es/components/audio-sdk/index.js +1 -1
  57. package/es/components/audio-sdk/src/Index.vue.d.ts +274 -0
  58. package/es/components/audio-sdk/src/Index.vue.js +1 -0
  59. package/es/components/audio-sdk/src/Index.vue2.js +1 -0
  60. package/es/components/audio-sdk/src/audioSDK.d.ts +59 -26
  61. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  62. package/es/components/audio-sdk/src/components/form.vue.d.ts +51 -0
  63. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +100 -0
  64. package/es/components/audio-sdk/src/components/recording-modal.vue.js +1 -0
  65. package/es/components/audio-sdk/src/components/recording-modal.vue2.js +1 -0
  66. package/es/components/audio-sdk/src/components/recording.vue.d.ts +53 -4
  67. package/es/components/audio-sdk/src/components/recording.vue2.js +1 -1
  68. package/es/components/audio-sdk/src/utils/index.d.ts +7 -0
  69. package/es/components/audio-sdk/src/utils/index.js +1 -0
  70. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +7 -4
  71. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  72. package/es/components/audio-sdk/style/index.css +1 -1
  73. package/es/components/button-print/index.d.ts +30 -0
  74. package/es/components/button-print/src/ButtonPrint.vue.d.ts +30 -0
  75. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  76. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +9 -0
  77. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  78. package/es/components/button-print/src/components/OldPrintComponent.vue.d.ts +9 -0
  79. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  80. package/es/components/button-print/src/utils/print.d.ts +2 -2
  81. package/es/components/button-print/src/utils/print.js +1 -1
  82. package/es/components/calendar/index.d.ts +126 -3
  83. package/es/components/calendar/src/Calendar.vue.d.ts +126 -2
  84. package/es/components/callback/src/components/render/popupMaps.d.ts +7 -1
  85. package/es/components/card-reader-sdk/src/cardReaderSDK.d.ts +4 -8
  86. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  87. package/es/components/card-render/src/components/Button.vue.d.ts +3 -0
  88. package/es/components/card-render/src/components/Button.vue2.js +1 -1
  89. package/es/components/card-render/src/components/ScaleView.vue.d.ts +39 -0
  90. package/es/components/card-render/src/components/ScaleView.vue.js +1 -0
  91. package/es/components/card-render/src/components/ScaleView.vue2.js +1 -0
  92. package/es/components/card-render/src/components/Table.vue.d.ts +104 -0
  93. package/es/components/card-render/src/components/Table.vue.js +1 -0
  94. package/es/components/card-render/src/components/Table.vue2.js +1 -0
  95. package/es/components/card-render/src/components/Text.vue.d.ts +1 -0
  96. package/es/components/card-render/src/components/Text.vue2.js +1 -1
  97. package/es/components/card-render/src/components/index.d.ts +139 -0
  98. package/es/components/card-render/src/components/index.js +1 -1
  99. package/es/components/card-render/src/constants/index.d.ts +4 -1
  100. package/es/components/card-render/src/constants/index.js +1 -1
  101. package/es/components/card-render/style/index.css +1 -1
  102. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  103. package/es/components/fabric-chart/index.d.ts +6 -2
  104. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +6 -2
  105. package/es/components/fabric-chart/src/FabricChart.vue2.js +1 -1
  106. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  107. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  108. package/es/components/field-editor/index.d.ts +7 -1
  109. package/es/components/field-editor/src/FieldEditor.vue.d.ts +7 -1
  110. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  111. package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
  112. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  113. package/es/components/field-set/src/components/table-row.vue.d.ts +1 -1
  114. package/es/components/form-config/index.d.ts +73 -13
  115. package/es/components/form-config/src/FormConfig.vue.d.ts +73 -13
  116. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +7 -1
  117. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +45 -9
  118. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +15 -3
  119. package/es/components/form-render/index.d.ts +7 -1
  120. package/es/components/form-render/index.js +1 -1
  121. package/es/components/form-render/src/FormRender.vue.d.ts +7 -1
  122. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  123. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +7 -1
  124. package/es/components/form-render/src/components/renderer/date.d.ts +4 -2
  125. package/es/components/form-render/src/components/renderer/date.js +1 -1
  126. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  127. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  128. package/es/components/form-render/src/components/renderer/input.d.ts +5 -0
  129. package/es/components/form-render/src/components/renderer/input.js +1 -1
  130. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.d.ts +9 -0
  131. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  132. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +14 -1
  133. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +14 -1
  134. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  135. package/es/components/form-render/src/components/renderer/select.d.ts +5 -0
  136. package/es/components/form-render/src/components/renderer/select.js +1 -1
  137. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +12 -1
  138. package/es/components/form-render/src/components/tooltipMessage.vue2.js +1 -1
  139. package/es/components/form-render/src/hooks/useBusinessBinding.js +1 -1
  140. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  141. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +4 -0
  142. package/es/components/form-render/src/hooks/useLowCodeReactions.js +1 -1
  143. package/es/components/form-render/src/types/fieldItem.d.ts +9 -3
  144. package/es/components/form-render/src/types/index.d.ts +2 -0
  145. package/es/components/form-render/src/utils/index.d.ts +1 -0
  146. package/es/components/form-render/src/utils/index.js +1 -1
  147. package/es/components/form-render/style/index.css +1 -1
  148. package/es/components/guide/src/renderer.d.ts +2 -2
  149. package/es/components/iho-chat/index.d.ts +206 -4
  150. package/es/components/iho-chat/src/Index.vue.d.ts +206 -4
  151. package/es/components/iho-chat/src/api/index.d.ts +1 -0
  152. package/es/components/iho-chat/src/api/index.js +1 -1
  153. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +8 -0
  154. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  155. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +11 -3
  156. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  157. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +7 -0
  158. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  159. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +96 -2
  160. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +77 -0
  161. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  162. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +71 -1
  163. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  164. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +8 -2
  165. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  166. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +10 -0
  167. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  168. package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +70 -1
  169. package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +1 -1
  170. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +7 -0
  171. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +3 -0
  172. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  173. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -1
  174. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  175. package/es/components/iho-chat/src/constants/index.d.ts +9 -2
  176. package/es/components/iho-chat/src/constants/index.js +1 -1
  177. package/es/components/iho-chat/src/hooks/useSearchPatientList.d.ts +11 -0
  178. package/es/components/iho-chat/src/hooks/useSearchPatientList.js +1 -0
  179. package/es/components/iho-chat/src/utils/chatSock.js +1 -1
  180. package/es/components/iho-chat/src/utils/index.d.ts +6 -0
  181. package/es/components/iho-chat/src/utils/index.js +1 -1
  182. package/es/components/iho-chat/style/index.css +1 -1
  183. package/es/components/iho-table/index.d.ts +3 -0
  184. package/es/components/iho-table/index.js +1 -1
  185. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  186. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -1
  187. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  188. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +3 -3
  189. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.js +1 -1
  190. package/es/components/iho-table/src/hooks/useTablePlugin.js +1 -1
  191. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  192. package/es/components/iho-table/src/plugins/headerPlugin/index.d.ts +1 -1
  193. package/es/components/iho-table/src/plugins/headerPlugin/index.js +1 -1
  194. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -1
  195. package/es/components/iho-table/src/plugins/index.d.ts +79 -3
  196. package/es/components/iho-table/src/plugins/index.js +1 -1
  197. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +7 -0
  198. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -1
  199. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  200. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +1 -2
  201. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  202. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  203. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  204. package/es/components/iho-table/src/plugins/stickyFixedPlugin.js +1 -1
  205. package/es/components/iho-table/src/plugins/varialbleHeightPlugin.js +1 -1
  206. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  207. package/es/components/iho-table/src/types/index.d.ts +1 -0
  208. package/es/components/iho-table/src/types/pluginType.d.ts +2 -2
  209. package/es/components/iho-table/src/utils/index.js +1 -1
  210. package/es/components/index.css +1 -1
  211. package/es/components/index.d.ts +2 -1
  212. package/es/components/index.js +1 -1
  213. package/es/components/info-header/index.d.ts +24 -2
  214. package/es/components/info-header/src/InfoHeader.vue.d.ts +24 -2
  215. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +2 -0
  216. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +2 -0
  217. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +9 -1
  218. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +7 -1
  219. package/es/components/scale-view/index.d.ts +17 -3
  220. package/es/components/scale-view/src/ScaleView.vue.d.ts +17 -3
  221. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  222. package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +1 -1
  223. package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
  224. package/es/components/scale-view/src/hooks/scaleview-init.d.ts +3 -1
  225. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  226. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +4 -0
  227. package/es/components/scale-view/src/hooks/scaleview-props.js +1 -1
  228. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -2189
  229. package/es/components/shortcut-provider/src/ShortcutProvider.vue2.js +1 -1
  230. package/es/components/shortcut-setter/index.d.ts +15 -3
  231. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +15 -3
  232. package/es/components/steps-wheel/index.d.ts +18 -0
  233. package/es/components/steps-wheel/src/StepsWheel.vue.d.ts +18 -0
  234. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  235. package/es/shared/assets/img/use.png.js +1 -1
  236. package/es/shared/components/ArrowIcon/ArrowIcon.vue.js +1 -0
  237. package/es/shared/components/ArrowIcon/index.d.ts +2 -0
  238. package/es/shared/components/ArrowIcon/index.js +1 -0
  239. package/es/shared/components/DateIcon/DateIcon.vue.js +1 -0
  240. package/es/shared/components/DateIcon/index.d.ts +2 -0
  241. package/es/shared/components/DateIcon/index.js +1 -0
  242. package/es/shared/hooks/useLevelSearchCascader.d.ts +1 -0
  243. package/es/shared/hooks/useLevelSearchCascader.js +1 -1
  244. package/es/shared/package.json.js +1 -1
  245. package/package.json +5 -3
  246. package/es/components/ai-chat/src/components/ChatMainInner.js +0 -1
  247. package/es/components/ai-chat/src/components/card/SelectIcon.js +0 -1
  248. /package/es/components/ai-chat/src/components/{ChatMainInner.d.ts → ChatMainDefault.d.ts} +0 -0
@@ -0,0 +1,274 @@
1
+ import { type PropType } from 'vue';
2
+ import { AnyObject } from '../../../shared/types';
3
+ import AudioSDK from './audioSDK';
4
+ declare const _default: import("vue").DefineComponent<{
5
+ timed: {
6
+ type: NumberConstructor;
7
+ default: number;
8
+ };
9
+ realTimeRecognition: {
10
+ type: BooleanConstructor;
11
+ };
12
+ allowPunctuationMark: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
16
+ token: {
17
+ type: StringConstructor;
18
+ };
19
+ intentionCode: {
20
+ type: StringConstructor;
21
+ };
22
+ configs: {
23
+ type: PropType<AnyObject>;
24
+ };
25
+ }, {
26
+ cssVars: import("vue").ComputedRef<AnyObject>;
27
+ audioSdk: AudioSDK;
28
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
29
+ timed: {
30
+ type: NumberConstructor;
31
+ default: number;
32
+ };
33
+ realTimeRecognition: {
34
+ type: BooleanConstructor;
35
+ };
36
+ allowPunctuationMark: {
37
+ type: BooleanConstructor;
38
+ default: boolean;
39
+ };
40
+ token: {
41
+ type: StringConstructor;
42
+ };
43
+ intentionCode: {
44
+ type: StringConstructor;
45
+ };
46
+ configs: {
47
+ type: PropType<AnyObject>;
48
+ };
49
+ }>> & {
50
+ onSuccess?: ((...args: any[]) => any) | undefined;
51
+ onClose?: ((...args: any[]) => any) | undefined;
52
+ onFail?: ((...args: any[]) => any) | undefined;
53
+ }>>;
54
+ emit: (event: "close" | "success" | "fail", ...args: any[]) => void;
55
+ recordingRef: import("vue").Ref<any>;
56
+ isRecording: import("vue").Ref<boolean>;
57
+ content: import("vue").ComputedRef<string>;
58
+ recordingProps: import("vue").ComputedRef<{
59
+ token: string | undefined;
60
+ configs: AnyObject;
61
+ content: string;
62
+ intentionCode: string;
63
+ }>;
64
+ isGenerateMedicalRecord: import("vue").ComputedRef<boolean>;
65
+ onClose: () => void;
66
+ onEnd: () => void;
67
+ onSuccess: (data: AnyObject) => void;
68
+ CRecording: import("vue").DefineComponent<{
69
+ content: {
70
+ type: StringConstructor;
71
+ default: string;
72
+ };
73
+ showBtn: {
74
+ type: BooleanConstructor;
75
+ };
76
+ token: {
77
+ type: StringConstructor;
78
+ };
79
+ intentionCode: {
80
+ type: StringConstructor;
81
+ };
82
+ configs: {
83
+ type: PropType<AnyObject>;
84
+ };
85
+ }, {
86
+ consultationRecordUrl: string;
87
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
88
+ content: {
89
+ type: StringConstructor;
90
+ default: string;
91
+ };
92
+ showBtn: {
93
+ type: BooleanConstructor;
94
+ };
95
+ token: {
96
+ type: StringConstructor;
97
+ };
98
+ intentionCode: {
99
+ type: StringConstructor;
100
+ };
101
+ configs: {
102
+ type: PropType<AnyObject>;
103
+ };
104
+ }>> & {
105
+ onSuccess?: ((...args: any[]) => any) | undefined;
106
+ onClose?: ((...args: any[]) => any) | undefined;
107
+ onFail?: ((...args: any[]) => any) | undefined;
108
+ onEnd?: ((...args: any[]) => any) | undefined;
109
+ }>>;
110
+ emit: (event: "close" | "success" | "end" | "fail", ...args: any[]) => void;
111
+ loading: import("vue").Ref<boolean>;
112
+ handleKeydown: (event: KeyboardEvent) => void;
113
+ close: () => void;
114
+ toAnalyzing: () => Promise<void>;
115
+ NIcon: any;
116
+ NButton: any;
117
+ NSpin: any;
118
+ Mic: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
119
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "success" | "end" | "fail")[], "close" | "success" | "end" | "fail", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
120
+ content: {
121
+ type: StringConstructor;
122
+ default: string;
123
+ };
124
+ showBtn: {
125
+ type: BooleanConstructor;
126
+ };
127
+ token: {
128
+ type: StringConstructor;
129
+ };
130
+ intentionCode: {
131
+ type: StringConstructor;
132
+ };
133
+ configs: {
134
+ type: PropType<AnyObject>;
135
+ };
136
+ }>> & {
137
+ onSuccess?: ((...args: any[]) => any) | undefined;
138
+ onClose?: ((...args: any[]) => any) | undefined;
139
+ onFail?: ((...args: any[]) => any) | undefined;
140
+ onEnd?: ((...args: any[]) => any) | undefined;
141
+ }, {
142
+ content: string;
143
+ showBtn: boolean;
144
+ }>;
145
+ RecordingModal: import("vue").DefineComponent<{
146
+ content: {
147
+ type: StringConstructor;
148
+ default: string;
149
+ };
150
+ }, {
151
+ cssVars: import("vue").ComputedRef<AnyObject>;
152
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
153
+ content: {
154
+ type: StringConstructor;
155
+ default: string;
156
+ };
157
+ }>> & {}>>;
158
+ NModal: any;
159
+ Recording: import("vue").DefineComponent<{
160
+ content: {
161
+ type: StringConstructor;
162
+ default: string;
163
+ };
164
+ showBtn: {
165
+ type: BooleanConstructor;
166
+ };
167
+ token: {
168
+ type: StringConstructor;
169
+ };
170
+ intentionCode: {
171
+ type: StringConstructor;
172
+ };
173
+ configs: {
174
+ type: PropType<AnyObject>;
175
+ };
176
+ }, {
177
+ consultationRecordUrl: string;
178
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
179
+ content: {
180
+ type: StringConstructor;
181
+ default: string;
182
+ };
183
+ showBtn: {
184
+ type: BooleanConstructor;
185
+ };
186
+ token: {
187
+ type: StringConstructor;
188
+ };
189
+ intentionCode: {
190
+ type: StringConstructor;
191
+ };
192
+ configs: {
193
+ type: PropType<AnyObject>;
194
+ };
195
+ }>> & {
196
+ onSuccess?: ((...args: any[]) => any) | undefined;
197
+ onClose?: ((...args: any[]) => any) | undefined;
198
+ onFail?: ((...args: any[]) => any) | undefined;
199
+ onEnd?: ((...args: any[]) => any) | undefined;
200
+ }>>;
201
+ emit: (event: "close" | "success" | "end" | "fail", ...args: any[]) => void;
202
+ loading: import("vue").Ref<boolean>;
203
+ handleKeydown: (event: KeyboardEvent) => void;
204
+ close: () => void;
205
+ toAnalyzing: () => Promise<void>;
206
+ NIcon: any;
207
+ NButton: any;
208
+ NSpin: any;
209
+ Mic: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
210
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "success" | "end" | "fail")[], "close" | "success" | "end" | "fail", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
211
+ content: {
212
+ type: StringConstructor;
213
+ default: string;
214
+ };
215
+ showBtn: {
216
+ type: BooleanConstructor;
217
+ };
218
+ token: {
219
+ type: StringConstructor;
220
+ };
221
+ intentionCode: {
222
+ type: StringConstructor;
223
+ };
224
+ configs: {
225
+ type: PropType<AnyObject>;
226
+ };
227
+ }>> & {
228
+ onSuccess?: ((...args: any[]) => any) | undefined;
229
+ onClose?: ((...args: any[]) => any) | undefined;
230
+ onFail?: ((...args: any[]) => any) | undefined;
231
+ onEnd?: ((...args: any[]) => any) | undefined;
232
+ }, {
233
+ content: string;
234
+ showBtn: boolean;
235
+ }>;
236
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
237
+ content: {
238
+ type: StringConstructor;
239
+ default: string;
240
+ };
241
+ }>>, {
242
+ content: string;
243
+ }>;
244
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "success" | "fail")[], "close" | "success" | "fail", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
245
+ timed: {
246
+ type: NumberConstructor;
247
+ default: number;
248
+ };
249
+ realTimeRecognition: {
250
+ type: BooleanConstructor;
251
+ };
252
+ allowPunctuationMark: {
253
+ type: BooleanConstructor;
254
+ default: boolean;
255
+ };
256
+ token: {
257
+ type: StringConstructor;
258
+ };
259
+ intentionCode: {
260
+ type: StringConstructor;
261
+ };
262
+ configs: {
263
+ type: PropType<AnyObject>;
264
+ };
265
+ }>> & {
266
+ onSuccess?: ((...args: any[]) => any) | undefined;
267
+ onClose?: ((...args: any[]) => any) | undefined;
268
+ onFail?: ((...args: any[]) => any) | undefined;
269
+ }, {
270
+ timed: number;
271
+ realTimeRecognition: boolean;
272
+ allowPunctuationMark: boolean;
273
+ }>;
274
+ export default _default;
@@ -0,0 +1 @@
1
+ import e from"./Index.vue2.js";import r from"../../../_virtual/_plugin-vue_export-helper.js";var o=r(e,[["__file","Index.vue"]]);export{o as default};
@@ -0,0 +1 @@
1
+ import{defineComponent as e,ref as o,computed as t,onBeforeUnmount as n,openBlock as i,createElementBlock as s,normalizeStyle as r,unref as a,Fragment as c,createBlock as l,mergeProps as u,createCommentVNode as d}from"vue";import m from"./components/recording.vue.js";import f from"./components/recording-modal.vue.js";import{useTheme as p}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"naive-ui";import"../../../shared/hooks/useScrollLoading.js";import v from"./audioSDK.js";var g=e({__name:"Index",props:{timed:{type:Number,default:5},realTimeRecognition:{type:Boolean},allowPunctuationMark:{type:Boolean,default:!0},token:{type:String},intentionCode:{type:String},configs:{type:Object}},emits:["close","success","fail"],setup(e,{expose:g,emit:h}){const y=e,k=p(),j=v.create(),C=o(),S=o(!1),w=t((()=>j.contentRef.value)),x=t((()=>({token:y.token,configs:y.configs||{},content:w.value,intentionCode:y.intentionCode||""}))),F=t((()=>!!y.configs));function R(){j.stop(),S.value=!1,h("close")}function b(){j.stop()}function B(e){S.value=!1,h("success",e)}return n((()=>{v.destroy()})),g({createMedicalRecord:async()=>{var e;S.value=!0;try{const o=await j.start(y),t=null==o?void 0:o.data;if(!F.value)return h("success",t),void(S.value=!1);if(F.value&&(null==o?void 0:o.timeout))return w.value?void(null==(e=C.value)||e.toAnalyzing()):(S.value=!1,void h("close"))}catch(e){S.value=!1,h("fail",e)}}}),(e,o)=>(i(),s("div",{style:r(a(k)),class:"c-recording-sdk-wrapper"},[a(F)?(i(),s(c,{key:0},[S.value?(i(),l(m,u({key:0,ref_key:"recordingRef",ref:C,"show-btn":""},a(x),{onClose:R,onEnd:b,onFail:o[0]||(o[0]=e=>h("fail",e)),onSuccess:B}),null,16)):d("v-if",!0),d(' <c-form\r\n\t\t\t\tv-if="isForm"\r\n\t\t\t\t:configs="configsAndBasicData.configs"\r\n\t\t\t\t:data="jsonData"\r\n\t\t\t\t@close="onFormClose"\r\n\t\t\t\t@finish="onFinish"\r\n\t\t\t/> ')],64)):(i(),l(f,{key:1,content:a(w)},null,8,["content"]))],4))}});export{g as default};
@@ -1,39 +1,72 @@
1
- import { ComponentInternalInstance } from 'vue';
2
- import { AnyObject } from '../../../shared/types';
3
1
  import 'recorder-core/src/engine/mp3';
4
2
  import 'recorder-core/src/engine/mp3-engine';
3
+ import 'recorder-core/src/extensions/frequency.histogram.view';
4
+ import 'recorder-core/src/extensions/lib.fft';
5
+ interface SpeechResult {
6
+ result: 'success';
7
+ data?: string;
8
+ timeout?: boolean;
9
+ }
10
+ type AudioOptions = Partial<{
11
+ timed: number;
12
+ showModal: boolean;
13
+ instance: any;
14
+ token: string;
15
+ origin: string;
16
+ wsType: 'whole' | 'chunk';
17
+ type: 'http' | 'websocket';
18
+ wsOrigin: string;
19
+ wsSendInterval: number;
20
+ uploadOrigin: string;
21
+ recognizeOrigin: string;
22
+ allowPunctuationMark: boolean;
23
+ }>;
5
24
  export default class AudioSDK {
6
- static instance: AudioSDK | null;
7
- static sendInterval: number;
8
- private recordingModal;
9
- private webSocket;
10
- private messageHandlerQueue;
25
+ private static instance;
11
26
  private recorder;
12
- private contentRef;
13
- private realTimeSendStartTime;
14
- private realTimeSendBytesChunks;
15
- private realTimeSendClearPrevBufferIdx;
27
+ private webSocket;
28
+ private messageQueue;
29
+ private options;
30
+ private recorderState;
31
+ private connectionState;
32
+ private sendBuffer;
33
+ private startTimestamp;
34
+ private bufferIndex;
16
35
  private timer;
17
- private option;
18
- private hasEventListener;
19
- isReady: boolean;
36
+ private recordingModal;
37
+ contentRef: import("vue").Ref<string>;
38
+ private loading;
39
+ waveView: any;
20
40
  constructor();
21
41
  static create(): AudioSDK;
22
42
  private initRecorder;
23
- private onProcess;
24
- private takeoffEncodeChunk;
25
- run(handle: {
26
- resolve: Function;
27
- reject: Function;
28
- }, instance?: ComponentInternalInstance): void;
29
- start(instance?: ComponentInternalInstance, option?: AnyObject): Promise<unknown>;
43
+ start(options: AudioOptions): Promise<SpeechResult>;
44
+ private setupWebSocket;
45
+ private startRecording;
46
+ private showRecordingModal;
47
+ private handleProcess;
48
+ private cleanProcessedBuffers;
49
+ private updateAudioVisualization;
50
+ private handleChunk;
51
+ private sendBufferedData;
52
+ private mergeBuffers;
53
+ private sendBlob;
54
+ stop(params?: {
55
+ timeout?: boolean;
56
+ }): Promise<void>;
57
+ private processHttpRecording;
58
+ private getErrorMessage;
59
+ private resolvePendingRequest;
60
+ private handleMessage;
61
+ private parseMessageData;
62
+ handleError(msg: string, isUserNotAllow?: boolean): void;
63
+ private cleanupWebSocket;
64
+ private cleanupResources;
65
+ private resetState;
66
+ private checkEnvironment;
30
67
  pause(): void;
31
68
  resume(): void;
32
- stop(): void;
33
- private handleError;
34
- private handleMessage;
35
- private handleKeydown;
36
- private reset;
37
69
  destroy(): void;
38
70
  static destroy(): void;
39
71
  }
72
+ export {};
@@ -1 +1 @@
1
- import{ref as e}from"vue";import t from"recorder-core";import"recorder-core/src/engine/mp3";import"recorder-core/src/engine/mp3-engine";import{RecordingModal as s}from"./utils/recordingModal.js";const i=class{constructor(){if(this.recordingModal=null,this.webSocket=null,this.messageHandlerQueue=[],this.recorder=null,this.contentRef=e(""),this.realTimeSendStartTime=0,this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0,this.timer=null,this.option={},this.hasEventListener=!1,this.isReady=!1,i.instance)return i.instance;i.instance=this}static create(){return new i}initRecorder(){this.recorder=t({type:"mp3",sampleRate:16e3,bitRate:16,...this.option.realTimeRecognition&&this.option.recognizable?{onProcess:this.onProcess.bind(this),takeoffEncodeChunk:this.takeoffEncodeChunk.bind(this)}:{}})}async onProcess(e,t,s,i,r){0===this.realTimeSendStartTime&&(this.realTimeSendStartTime=Date.now(),this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0);for(let t=this.realTimeSendClearPrevBufferIdx;t<r;t++)e[t]=null;this.realTimeSendClearPrevBufferIdx=r}async takeoffEncodeChunk(e){var t;e&&this.realTimeSendBytesChunks.push(e);const s=Date.now();if(s-this.realTimeSendStartTime<i.sendInterval)return;this.realTimeSendStartTime=s;let r=0;for(let e=0;e<this.realTimeSendBytesChunks.length;e++)r+=this.realTimeSendBytesChunks[e].length;const n=new Uint8Array(r);for(let e=0,t=0;e<this.realTimeSendBytesChunks.length;e++){const s=this.realTimeSendBytesChunks[e];n.set(s,t),t+=s.length}if(this.realTimeSendBytesChunks=[],n.length>0){const e=new Blob([n],{type:"audio/wav"});null==(t=this.webSocket)||t.send(e)}}run(e,t){this.recorder||this.initRecorder(),this.messageHandlerQueue.push(e),this.option.timed&&(this.timer=setTimeout((()=>{this.stop()}),1e3*this.option.timed)),this.recorder.open((()=>{var e;this.recorder.start(),null==(e=this.recordingModal)||e.show({instance:t,contentRef:this.contentRef,onClose:()=>this.stop()})}),((e,t)=>{this.handleError({msg:e,isUserNotAllow:t})}))}start(e,t){return Object.assign(this.option,{recognizable:!0,showModal:!0},t||{}),this.option.recognizable||(this.option.showModal=!1),new Promise(((t,i)=>{if(this.messageHandlerQueue.length>0)return void i({result:"fail",msg:"当前已存在正在录音的任务"});const{showModal:r}=this.option;if(r&&!this.recordingModal&&(this.recordingModal=new s),r&&!this.hasEventListener&&(document.addEventListener("keydown",this.handleKeydown),this.hasEventListener=!0),this.option.recognizable&&!this.webSocket)return this.webSocket=new WebSocket("wss://emr-tl.cnhis.com/audio/socket"),this.webSocket.onopen=()=>{this.isReady=!0,this.run({resolve:t,reject:i},e)},this.webSocket.onmessage=this.handleMessage.bind(this),this.webSocket.onerror=()=>console.log("WebSocket连接失败"),void(this.webSocket.binaryType="blob");const n=this;!async function s(r=0){if(r>5)return i({result:"fail",msg:"WebSocket连接失败"});n.option.recognizable&&!n.isReady?setTimeout((()=>{s(++r)}),100):n.run({resolve:t,reject:i},e)}()}))}pause(){var e;null==(e=this.recorder)||e.pause()}resume(){var e;null==(e=this.recorder)||e.resume()}stop(){var e,t;if(null==(e=this.recordingModal)||e.hide(),this.option.realTimeRecognition&&this.option.recognizable){const e=this.messageHandlerQueue.shift();if(!e)return;const{resolve:t,reject:s}=e;t({result:"success",data:{text:this.contentRef.value}}),this.reset()}else null==(t=this.recorder)||t.stop((async(e,t)=>{var s;if(this.option.recognizable)null==(s=this.webSocket)||s.send(e);else{const t=this.messageHandlerQueue.shift();if(!t)return;const{resolve:s,reject:i}=t;s({result:"success",data:e}),this.reset()}}),(e=>{this.handleError({msg:e})}),!0)}handleError(e){const t=this.messageHandlerQueue.shift();if(!t)return;const{resolve:s,reject:i}=t;i({result:"fail",...e}),this.reset()}handleMessage(e){const{data:t}=e||{};if(!function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(t))return void this.handleError({msg:"接收数据不是一个有效SJON"});const s=JSON.parse(t);if("success"===s.msg)if(this.option.realTimeRecognition)this.contentRef.value+=s.data.text.replace(/[??,。,.\s]/g,"");else{const e=this.messageHandlerQueue.shift();if(!e)return;const{resolve:t,reject:i}=e;t({result:"success",data:s.data.text.replace(/[??,。,.\s]/g,"")}),this.reset()}else this.handleError({msg:s.msg})}handleKeydown(e){var t,s,r,n;if(" "===e.key||"Space"===e.code){if(!(null==(s=null==(t=i.instance)?void 0:t.recordingModal)?void 0:s.rendered)||0===(null==(r=i.instance)?void 0:r.messageHandlerQueue.length))return;e.preventDefault(),null==(n=i.instance)||n.stop()}}reset(){var e;null==(e=this.recorder)||e.close(),this.realTimeSendStartTime=0,this.contentRef.value="",this.timer&&(clearTimeout(this.timer),this.timer=null),this.option={realTimeRecognition:!1,allowPunctuationMark:!0,timed:5},this.messageHandlerQueue=[]}destroy(){this.webSocket&&(this.webSocket.close(),this.webSocket=null,this.isReady=!1),document.removeEventListener("keydown",this.handleKeydown),this.hasEventListener=!1,this.reset(),this.recorder=null}static destroy(){i.instance&&(i.instance.destroy(),i.instance=null)}};let r=i;r.sendInterval=1500;export{r as default};
1
+ import{ref as e}from"vue";import t from"axios";import{isString as s,isObject as i}from"lodash-es";import o from"recorder-core";import"recorder-core/src/engine/mp3";import"recorder-core/src/engine/mp3-engine";import"recorder-core/src/extensions/frequency.histogram.view";import"recorder-core/src/extensions/lib.fft";import{$message as r}from"./utils/index.js";import{RecordingModal as n}from"./utils/recordingModal.js";import{uuidGenerator as a}from"../../../shared/utils/index.js";const h={showModal:!0,allowPunctuationMark:!0,wsType:"whole",type:"websocket",wsOrigin:"/flow/ws/speech",uploadOrigin:"/flow/openApi/uploadFile",recognizeOrigin:"/flow/api/speech/recognizeAudio",timed:5,wsSendInterval:1e3},c=class{constructor(){if(this.recorder=null,this.webSocket=null,this.messageQueue=[],this.options={...h},this.recorderState=0,this.connectionState=0,this.sendBuffer=[],this.startTimestamp=0,this.bufferIndex=0,this.timer=null,this.recordingModal=new n,this.contentRef=e(""),this.loading=e(!1),this.waveView=null,c.instance)return c.instance;c.instance=this}static create(){return new c}initRecorder(){this.recorder=o({type:"mp3",sampleRate:16e3,bitRate:16,onProcess:this.handleProcess.bind(this),takeoffEncodeChunk:this.handleChunk.bind(this)})}async start(e){return this.resetState(),Object.assign(this.options,h,e),this.recorder||this.initRecorder(),this.contentRef.value="",this.checkEnvironment()?"http"===this.options.type?this.startRecording():this.setupWebSocket().then((()=>this.startRecording())):Promise.reject({result:"fail",msg:"当前环境不支持录音"})}async setupWebSocket(){if(2!==this.connectionState)return new Promise(((e,t)=>{const s="https:"===window.location.protocol?"wss:":"ws:",i=this.options.origin||`${s}//${window.location.host}${this.options.wsOrigin}`;this.webSocket=new WebSocket(i),this.connectionState=1;const o=setTimeout((()=>{this.cleanupWebSocket(),t({result:"fail",wsTimeout:!0,msg:"连接超时"})}),5e3);this.webSocket.onopen=()=>{clearTimeout(o),this.connectionState=2,e()},this.webSocket.onmessage=this.handleMessage.bind(this),this.webSocket.onerror=()=>this.handleError("WebSocket连接错误"),this.webSocket.onclose=()=>this.cleanupWebSocket()}))}startRecording(){return new Promise(((e,t)=>{this.messageQueue.push({resolve:e,reject:t}),this.recorder.open((()=>{this.recorderState=2,this.startTimestamp=Date.now(),this.recorder.start(),this.options.timed&&(this.timer=setTimeout((()=>this.stop({timeout:!0})),1e3*this.options.timed)),this.options.showModal&&this.showRecordingModal()}),((e,t)=>{this.handleError(e,t)}))}))}showRecordingModal(){this.recordingModal.show({instance:this.options.instance,onClose:()=>this.stop(),props:{contentRef:this.contentRef}})}handleProcess(e,t,s,i,o){this.cleanProcessedBuffers(e,o),this.updateAudioVisualization(e,t,i)}cleanProcessedBuffers(e,t){if(0===this.startTimestamp&&(this.startTimestamp=Date.now(),this.sendBuffer=[]),"whole"!==this.options.wsType){for(let s=this.bufferIndex;s<t;s++)e[s]=null;this.bufferIndex=t}}updateAudioVisualization(e,t,s){this.waveView&&this.waveView.input(e[e.length-1],t,s)}handleChunk(e){e&&this.sendBuffer.push(e),"http"!==this.options.type&&(Date.now()-this.startTimestamp<this.options.wsSendInterval||(this.sendBufferedData(),this.startTimestamp=Date.now()))}sendBufferedData(e=!1){const t=this.mergeBuffers();if("chunk"===this.options.wsType&&(this.sendBuffer=[]),0===t.length)return;const s=new Blob([t],{type:"audio/mp3"});this.sendBlob(s,e)}mergeBuffers(){const e=this.sendBuffer.reduce(((e,t)=>e+t.length),0),t=new Uint8Array(e);let s=0;for(const e of this.sendBuffer)t.set(e,s),s+=e.length;return t}sendBlob(e,t=!1){if("http"===this.options.type)return;const s=new FileReader;s.onloadend=()=>{var e,i;const o=null==(e=s.result)?void 0:e.toString().split(",")[1];o&&(null==(i=this.webSocket)||i.send(JSON.stringify({type:1,isLast:t,data:o})))},s.readAsDataURL(e)}async stop(e={}){this.recordingModal.hide(),clearTimeout(this.timer),"http"===this.options.type?await this.processHttpRecording():this.sendBufferedData(!0),this.resolvePendingRequest(e),this.cleanupResources()}async processHttpRecording(){var e,s,i;try{this.loading.value=!0;const o=`bearer ${this.options.token}`,r=new Blob([this.mergeBuffers()],{type:"audio/mp3"}),n=new File([r],`${a()}.mp3`),h=new FormData;h.append("file",n);const{data:c}=await t.post(this.options.uploadOrigin,h,{headers:{Authorization:o,"Content-Type":"multipart/form-data"}});if(!(null==c?void 0:c.success))return void this.handleError(null!=(e=null==c?void 0:c.msg)?e:"上传文件失败");const{data:l}=await t.post(this.options.recognizeOrigin,{},{headers:{Authorization:o},params:{audioUrl:c.data,channel:"DOUBAO_SP"}});if(!(null==l?void 0:l.success))return void this.handleError(null!=(s=null==l?void 0:l.msg)?s:"语音识别失败");this.contentRef.value=(null==(i=null==l?void 0:l.data)?void 0:i.text)||""}catch(e){this.handleError(this.getErrorMessage(e))}finally{this.loading.value=!1}}getErrorMessage(e){return s(e)?e:i(e)&&"message"in e?e.message:"未知错误"}resolvePendingRequest(e){const t=this.messageQueue.shift();if(!t)return;const s={result:"success",data:this.contentRef.value,timeout:e.timeout};t.resolve(s)}handleMessage(e){const t=this.parseMessageData(e.data);t&&(this.contentRef.value=this.options.allowPunctuationMark?t:t.replace(/[??,。,.\s]/g,""))}parseMessageData(e){if(!s(e))return null;try{const t=JSON.parse(e);return t.data||t}catch(t){return e}}handleError(e,t=!1){const s=this.messageQueue.shift();if(!s)return;const i={result:"fail",msg:e,isUserNotAllow:t};s.reject(i),this.cleanupResources(),t&&r.warning("请开启麦克风权限")}cleanupWebSocket(){var e;null==(e=this.webSocket)||e.close(),this.webSocket=null,this.connectionState=0}cleanupResources(){var e;null==(e=this.recorder)||e.close(),this.recorderState=0,this.sendBuffer=[],this.startTimestamp=0}resetState(){this.cleanupResources(),clearTimeout(this.timer)}checkEnvironment(){return!(!window.isSecureContext&&navigator.userAgent.includes("Chrome"))||(r.warning("当前环境需要安全上下文才能使用录音功能"),!1)}pause(){var e;null==(e=this.recorder)||e.pause()}resume(){var e;null==(e=this.recorder)||e.resume()}destroy(){this.resetState(),this.recordingModal.hide(),c.instance=null}static destroy(){var e;null==(e=this.instance)||e.destroy()}};let l=c;l.instance=null;export{l as default};
@@ -0,0 +1,51 @@
1
+ import { PropType } from 'vue';
2
+ declare const _default: import("vue").DefineComponent<{
3
+ configs: {
4
+ type: PropType<Record<string, string>>;
5
+ };
6
+ data: {
7
+ type: PropType<Record<string, string>>;
8
+ };
9
+ }, {
10
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
11
+ configs: {
12
+ type: PropType<Record<string, string>>;
13
+ };
14
+ data: {
15
+ type: PropType<Record<string, string>>;
16
+ };
17
+ }>> & {
18
+ onClose?: ((...args: any[]) => any) | undefined;
19
+ onFinish?: ((...args: any[]) => any) | undefined;
20
+ }>>;
21
+ emit: (event: "close" | "finish", ...args: any[]) => void;
22
+ dynamicForm: {
23
+ list: {
24
+ label: string;
25
+ key: string;
26
+ value: string;
27
+ }[];
28
+ };
29
+ initForm: () => void;
30
+ handleClear: () => void;
31
+ onFinish: () => void;
32
+ NForm: any;
33
+ NFormItem: any;
34
+ NSpace: any;
35
+ NButton: any;
36
+ NInput: any;
37
+ NScrollbar: any;
38
+ NIcon: any;
39
+ Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
40
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "finish")[], "close" | "finish", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
41
+ configs: {
42
+ type: PropType<Record<string, string>>;
43
+ };
44
+ data: {
45
+ type: PropType<Record<string, string>>;
46
+ };
47
+ }>> & {
48
+ onClose?: ((...args: any[]) => any) | undefined;
49
+ onFinish?: ((...args: any[]) => any) | undefined;
50
+ }, {}>;
51
+ export default _default;
@@ -0,0 +1,100 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ content: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ }, {
7
+ cssVars: import("vue").ComputedRef<import("../../../../shared/types").AnyObject>;
8
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
9
+ content: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ }>> & {}>>;
14
+ NModal: any;
15
+ Recording: import("vue").DefineComponent<{
16
+ content: {
17
+ type: StringConstructor;
18
+ default: string;
19
+ };
20
+ showBtn: {
21
+ type: BooleanConstructor;
22
+ };
23
+ token: {
24
+ type: StringConstructor;
25
+ };
26
+ intentionCode: {
27
+ type: StringConstructor;
28
+ };
29
+ configs: {
30
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
31
+ };
32
+ }, {
33
+ consultationRecordUrl: string;
34
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
35
+ content: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ showBtn: {
40
+ type: BooleanConstructor;
41
+ };
42
+ token: {
43
+ type: StringConstructor;
44
+ };
45
+ intentionCode: {
46
+ type: StringConstructor;
47
+ };
48
+ configs: {
49
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
50
+ };
51
+ }>> & {
52
+ onSuccess?: ((...args: any[]) => any) | undefined;
53
+ onClose?: ((...args: any[]) => any) | undefined;
54
+ onFail?: ((...args: any[]) => any) | undefined;
55
+ onEnd?: ((...args: any[]) => any) | undefined;
56
+ }>>;
57
+ emit: (event: "close" | "success" | "end" | "fail", ...args: any[]) => void;
58
+ loading: import("vue").Ref<boolean>;
59
+ handleKeydown: (event: KeyboardEvent) => void;
60
+ close: () => void;
61
+ toAnalyzing: () => Promise<void>;
62
+ NIcon: any;
63
+ NButton: any;
64
+ NSpin: any;
65
+ Mic: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
66
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "success" | "end" | "fail")[], "close" | "success" | "end" | "fail", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
67
+ content: {
68
+ type: StringConstructor;
69
+ default: string;
70
+ };
71
+ showBtn: {
72
+ type: BooleanConstructor;
73
+ };
74
+ token: {
75
+ type: StringConstructor;
76
+ };
77
+ intentionCode: {
78
+ type: StringConstructor;
79
+ };
80
+ configs: {
81
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
82
+ };
83
+ }>> & {
84
+ onSuccess?: ((...args: any[]) => any) | undefined;
85
+ onClose?: ((...args: any[]) => any) | undefined;
86
+ onFail?: ((...args: any[]) => any) | undefined;
87
+ onEnd?: ((...args: any[]) => any) | undefined;
88
+ }, {
89
+ content: string;
90
+ showBtn: boolean;
91
+ }>;
92
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
93
+ content: {
94
+ type: StringConstructor;
95
+ default: string;
96
+ };
97
+ }>>, {
98
+ content: string;
99
+ }>;
100
+ export default _default;
@@ -0,0 +1 @@
1
+ import r from"./recording-modal.vue2.js";import e from"../../../../_virtual/_plugin-vue_export-helper.js";var o=e(r,[["__file","recording-modal.vue"]]);export{o as default};
@@ -0,0 +1 @@
1
+ import{defineComponent as e,openBlock as o,createBlock as t,unref as s,normalizeStyle as r,withCtx as n,createVNode as i,mergeProps as a}from"vue";import{NModal as m}from"naive-ui";import{useTheme as p}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../../shared/hooks/useScrollLoading.js";import u from"./recording.vue.js";var c=e({__name:"recording-modal",props:{content:{type:String,default:""}},setup(e){const c=p();return(p,d)=>(o(),t(s(m),{style:r(s(c)),"close-on-esc":!1,"mask-closable":!1},{default:n((()=>[i(u,a(p.$attrs,{content:e.content}),null,16,["content"])])),_:1},8,["style"]))}});export{c as default};