cnhis-design-vue 2.1.78 → 2.1.79

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 (588) hide show
  1. package/.prettierrc.js +27 -27
  2. package/CHANGELOG.md +2924 -2903
  3. package/README.md +90 -90
  4. package/commitlint.config.js +1 -1
  5. package/es/affix/index.js +8 -8
  6. package/es/age/index.js +18 -18
  7. package/es/alert/index.js +8 -8
  8. package/es/anchor/index.js +8 -8
  9. package/es/auto-complete/index.js +8 -8
  10. package/es/avatar/index.js +8 -8
  11. package/es/back-top/index.js +8 -8
  12. package/es/badge/index.js +8 -8
  13. package/es/base/index.js +8 -8
  14. package/es/big-table/index.js +311 -311
  15. package/es/breadcrumb/index.js +8 -8
  16. package/es/button/index.js +31 -31
  17. package/es/calendar/index.js +8 -8
  18. package/es/captcha/index.js +7 -7
  19. package/es/card/index.js +8 -8
  20. package/es/carousel/index.js +8 -8
  21. package/es/cascader/index.js +8 -8
  22. package/es/checkbox/index.js +17 -17
  23. package/es/col/index.js +8 -8
  24. package/es/collapse/index.js +8 -8
  25. package/es/color-picker/index.js +5 -5
  26. package/es/comment/index.js +8 -8
  27. package/es/config-provider/index.js +8 -8
  28. package/es/date-picker/index.js +30 -30
  29. package/es/descriptions/index.js +8 -8
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +5 -5
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +1 -1
  36. package/es/empty/index.js +8 -8
  37. package/es/fabric-chart/index.js +45 -45
  38. package/es/form/index.js +8 -8
  39. package/es/form-model/index.js +8 -8
  40. package/es/form-table/index.js +144 -144
  41. package/es/grid/index.js +4 -4
  42. package/es/index/index.js +1260 -1256
  43. package/es/index/style.css +1 -1
  44. package/es/input/index.js +11 -11
  45. package/es/input-number/index.js +8 -8
  46. package/es/keep-cache/index.js +9 -9
  47. package/es/layout/index.js +8 -8
  48. package/es/list/index.js +8 -8
  49. package/es/locale-provider/index.js +8 -8
  50. package/es/map/index.js +13 -13
  51. package/es/mentions/index.js +8 -8
  52. package/es/menu/index.js +8 -8
  53. package/es/message/index.js +8 -8
  54. package/es/multi-chat/index.js +117 -117
  55. package/es/multi-chat-client/index.js +111 -111
  56. package/es/multi-chat-history/index.js +6 -6
  57. package/es/multi-chat-record/index.js +27 -27
  58. package/es/multi-chat-setting/index.js +43 -43
  59. package/es/multi-chat-sip/index.js +1 -1
  60. package/es/notification/index.js +8 -8
  61. package/es/page-header/index.js +8 -8
  62. package/es/pagination/index.js +8 -8
  63. package/es/popconfirm/index.js +8 -8
  64. package/es/popover/index.js +8 -8
  65. package/es/progress/index.js +8 -8
  66. package/es/radio/index.js +17 -17
  67. package/es/rate/index.js +8 -8
  68. package/es/result/index.js +8 -8
  69. package/es/row/index.js +8 -8
  70. package/es/scale-container/index.js +1 -1
  71. package/es/scale-view/index.js +175 -175
  72. package/es/select/index.js +44 -44
  73. package/es/select-label/index.js +50 -50
  74. package/es/select-person/index.js +45 -41
  75. package/es/select-person/style.css +1 -1
  76. package/es/shortcut-setter/index.js +10 -10
  77. package/es/skeleton/index.js +8 -8
  78. package/es/slider/index.js +8 -8
  79. package/es/space/index.js +8 -8
  80. package/es/spin/index.js +8 -8
  81. package/es/statistic/index.js +8 -8
  82. package/es/steps/index.js +8 -8
  83. package/es/switch/index.js +8 -8
  84. package/es/table-filter/index.js +214 -214
  85. package/es/tabs/index.js +8 -8
  86. package/es/tag/index.js +9 -9
  87. package/es/time-picker/index.js +8 -8
  88. package/es/timeline/index.js +8 -8
  89. package/es/tooltip/index.js +8 -8
  90. package/es/transfer/index.js +8 -8
  91. package/es/tree/index.js +8 -8
  92. package/es/tree-select/index.js +8 -8
  93. package/es/upload/index.js +8 -8
  94. package/es/utils/clickoutside.js +7 -7
  95. package/es/utils/kty.min-1.0.0.js +5 -5
  96. package/es/utils/time-domain.js +16 -16
  97. package/es/utils/utils-map.js +32 -32
  98. package/es/utils/vexutils.js +27 -27
  99. package/es/verification-code/index.js +2 -2
  100. package/lib/cui.common.js +21239 -21236
  101. package/lib/cui.umd.js +21239 -21236
  102. package/lib/cui.umd.min.js +29 -29
  103. package/package.json +110 -110
  104. package/packages/affix/index.js +12 -12
  105. package/packages/affix/src/Affix.jsx +12 -12
  106. package/packages/age/index.js +27 -27
  107. package/packages/age/src/age/index.vue +139 -139
  108. package/packages/age/src/age-com/index.vue +209 -209
  109. package/packages/alert/index.js +12 -12
  110. package/packages/alert/src/Alert.jsx +11 -11
  111. package/packages/anchor/index.js +18 -18
  112. package/packages/anchor/src/Anchor.jsx +11 -11
  113. package/packages/anchor/src/Link.jsx +11 -11
  114. package/packages/auto-complete/index.js +12 -12
  115. package/packages/auto-complete/src/AutoComplete.jsx +12 -12
  116. package/packages/avatar/index.js +12 -12
  117. package/packages/avatar/src/Avatar.jsx +11 -11
  118. package/packages/back-top/index.js +12 -12
  119. package/packages/back-top/src/BackTop.jsx +11 -11
  120. package/packages/badge/index.js +12 -12
  121. package/packages/badge/src/Badge.jsx +11 -11
  122. package/packages/base/index.js +3 -3
  123. package/packages/big-table/index.js +16 -16
  124. package/packages/big-table/src/BigTable.vue +3193 -3193
  125. package/packages/big-table/src/Fieldset.vue +2067 -2067
  126. package/packages/big-table/src/assets/iconfont/iconfont.css +21 -21
  127. package/packages/big-table/src/assets/style/table-base.less +387 -387
  128. package/packages/big-table/src/assets/style/table-global.less +175 -175
  129. package/packages/big-table/src/components/AutoLayoutButton.vue +307 -307
  130. package/packages/big-table/src/components/NoData.vue +81 -81
  131. package/packages/big-table/src/components/TextOverTooltip.vue +120 -120
  132. package/packages/big-table/src/components/edit-form/EditForm.vue +509 -509
  133. package/packages/big-table/src/components/edit-form/edit-component/config-data/index.js +68 -68
  134. package/packages/big-table/src/components/edit-form/edit-component/edit-date-picker/edit-date-picker.vue +60 -60
  135. package/packages/big-table/src/components/edit-form/edit-component/edit-digital/edit-digital.vue +54 -54
  136. package/packages/big-table/src/components/edit-form/edit-component/edit-input/edit-input.vue +39 -39
  137. package/packages/big-table/src/components/edit-form/edit-component/edit-input-password/edit-input-password.vue +79 -79
  138. package/packages/big-table/src/components/edit-form/edit-component/edit-month-picker/edit-month-picker.vue +37 -37
  139. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +82 -82
  140. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +95 -95
  141. package/packages/big-table/src/components/edit-form/edit-component/edit-select/edit-select.vue +40 -40
  142. package/packages/big-table/src/components/edit-form/edit-component/edit-select-multiple/edit-select-multiple.vue +55 -55
  143. package/packages/big-table/src/components/edit-form/edit-component/edit-switch/edit-switch.vue +43 -43
  144. package/packages/big-table/src/components/edit-form/edit-component/edit-textarea/edit-textarea.vue +41 -41
  145. package/packages/big-table/src/components/edit-form/edit-component/edit-time-picker/edit-time-picker.vue +40 -40
  146. package/packages/big-table/src/components/edit-form/edit-component/mixins/bound-date.js +3 -3
  147. package/packages/big-table/src/components/edit-form/edit-component/mixins/dateType.js +217 -217
  148. package/packages/big-table/src/components/edit-form/edit-component/mixins/item-default.js +639 -639
  149. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +1247 -1247
  150. package/packages/big-table/src/components/edit-form/edit-component/register-com.js +26 -26
  151. package/packages/big-table/src/components/edit-form/edit-item/form-event.js +80 -80
  152. package/packages/big-table/src/components/edit-form/edit-item/global-props.js +33 -33
  153. package/packages/big-table/src/components/edit-form/edit-item/index.js +4 -4
  154. package/packages/big-table/src/components/edit-form/edit-item/render-methods.js +28 -28
  155. package/packages/big-table/src/components/edit-form/edit-item/validate-rules.js +463 -463
  156. package/packages/big-table/src/components/edit-form/edit-mixins/form-commom.js +673 -673
  157. package/packages/big-table/src/components/edit-form/edit-mixins/index.js +3 -3
  158. package/packages/big-table/src/components/edit-form/edit-utils/index.js +112 -112
  159. package/packages/big-table/src/components/password-com.vue +58 -58
  160. package/packages/big-table/src/components/player-vod/index.vue +57 -57
  161. package/packages/big-table/src/components/player-vod/player.vue +193 -193
  162. package/packages/big-table/src/components/player-vod/video-list.vue +265 -265
  163. package/packages/big-table/src/components/player-vod/video-modal.vue +126 -126
  164. package/packages/big-table/src/utils/CustomPagination.vue +86 -86
  165. package/packages/big-table/src/utils/batchEditing.js +610 -610
  166. package/packages/big-table/src/utils/bigTableProps.js +108 -108
  167. package/packages/big-table/src/utils/eventBroadcast.js +24 -24
  168. package/packages/big-table/src/utils/format.js +557 -557
  169. package/packages/big-table/src/utils/nestTable.js +109 -109
  170. package/packages/big-table/src/utils/tableParse.js +234 -234
  171. package/packages/breadcrumb/index.js +21 -21
  172. package/packages/breadcrumb/src/Breadcrumb.jsx +11 -11
  173. package/packages/breadcrumb/src/BreadcrumbItem.jsx +11 -11
  174. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +11 -11
  175. package/packages/button/index.js +21 -21
  176. package/packages/button/src/Button.jsx +11 -11
  177. package/packages/button/src/ButtonGroup.jsx +11 -11
  178. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +181 -181
  179. package/packages/button/src/ButtonPrint/index.vue +766 -766
  180. package/packages/button/src/ButtonPrint/mixin/his-print.js +95 -95
  181. package/packages/calendar/index.js +12 -12
  182. package/packages/calendar/src/Calendar.jsx +11 -11
  183. package/packages/captcha/index.js +9 -9
  184. package/packages/captcha/src/Captcha.vue +164 -164
  185. package/packages/captcha/src/Index.vue +47 -47
  186. package/packages/captcha/src/SlideVerify.vue +285 -285
  187. package/packages/card/index.js +21 -21
  188. package/packages/card/src/Card.jsx +12 -12
  189. package/packages/card/src/CardGrid.js +7 -7
  190. package/packages/card/src/CardMeta.js +7 -7
  191. package/packages/carousel/index.js +12 -12
  192. package/packages/carousel/src/Carousel.jsx +12 -12
  193. package/packages/cascader/index.js +12 -12
  194. package/packages/cascader/src/Cascader.jsx +11 -11
  195. package/packages/checkbox/index.js +30 -30
  196. package/packages/checkbox/src/Checkbox.jsx +11 -11
  197. package/packages/checkbox/src/CheckboxImg/index.vue +141 -141
  198. package/packages/checkbox/src/Group.jsx +11 -11
  199. package/packages/col/index.js +13 -13
  200. package/packages/col/src/Col.jsx +11 -11
  201. package/packages/collapse/index.js +18 -18
  202. package/packages/collapse/src/Collapse.jsx +11 -11
  203. package/packages/collapse/src/Panel.jsx +11 -11
  204. package/packages/color-picker/index.js +10 -10
  205. package/packages/color-picker/src/color-picker.vue +191 -191
  206. package/packages/color-picker/src/style.less +109 -109
  207. package/packages/comment/index.js +12 -12
  208. package/packages/comment/src/Comment.jsx +11 -11
  209. package/packages/config-provider/index.js +12 -12
  210. package/packages/config-provider/src/ConfigProvider.jsx +11 -11
  211. package/packages/date-picker/index.js +26 -26
  212. package/packages/date-picker/src/DatePicker.jsx +12 -12
  213. package/packages/date-picker/src/MonthPicker.jsx +11 -11
  214. package/packages/date-picker/src/RangePicker.jsx +11 -11
  215. package/packages/date-picker/src/WeekPicker.jsx +11 -11
  216. package/packages/date-picker/src/utils/index.js +374 -374
  217. package/packages/descriptions/index.js +18 -18
  218. package/packages/descriptions/src/Descriptions.jsx +11 -11
  219. package/packages/descriptions/src/Item.jsx +11 -11
  220. package/packages/divider/index.js +12 -12
  221. package/packages/divider/src/Divider.jsx +11 -11
  222. package/packages/drag-layout/DragFormLeftItem.vue +173 -173
  223. package/packages/drag-layout/DragFormRightItem.vue +284 -284
  224. package/packages/drag-layout/I18n-mixins.js +10 -10
  225. package/packages/drag-layout/drag-layout.vue +778 -778
  226. package/packages/drag-layout/index.js +12 -12
  227. package/packages/drawer/index.js +12 -12
  228. package/packages/drawer/src/Drawer.jsx +11 -11
  229. package/packages/dropdown/index.js +12 -12
  230. package/packages/dropdown/src/Dropdown.jsx +11 -11
  231. package/packages/editor/index.js +9 -9
  232. package/packages/ellipsis/index.js +8 -8
  233. package/packages/ellipsis/src/Ellipsis.vue +65 -65
  234. package/packages/empty/index.js +12 -12
  235. package/packages/empty/src/Empty.jsx +11 -11
  236. package/packages/fabric-chart/index.js +9 -9
  237. package/packages/fabric-chart/src/FabricGrid.vue +67 -67
  238. package/packages/fabric-chart/src/components/DropPopup.vue +90 -90
  239. package/packages/fabric-chart/src/components/MouseRightClick.vue +168 -168
  240. package/packages/fabric-chart/src/components/TimeScaleValue.vue +125 -125
  241. package/packages/fabric-chart/src/const/defaultVaule.js +60 -60
  242. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +617 -617
  243. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +1191 -1191
  244. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +139 -139
  245. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +651 -651
  246. package/packages/fabric-chart/src/mixins/fabricCommon.js +81 -81
  247. package/packages/fabric-chart/src/mixins/fabricObject.js +193 -193
  248. package/packages/fabric-chart/src/mixins/type.js +5 -5
  249. package/packages/fabric-chart/src/utils/bus.js +2 -2
  250. package/packages/form/index.js +16 -16
  251. package/packages/form/src/Form.jsx +11 -11
  252. package/packages/form/src/Item.jsx +11 -11
  253. package/packages/form-model/index.js +14 -14
  254. package/packages/form-model/src/FormModel.jsx +11 -11
  255. package/packages/form-model/src/Item.jsx +11 -11
  256. package/packages/form-table/index.js +16 -16
  257. package/packages/form-table/src/FormTable.vue +1110 -1110
  258. package/packages/form-table/src/components/table-component/config-data/index.js +80 -80
  259. package/packages/form-table/src/components/table-component/global-props.js +22 -22
  260. package/packages/form-table/src/components/table-component/index.js +8 -8
  261. package/packages/form-table/src/components/table-component/mixins/bound-date.js +455 -455
  262. package/packages/form-table/src/components/table-component/mixins/dateType.js +217 -217
  263. package/packages/form-table/src/components/table-component/mixins/item-default.js +257 -257
  264. package/packages/form-table/src/components/table-component/mixins/search.js +1242 -1242
  265. package/packages/form-table/src/components/table-component/register-com.js +30 -30
  266. package/packages/form-table/src/components/table-component/table-age/table-age.vue +175 -175
  267. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +87 -87
  268. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +93 -93
  269. package/packages/form-table/src/components/table-component/table-input/table-input.vue +81 -81
  270. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +126 -126
  271. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +55 -55
  272. package/packages/form-table/src/components/table-component/table-search/table-search.vue +174 -174
  273. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +191 -191
  274. package/packages/form-table/src/components/table-component/table-select/table-select.vue +64 -64
  275. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +81 -81
  276. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +76 -76
  277. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +55 -55
  278. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +135 -135
  279. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +97 -97
  280. package/packages/form-table/src/components/table-item/form-event.js +81 -81
  281. package/packages/form-table/src/components/table-item/global-props.js +27 -27
  282. package/packages/form-table/src/components/table-item/index.js +4 -4
  283. package/packages/form-table/src/components/table-item/render-methods.js +28 -28
  284. package/packages/form-table/src/components/table-item/validate-rules.js +520 -520
  285. package/packages/form-table/src/components/table-mixins/form-commom.js +98 -98
  286. package/packages/form-table/src/components/table-mixins/index.js +3 -3
  287. package/packages/form-table/src/components/table-utils/index.js +112 -112
  288. package/packages/form-table/src/disabledDetail.less +46 -46
  289. package/packages/grid/index.js +10 -10
  290. package/packages/grid/src/grid.js +28 -28
  291. package/packages/icon/index.js +10 -10
  292. package/packages/icon/src/icon.js +13 -13
  293. package/packages/index.js +313 -313
  294. package/packages/input/index.js +30 -30
  295. package/packages/input/src/Group.jsx +11 -11
  296. package/packages/input/src/Input.jsx +11 -11
  297. package/packages/input/src/Password.jsx +11 -11
  298. package/packages/input/src/Search.jsx +11 -11
  299. package/packages/input/src/TextArea.jsx +11 -11
  300. package/packages/input/src/input-quick/components/quick-item.vue +284 -284
  301. package/packages/input/src/input-quick/components/quick-popover.vue +596 -596
  302. package/packages/input/src/input-quick/index.vue +137 -137
  303. package/packages/input-number/index.js +12 -12
  304. package/packages/input-number/src/InputNumber.jsx +11 -11
  305. package/packages/keep-cache/KeepCache.js +236 -236
  306. package/packages/keep-cache/index.css +2 -2
  307. package/packages/keep-cache/index.js +8 -8
  308. package/packages/layout/index.js +27 -27
  309. package/packages/layout/src/Content.jsx +11 -11
  310. package/packages/layout/src/Footer.jsx +11 -11
  311. package/packages/layout/src/Header.jsx +11 -11
  312. package/packages/layout/src/Layout.jsx +11 -11
  313. package/packages/layout/src/Sider.jsx +11 -11
  314. package/packages/list/index.js +21 -21
  315. package/packages/list/src/Item.jsx +11 -11
  316. package/packages/list/src/ItemMeta.jsx +11 -11
  317. package/packages/list/src/List.jsx +11 -11
  318. package/packages/locale-provider/index.js +12 -12
  319. package/packages/locale-provider/src/LocaleProvider.jsx +11 -11
  320. package/packages/map/index.js +9 -9
  321. package/packages/map/src/Map.vue +484 -484
  322. package/packages/map/src/popup-map.vue +53 -53
  323. package/packages/mentions/index.js +18 -18
  324. package/packages/mentions/src/Mentions.jsx +11 -11
  325. package/packages/mentions/src/Option.jsx +11 -11
  326. package/packages/menu/index.js +27 -27
  327. package/packages/menu/src/Divider.jsx +11 -11
  328. package/packages/menu/src/Item.jsx +11 -11
  329. package/packages/menu/src/ItemGroup.jsx +11 -11
  330. package/packages/menu/src/Menu.jsx +11 -11
  331. package/packages/menu/src/SubMenu.jsx +11 -11
  332. package/packages/message/index.js +8 -8
  333. package/packages/modal/index.js +10 -10
  334. package/packages/modal/src/Modal.js +7 -7
  335. package/packages/multi-chat/chat/addConference.vue +200 -200
  336. package/packages/multi-chat/chat/addMembers.vue +411 -411
  337. package/packages/multi-chat/chat/advancedFilter.vue +372 -372
  338. package/packages/multi-chat/chat/calling.vue +246 -246
  339. package/packages/multi-chat/chat/chatFooter.vue +1647 -1647
  340. package/packages/multi-chat/chat/chatHistory.vue +605 -605
  341. package/packages/multi-chat/chat/chatMain.vue +1490 -1490
  342. package/packages/multi-chat/chat/client/index.vue +149 -149
  343. package/packages/multi-chat/chat/delay.vue +177 -177
  344. package/packages/multi-chat/chat/evaluate.vue +343 -343
  345. package/packages/multi-chat/chat/messageRecord.vue +324 -324
  346. package/packages/multi-chat/chat/mixins/NoData.js +20 -20
  347. package/packages/multi-chat/chat/mixins/base.js +97 -97
  348. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +80 -80
  349. package/packages/multi-chat/chat/mixins/viewerOptions.js +67 -67
  350. package/packages/multi-chat/chat/quickReply.vue +439 -439
  351. package/packages/multi-chat/chat/robot/index.vue +312 -312
  352. package/packages/multi-chat/chat/scrollList.vue +1259 -1259
  353. package/packages/multi-chat/chat/videoVoiceList.vue +348 -348
  354. package/packages/multi-chat/chat/voice.vue +431 -431
  355. package/packages/multi-chat/components/avatar.vue +113 -113
  356. package/packages/multi-chat/components/chat-tabs-header.vue +251 -251
  357. package/packages/multi-chat/components/classify-tabs.vue +185 -185
  358. package/packages/multi-chat/components/empty.vue +24 -24
  359. package/packages/multi-chat/components/modal-refuse-reason.vue +112 -112
  360. package/packages/multi-chat/components/modal-sip.vue +160 -160
  361. package/packages/multi-chat/components/modal-user-transfer.vue +98 -98
  362. package/packages/multi-chat/components/msg-describe.vue +138 -138
  363. package/packages/multi-chat/components/msg-picture.vue +68 -68
  364. package/packages/multi-chat/components/msg-prescription.vue +205 -205
  365. package/packages/multi-chat/components/read-record.vue +133 -133
  366. package/packages/multi-chat/components/read-status.vue +34 -34
  367. package/packages/multi-chat/components/user-status.vue +198 -198
  368. package/packages/multi-chat/components/vuecmf-dialog.vue +322 -322
  369. package/packages/multi-chat/index.js +7 -7
  370. package/packages/multi-chat/setting/authority/index.vue +156 -156
  371. package/packages/multi-chat/setting/authority/roleSetting.vue +204 -204
  372. package/packages/multi-chat/setting/baseInfo/index.vue +1343 -1343
  373. package/packages/multi-chat/setting/customerService/batchSelect.vue +403 -403
  374. package/packages/multi-chat/setting/customerService/index.vue +273 -273
  375. package/packages/multi-chat/setting/event/edit/condition.vue +128 -128
  376. package/packages/multi-chat/setting/event/edit/index.vue +437 -437
  377. package/packages/multi-chat/setting/event/edit/notice.vue +129 -129
  378. package/packages/multi-chat/setting/event/edit/strategy.vue +98 -98
  379. package/packages/multi-chat/setting/event/index.vue +249 -249
  380. package/packages/multi-chat/setting/index.vue +269 -269
  381. package/packages/multi-chat/setting/page.vue +14 -14
  382. package/packages/multi-chat/setting/sessionList/index.vue +412 -412
  383. package/packages/multi-chat/setting/sessionList/messageRecord.vue +372 -372
  384. package/packages/multi-chat/setting/userConfig/index.vue +124 -124
  385. package/packages/multi-chat/setting/worktime/index.vue +274 -274
  386. package/packages/multi-chat/store/actions.js +452 -452
  387. package/packages/multi-chat/store/getters.js +380 -380
  388. package/packages/multi-chat/store/helper.js +66 -66
  389. package/packages/multi-chat/store/index.js +50 -50
  390. package/packages/multi-chat/store/mutation.js +305 -305
  391. package/packages/multi-chat/store/state.js +120 -120
  392. package/packages/multi-chat/style/emoji.css +315 -315
  393. package/packages/multi-chat/style/message.mixin.less +38 -38
  394. package/packages/multi-chat/utils/chatSock.js +93 -93
  395. package/packages/multi-chat/utils/compressImage.js +115 -115
  396. package/packages/multi-chat/utils/emoji.json +68 -68
  397. package/packages/multi-chat/utils/index.js +259 -259
  398. package/packages/multi-chat/utils/observer-scroll.js +49 -49
  399. package/packages/multi-chat/utils/panelsetting.js +48 -48
  400. package/packages/multi-chat-client/index.js +7 -7
  401. package/packages/multi-chat-history/index.js +7 -7
  402. package/packages/multi-chat-record/index.js +7 -7
  403. package/packages/multi-chat-setting/index.js +7 -7
  404. package/packages/multi-chat-sip/index.js +6 -6
  405. package/packages/notification/index.js +8 -8
  406. package/packages/page-header/index.js +12 -12
  407. package/packages/page-header/src/PageHeader.jsx +11 -11
  408. package/packages/pagination/index.js +12 -12
  409. package/packages/pagination/src/Pagination.jsx +11 -11
  410. package/packages/popconfirm/index.js +12 -12
  411. package/packages/popconfirm/src/Popconfirm.jsx +11 -11
  412. package/packages/popover/index.js +12 -12
  413. package/packages/popover/src/Popover.jsx +11 -11
  414. package/packages/progress/index.js +12 -12
  415. package/packages/progress/src/Progress.jsx +11 -11
  416. package/packages/radio/index.js +33 -33
  417. package/packages/radio/src/Group.jsx +11 -11
  418. package/packages/radio/src/Radio.jsx +11 -11
  419. package/packages/radio/src/RadioButton.jsx +11 -11
  420. package/packages/radio/src/RadioImg/index.vue +124 -124
  421. package/packages/rate/index.js +12 -12
  422. package/packages/rate/src/Rate.jsx +11 -11
  423. package/packages/result/index.js +12 -12
  424. package/packages/result/src/Result.jsx +11 -11
  425. package/packages/row/index.js +12 -12
  426. package/packages/row/src/Row.jsx +11 -11
  427. package/packages/scale-container/index.js +8 -8
  428. package/packages/scale-container/src/ScaleContainer.vue +197 -197
  429. package/packages/scale-view/NoData.vue +81 -81
  430. package/packages/scale-view/answerParse.vue +133 -133
  431. package/packages/scale-view/customList.vue +801 -801
  432. package/packages/scale-view/data.js +80 -80
  433. package/packages/scale-view/evaluateCountdown.vue +155 -155
  434. package/packages/scale-view/evaluatePage.vue +202 -202
  435. package/packages/scale-view/formitem/data.js +3991 -3991
  436. package/packages/scale-view/formitem/index.js +7 -7
  437. package/packages/scale-view/formitem/r-address.vue +245 -245
  438. package/packages/scale-view/formitem/r-choice.vue +746 -746
  439. package/packages/scale-view/formitem/r-input.vue +93 -93
  440. package/packages/scale-view/formitem/r-prompt.vue +52 -52
  441. package/packages/scale-view/formitem/r-sign.vue +218 -218
  442. package/packages/scale-view/formitem/r-time.vue +285 -285
  443. package/packages/scale-view/formitem/r-upload-custom-list.vue +242 -242
  444. package/packages/scale-view/formitem/r-upload.vue +287 -287
  445. package/packages/scale-view/formitem/sign-com.vue +316 -316
  446. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +98 -98
  447. package/packages/scale-view/index.js +17 -17
  448. package/packages/scale-view/mixin/NoData.js +38 -38
  449. package/packages/scale-view/mixin/addressVal.js +156 -156
  450. package/packages/scale-view/mixin/evaluate.js +146 -146
  451. package/packages/scale-view/mixin/index.js +337 -337
  452. package/packages/scale-view/mixin/judgeTypes.js +267 -267
  453. package/packages/scale-view/scaleView.vue +2017 -2017
  454. package/packages/select/index.js +27 -27
  455. package/packages/select/src/CustomSelect/index.vue +130 -130
  456. package/packages/select/src/OptGroup.jsx +11 -11
  457. package/packages/select/src/Option.jsx +11 -11
  458. package/packages/select/src/Select/Select.vue +231 -231
  459. package/packages/select/src/Select/index.js +12 -12
  460. package/packages/select/src/TableSelect/index.vue +514 -514
  461. package/packages/select-label/index.js +14 -14
  462. package/packages/select-label/label-classify.vue +129 -129
  463. package/packages/select-label/labelFormContent.vue +787 -787
  464. package/packages/select-label/select-label.vue +581 -581
  465. package/packages/select-person/index.js +10 -10
  466. package/packages/select-person/search-tree.vue +373 -373
  467. package/packages/select-person/select-person.vue +1703 -1696
  468. package/packages/shortcut-setter/index.js +12 -12
  469. package/packages/shortcut-setter/src/ShortcutSetter.vue +55 -55
  470. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +85 -85
  471. package/packages/shortcut-setter/src/utils/index.js +63 -63
  472. package/packages/skeleton/index.js +12 -12
  473. package/packages/skeleton/src/Skeleton.jsx +11 -11
  474. package/packages/slider/index.js +12 -12
  475. package/packages/slider/src/Slider.jsx +11 -11
  476. package/packages/space/index.js +12 -12
  477. package/packages/space/src/Space.jsx +11 -11
  478. package/packages/spin/index.js +12 -12
  479. package/packages/spin/src/Spin.jsx +11 -11
  480. package/packages/statistic/index.js +18 -18
  481. package/packages/statistic/src/Countdown.jsx +11 -11
  482. package/packages/statistic/src/Statistic.jsx +11 -11
  483. package/packages/steps/index.js +18 -18
  484. package/packages/steps/src/Step.jsx +11 -11
  485. package/packages/steps/src/Steps.jsx +11 -11
  486. package/packages/switch/index.js +12 -12
  487. package/packages/switch/src/Switch.jsx +11 -11
  488. package/packages/table-filter/index.js +27 -27
  489. package/packages/table-filter/src/base-search-com/BaseSearch.vue +2630 -2630
  490. package/packages/table-filter/src/classification/Classification-com.vue +1760 -1760
  491. package/packages/table-filter/src/classification/search-class-name.vue +266 -266
  492. package/packages/table-filter/src/classification/search-professional-model.vue +680 -680
  493. package/packages/table-filter/src/components/TextOverTooltip.vue +107 -107
  494. package/packages/table-filter/src/components/age-com/index.vue +205 -205
  495. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +162 -162
  496. package/packages/table-filter/src/components/button-icon/button-icon.js +33 -33
  497. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +34 -34
  498. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +336 -336
  499. package/packages/table-filter/src/components/drop-button/drop-button.vue +224 -224
  500. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +33 -33
  501. package/packages/table-filter/src/components/drop-view/drop-view.vue +89 -89
  502. package/packages/table-filter/src/components/multi-select/multi-select.vue +236 -236
  503. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +346 -346
  504. package/packages/table-filter/src/components/range-age/index.vue +172 -172
  505. package/packages/table-filter/src/components/render-widget/components/CheckboxGroup.vue +51 -51
  506. package/packages/table-filter/src/components/render-widget/components/Select.vue +50 -50
  507. package/packages/table-filter/src/components/render-widget/components/index.js +7 -7
  508. package/packages/table-filter/src/components/render-widget/enums.js +28 -28
  509. package/packages/table-filter/src/components/render-widget/index.vue +91 -91
  510. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +139 -139
  511. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +1907 -1907
  512. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +169 -169
  513. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +278 -278
  514. package/packages/table-filter/src/components/search-modal/set-classification.vue +336 -336
  515. package/packages/table-filter/src/components/table-modal/TableModal.vue +477 -477
  516. package/packages/table-filter/src/const/dataOptions.js +43 -43
  517. package/packages/table-filter/src/const/index.js +1 -1
  518. package/packages/table-filter/src/index.vue +584 -584
  519. package/packages/table-filter/src/mixins/mixins.js +714 -714
  520. package/packages/table-filter/src/mixins/renderWidget.js +88 -88
  521. package/packages/table-filter/src/mixins/tableSearchCon.js +128 -128
  522. package/packages/table-filter/src/mixins/wordBookutils.js +113 -113
  523. package/packages/table-filter/src/quick-search/QuickSearch.vue +2167 -2167
  524. package/packages/tabs/index.js +18 -18
  525. package/packages/tabs/src/TabPane.jsx +11 -11
  526. package/packages/tabs/src/Tabs.jsx +11 -11
  527. package/packages/tag/index.js +21 -21
  528. package/packages/tag/src/CheckableTag.jsx +11 -11
  529. package/packages/tag/src/Tag.jsx +11 -11
  530. package/packages/tag/src/TagGroup.vue +621 -621
  531. package/packages/time-picker/index.js +12 -12
  532. package/packages/time-picker/src/TimePicker.jsx +11 -11
  533. package/packages/timeline/index.js +14 -14
  534. package/packages/timeline/src/Item.jsx +11 -11
  535. package/packages/timeline/src/Timeline.jsx +11 -11
  536. package/packages/tooltip/index.js +12 -12
  537. package/packages/tooltip/src/Tooltip.jsx +11 -11
  538. package/packages/transfer/index.js +12 -12
  539. package/packages/transfer/src/Transfer.jsx +11 -11
  540. package/packages/tree/index.js +18 -18
  541. package/packages/tree/src/Tree.jsx +11 -11
  542. package/packages/tree/src/TreeNode.jsx +11 -11
  543. package/packages/tree-select/index.js +18 -18
  544. package/packages/tree-select/src/TreeNode.jsx +11 -11
  545. package/packages/tree-select/src/TreeSelect.jsx +11 -11
  546. package/packages/upload/chunk-upload/chunk-upload-new.vue +1001 -1001
  547. package/packages/upload/chunk-upload/vod-chunk-upload.vue +749 -749
  548. package/packages/upload/chunk-upload/vod-upload-modal.vue +100 -100
  549. package/packages/upload/index.js +12 -12
  550. package/packages/upload/src/Upload.jsx +11 -11
  551. package/packages/verification-code/SlideVerify.vue +306 -306
  552. package/packages/verification-code/index.js +17 -17
  553. package/packages/verification-code/verification-code.vue +147 -147
  554. package/src/component/player-vod/index.vue +57 -57
  555. package/src/component/player-vod/player.vue +192 -192
  556. package/src/component/player-vod/video-list.vue +262 -262
  557. package/src/component/player-vod/video-modal.vue +128 -128
  558. package/src/component/select-options/index.vue +430 -430
  559. package/src/component/select-pages/index.vue +95 -95
  560. package/src/component/svg/index.vue +59 -59
  561. package/src/core/create.js +6 -6
  562. package/src/core/event.js +23 -23
  563. package/src/core/table-methods.js +444 -444
  564. package/src/directive/flexibleResize.js +151 -151
  565. package/src/directive/preventReClick.js +12 -12
  566. package/src/directive/scroll.js +230 -230
  567. package/src/global/variable.js +2 -2
  568. package/src/style/normalize.css +424 -424
  569. package/src/style/style.less +49 -49
  570. package/src/utils/UniRTCv2.js +626 -626
  571. package/src/utils/chatFetch.js +61 -61
  572. package/src/utils/clickoutside.js +75 -75
  573. package/src/utils/crypto.js +25 -25
  574. package/src/utils/index.js +81 -81
  575. package/src/utils/kty-sdk.js +582 -582
  576. package/src/utils/kty.min-1.0.0.js +14378 -14378
  577. package/src/utils/sip-device.js +79 -79
  578. package/src/utils/time-domain.js +249 -249
  579. package/src/utils/trtc.js +1 -1
  580. package/src/utils/utils-map.js +485 -485
  581. package/src/utils/vexutils.js +836 -836
  582. package/.idea/cnhis-design-vue.iml +0 -12
  583. package/.idea/codeStyles/Project.xml +0 -57
  584. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  585. package/.idea/git_toolbox_prj.xml +0 -15
  586. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  587. package/.idea/modules.xml +0 -8
  588. package/.idea/vcs.xml +0 -6
@@ -1,627 +1,627 @@
1
- import io from 'socket.io-client';
2
- import fetch, { qs } from './chatFetch';
3
- import vexutils from '../utils/vexutils';
4
-
5
- function UniRTCObject(appId, tokenProvider, vueSelf) {
6
-
7
- if (appId == null || appId == '') {
8
- console.error('参数appId必填');
9
- alert('参数appId必填');
10
- return null;
11
- }
12
-
13
- if (tokenProvider == null || typeof tokenProvider != 'function') {
14
- console.error('参数tokenProvider必填,且是function类型');
15
- // alert('参数tokenProvider必填,且是function类型');
16
- return null;
17
- }
18
-
19
- // *********************私有变量******************//
20
- var _this = this;
21
- var _socket = null;
22
- var _coming = new HashMapObject();
23
- var _outing = new HashMapObject();
24
- var _tokenProvider = tokenProvider;
25
- var _cookieName = 'XKDeviceToken';
26
-
27
- // *********************成员变量******************//
28
- this.appId = appId;
29
- this.appSign = null;
30
- this.deviceToken = null;
31
- this.clientType = '1';
32
- this.client = null;
33
- this.localStream = null;
34
- this.vueSelf = vueSelf;
35
- // ***********************API*********************//
36
-
37
- // 我方接听API
38
- this.acceptCall = function(incoming) {
39
- console.log('我方接听');
40
- incoming.acceptCall();
41
- };
42
-
43
- // 我方拒接API
44
- this.refuseCall = function(incoming) {
45
- console.log('我方拒接');
46
- incoming.refuseCall();
47
- };
48
-
49
- // 我方呼出API
50
- this.startCall = function(targetDeviceToken, message, brand, hostConfig,
51
- guestConfig) {
52
- console.log('我方呼出');
53
- // 校验参数
54
- var valid = true;
55
- if (_this.deviceToken == null || _this.deviceToken == '') {
56
- alert("无法获取本机DeviceToken");
57
- valid = false;
58
- }
59
- if (targetDeviceToken == null || targetDeviceToken == '') {
60
- alert("参数targetDeviceTokenk必填");
61
- valid = false;
62
- }
63
- if (message == null) {
64
- message = '';
65
- }
66
-
67
- if (brand == null || brand == '') {
68
- alert("参数brand必填,可选项:tencent");
69
- valid = false;
70
- }
71
- if (hostConfig == null || hostConfig == '') {
72
- alert("参数hostConfig必填");
73
- valid = false;
74
- }
75
- if (guestConfig == null || guestConfig == '') {
76
- alert("参数guestConfig必填");
77
- valid = false;
78
- }
79
- if (!valid) {
80
- console.warn("终止呼叫,请修改上述错误");
81
- return;
82
- }
83
-
84
- // 开始呼叫
85
- var appId = this.appId;
86
- var source = this.deviceToken;
87
- var target = targetDeviceToken
88
- // var hostConfig = hostConfig;
89
- // var guestConfig = guestConfig;
90
- var timeout = 30000;
91
-
92
- var outing = new OutingCallObject(appId, source, target, brand,
93
- hostConfig, guestConfig, message, timeout);
94
- _outing.put(target, outing);
95
-
96
- outing.startCall();
97
-
98
- this.onCallStarted(outing);
99
-
100
- return outing;
101
- };
102
-
103
- // 我方挂断API
104
- this.stopCall = function(outing) {
105
- console.log('我方挂断' + JSON.stringify(outing));
106
- if (outing == null) {
107
- return;
108
- }
109
- _outing.remove(outing.target);
110
- outing.finishCall();
111
- this.onCallStoped(outing);
112
- };
113
-
114
- // 检查状态
115
- this.checkStatus = function(deviceTokens) {
116
- var msg = {};
117
- msg.appId = this.appId;
118
- msg.deviceArray = [];
119
- for (var i = 0; i < deviceTokens.length; i++) {
120
- var obj = {};
121
- obj.deviceToken = deviceTokens[i];
122
- msg.deviceArray.push(obj);
123
- }
124
- console.log('设备参数', msg);
125
- _socket.emit('onlineStatusQuery', JSON.stringify(msg));
126
- console.log('检查设备状态[' + JSON.stringify(msg) + ']');
127
- }
128
-
129
- // 会议挂断API
130
- this.hangUp = function(targetDeviceToken, brand, message){
131
- var msg = {};
132
- msg.appId = _this.appId;
133
- msg.deviceToken = _this.deviceToken;
134
- msg.targetDeviceToken = targetDeviceToken;
135
- msg.brand = brand;
136
- msg.message = message;
137
- console.log('发送videoHangUp事件');
138
- _socket.emit('videoHangUp', JSON.stringify(msg));
139
- console.log('进行挂断[' + JSON.stringify(msg) + ']');
140
- }
141
-
142
- // *********************回调函数******************//
143
-
144
- // 登录成功callback
145
- this.onLogined = function() {
146
- }
147
-
148
- // 呼入进来callback
149
- this.onCallComing = function(incoming) {
150
- console.log('呼入进来callback', incoming);
151
- };
152
-
153
- // 通话就绪callback
154
- this.onCallReady = function(incoming) {
155
- console.log('通话就绪callback', incoming);
156
- };
157
-
158
- // 开始呼叫callback
159
- this.onCallStarted = function(outing) {
160
- console.log('开始呼叫callback', outing);
161
- };
162
-
163
- // 停止呼叫callback
164
- this.onCallStoped = function(outing) {
165
- console.log('停止呼叫callback', outing);
166
- };
167
-
168
- // 呼出反馈callback
169
- this.onCallReplied = function(outing) {
170
- console.log('呼出反馈callback', outing);
171
- };
172
-
173
- // 呼出被接callback
174
- this.onCallAccepted = function(outing) {
175
- console.log('呼出被接callback', outing);
176
- // let videoData = {
177
- // ...outing.guestConfig.videoData,
178
- // inviteResult: 1
179
- // }
180
- // this.vueSelf.subscribeAcceptedJST(videoData)
181
- };
182
-
183
- // 呼出被拒callback
184
- this.onCallRefused = function(outing) {
185
- console.log('呼出被拒callback', outing);
186
- };
187
-
188
- // 呼出超时callback
189
- this.onCallTimeout = function(outing) {
190
- console.log('呼出超时callback', outing);
191
- };
192
-
193
- // 设备状态检查
194
- this.onStatusChecked = function(stat) {
195
- console.log('设备状态检查', stat);
196
- let index = stat.findIndex(item => item.status == '0')
197
- let outtings =[]
198
- outtings.push(...stat)
199
- let targetInfo = _this.vueSelf.targetInfo
200
- if (index != -1) {
201
- if (_this.vueSelf.callTimer) {
202
- clearInterval(_this.vueSelf.callTimer)
203
- _this.vueSelf.setCallTimer(null)
204
- }
205
- _this.vueSelf.setCallerStatus('在线')
206
- _this.startCall(stat[index].deviceToken, '腾讯视频', 'tencent', {
207
- sdkAppId: Number(_this.vueSelf.sdkInfo.sdkAppId),
208
- userId: _this.vueSelf.isServer ? _this.vueSelf.serviceId : _this.vueSelf.clientId,
209
- userSig: _this.vueSelf.videoData.token,
210
- roomId: Number(_this.vueSelf.roomId),
211
- videoData: _this.vueSelf.videoData
212
- }, {
213
- sdkAppId: Number(_this.vueSelf.sdkInfo.sdkAppId),
214
- userId: targetInfo.username,
215
- userSig: targetInfo.token,
216
- roomId: Number(_this.vueSelf.videoData.roomId),
217
- videoData: _this.vueSelf.videoData
218
- // privateMapKey
219
- })
220
- _this.vueSelf.setOuting( outtings)
221
- } else {
222
- _this.vueSelf.setCallerStatus('离线')
223
- _this.vueSelf.sendVideoCall()
224
- }
225
- }
226
-
227
- // 会议挂断callback
228
- this.onHangup = function() {
229
- console.log('会议挂断callback');
230
- }
231
-
232
- this.reconnect = function() {
233
- _socket = null;
234
- // 一秒钟后重连
235
- setTimeout(function () {
236
- console.log("又一次连接...");
237
- _connect();
238
- console.log("连接成功...");
239
- }, 1000);
240
- }
241
-
242
- // ***********************私有函数(处理消息)*********************//
243
-
244
- // 初始化API
245
- function _initialize() {
246
- _connect();
247
- }
248
-
249
- function _connect() {
250
- // 创建链接
251
- _socket = io.connect('https://video.jsehealth.com:9999'); // 生产环境
252
- // _socket = io.connect('https://t.jsehealth.com:9997'); // 测试环境
253
- // _socket = io.connect('http://127.0.0.1:9090');
254
- // _socket = io.connect("https://dli.xikang.com:9999");
255
- // 注册事件处理函数
256
- _socket.on('connect', function() {
257
- _onDeviceConnected();
258
- _socket.on('registerReturn', _onDeviceRegistered);
259
- _socket.on('deviceLoginReturn', _onDeviceLogined);
260
- _socket.on('videoCallNotification', _onCallComing);
261
- _socket.on('videoCallReturn', _onCallReplied);
262
- _socket.on('videoInfoNotification', _onCallReady);
263
- _socket.on('onlineStatusReturn', _onStatusChecked);
264
- _socket.on('videoHangUp', _onHangUpMeeting);
265
- _socket.on('hangUpReturn', _onHangUpReplied);
266
- });
267
- }
268
-
269
- // 设备注册
270
- function _register() {
271
- var msg = {};
272
- msg.appId = _this.appId;
273
- msg.clientType = _this.clientType;
274
- _socket.emit('registerEvent', JSON.stringify(msg));
275
- console.log('进行设备注册[' + JSON.stringify(msg) + ']');
276
- }
277
-
278
- // 设备登录API
279
- function _login() {
280
- var msg = {};
281
- msg.appId = _this.appId;
282
- msg.clientType = _this.clientType;
283
- msg.deviceToken = _this.deviceToken;
284
- msg.sign = _this.appSign;
285
- _socket.emit('deviceLoginEvent', JSON.stringify(msg));
286
- console.log('进行设备登录[' + JSON.stringify(msg) + ']');
287
- }
288
-
289
- // 设备连接handler
290
- function _onDeviceConnected() {
291
- console.log('设备连接成功');
292
- // 注册
293
- var deviceToken = _getCookie(_cookieName);
294
- console.log('DeviceToken In Cookie : ' + deviceToken);
295
- if (deviceToken != null) {
296
- _this.deviceToken = deviceToken;
297
- // _this.appSign = _tokenProvider();
298
- _tokenProvider().then(res => {
299
- _this.appSign = res;
300
- console.log('appSign=>设备连接handler', res);
301
- _login();
302
- });
303
- } else {
304
- _register();
305
- }
306
- }
307
-
308
- // 设备注册handler
309
- function _onDeviceRegistered(msg) {
310
- var data = JSON.parse(msg);
311
- // 如果注册成功
312
- if (data.code == '0') {
313
- console.log('设备注册成功[' + msg + ']');
314
- // 写入cookie
315
- _setCookie(_cookieName, data.deviceToken, 30);
316
- // 记录deviceToken
317
- _this.deviceToken = data.deviceToken;
318
- // _this.appSign = _tokenProvider();
319
- _tokenProvider().then(res => {
320
- _this.appSign = res;
321
- console.log('appSign=>设备注册handler', res);
322
- _login();
323
- });
324
- } else {
325
- console.error('设备注册失败[' + msg + ']');
326
- alert('设备注册失败\n' + msg);
327
- }
328
- }
329
-
330
- // 设备登录handler
331
- function _onDeviceLogined(msg) {
332
- var data = JSON.parse(msg);
333
- // 如果注册成功
334
- if (data.code == '0') {
335
- console.log('设备登录成功[' + msg + ']');
336
- _this.onLogined();
337
- } else if (data.code == '2007') {
338
- _register();
339
- } else {
340
- console.error('设备登录失败[' + msg + ']');
341
- // alert('设备登录失败\n' + msg);
342
- }
343
- }
344
- const customerConfirmDebounce = vexutils.debounce(customerConfirm, 2000);
345
- // 对方接听/拒绝接听回调
346
- function customerConfirm(vuePage, accept) {
347
- let curScrollParam = vuePage.getRefuseParam();
348
- const videoData = vuePage.videoData;
349
- const params = {
350
- assemblyId: curScrollParam.assemblyId,
351
- orgId: curScrollParam.orgId,
352
- userId: curScrollParam.userId,
353
- sessionId: videoData.sessionId,
354
- recordId: videoData.recordId,
355
- inviteResult: accept ? 1 : 0,
356
- isExpire: ''
357
- };
358
- fetch.post('/chat/access/videoInviteEnter', qs.stringify(params)).then(({ data }) => {
359
- if (data.result === 'SUCCESS') {
360
- vuePage.$message.info(accept ? '接入成功' : '对方拒绝接听');
361
- }
362
- });
363
- }
364
- // 呼出反馈handler
365
- function _onCallReplied(msg) {
366
- console.log('对方反馈[' + msg + ']');
367
- var data = JSON.parse(msg);
368
- var target, outing;
369
-
370
- // 如果对方接听,就向对方发送视频配置
371
- if (data.code == '0') {
372
- // 接听调用接口
373
- customerConfirmDebounce(_this.vueSelf, true)
374
- target = data.deviceToken;
375
- outing = _outing.get(target);
376
- if (outing == null) {
377
- return;
378
- }
379
- outing.finishCall();
380
- var notify = {};
381
- notify.appId = outing.appId;
382
- notify.deviceToken = outing.source;
383
- notify.targetDeviceToken = outing.target;
384
- notify.brand = outing.brand;
385
- notify.rtcInitParam = outing.guestConfig;
386
- _socket.emit('videoInfoNotification', JSON.stringify(notify));
387
- console.log('发送视频配置' + JSON.stringify(notify));
388
- _this.onCallAccepted(outing);
389
- } else if (data.code.substring(0, 1) == '1') {
390
- console.error(msg);
391
- // alert(data.msg);
392
- } else if (data.code === '3001') {
393
- console.log('错误号:'+data.code+'====>错误编码:'+data.msg);
394
- customerConfirmDebounce(_this.vueSelf, false);
395
- target = data.deviceToken;
396
- outing = _outing.get(target);
397
- _this.stopCall(outing);
398
- _this.onCallRefused(outing);
399
- } else {
400
- console.log('错误号:'+data.code+'====>错误编码:'+data.msg);
401
- target = data.deviceToken;
402
- outing = _outing.get(target);
403
- _this.stopCall(outing);
404
- _this.onCallRefused(outing);
405
- }
406
- }
407
-
408
- function _onHangUpReplied(msg) {
409
- console.log('通知挂断后,呼叫中心反馈信息[' + msg + ']');
410
- }
411
-
412
- // 对方呼入handler
413
- function _onCallComing(msg) {
414
- console.log('对方呼入[' + msg + ']');
415
- var data = JSON.parse(msg);
416
- var appId = data.appId;
417
- var source = data.deviceToken;
418
- var target = data.targetDeviceToken;
419
- var brand = data.brand;
420
- var message = data.message;
421
- var incoming = new IncomingCallObject(appId, source, target, brand,
422
- message);
423
- _coming.put(source, incoming);
424
- _this.onCallComing(incoming);
425
- }
426
-
427
- // 视频就绪handler
428
- function _onCallReady(msg) {
429
- console.log('视频就绪[' + msg + ']');
430
- var data = JSON.parse(msg);
431
- var source = data.deviceToken;
432
- var incoming = _coming.get(source);
433
- incoming.config = data.rtcInitParam;
434
- _this.onCallReady(incoming);
435
- }
436
-
437
- // 呼出超时handler
438
- function _onCallTimeout(outing) {
439
- console.log('呼出超时[' + outing.timeout + 'ms]');
440
- _this.onCallTimeout(outing);
441
- }
442
-
443
- // 状态检查handler
444
- function _onStatusChecked(msg) {
445
- console.log('在线状态[' + msg + ']');
446
- var data = JSON.parse(msg);
447
- if (data.code == '0') {
448
- _this.onStatusChecked(JSON.parse(data.deviceArray));
449
- }
450
- }
451
-
452
-
453
- // 状态检查handler
454
- function _onHangUpMeeting(msg) {
455
- console.log('视频完成对方已挂断[' + msg + ']');
456
- _this.onHangup();
457
- }
458
-
459
- // 获取cookie
460
- function _getCookie(cookieName) {
461
- if (document.cookie.length > 0) {
462
- var startIndex = document.cookie.indexOf(cookieName + "=");
463
- if (startIndex != -1) {
464
- startIndex = startIndex + cookieName.length + 1;
465
- var endIndex = document.cookie.indexOf(";", startIndex);
466
- if (endIndex == -1)
467
- endIndex = document.cookie.length;
468
- return unescape(document.cookie.substring(startIndex, endIndex));
469
- }
470
- }
471
- return null;
472
- }
473
-
474
- // 设置cookie
475
- function _setCookie(cookieName, value, expiredays) {
476
- var exdate = new Date();
477
- exdate.setDate(exdate.getDate() + expiredays);
478
- document.cookie = cookieName
479
- + "="
480
- + escape(value)
481
- + ((expiredays == null) ? "" : ";expires="
482
- + exdate.toGMTString());
483
- }
484
-
485
- // ***********************私有函数(内部类)*********************//
486
-
487
- // 视频呼入类
488
- function IncomingCallObject(appId, source, target, brand, message) {
489
-
490
- this.appId = appId;
491
- this.source = source;
492
- this.target = target;
493
- this.brand = brand;
494
- this.message = message;
495
- this.config = null;
496
-
497
- // 我方接听
498
- this.acceptCall = function() {
499
- var msg = {};
500
- msg.deviceToken = this.target;
501
- msg.targetDeviceToken = this.source;
502
- msg.code = '0';
503
- msg.msg = '对方接听';
504
- _socket.emit('videoCallReturn', JSON.stringify(msg));
505
- console.log('我方接听[' + JSON.stringify(msg) + ']');
506
- };
507
-
508
- // 我方拒接
509
- this.refuseCall = function() {
510
- var msg = {};
511
- msg.deviceToken = this.target;
512
- msg.targetDeviceToken = this.source;
513
- msg.code = '3001';
514
- msg.msg = '对方拒接';
515
- _socket.emit('videoCallReturn', JSON.stringify(msg));
516
- console.log('我方拒接[' + JSON.stringify(msg) + ']');
517
- };
518
-
519
- }
520
-
521
- // 视频呼出类
522
- function OutingCallObject(appId, source, target, brand, hostConfig,
523
- guestConfig, message, timeout) {
524
-
525
- this.appId = appId;
526
- this.source = source;
527
- this.target = target;
528
- this.brand = brand;
529
- this.hostConfig = hostConfig;
530
- this.guestConfig = guestConfig;
531
- this.message = message;
532
- this.timeout = timeout;
533
- this.timeoutId;
534
-
535
- // 我方呼叫
536
- this.startCall = function() {
537
- var msg = {};
538
- msg.appId = this.appId;
539
- msg.deviceToken = this.source;
540
- msg.targetDeviceToken = this.target;
541
- msg.brand = this.brand;
542
- msg.message = this.message;
543
- _socket.emit('videoCallNotification', JSON.stringify(msg));
544
- this.timeoutId = setTimeout(_onCallTimeout, this.timeout, this);
545
- console.log('视频呼出[' + JSON.stringify(msg) + ']');
546
- };
547
-
548
- // 呼叫完成
549
- this.finishCall = function() {
550
- if (this.timeoutId != null) {
551
- clearTimeout(this.timeoutId);
552
- }
553
- console.log('呼出完成');
554
- };
555
-
556
- }
557
-
558
- // HashMap
559
- function HashMapObject() {
560
-
561
- var length = 0;
562
- var entries = new Object();
563
-
564
- this.isEmpty = function() {
565
- return length == 0;
566
- };
567
-
568
- this.containsKey = function(key) {
569
- return (key in entries);
570
- };
571
-
572
- this.containsValue = function(value) {
573
- for ( var key in entries) {
574
- if (entries[key] == value) {
575
- return true;
576
- }
577
- }
578
- return false;
579
- };
580
-
581
- this.put = function(key, value) {
582
- if (!this.containsKey(key)) {
583
- length++;
584
- }
585
- entries[key] = value;
586
- };
587
-
588
- this.get = function(key) {
589
- return this.containsKey(key) ? entries[key] : null;
590
- };
591
-
592
- this.remove = function(key) {
593
- if (this.containsKey(key) && (delete entries[key])) {
594
- length--;
595
- }
596
- };
597
-
598
- this.values = function() {
599
- var _values = new Array();
600
- for ( var key in entries) {
601
- _values.push(entries[key]);
602
- }
603
- return _values;
604
- };
605
-
606
- this.keySet = function() {
607
- var _keys = new Array();
608
- for ( var key in entries) {
609
- _keys.push(key);
610
- }
611
- return _keys;
612
- };
613
-
614
- this.size = function() {
615
- return length;
616
- };
617
-
618
- this.clear = function() {
619
- length = 0;
620
- entries = new Object();
621
- };
622
- }
623
-
624
- _initialize();
625
- }
626
-
1
+ import io from 'socket.io-client';
2
+ import fetch, { qs } from './chatFetch';
3
+ import vexutils from '../utils/vexutils';
4
+
5
+ function UniRTCObject(appId, tokenProvider, vueSelf) {
6
+
7
+ if (appId == null || appId == '') {
8
+ console.error('参数appId必填');
9
+ alert('参数appId必填');
10
+ return null;
11
+ }
12
+
13
+ if (tokenProvider == null || typeof tokenProvider != 'function') {
14
+ console.error('参数tokenProvider必填,且是function类型');
15
+ // alert('参数tokenProvider必填,且是function类型');
16
+ return null;
17
+ }
18
+
19
+ // *********************私有变量******************//
20
+ var _this = this;
21
+ var _socket = null;
22
+ var _coming = new HashMapObject();
23
+ var _outing = new HashMapObject();
24
+ var _tokenProvider = tokenProvider;
25
+ var _cookieName = 'XKDeviceToken';
26
+
27
+ // *********************成员变量******************//
28
+ this.appId = appId;
29
+ this.appSign = null;
30
+ this.deviceToken = null;
31
+ this.clientType = '1';
32
+ this.client = null;
33
+ this.localStream = null;
34
+ this.vueSelf = vueSelf;
35
+ // ***********************API*********************//
36
+
37
+ // 我方接听API
38
+ this.acceptCall = function(incoming) {
39
+ console.log('我方接听');
40
+ incoming.acceptCall();
41
+ };
42
+
43
+ // 我方拒接API
44
+ this.refuseCall = function(incoming) {
45
+ console.log('我方拒接');
46
+ incoming.refuseCall();
47
+ };
48
+
49
+ // 我方呼出API
50
+ this.startCall = function(targetDeviceToken, message, brand, hostConfig,
51
+ guestConfig) {
52
+ console.log('我方呼出');
53
+ // 校验参数
54
+ var valid = true;
55
+ if (_this.deviceToken == null || _this.deviceToken == '') {
56
+ alert("无法获取本机DeviceToken");
57
+ valid = false;
58
+ }
59
+ if (targetDeviceToken == null || targetDeviceToken == '') {
60
+ alert("参数targetDeviceTokenk必填");
61
+ valid = false;
62
+ }
63
+ if (message == null) {
64
+ message = '';
65
+ }
66
+
67
+ if (brand == null || brand == '') {
68
+ alert("参数brand必填,可选项:tencent");
69
+ valid = false;
70
+ }
71
+ if (hostConfig == null || hostConfig == '') {
72
+ alert("参数hostConfig必填");
73
+ valid = false;
74
+ }
75
+ if (guestConfig == null || guestConfig == '') {
76
+ alert("参数guestConfig必填");
77
+ valid = false;
78
+ }
79
+ if (!valid) {
80
+ console.warn("终止呼叫,请修改上述错误");
81
+ return;
82
+ }
83
+
84
+ // 开始呼叫
85
+ var appId = this.appId;
86
+ var source = this.deviceToken;
87
+ var target = targetDeviceToken
88
+ // var hostConfig = hostConfig;
89
+ // var guestConfig = guestConfig;
90
+ var timeout = 30000;
91
+
92
+ var outing = new OutingCallObject(appId, source, target, brand,
93
+ hostConfig, guestConfig, message, timeout);
94
+ _outing.put(target, outing);
95
+
96
+ outing.startCall();
97
+
98
+ this.onCallStarted(outing);
99
+
100
+ return outing;
101
+ };
102
+
103
+ // 我方挂断API
104
+ this.stopCall = function(outing) {
105
+ console.log('我方挂断' + JSON.stringify(outing));
106
+ if (outing == null) {
107
+ return;
108
+ }
109
+ _outing.remove(outing.target);
110
+ outing.finishCall();
111
+ this.onCallStoped(outing);
112
+ };
113
+
114
+ // 检查状态
115
+ this.checkStatus = function(deviceTokens) {
116
+ var msg = {};
117
+ msg.appId = this.appId;
118
+ msg.deviceArray = [];
119
+ for (var i = 0; i < deviceTokens.length; i++) {
120
+ var obj = {};
121
+ obj.deviceToken = deviceTokens[i];
122
+ msg.deviceArray.push(obj);
123
+ }
124
+ console.log('设备参数', msg);
125
+ _socket.emit('onlineStatusQuery', JSON.stringify(msg));
126
+ console.log('检查设备状态[' + JSON.stringify(msg) + ']');
127
+ }
128
+
129
+ // 会议挂断API
130
+ this.hangUp = function(targetDeviceToken, brand, message){
131
+ var msg = {};
132
+ msg.appId = _this.appId;
133
+ msg.deviceToken = _this.deviceToken;
134
+ msg.targetDeviceToken = targetDeviceToken;
135
+ msg.brand = brand;
136
+ msg.message = message;
137
+ console.log('发送videoHangUp事件');
138
+ _socket.emit('videoHangUp', JSON.stringify(msg));
139
+ console.log('进行挂断[' + JSON.stringify(msg) + ']');
140
+ }
141
+
142
+ // *********************回调函数******************//
143
+
144
+ // 登录成功callback
145
+ this.onLogined = function() {
146
+ }
147
+
148
+ // 呼入进来callback
149
+ this.onCallComing = function(incoming) {
150
+ console.log('呼入进来callback', incoming);
151
+ };
152
+
153
+ // 通话就绪callback
154
+ this.onCallReady = function(incoming) {
155
+ console.log('通话就绪callback', incoming);
156
+ };
157
+
158
+ // 开始呼叫callback
159
+ this.onCallStarted = function(outing) {
160
+ console.log('开始呼叫callback', outing);
161
+ };
162
+
163
+ // 停止呼叫callback
164
+ this.onCallStoped = function(outing) {
165
+ console.log('停止呼叫callback', outing);
166
+ };
167
+
168
+ // 呼出反馈callback
169
+ this.onCallReplied = function(outing) {
170
+ console.log('呼出反馈callback', outing);
171
+ };
172
+
173
+ // 呼出被接callback
174
+ this.onCallAccepted = function(outing) {
175
+ console.log('呼出被接callback', outing);
176
+ // let videoData = {
177
+ // ...outing.guestConfig.videoData,
178
+ // inviteResult: 1
179
+ // }
180
+ // this.vueSelf.subscribeAcceptedJST(videoData)
181
+ };
182
+
183
+ // 呼出被拒callback
184
+ this.onCallRefused = function(outing) {
185
+ console.log('呼出被拒callback', outing);
186
+ };
187
+
188
+ // 呼出超时callback
189
+ this.onCallTimeout = function(outing) {
190
+ console.log('呼出超时callback', outing);
191
+ };
192
+
193
+ // 设备状态检查
194
+ this.onStatusChecked = function(stat) {
195
+ console.log('设备状态检查', stat);
196
+ let index = stat.findIndex(item => item.status == '0')
197
+ let outtings =[]
198
+ outtings.push(...stat)
199
+ let targetInfo = _this.vueSelf.targetInfo
200
+ if (index != -1) {
201
+ if (_this.vueSelf.callTimer) {
202
+ clearInterval(_this.vueSelf.callTimer)
203
+ _this.vueSelf.setCallTimer(null)
204
+ }
205
+ _this.vueSelf.setCallerStatus('在线')
206
+ _this.startCall(stat[index].deviceToken, '腾讯视频', 'tencent', {
207
+ sdkAppId: Number(_this.vueSelf.sdkInfo.sdkAppId),
208
+ userId: _this.vueSelf.isServer ? _this.vueSelf.serviceId : _this.vueSelf.clientId,
209
+ userSig: _this.vueSelf.videoData.token,
210
+ roomId: Number(_this.vueSelf.roomId),
211
+ videoData: _this.vueSelf.videoData
212
+ }, {
213
+ sdkAppId: Number(_this.vueSelf.sdkInfo.sdkAppId),
214
+ userId: targetInfo.username,
215
+ userSig: targetInfo.token,
216
+ roomId: Number(_this.vueSelf.videoData.roomId),
217
+ videoData: _this.vueSelf.videoData
218
+ // privateMapKey
219
+ })
220
+ _this.vueSelf.setOuting( outtings)
221
+ } else {
222
+ _this.vueSelf.setCallerStatus('离线')
223
+ _this.vueSelf.sendVideoCall()
224
+ }
225
+ }
226
+
227
+ // 会议挂断callback
228
+ this.onHangup = function() {
229
+ console.log('会议挂断callback');
230
+ }
231
+
232
+ this.reconnect = function() {
233
+ _socket = null;
234
+ // 一秒钟后重连
235
+ setTimeout(function () {
236
+ console.log("又一次连接...");
237
+ _connect();
238
+ console.log("连接成功...");
239
+ }, 1000);
240
+ }
241
+
242
+ // ***********************私有函数(处理消息)*********************//
243
+
244
+ // 初始化API
245
+ function _initialize() {
246
+ _connect();
247
+ }
248
+
249
+ function _connect() {
250
+ // 创建链接
251
+ _socket = io.connect('https://video.jsehealth.com:9999'); // 生产环境
252
+ // _socket = io.connect('https://t.jsehealth.com:9997'); // 测试环境
253
+ // _socket = io.connect('http://127.0.0.1:9090');
254
+ // _socket = io.connect("https://dli.xikang.com:9999");
255
+ // 注册事件处理函数
256
+ _socket.on('connect', function() {
257
+ _onDeviceConnected();
258
+ _socket.on('registerReturn', _onDeviceRegistered);
259
+ _socket.on('deviceLoginReturn', _onDeviceLogined);
260
+ _socket.on('videoCallNotification', _onCallComing);
261
+ _socket.on('videoCallReturn', _onCallReplied);
262
+ _socket.on('videoInfoNotification', _onCallReady);
263
+ _socket.on('onlineStatusReturn', _onStatusChecked);
264
+ _socket.on('videoHangUp', _onHangUpMeeting);
265
+ _socket.on('hangUpReturn', _onHangUpReplied);
266
+ });
267
+ }
268
+
269
+ // 设备注册
270
+ function _register() {
271
+ var msg = {};
272
+ msg.appId = _this.appId;
273
+ msg.clientType = _this.clientType;
274
+ _socket.emit('registerEvent', JSON.stringify(msg));
275
+ console.log('进行设备注册[' + JSON.stringify(msg) + ']');
276
+ }
277
+
278
+ // 设备登录API
279
+ function _login() {
280
+ var msg = {};
281
+ msg.appId = _this.appId;
282
+ msg.clientType = _this.clientType;
283
+ msg.deviceToken = _this.deviceToken;
284
+ msg.sign = _this.appSign;
285
+ _socket.emit('deviceLoginEvent', JSON.stringify(msg));
286
+ console.log('进行设备登录[' + JSON.stringify(msg) + ']');
287
+ }
288
+
289
+ // 设备连接handler
290
+ function _onDeviceConnected() {
291
+ console.log('设备连接成功');
292
+ // 注册
293
+ var deviceToken = _getCookie(_cookieName);
294
+ console.log('DeviceToken In Cookie : ' + deviceToken);
295
+ if (deviceToken != null) {
296
+ _this.deviceToken = deviceToken;
297
+ // _this.appSign = _tokenProvider();
298
+ _tokenProvider().then(res => {
299
+ _this.appSign = res;
300
+ console.log('appSign=>设备连接handler', res);
301
+ _login();
302
+ });
303
+ } else {
304
+ _register();
305
+ }
306
+ }
307
+
308
+ // 设备注册handler
309
+ function _onDeviceRegistered(msg) {
310
+ var data = JSON.parse(msg);
311
+ // 如果注册成功
312
+ if (data.code == '0') {
313
+ console.log('设备注册成功[' + msg + ']');
314
+ // 写入cookie
315
+ _setCookie(_cookieName, data.deviceToken, 30);
316
+ // 记录deviceToken
317
+ _this.deviceToken = data.deviceToken;
318
+ // _this.appSign = _tokenProvider();
319
+ _tokenProvider().then(res => {
320
+ _this.appSign = res;
321
+ console.log('appSign=>设备注册handler', res);
322
+ _login();
323
+ });
324
+ } else {
325
+ console.error('设备注册失败[' + msg + ']');
326
+ alert('设备注册失败\n' + msg);
327
+ }
328
+ }
329
+
330
+ // 设备登录handler
331
+ function _onDeviceLogined(msg) {
332
+ var data = JSON.parse(msg);
333
+ // 如果注册成功
334
+ if (data.code == '0') {
335
+ console.log('设备登录成功[' + msg + ']');
336
+ _this.onLogined();
337
+ } else if (data.code == '2007') {
338
+ _register();
339
+ } else {
340
+ console.error('设备登录失败[' + msg + ']');
341
+ // alert('设备登录失败\n' + msg);
342
+ }
343
+ }
344
+ const customerConfirmDebounce = vexutils.debounce(customerConfirm, 2000);
345
+ // 对方接听/拒绝接听回调
346
+ function customerConfirm(vuePage, accept) {
347
+ let curScrollParam = vuePage.getRefuseParam();
348
+ const videoData = vuePage.videoData;
349
+ const params = {
350
+ assemblyId: curScrollParam.assemblyId,
351
+ orgId: curScrollParam.orgId,
352
+ userId: curScrollParam.userId,
353
+ sessionId: videoData.sessionId,
354
+ recordId: videoData.recordId,
355
+ inviteResult: accept ? 1 : 0,
356
+ isExpire: ''
357
+ };
358
+ fetch.post('/chat/access/videoInviteEnter', qs.stringify(params)).then(({ data }) => {
359
+ if (data.result === 'SUCCESS') {
360
+ vuePage.$message.info(accept ? '接入成功' : '对方拒绝接听');
361
+ }
362
+ });
363
+ }
364
+ // 呼出反馈handler
365
+ function _onCallReplied(msg) {
366
+ console.log('对方反馈[' + msg + ']');
367
+ var data = JSON.parse(msg);
368
+ var target, outing;
369
+
370
+ // 如果对方接听,就向对方发送视频配置
371
+ if (data.code == '0') {
372
+ // 接听调用接口
373
+ customerConfirmDebounce(_this.vueSelf, true)
374
+ target = data.deviceToken;
375
+ outing = _outing.get(target);
376
+ if (outing == null) {
377
+ return;
378
+ }
379
+ outing.finishCall();
380
+ var notify = {};
381
+ notify.appId = outing.appId;
382
+ notify.deviceToken = outing.source;
383
+ notify.targetDeviceToken = outing.target;
384
+ notify.brand = outing.brand;
385
+ notify.rtcInitParam = outing.guestConfig;
386
+ _socket.emit('videoInfoNotification', JSON.stringify(notify));
387
+ console.log('发送视频配置' + JSON.stringify(notify));
388
+ _this.onCallAccepted(outing);
389
+ } else if (data.code.substring(0, 1) == '1') {
390
+ console.error(msg);
391
+ // alert(data.msg);
392
+ } else if (data.code === '3001') {
393
+ console.log('错误号:'+data.code+'====>错误编码:'+data.msg);
394
+ customerConfirmDebounce(_this.vueSelf, false);
395
+ target = data.deviceToken;
396
+ outing = _outing.get(target);
397
+ _this.stopCall(outing);
398
+ _this.onCallRefused(outing);
399
+ } else {
400
+ console.log('错误号:'+data.code+'====>错误编码:'+data.msg);
401
+ target = data.deviceToken;
402
+ outing = _outing.get(target);
403
+ _this.stopCall(outing);
404
+ _this.onCallRefused(outing);
405
+ }
406
+ }
407
+
408
+ function _onHangUpReplied(msg) {
409
+ console.log('通知挂断后,呼叫中心反馈信息[' + msg + ']');
410
+ }
411
+
412
+ // 对方呼入handler
413
+ function _onCallComing(msg) {
414
+ console.log('对方呼入[' + msg + ']');
415
+ var data = JSON.parse(msg);
416
+ var appId = data.appId;
417
+ var source = data.deviceToken;
418
+ var target = data.targetDeviceToken;
419
+ var brand = data.brand;
420
+ var message = data.message;
421
+ var incoming = new IncomingCallObject(appId, source, target, brand,
422
+ message);
423
+ _coming.put(source, incoming);
424
+ _this.onCallComing(incoming);
425
+ }
426
+
427
+ // 视频就绪handler
428
+ function _onCallReady(msg) {
429
+ console.log('视频就绪[' + msg + ']');
430
+ var data = JSON.parse(msg);
431
+ var source = data.deviceToken;
432
+ var incoming = _coming.get(source);
433
+ incoming.config = data.rtcInitParam;
434
+ _this.onCallReady(incoming);
435
+ }
436
+
437
+ // 呼出超时handler
438
+ function _onCallTimeout(outing) {
439
+ console.log('呼出超时[' + outing.timeout + 'ms]');
440
+ _this.onCallTimeout(outing);
441
+ }
442
+
443
+ // 状态检查handler
444
+ function _onStatusChecked(msg) {
445
+ console.log('在线状态[' + msg + ']');
446
+ var data = JSON.parse(msg);
447
+ if (data.code == '0') {
448
+ _this.onStatusChecked(JSON.parse(data.deviceArray));
449
+ }
450
+ }
451
+
452
+
453
+ // 状态检查handler
454
+ function _onHangUpMeeting(msg) {
455
+ console.log('视频完成对方已挂断[' + msg + ']');
456
+ _this.onHangup();
457
+ }
458
+
459
+ // 获取cookie
460
+ function _getCookie(cookieName) {
461
+ if (document.cookie.length > 0) {
462
+ var startIndex = document.cookie.indexOf(cookieName + "=");
463
+ if (startIndex != -1) {
464
+ startIndex = startIndex + cookieName.length + 1;
465
+ var endIndex = document.cookie.indexOf(";", startIndex);
466
+ if (endIndex == -1)
467
+ endIndex = document.cookie.length;
468
+ return unescape(document.cookie.substring(startIndex, endIndex));
469
+ }
470
+ }
471
+ return null;
472
+ }
473
+
474
+ // 设置cookie
475
+ function _setCookie(cookieName, value, expiredays) {
476
+ var exdate = new Date();
477
+ exdate.setDate(exdate.getDate() + expiredays);
478
+ document.cookie = cookieName
479
+ + "="
480
+ + escape(value)
481
+ + ((expiredays == null) ? "" : ";expires="
482
+ + exdate.toGMTString());
483
+ }
484
+
485
+ // ***********************私有函数(内部类)*********************//
486
+
487
+ // 视频呼入类
488
+ function IncomingCallObject(appId, source, target, brand, message) {
489
+
490
+ this.appId = appId;
491
+ this.source = source;
492
+ this.target = target;
493
+ this.brand = brand;
494
+ this.message = message;
495
+ this.config = null;
496
+
497
+ // 我方接听
498
+ this.acceptCall = function() {
499
+ var msg = {};
500
+ msg.deviceToken = this.target;
501
+ msg.targetDeviceToken = this.source;
502
+ msg.code = '0';
503
+ msg.msg = '对方接听';
504
+ _socket.emit('videoCallReturn', JSON.stringify(msg));
505
+ console.log('我方接听[' + JSON.stringify(msg) + ']');
506
+ };
507
+
508
+ // 我方拒接
509
+ this.refuseCall = function() {
510
+ var msg = {};
511
+ msg.deviceToken = this.target;
512
+ msg.targetDeviceToken = this.source;
513
+ msg.code = '3001';
514
+ msg.msg = '对方拒接';
515
+ _socket.emit('videoCallReturn', JSON.stringify(msg));
516
+ console.log('我方拒接[' + JSON.stringify(msg) + ']');
517
+ };
518
+
519
+ }
520
+
521
+ // 视频呼出类
522
+ function OutingCallObject(appId, source, target, brand, hostConfig,
523
+ guestConfig, message, timeout) {
524
+
525
+ this.appId = appId;
526
+ this.source = source;
527
+ this.target = target;
528
+ this.brand = brand;
529
+ this.hostConfig = hostConfig;
530
+ this.guestConfig = guestConfig;
531
+ this.message = message;
532
+ this.timeout = timeout;
533
+ this.timeoutId;
534
+
535
+ // 我方呼叫
536
+ this.startCall = function() {
537
+ var msg = {};
538
+ msg.appId = this.appId;
539
+ msg.deviceToken = this.source;
540
+ msg.targetDeviceToken = this.target;
541
+ msg.brand = this.brand;
542
+ msg.message = this.message;
543
+ _socket.emit('videoCallNotification', JSON.stringify(msg));
544
+ this.timeoutId = setTimeout(_onCallTimeout, this.timeout, this);
545
+ console.log('视频呼出[' + JSON.stringify(msg) + ']');
546
+ };
547
+
548
+ // 呼叫完成
549
+ this.finishCall = function() {
550
+ if (this.timeoutId != null) {
551
+ clearTimeout(this.timeoutId);
552
+ }
553
+ console.log('呼出完成');
554
+ };
555
+
556
+ }
557
+
558
+ // HashMap
559
+ function HashMapObject() {
560
+
561
+ var length = 0;
562
+ var entries = new Object();
563
+
564
+ this.isEmpty = function() {
565
+ return length == 0;
566
+ };
567
+
568
+ this.containsKey = function(key) {
569
+ return (key in entries);
570
+ };
571
+
572
+ this.containsValue = function(value) {
573
+ for ( var key in entries) {
574
+ if (entries[key] == value) {
575
+ return true;
576
+ }
577
+ }
578
+ return false;
579
+ };
580
+
581
+ this.put = function(key, value) {
582
+ if (!this.containsKey(key)) {
583
+ length++;
584
+ }
585
+ entries[key] = value;
586
+ };
587
+
588
+ this.get = function(key) {
589
+ return this.containsKey(key) ? entries[key] : null;
590
+ };
591
+
592
+ this.remove = function(key) {
593
+ if (this.containsKey(key) && (delete entries[key])) {
594
+ length--;
595
+ }
596
+ };
597
+
598
+ this.values = function() {
599
+ var _values = new Array();
600
+ for ( var key in entries) {
601
+ _values.push(entries[key]);
602
+ }
603
+ return _values;
604
+ };
605
+
606
+ this.keySet = function() {
607
+ var _keys = new Array();
608
+ for ( var key in entries) {
609
+ _keys.push(key);
610
+ }
611
+ return _keys;
612
+ };
613
+
614
+ this.size = function() {
615
+ return length;
616
+ };
617
+
618
+ this.clear = function() {
619
+ length = 0;
620
+ entries = new Object();
621
+ };
622
+ }
623
+
624
+ _initialize();
625
+ }
626
+
627
627
  export default UniRTCObject;