cnhis-design-vue 3.2.14-beta.24 → 3.2.14-beta.29

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 (154) hide show
  1. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  2. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  3. package/es/components/base-search/src/index.vue2.js +1 -1
  4. package/es/components/big-table/src/BigTable.vue2.js +1 -1
  5. package/es/components/big-table/src/components/NoData.vue2.js +1 -1
  6. package/es/components/big-table/src/components/edit-form/edit-input.js +1 -1
  7. package/es/components/big-table/src/hooks/useNestTable.js +1 -1
  8. package/es/components/body-select/src/index.vue2.js +1 -1
  9. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  10. package/es/components/button-print/src/components/EditFormat.vue2.js +1 -1
  11. package/es/components/button-print/src/components/IdentityVerification.vue2.js +1 -1
  12. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  13. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  14. package/es/components/button-print/src/components/Preview.vue2.js +1 -1
  15. package/es/components/button-print/src/utils/dialog.js +1 -1
  16. package/es/components/button-print/src/utils/print.js +1 -1
  17. package/es/components/calendar/index.d.ts +4 -4
  18. package/es/components/calendar/src/Calendar.vue.d.ts +4 -4
  19. package/es/components/card-reader-sdk/src/components/readCardDialog.vue2.js +1 -1
  20. package/es/components/card-reader-sdk/src/utils/readHealthCard.js +1 -1
  21. package/es/components/classification/src/components/search-filter/index.vue2.js +1 -1
  22. package/es/components/classification/src/components/set-classification/index.vue2.js +1 -1
  23. package/es/components/classification/src/components/table-modal/index.vue2.js +1 -1
  24. package/es/components/classification/src/index.vue2.js +1 -1
  25. package/es/components/default-page/src/constants/index.js +1 -1
  26. package/es/components/default-page/src/index.vue2.js +1 -1
  27. package/es/components/expand-field/src/components/FormBatchOptionsModal.vue2.js +1 -1
  28. package/es/components/expand-field/src/components/FormItemPerson.vue2.js +1 -1
  29. package/es/components/expand-field/src/components/PersonModal.vue2.js +1 -1
  30. package/es/components/expand-field/src/components/form.vue2.js +1 -1
  31. package/es/components/expand-field/src/index.vue2.js +1 -1
  32. package/es/components/expand-field/src/utils/constant.js +1 -1
  33. package/es/components/fabric-chart/index.d.ts +6 -4
  34. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +6 -4
  35. package/es/components/fabric-chart/src/FabricChart.vue2.js +1 -1
  36. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  37. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcessChart.js +1 -1
  38. package/es/components/fabric-chart/src/hooks/electrocardiogram/hooks/useDetailEvent.js +1 -1
  39. package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogram.js +1 -1
  40. package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogramChart.js +1 -1
  41. package/es/components/fabric-chart/src/hooks/electrocardiogram/useMeasureInstrument.js +1 -1
  42. package/es/components/fabric-chart/src/hooks/newBirthProcess/useNewBirthProcess.js +1 -1
  43. package/es/components/fabric-chart/src/hooks/newBirthProcess/useNewBirthProcessChart.js +1 -1
  44. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  45. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
  46. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  47. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
  48. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -1
  49. package/es/components/fabric-chart/src/hooks/temperature/useBottom.js +1 -1
  50. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  51. package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
  52. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  53. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  54. package/es/components/fabric-chart/src/hooks/temperature/useTop.js +1 -1
  55. package/es/components/field-set/src/FieldColor.vue2.js +1 -1
  56. package/es/components/field-set/src/FieldFilter.vue2.js +1 -1
  57. package/es/components/field-set/src/FieldSet.vue2.js +1 -1
  58. package/es/components/field-set/src/TableStyle.vue2.js +1 -1
  59. package/es/components/field-set/src/components/condition.vue2.js +1 -1
  60. package/es/components/field-set/src/components/edit-dialog.vue2.js +1 -1
  61. package/es/components/field-set/src/components/edit-filter.vue2.js +1 -1
  62. package/es/components/field-set/src/components/table-row.vue2.js +1 -1
  63. package/es/components/field-set/src/constants/filter.js +1 -1
  64. package/es/components/field-set/src/constants/index.js +1 -1
  65. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  66. package/es/components/form-config/src/hooks/useLocale.js +1 -1
  67. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  68. package/es/components/form-render/src/components/renderer/switch.js +1 -1
  69. package/es/components/iho-chat/index.d.ts +23 -2
  70. package/es/components/iho-chat/src/Index.vue.d.ts +23 -2
  71. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  72. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  73. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  74. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
  75. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  76. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +40 -19
  77. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  78. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  79. package/es/components/iho-chat/src/components/ContextMenu.js +1 -1
  80. package/es/components/iho-chat/src/components/MessageTemplate.vue2.js +1 -1
  81. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
  82. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -0
  83. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  84. package/es/components/iho-chat/src/components/Video.vue2.js +1 -1
  85. package/es/components/iho-chat/src/constants/index.d.ts +1 -2
  86. package/es/components/iho-chat/src/constants/index.js +1 -1
  87. package/es/components/iho-chat/src/hooks/useData.js +1 -1
  88. package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
  89. package/es/components/iho-chat/src/utils/chatSock.js +1 -1
  90. package/es/components/iho-chat/src/utils/index.d.ts +1 -0
  91. package/es/components/iho-chat/src/utils/index.js +1 -1
  92. package/es/components/iho-chat/style/index.css +1 -1
  93. package/es/components/iho-table/src/plugins/dynamicFilterRenderPlugin/dynamicFilter.vue2.js +1 -1
  94. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
  95. package/es/components/iho-table/src/plugins/filterTextPlugin/filter.vue2.js +1 -1
  96. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js +1 -1
  97. package/es/components/index.css +1 -1
  98. package/es/components/info-header/src/components/patientInfo/index.vue2.js +1 -1
  99. package/es/components/keyboard/src/components/NumberPanel.vue2.js +1 -1
  100. package/es/components/map/src/Map.vue2.js +1 -1
  101. package/es/components/picture-clipper/src/PictureClipper.vue2.js +1 -1
  102. package/es/components/quick-search/src/index.vue2.js +1 -1
  103. package/es/components/recommend-search/src/components/BaseSearch.js +1 -1
  104. package/es/components/recommend-search/src/components/RecommendInput.vue2.js +1 -1
  105. package/es/components/recommend-search/src/components/RecommendSelect.vue2.js +1 -1
  106. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  107. package/es/components/scale-view/src/components/NoData.vue2.js +1 -1
  108. package/es/components/scale-view/src/components/formitem/r-checkbox.js +1 -1
  109. package/es/components/scale-view/src/components/formitem/r-input.js +1 -1
  110. package/es/components/scale-view/src/components/formitem/r-radio.js +1 -1
  111. package/es/components/scale-view/src/components/formitem/r-sign.js +1 -1
  112. package/es/components/scale-view/src/components/formitem/standard-modal.js +1 -1
  113. package/es/components/scale-view/src/hooks/scaleview-methods.js +1 -1
  114. package/es/components/scale-view/src/hooks/scaleview-submit.js +1 -1
  115. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  116. package/es/components/select-label/src/SelectLabel.vue2.js +1 -1
  117. package/es/components/select-label/src/components/label-classify.vue2.js +1 -1
  118. package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue2.js +1 -1
  119. package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue2.js +1 -1
  120. package/es/components/select-label/src/ihoLabel/iho-label-classify.vue2.js +1 -1
  121. package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
  122. package/es/components/select-person/src/SelectPersonType.vue2.js +1 -1
  123. package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +1 -1
  124. package/es/components/select-person/src/index.vue2.js +1 -1
  125. package/es/components/slider-tree/src/index.vue2.js +1 -1
  126. package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
  127. package/es/components/table-export-field/src/components/SaveProjectModal.vue2.js +1 -1
  128. package/es/components/table-export-field/src/index.vue2.js +1 -1
  129. package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue2.js +1 -1
  130. package/es/components/table-filter/src/components/bi-filter/helpers/options.js +1 -1
  131. package/es/components/table-filter/src/components/bi-filter/index.vue2.js +1 -1
  132. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +1 -1
  133. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +1 -1
  134. package/es/components/table-filter/src/components/classify-filter/components/InputFilter.vue2.js +1 -1
  135. package/es/components/table-filter/src/components/classify-filter/components/InputNumberGroup.vue2.js +1 -1
  136. package/es/components/table-filter/src/components/classify-filter/helpers/options.js +1 -1
  137. package/es/components/table-filter/src/components/classify-filter/hooks/useDisplayCategory.js +1 -1
  138. package/es/components/table-filter/src/components/classify-filter/index.vue2.js +1 -1
  139. package/es/components/table-filter/src/components/render-widget/components/DateInner.vue2.js +1 -1
  140. package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +1 -1
  141. package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue2.js +1 -1
  142. package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +1 -1
  143. package/es/components/table-filter/src/components/render-widget/components/InputCustom.vue2.js +1 -1
  144. package/es/components/table-filter/src/components/render-widget/components/InputNumberGroup.vue2.js +1 -1
  145. package/es/components/table-filter/src/components/render-widget/components/LabelInner.vue2.js +1 -1
  146. package/es/components/table-filter/src/components/render-widget/components/SelectDynamicOption/index.vue2.js +1 -1
  147. package/es/components/table-filter/src/components/render-widget/helpers/dateExtraMap.js +1 -1
  148. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  149. package/es/components/table-filter/src/tool/baseOptions.js +1 -1
  150. package/es/components/tooth-bitmap/src/ToothBitmap.vue2.js +1 -1
  151. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +1 -1
  152. package/es/components/vod-chunk-upload/src/vod-upload-modal.js +1 -1
  153. package/es/shared/package.json.js +1 -1
  154. package/package.json +76 -76
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as i,unref as n,createElementVNode as a,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as p,withCtx as u,createTextVNode as v,normalizeClass as f,createVNode as g}from"vue";import{NIcon as y,NButton as k}from"naive-ui";import{ChevronForwardOutline as h,AlertCircleSharp as _}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useData as T}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const j={class:"default-msg-template__header"},C={class:"title"},M={class:"default-msg-template__body"},L=["src"],E={class:"template-content"},H=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},S=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),w={key:1,class:"describe-msg-template"},x={class:"describe-msg-template__header"},D={class:"title"},B={class:"txt"},O=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var P=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const P=e,R=t(),q=t(!0),{emit:V}=T(),W=l((()=>{if(!R.value)return!1;const{childNodes:e,clientWidth:t}=R.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const o=e[s].nodeValue.trim();if(""!==o){const e=o.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(R.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>P.data.content.messageTemplate.setting)),$=l((()=>X.value.serverSetting)),A=l((()=>($.value.topRightButton||[])[0])),G=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));if(!e)return[];const{dbParamsList:t}=X.value||{};return e.map((e=>{const l=/\\n|\n|\r/g;return(e||"").replace(l,"<br>").replace(/\${(.*?)}/g,((e,s)=>{if(0===(t||[]).length)return"";return(U.value[s]||"").replace(l,"<br>")}))}))})),J=l((()=>{var e;return(null==(e=$.value)?void 0:e.toolbar_button)||[]})),K=l((()=>($.value.bottomButton||[])[0])),Q=l((()=>X.value.dbParamsList)),U=l((()=>P.data.content.messageTemplateData));function Y(e){V("template-click",e,P.data)}return(e,t)=>(s(),o(i,null,[1==n(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Y(n($)))},[a("div",j,[a("span",C,c(n(X).title),1),n(A)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Y(n(A))),["stop"]))},c(n(A).title),1)):n($).address?(s(),d(n(y),{key:1,component:n(h),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",M,[n(X).style.icon?(s(),d(n(b),{key:0,class:"logo","icon-class":n(X).style.icon},null,8,["icon-class"])):n(X).style.image?(s(),o("img",{key:1,class:"logo",src:n(X).style.image},null,8,L)):m("v-if",!0),a("div",E,[(s(!0),o(i,null,p(n(G),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,H)))),128))])]),n(J)?(s(),o("div",N,[(s(!0),o(i,null,p(n(J),((e,t)=>(s(),d(n(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Y(e)),["stop"]),key:t},{default:u((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),n(K)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Y(n(K))),["stop"]))},[v(c(n(K).title)+" ",1),S])):m("v-if",!0)])):m("v-if",!0),3==n(X).style.id?(s(),o("div",w,[a("div",x,c(n(X).title),1),a("div",{class:f(["describe-msg-template__body",n(W)&&q.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:R},[(s(!0),o(i,null,p(n(Q),((e,t)=>(s(),o(i,{key:t},[a("div",D,c(e.desc),1),a("div",B,c(n(U)[e.p_name]),1)],64)))),128))],2),n(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",q.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>q.value=!1)},[v(" 展开全部 "),O],2)):m("v-if",!0)])):m("v-if",!0),2==n(X).style.id?(s(),o("div",z,[g(n(y),{component:n(_),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:G.value.join("<br>")},null,8,F),(s(!0),o(i,null,p(n(J),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Y(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{P as default};
1
+ import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as i,unref as n,createElementVNode as a,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as u,withCtx as p,createTextVNode as v,normalizeClass as f,createVNode as g}from"vue";import{NIcon as y,NButton as k}from"naive-ui";import{ChevronForwardOutline as h,AlertCircleSharp as _}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useData as T}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const C={class:"default-msg-template__header"},j={class:"title"},w={class:"default-msg-template__body"},L=["src"],M={class:"template-content"},E=["innerHTML"],H={key:0,class:"default-msg-template__btn-group"},N=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),S={key:1,class:"describe-msg-template"},x={class:"describe-msg-template__header"},B={class:"title"},D={class:"txt"},O=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var P=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const P=e,R=t(),q=t(!0),{emit:V}=T(),W=l((()=>{if(!R.value)return!1;const{childNodes:e,clientWidth:t}=R.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const o=e[s].nodeValue.trim();if(""!==o){const e=o.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(R.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>P.data.content.messageTemplate.setting)),$=l((()=>X.value.serverSetting)),A=l((()=>($.value.topRightButton||[])[0])),G=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));if(!e)return[];const{dbParamsList:t}=X.value||{};return e.map((e=>{const l=/\\n|\n|\r/g;return(e||"").replace(l,"<br>").replace(/\${(.*?)}/g,((e,s)=>{if(0===(t||[]).length)return"";return(U.value[s]||"").replace(l,"<br>")}))}))})),J=l((()=>{var e;return(null==(e=$.value)?void 0:e.toolbar_button)||[]})),K=l((()=>($.value.bottomButton||[])[0])),Q=l((()=>X.value.dbParamsList)),U=l((()=>P.data.content.messageTemplateData));function Y(e){V("template-click",e,P.data)}return(e,t)=>{var l;return s(),o(i,null,[1==n(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Y(n($)))},[a("div",C,[a("span",j,c(n(X).title),1),n(A)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Y(n(A))),["stop"]))},c(n(A).title),1)):n($).address?(s(),d(n(y),{key:1,component:n(h),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",w,[n(X).style.icon?(s(),d(n(b),{key:0,class:"logo","icon-class":n(X).style.icon},null,8,["icon-class"])):n(X).style.image?(s(),o("img",{key:1,class:"logo",src:n(X).style.image},null,8,L)):m("v-if",!0),a("div",M,[(s(!0),o(i,null,u(n(G),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,E)))),128))])]),n(J)?(s(),o("div",H,[(s(!0),o(i,null,u(n(J),((e,t)=>(s(),d(n(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Y(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),n(K)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Y(n(K))),["stop"]))},[v(c(n(K).title)+" ",1),N])):m("v-if",!0)])):m("v-if",!0),3==n(X).style.id?(s(),o("div",S,[a("div",x,c(n(X).title),1),a("div",{class:f(["describe-msg-template__body",n(W)&&q.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:R},[(s(!0),o(i,null,u(n(Q),((e,t)=>(s(),o(i,{key:t},[a("div",B,c(e.desc),1),a("div",D,c(n(U)[e.p_name]),1)],64)))),128))],2),n(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",q.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>q.value=!1)},[v((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.103"))||"展开全部"),O],2)):m("v-if",!0)])):m("v-if",!0),2==n(X).style.id?(s(),o("div",z,[g(n(y),{component:n(_),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:G.value.join("<br>")},null,8,F),(s(!0),o(i,null,u(n(J),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Y(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64)}}});export{P as default};
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as o,ref as t,computed as n,onBeforeUnmount as l,openBlock as i,createElementBlock as a,withDirectives as s,toDisplayString as r,unref as d,vShow as c,createVNode as u,withCtx as m,Fragment as p,renderList as v,createCommentVNode as g,createTextVNode as w,nextTick as f}from"vue";import{NButton as h,NIcon as y}from"naive-ui";import k from"./ChatAdd.vue.js";import{Close as I,Mic as b,MicOff as A,Videocam as C,VideocamOff as V,Call as M,PersonAdd as _}from"@vicons/ionicons5";import{getUserDetailApi as L}from"../api/index.js";import"@vueuse/core";import{$message as x}from"../utils/index.js";import{xorBy as R}from"lodash-es";import{CHAT_TYPE as E,SUBSCRIBE_MESSAGE_TYPE as T}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as B}from"../hooks/useVideo.js";import j from"trtc-sdk-v5";var S,$,H,U,z,N;const D={class:"video-wrapper video-wrapper--multiple"},O={class:"video-header"},P={key:0,class:"video-main"},Y={class:"video-main__left"},q=["data-name"],G={class:"video-bottom"},F={class:"btn-group"},J={class:"btn"},K=e("span",{class:"text"},(null==(S=window.getLanguageByCode)?void 0:S.call(window,"10010.1.104"))||"静音",-1),Q={class:"btn"},W=e("span",{class:"text"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.105"))||"摄像头",-1),X=e("span",{class:"text"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.106"))||"结束会诊",-1),Z={class:"btn"},ee=e("span",{class:"text"},(null==(U=window.getLanguageByCode)?void 0:U.call(window,"10010.1.107"))||"添加参会人",-1),oe={class:"video-main__right"},te=["id","data-name"],ne={class:"user"},le={class:"name"},ie={key:0,class:"tip"},ae={key:0,class:"calling-box"},se={key:1,class:"opt-btn"},re={class:"btn"},de=e("span",null,(null==(z=window.getLanguageByCode)?void 0:z.call(window,"10010.1.113"))||"拒接",-1),ce={class:"btn"},ue=e("span",null,(null==(N=window.getLanguageByCode)?void 0:N.call(window,"10010.1.114"))||"接听",-1);var me=o({__name:"MultipleVideo",setup(o){const S=t(),$=t([]),{state:H,sendMessage:U,trtc:z,voiceOpen:N,isAudio:me,isCall:pe,startTimer:ve,resetTimer:ge,toggleAudio:we,messageTypeText:fe,timing:he,toggleVideo:ye,videocamOpen:ke,installEventHandlers:Ie,uninstallEventHandlers:be}=B(),Ae=t(!1),Ce=n((()=>pe.value?H.userInfo.name:H.currentAVMsg.sendName)),Ve=n((()=>{if(!Ae.value)return"";const e=pe.value?`(${$.value.length+1}/${H.currentAVMsg.checkedIds.length+1})`:"";return`${Ce.value}发起的${fe.value}会诊${e} ${he.value}`}));function Me(e){console.log("checkedIds :>> ",e),H.currentAVMsg.checkedIds.push(...e),_e()}function _e(){var e;(null==(e=H.currentAVMsg.checkedIds)?void 0:e.length)&&H.currentAVMsg.checkedIds.forEach((e=>{U({chatType:E.SINGLE,content:{msg:H.currentAVMsg.chatMessageType+","+H.currentAVMsg.strRoomId,chatMessageType:T.AV_STATUS},receiver:e})})),Ae.value||Le()}async function Le(){const e=await j.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(H.showMultipleVideo=!1);try{if(await z.enterRoom({strRoomId:H.currentAVMsg.strRoomId,sdkAppId:parseInt(H.userInfo.sdkAppID),userId:H.userInfo.id,userSig:H.userInfo.userSig}),Ae.value=!0,ve(),Ie({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.startLocalAudio(),me.value)return;await z.startLocalVideo({view:S.value})}catch(e){console.log("error :>> ",e),x.error(e),H.showMultipleVideo=!1}}async function xe(){try{if(H.showMultipleVideo=!1,be({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.exitRoom(),await z.stopLocalAudio(),me.value)return;await z.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function Re(e){const{userId:o,streamType:t}=e;try{t===j.TYPE.STREAM_TYPE_MAIN&&(await f(),await z.startRemoteVideo({userId:o,streamType:t,view:o}))}catch(e){console.log("error :>> ",e)}}async function Ee(e){var o;const{userId:t}=e;if(t&&!(null==(o=$.value.map((e=>e.id)))?void 0:o.includes(t))){const e=await Be(t);$.value.push({id:t,name:e})}}async function Te(e){const{userId:o}=e,t=await Be(o);$.value.push({id:o,name:t}),ve()}async function Be(e){const o=await L({userId:e});return(null==o?void 0:o.name)||""}function je(e){console.log("event :>> 退房",e);const{userId:o}=e;$.value=R($.value,[{id:o,name:""}],"id")}function Se(e){console.log("error :>> ",e),H.showMultipleVideo=!1}return l((()=>{xe()})),(o,t)=>{var n,l,f,L,x,R;return i(),a("div",D,[e("div",O,[s(e("span",{class:"title"},r(d(Ve)),513),[[c,Ae.value]]),u(d(h),{quaternary:"",circle:"",color:"#ffffffcc",onClick:xe},{icon:m((()=>[u(d(y),{component:d(I)},null,8,["component"])])),_:1})]),Ae.value?(i(),a("div",P,[e("div",Y,[e("div",{ref_key:"selfVideoRef",ref:S,class:"video-view","data-name":d(H).userInfo.name},null,8,q),e("div",G,[e("div",F,[e("div",J,[u(d(h),{text:"",color:d(N)?"#fff":"#000",onClick:d(we)},{icon:m((()=>[u(d(y),{component:d(N)?d(b):d(A)},null,8,["component"])])),_:1},8,["color","onClick"]),K]),e("div",Q,[u(d(h),{text:"",color:d(ke)?"#fff":"#000",disabled:d(me),onClick:d(ye)},{icon:m((()=>[u(d(y),{component:d(ke)?d(C):d(V)},null,8,["component"])])),_:1},8,["color","disabled","onClick"]),W]),e("div",{class:"btn",onClick:xe},[u(d(h),{circle:"",color:"#f17568",class:"btn--rotate"},{icon:m((()=>[u(d(y),{component:d(M)},null,8,["component"])])),_:1}),X]),u(k,{onComfirm:Me},{trigger:m((()=>[e("div",Z,[u(d(h),{text:"",color:"#fff"},{icon:m((()=>[u(d(y),{component:d(_)},null,8,["component"])])),_:1}),ee])])),_:1})])])]),e("div",oe,[(i(!0),a(p,null,v($.value,(e=>(i(),a("div",{key:e.id,id:e.id,class:"video-view","data-name":e.name},null,8,te)))),128))])])):(i(),a(p,{key:1},[e("div",ne,[e("span",le,r(d(Ce))+((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.108"))||"发起的")+r(d(fe))+((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.109"))||"会议"),1),d(pe)?g("v-if",!0):(i(),a("span",ie,((null==(f=window.getLanguageByCode)?void 0:f.call(window,"10010.1.110"))||"邀请你加入")+r(d(fe))+((null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.109"))||"会议"),1))]),d(pe)?(i(),a("div",ae,[u(k,{onComfirm:Me,disabledIds:d(H).currentAVMsg.checkedIds},{trigger:m((()=>[u(d(h),{size:"large",circle:"",color:"#000"},{icon:m((()=>[u(d(y),{component:d(_)},null,8,["component"])])),_:1})])),_:1},8,["disabledIds"]),e("p",null,((null==(x=window.getLanguageByCode)?void 0:x.call(window,"10010.1.111"))||"已邀请共")+r(d(H).currentAVMsg.checkedIds.length)+((null==(R=window.getLanguageByCode)?void 0:R.call(window,"10010.1.40"))||"人"),1),u(d(h),{size:"large",strong:"",round:"",type:"primary",onClick:_e},{default:m((()=>{var e;return[w((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.112"))||"开始会诊")]})),_:1}),g(' <div class="btn-box">\r\n\t\t\t\t\t\t<n-button color="#000" round>\r\n\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t<n-icon :component="Mic" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t<n-button color="#000" round>\r\n\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t<n-icon :component="Videocam" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t</div> ')])):(i(),a("div",se,[e("div",re,[u(d(h),{circle:"",color:"#f17568",class:"btn--rotate",onClick:t[0]||(t[0]=()=>d(H).showMultipleVideo=!1)},{icon:m((()=>[u(d(y),{size:"30",component:d(M)},null,8,["component"])])),_:1}),de]),e("div",ce,[u(d(h),{circle:"",color:"#2ac98b",onClick:Le},{icon:m((()=>[u(d(y),{size:"30",component:d(M)},null,8,["component"])])),_:1}),ue])]))],64))])}}});export{me as default};
1
+ import{createElementVNode as e,defineComponent as o,ref as t,computed as n,onBeforeUnmount as l,openBlock as i,createElementBlock as a,withDirectives as s,toDisplayString as r,unref as d,vShow as c,createVNode as u,withCtx as m,Fragment as p,renderList as v,createCommentVNode as g,createTextVNode as w,nextTick as f}from"vue";import{NButton as h,NIcon as y}from"naive-ui";import k from"./ChatAdd.vue.js";import{Close as I,Mic as b,MicOff as A,Videocam as C,VideocamOff as V,Call as M,PersonAdd as _}from"@vicons/ionicons5";import{getUserDetailApi as L}from"../api/index.js";import"@vueuse/core";import{$message as x}from"../utils/index.js";import{xorBy as R}from"lodash-es";import{CHAT_TYPE as E,SUBSCRIBE_MESSAGE_TYPE as T}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as B}from"../hooks/useVideo.js";import j from"trtc-sdk-v5";var S,$,H,U,z,N;const D={class:"video-wrapper video-wrapper--multiple"},O={class:"video-header"},P={key:0,class:"video-main"},Y={class:"video-main__left"},q=["data-name"],G={class:"video-bottom"},F={class:"btn-group"},J={class:"btn"},K=e("span",{class:"text"},(null==(S=window.getLanguageByCode)?void 0:S.call(window,"10010.1.104"))||"静音",-1),Q={class:"btn"},W=e("span",{class:"text"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.105"))||"摄像头",-1),X=e("span",{class:"text"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.106"))||"结束会诊",-1),Z={class:"btn"},ee=e("span",{class:"text"},(null==(U=window.getLanguageByCode)?void 0:U.call(window,"10010.1.107"))||"添加参会人",-1),oe={class:"video-main__right"},te=["id","data-name"],ne={class:"user"},le={class:"name"},ie={key:0,class:"tip"},ae={key:0,class:"calling-box"},se={key:1,class:"opt-btn"},re={class:"btn"},de=e("span",null,(null==(z=window.getLanguageByCode)?void 0:z.call(window,"10010.1.113"))||"拒接",-1),ce={class:"btn"},ue=e("span",null,(null==(N=window.getLanguageByCode)?void 0:N.call(window,"10010.1.126"))||"接听",-1);var me=o({__name:"MultipleVideo",setup(o){const S=t(),$=t([]),{state:H,sendMessage:U,trtc:z,voiceOpen:N,isAudio:me,isCall:pe,startTimer:ve,resetTimer:ge,toggleAudio:we,messageTypeText:fe,timing:he,toggleVideo:ye,videocamOpen:ke,installEventHandlers:Ie,uninstallEventHandlers:be}=B(),Ae=t(!1),Ce=n((()=>pe.value?H.userInfo.name:H.currentAVMsg.sendName)),Ve=n((()=>{if(!Ae.value)return"";const e=pe.value?`(${$.value.length+1}/${H.currentAVMsg.checkedIds.length+1})`:"";return`${Ce.value}发起的${fe.value}会诊${e} ${he.value}`}));function Me(e){console.log("checkedIds :>> ",e),H.currentAVMsg.checkedIds.push(...e),_e()}function _e(){var e;(null==(e=H.currentAVMsg.checkedIds)?void 0:e.length)&&H.currentAVMsg.checkedIds.forEach((e=>{U({chatType:E.SINGLE,content:{msg:H.currentAVMsg.chatMessageType+","+H.currentAVMsg.strRoomId,chatMessageType:T.AV_STATUS},receiver:e})})),Ae.value||Le()}async function Le(){const e=await j.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(H.showMultipleVideo=!1);try{if(await z.enterRoom({strRoomId:H.currentAVMsg.strRoomId,sdkAppId:parseInt(H.userInfo.sdkAppID),userId:H.userInfo.id,userSig:H.userInfo.userSig}),Ae.value=!0,ve(),Ie({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.startLocalAudio(),me.value)return;await z.startLocalVideo({view:S.value})}catch(e){console.log("error :>> ",e),x.error(e),H.showMultipleVideo=!1}}async function xe(){try{if(H.showMultipleVideo=!1,be({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.exitRoom(),await z.stopLocalAudio(),me.value)return;await z.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function Re(e){const{userId:o,streamType:t}=e;try{t===j.TYPE.STREAM_TYPE_MAIN&&(await f(),await z.startRemoteVideo({userId:o,streamType:t,view:o}))}catch(e){console.log("error :>> ",e)}}async function Ee(e){var o;const{userId:t}=e;if(t&&!(null==(o=$.value.map((e=>e.id)))?void 0:o.includes(t))){const e=await Be(t);$.value.push({id:t,name:e})}}async function Te(e){const{userId:o}=e,t=await Be(o);$.value.push({id:o,name:t}),ve()}async function Be(e){const o=await L({userId:e});return(null==o?void 0:o.name)||""}function je(e){console.log("event :>> 退房",e);const{userId:o}=e;$.value=R($.value,[{id:o,name:""}],"id")}function Se(e){console.log("error :>> ",e),H.showMultipleVideo=!1}return l((()=>{xe()})),(o,t)=>{var n,l,f,L,x,R;return i(),a("div",D,[e("div",O,[s(e("span",{class:"title"},r(d(Ve)),513),[[c,Ae.value]]),u(d(h),{quaternary:"",circle:"",color:"#ffffffcc",onClick:xe},{icon:m((()=>[u(d(y),{component:d(I)},null,8,["component"])])),_:1})]),Ae.value?(i(),a("div",P,[e("div",Y,[e("div",{ref_key:"selfVideoRef",ref:S,class:"video-view","data-name":d(H).userInfo.name},null,8,q),e("div",G,[e("div",F,[e("div",J,[u(d(h),{text:"",color:d(N)?"#fff":"#000",onClick:d(we)},{icon:m((()=>[u(d(y),{component:d(N)?d(b):d(A)},null,8,["component"])])),_:1},8,["color","onClick"]),K]),e("div",Q,[u(d(h),{text:"",color:d(ke)?"#fff":"#000",disabled:d(me),onClick:d(ye)},{icon:m((()=>[u(d(y),{component:d(ke)?d(C):d(V)},null,8,["component"])])),_:1},8,["color","disabled","onClick"]),W]),e("div",{class:"btn",onClick:xe},[u(d(h),{circle:"",color:"#f17568",class:"btn--rotate"},{icon:m((()=>[u(d(y),{component:d(M)},null,8,["component"])])),_:1}),X]),u(k,{onComfirm:Me},{trigger:m((()=>[e("div",Z,[u(d(h),{text:"",color:"#fff"},{icon:m((()=>[u(d(y),{component:d(_)},null,8,["component"])])),_:1}),ee])])),_:1})])])]),e("div",oe,[(i(!0),a(p,null,v($.value,(e=>(i(),a("div",{key:e.id,id:e.id,class:"video-view","data-name":e.name},null,8,te)))),128))])])):(i(),a(p,{key:1},[e("div",ne,[e("span",le,r(d(Ce))+((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.108"))||"发起的")+r(d(fe))+((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.109"))||"会议"),1),d(pe)?g("v-if",!0):(i(),a("span",ie,((null==(f=window.getLanguageByCode)?void 0:f.call(window,"10010.1.110"))||"邀请你加入")+r(d(fe))+((null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.109"))||"会议"),1))]),d(pe)?(i(),a("div",ae,[u(k,{onComfirm:Me,disabledIds:d(H).currentAVMsg.checkedIds},{trigger:m((()=>[u(d(h),{size:"large",circle:"",color:"#000"},{icon:m((()=>[u(d(y),{component:d(_)},null,8,["component"])])),_:1})])),_:1},8,["disabledIds"]),e("p",null,((null==(x=window.getLanguageByCode)?void 0:x.call(window,"10010.1.111"))||"已邀请共")+r(d(H).currentAVMsg.checkedIds.length)+((null==(R=window.getLanguageByCode)?void 0:R.call(window,"10010.1.40"))||"人"),1),u(d(h),{size:"large",strong:"",round:"",type:"primary",onClick:_e},{default:m((()=>{var e;return[w((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.112"))||"开始会诊")]})),_:1}),g(' <div class="btn-box">\r\n\t\t\t\t\t\t<n-button color="#000" round>\r\n\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t<n-icon :component="Mic" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t<n-button color="#000" round>\r\n\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t<n-icon :component="Videocam" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t</div> ')])):(i(),a("div",se,[e("div",re,[u(d(h),{circle:"",color:"#f17568",class:"btn--rotate",onClick:t[0]||(t[0]=()=>d(H).showMultipleVideo=!1)},{icon:m((()=>[u(d(y),{size:"30",component:d(M)},null,8,["component"])])),_:1}),de]),e("div",ce,[u(d(h),{circle:"",color:"#2ac98b",onClick:Le},{icon:m((()=>[u(d(y),{size:"30",component:d(M)},null,8,["component"])])),_:1}),ue])]))],64))])}}});export{me as default};
@@ -1,6 +1,7 @@
1
1
  import { CSSProperties } from 'vue';
2
2
  import { AnyObject } from '../../../../shared/types';
3
3
  import { formatTime } from '../utils';
4
+ import { STATUS } from '../constants';
4
5
  declare const _default: import("vue").DefineComponent<{}, {
5
6
  filterKey: {
6
7
  all: string;
@@ -42,6 +43,7 @@ declare const _default: import("vue").DefineComponent<{}, {
42
43
  unreadTotal: import("vue").ComputedRef<number>;
43
44
  openSession: (item: AnyObject) => Promise<void>;
44
45
  setUpdateSessionItem: (item: AnyObject) => void;
46
+ setCurrentSessionItem: (item: AnyObject) => void;
45
47
  currentWidth: import("vue").ComputedRef<number>;
46
48
  sessionList: import("vue").ComputedRef<AnyObject[]>;
47
49
  getLabelNum: (session: AnyObject) => number;
@@ -96,5 +98,6 @@ declare const _default: import("vue").DefineComponent<{}, {
96
98
  beforeUnmount(el: any): void;
97
99
  };
98
100
  formatTime: typeof formatTime;
101
+ STATUS: typeof STATUS;
99
102
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
100
103
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as l,withDirectives as i,openBlock as n,createElementBlock as o,normalizeStyle as s,unref as a,createBlock as u,createCommentVNode as d,createElementVNode as r,Fragment as v,renderList as p,withCtx as c,createTextVNode as m,toDisplayString as g,withModifiers as f,normalizeClass as y,createVNode as w,vShow as k,nextTick as h}from"vue";import{NSpin as x,NTag as _,NAvatar as C,NBadge as b}from"naive-ui";import M from"./ContextMenu.js";import{useData as j}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{STATUS as L}from"../constants/index.js";import{toppingSessionApi as B}from"../api/index.js";import{listSort as N,formatTime as R}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{vFlexibleResize as S}from"../../../../shared/directive/flexibleResize.js";const T={class:"sider-list__filter box-shadow"},D=["onClick","onContextmenu"],E={class:"avatar-right"},H={class:"name"},z={class:"msg-tip"},I={class:"msg-tip__content"},K={key:0},U=["innerHTML"];var W=e({__name:"SiderList",setup(e){var W,A,V;const X="all",Y="unread",$="ended";let q=[];const F=t(300),G=t(),J=t(!1),O=t([{label:(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.123"))||"全部",key:X},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.124"))||"未读",key:Y},{label:(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.77"))||"结束",key:$}]),P=t(),Q=t(!1),Z=t({left:0,top:0}),ee=t(),te=t("all"),{state:le,unreadTotal:ie,openSession:ne,setUpdateSessionItem:oe}=j(),se=l((()=>Math.min(Math.max(F.value,240),360))),ae=l((()=>N(le.sessionList)));function ue({distance:e}){F.value=F.value+e}function de(e,t=a(te)){var l;return t===X||(t===Y?q.includes(e.sessionKey)||(null!=(l=e.unreadNum)?l:0)>0:t===$?e.status===L.ENDED:void 0)}async function re(e,t){if("topping"!==e);else try{await B({id:t.id,topping:!(null==t?void 0:t.topping)}),oe({...t,topping:!(null==t?void 0:t.topping)})}catch(e){}}return(e,t)=>i((n(),o("section",{class:"sider-list",style:s({width:a(se)+"px"})},[J.value?(n(),u(a(x),{key:0,stroke:"#5585f5"})):d("v-if",!0),d(' <n-input v-else placeholder="输入用户名模糊搜索" v-model:value="keyword" @keyup.enter="handleSearch"></n-input> '),r("div",T,[(n(!0),o(v,null,p(O.value,(e=>(n(),u(a(_),{type:te.value===e.key?"info":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return t=e.key,te.value=t,void(t===Y&&(q=(ae.value.filter((e=>{var t;return(null!=(t=e.unreadNum)?t:0)>0}))||[]).map((e=>e.sessionKey))));var t}},{default:c((()=>{return[m(g(e.label)+"("+g((t=e,t.key===$?ae.value.filter((e=>e.status===L.ENDED)).length:ie.value))+") ",1)];var t})),_:2},1032,["type","onClick"])))),128))]),r("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:G},[(n(!0),o(v,null,p(a(ae),(e=>{var t;return i((n(),o("div",{key:e.id,onClick:()=>a(ne)(e),onContextmenu:f((t=>async function(e,t){var l,i,n,o,s;ee.value=t,Q.value=!0,await h();const{clientX:a,clientY:u}=e,{width:d=0,height:r=0,left:v=0,top:p=0}=(null==(l=G.value)?void 0:l.getBoundingClientRect())||{},{width:c=100,height:m=80}=(null==(n=null==(i=P.value)?void 0:i.$el)?void 0:n.getBoundingClientRect())||{},g=null!=(s=null==(o=G.value)?void 0:o.scrollTop)?s:0,f={};a<v+d-(c+2)-5?f.left=a-v+5+"px":f.right=v+d-a+5+"px",p+r-u<=m+5?f.bottom=5-g+"px":f.top=u-p+g+5+"px",Z.value=f}(t,e.id)),["prevent"]),class:y(["sider-list__box__item",{active:e.id===a(le).id},e.topping?"sider-list__box__item--top":""])},[w(a(C),{round:"",size:"large",src:e.avatar},null,8,["src"]),r("div",E,[r("div",H,[r("h4",null,g(e.name),1),r("span",null,g(e.lastMessage?a(R)(e.lastMessageSendTime).siderMsgTime:""),1)]),r("div",z,[r("div",I,["WITHDRAWN"===e.lastMessageStatus?(n(),o("div",K,(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.68"))||"撤回了一条消息")):(n(),o("div",{key:1,innerHTML:e.lastMessageContent},null,8,U))]),w(a(b),{value:e.unreadNum>99?"99+":e.unreadNum},null,8,["value"])])])],42,D)),[[k,de(e)]])})),128)),w(a(M),{ref_key:"contextmenuRef",ref:P,show:Q.value,"onUpdate:show":t[0]||(t[0]=e=>Q.value=e),type:"session",position:Z.value,id:ee.value,onSelect:re},null,8,["show","position","id"])],512)],4)),[[a(S),{mode:"VR",onMove:ue}]])}});export{W as default};
1
+ import{defineComponent as e,ref as t,computed as i,withDirectives as l,openBlock as n,createElementBlock as o,normalizeStyle as s,unref as a,createBlock as u,createCommentVNode as d,createElementVNode as r,Fragment as v,renderList as p,withCtx as c,createTextVNode as m,toDisplayString as g,withModifiers as f,normalizeClass as y,createVNode as w,vShow as k,nextTick as h}from"vue";import{NSpin as x,NTag as _,NAvatar as C,NBadge as M}from"naive-ui";import E from"./ContextMenu.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{STATUS as R}from"../constants/index.js";import{toppingSessionApi as j,updateStatusApi as D}from"../api/index.js";import{listSort as L,formatTime as S}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{vFlexibleResize as B}from"../../../../shared/directive/flexibleResize.js";const N={class:"sider-list__filter box-shadow"},T=["onClick","onContextmenu"],V={class:"avatar-right"},O={class:"name"},H={class:"msg-tip"},I={class:"msg-tip__content"},z={key:0},K=["innerHTML"];var U=e({__name:"SiderList",setup(e){var U,W,A;const X="all",Y="unread",$="ended";let q=[];const F=t(300),G=t(),J=t(!1),P=t([{label:(null==(U=window.getLanguageByCode)?void 0:U.call(window,"10010.1.123"))||"全部",key:X},{label:(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.124"))||"未读",key:Y},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.77"))||"结束",key:$}]),Q=t(),Z=t(!1),ee=t({left:0,top:0}),te=t(),ie=t("all"),{state:le,unreadTotal:ne,openSession:oe,setUpdateSessionItem:se,setCurrentSessionItem:ae}=b(),ue=i((()=>Math.min(Math.max(F.value,240),360))),de=i((()=>L(le.sessionList)));function re({distance:e}){F.value=F.value+e}function ve(e,t=a(ie)){var i;return t===X||(t===Y?q.includes(e.sessionKey)||(null!=(i=e.unreadNum)?i:0)>0:t===$?e.status===R.ENDED:void 0)}async function pe(e,t){try{if("topping"===e)return await j({id:t.id,topping:!(null==t?void 0:t.topping)}),void(le.id===t.id?ae({topping:!(null==t?void 0:t.topping)}):se({...t,topping:!(null==t?void 0:t.topping)}));"remove"===e&&(await D({id:t.id,status:R.REMOVED}),le.id===t.id?ae({status:R.REMOVED}):se({...t,status:R.REMOVED}))}catch(e){}}return(e,t)=>l((n(),o("section",{class:"sider-list",style:s({width:a(ue)+"px"})},[J.value?(n(),u(a(x),{key:0,stroke:"#5585f5"})):d("v-if",!0),d(' <n-input v-else placeholder="输入用户名模糊搜索" v-model:value="keyword" @keyup.enter="handleSearch"></n-input> '),r("div",N,[(n(!0),o(v,null,p(P.value,(e=>(n(),u(a(_),{type:ie.value===e.key?"primary":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return t=e.key,ie.value=t,void(t===Y&&(q=(de.value.filter((e=>{var t;return(null!=(t=e.unreadNum)?t:0)>0}))||[]).map((e=>e.sessionKey))));var t}},{default:c((()=>{return[m(g(e.label)+"("+g((t=e,t.key===$?de.value.filter((e=>e.status===R.ENDED)).length:ne.value))+") ",1)];var t})),_:2},1032,["type","onClick"])))),128))]),r("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:G},[(n(!0),o(v,null,p(a(de),(e=>{var t;return n(),o(v,{key:e.id},[e.status!==a(R).REMOVED?l((n(),o("div",{key:0,onClick:()=>a(oe)(e),onContextmenu:f((t=>async function(e,t){var i,l,n,o,s;te.value=t,Z.value=!0,await h();const{clientX:a,clientY:u}=e,{width:d=0,height:r=0,left:v=0,top:p=0}=(null==(i=G.value)?void 0:i.getBoundingClientRect())||{},{width:c=100,height:m=80}=(null==(n=null==(l=Q.value)?void 0:l.$el)?void 0:n.getBoundingClientRect())||{},g=null!=(s=null==(o=G.value)?void 0:o.scrollTop)?s:0,f={};a<v+d-(c+2)-5?f.left=a-v+5+"px":f.right=v+d-a+5+"px",p+r-u<=m+5?f.bottom=5-g+"px":f.top=u-p+g+5+"px",ee.value=f}(t,e.id)),["prevent"]),class:y(["sider-list__box__item",{active:e.id===a(le).id},e.topping?"sider-list__box__item--top":""])},[w(a(C),{round:"",size:"large",src:e.avatar},null,8,["src"]),r("div",V,[r("div",O,[r("h4",null,g(e.name),1),r("span",null,g(e.lastMessage?a(S)(e.lastMessageSendTime).siderMsgTime:""),1)]),r("div",H,[r("div",I,["WITHDRAWN"===e.lastMessageStatus?(n(),o("div",z,(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.68"))||"撤回了一条消息")):(n(),o("div",{key:1,innerHTML:e.lastMessageContent},null,8,K))]),w(a(M),{value:e.unreadNum>99?"99+":e.unreadNum},null,8,["value"])])])],42,T)),[[k,ve(e)]]):d("v-if",!0)],64)})),128)),w(a(E),{ref_key:"contextmenuRef",ref:Q,show:Z.value,"onUpdate:show":t[0]||(t[0]=e=>Z.value=e),type:"session",position:ee.value,id:te.value,onSelect:pe},null,8,["show","position","id"])],512)],4)),[[a(B),{mode:"VR",onMove:re}]])}});export{U as default};
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as o,ref as n,computed as s,watch as t,onBeforeUnmount as r,openBlock as a,createElementBlock as l,withDirectives as i,vShow as c,createVNode as u,unref as d,toDisplayString as v,Fragment as m,normalizeClass as p,withCtx as g}from"vue";import{NAvatar as f,NButton as w,NIcon as h}from"naive-ui";import{Mic as I,MicOffCircle as y,Call as A}from"@vicons/ionicons5";import{avFinishApi as k}from"../api/index.js";import"@vueuse/core";import{$message as E}from"../utils/index.js";import"lodash-es";import{AV_STATUS as V,CHAT_TYPE as R}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as S}from"../hooks/useVideo.js";import C from"trtc-sdk-v5";var M,b,L,T;const j={class:"video-wrapper"},x={class:"user"},_={class:"name"},N={class:"tip"},H={class:"opt-btn"},D={class:"btn"},z=e("span",null,(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.104"))||"静音",-1),B=e("span",null,(null==(b=window.getLanguageByCode)?void 0:b.call(window,"10010.1.113"))||"拒接",-1),U={class:"btn"},F=e("span",null,(null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.125"))||"挂断",-1),O=e("span",null,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.114"))||"接听",-1);var G=o({__name:"Video",setup(o){const{sendMessage:M,state:b,trtc:L,timing:T,voiceOpen:G,isAudio:J,isCall:P,startTimer:$,resetTimer:q,toggleAudio:K,messageTypeText:Q,time:W,installEventHandlers:X,uninstallEventHandlers:Y}=S(),Z=n(),ee=n(),oe=n(!1);let ne=null;const se=s((()=>{var e,o,n;return P.value?{avatar:b.currentSessionItem.avatar,name:b.currentSessionItem.name,userId:b.currentSessionItem.receiver}:{avatar:null==(e=b.currentAVMsg.currentMsg)?void 0:e.senderAvatar,name:null==(o=b.currentAVMsg.currentMsg)?void 0:o.senderName,userId:null==(n=b.currentAVMsg.currentMsg)?void 0:n.sender}})),te=s((()=>oe.value?J.value?T.value:"":P.value?"正在呼叫...":`邀请你${Q.value}问诊...`)),re=s((()=>{var e,o;return null==(o=null==(e=b.currentAVMsg.currentMsg)?void 0:e.content)?void 0:o.avStatus}));async function ae(e=V.FINISHED){M({chatType:R.SINGLE,content:{msg:e===V.FINISHED?""+W.seconds:"s",chatMessageType:b.currentAVMsg.chatMessageType,avStatus:e},receiver:se.value.userId}),await k({recordId:b.currentAVMsg.currentMsg.id,status:e,duration:e===V.FINISHED?W.seconds:0})}async function le(){const e=await C.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(b.showVideo=!1);try{if(await L.enterRoom({strRoomId:b.currentAVMsg.strRoomId,sdkAppId:parseInt(b.userInfo.sdkAppID),userId:b.userInfo.id,userSig:b.userInfo.userSig}),P.value||(oe.value=!0,$()),X({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.startLocalAudio(),J.value)return;await L.startLocalVideo({view:ee.value})}catch(e){console.log("error :>> ",e),E.error(e),b.showVideo=!1}}function ie(){P.value&&!oe.value?ae(V.CANCELED):ae()}async function ce(){try{if(b.showVideo=!1,Y({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.exitRoom(),await L.stopLocalAudio(),J.value)return;await L.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function ue(e){const{userId:o,streamType:n}=e;try{await L.startRemoteVideo({userId:o,streamType:n,view:Z.value})}catch(e){console.log("error :>> ",e)}}function de(e){}function ve(){oe.value=!0,$()}function me(e){console.log("event :>> 对方已挂断",e),ce()}function pe(e){console.log("error :>> ",e),b.showVideo=!1}return t((()=>re.value),(e=>{b.showVideo&&(e===V.IN_CALL?async function(){P.value?le():(ne&&clearTimeout(ne),ne=setTimeout((async()=>{oe.value||ae(V.NO_RESPONSE)}),6e4))}():ce())}),{immediate:!0}),r((()=>{ce()})),(o,n)=>(a(),l("div",j,[i(e("div",{class:"video-box",ref_key:"videoRef",ref:Z},null,512),[[c,oe.value]]),i(e("div",{class:"video-box--self",ref_key:"selfVideoRef",ref:ee},null,512),[[c,oe.value]]),i(e("div",x,[u(d(f),{size:58,round:"",src:d(se).avatar},null,8,["src"]),e("span",_,v(d(se).name),1),e("span",N,v(d(te)),1)],512),[[c,d(J)||!oe.value]]),e("div",H,[e("div",D,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",onClick:d(K),class:p({bordered:d(G)})},{icon:g((()=>[u(d(h),{size:"30",color:d(G)?"#fff":"#626262",component:d(G)?d(I):d(y)},null,8,["color","component"])])),_:1},8,["onClick","class"]),z],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:n[0]||(n[0]=()=>ae(d(V).REJECTED))},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),B],64))]),e("div",U,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:ie},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),F],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#2ac98b",onClick:le},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),O],64))])])]))}});export{G as default};
1
+ import{createElementVNode as e,defineComponent as o,ref as n,computed as s,watch as t,onBeforeUnmount as r,openBlock as a,createElementBlock as l,withDirectives as i,vShow as c,createVNode as u,unref as d,toDisplayString as v,Fragment as m,normalizeClass as p,withCtx as g}from"vue";import{NAvatar as f,NButton as w,NIcon as h}from"naive-ui";import{Mic as I,MicOffCircle as y,Call as A}from"@vicons/ionicons5";import{avFinishApi as k}from"../api/index.js";import"@vueuse/core";import{$message as E}from"../utils/index.js";import"lodash-es";import{AV_STATUS as V,CHAT_TYPE as R}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as S}from"../hooks/useVideo.js";import C from"trtc-sdk-v5";var M,b,L,T;const j={class:"video-wrapper"},x={class:"user"},_={class:"name"},N={class:"tip"},H={class:"opt-btn"},D={class:"btn"},z=e("span",null,(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.104"))||"静音",-1),B=e("span",null,(null==(b=window.getLanguageByCode)?void 0:b.call(window,"10010.1.113"))||"拒接",-1),U={class:"btn"},F=e("span",null,(null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.125"))||"挂断",-1),O=e("span",null,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.126"))||"接听",-1);var G=o({__name:"Video",setup(o){const{sendMessage:M,state:b,trtc:L,timing:T,voiceOpen:G,isAudio:J,isCall:P,startTimer:$,resetTimer:q,toggleAudio:K,messageTypeText:Q,time:W,installEventHandlers:X,uninstallEventHandlers:Y}=S(),Z=n(),ee=n(),oe=n(!1);let ne=null;const se=s((()=>{var e,o,n;return P.value?{avatar:b.currentSessionItem.avatar,name:b.currentSessionItem.name,userId:b.currentSessionItem.receiver}:{avatar:null==(e=b.currentAVMsg.currentMsg)?void 0:e.senderAvatar,name:null==(o=b.currentAVMsg.currentMsg)?void 0:o.senderName,userId:null==(n=b.currentAVMsg.currentMsg)?void 0:n.sender}})),te=s((()=>oe.value?J.value?T.value:"":P.value?"正在呼叫...":`邀请你${Q.value}问诊...`)),re=s((()=>{var e,o;return null==(o=null==(e=b.currentAVMsg.currentMsg)?void 0:e.content)?void 0:o.avStatus}));async function ae(e=V.FINISHED){M({chatType:R.SINGLE,content:{msg:e===V.FINISHED?""+W.seconds:"s",chatMessageType:b.currentAVMsg.chatMessageType,avStatus:e},receiver:se.value.userId}),await k({recordId:b.currentAVMsg.currentMsg.id,status:e,duration:e===V.FINISHED?W.seconds:0})}async function le(){const e=await C.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(b.showVideo=!1);try{if(await L.enterRoom({strRoomId:b.currentAVMsg.strRoomId,sdkAppId:parseInt(b.userInfo.sdkAppID),userId:b.userInfo.id,userSig:b.userInfo.userSig}),P.value||(oe.value=!0,$()),X({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.startLocalAudio(),J.value)return;await L.startLocalVideo({view:ee.value})}catch(e){console.log("error :>> ",e),E.error(e),b.showVideo=!1}}function ie(){P.value&&!oe.value?ae(V.CANCELED):ae()}async function ce(){try{if(b.showVideo=!1,Y({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.exitRoom(),await L.stopLocalAudio(),J.value)return;await L.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function ue(e){const{userId:o,streamType:n}=e;try{await L.startRemoteVideo({userId:o,streamType:n,view:Z.value})}catch(e){console.log("error :>> ",e)}}function de(e){}function ve(){oe.value=!0,$()}function me(e){console.log("event :>> 对方已挂断",e),ce()}function pe(e){console.log("error :>> ",e),b.showVideo=!1}return t((()=>re.value),(e=>{b.showVideo&&(e===V.IN_CALL?async function(){P.value?le():(ne&&clearTimeout(ne),ne=setTimeout((async()=>{oe.value||ae(V.NO_RESPONSE)}),6e4))}():ce())}),{immediate:!0}),r((()=>{ce()})),(o,n)=>(a(),l("div",j,[i(e("div",{class:"video-box",ref_key:"videoRef",ref:Z},null,512),[[c,oe.value]]),i(e("div",{class:"video-box--self",ref_key:"selfVideoRef",ref:ee},null,512),[[c,oe.value]]),i(e("div",x,[u(d(f),{size:58,round:"",src:d(se).avatar},null,8,["src"]),e("span",_,v(d(se).name),1),e("span",N,v(d(te)),1)],512),[[c,d(J)||!oe.value]]),e("div",H,[e("div",D,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",onClick:d(K),class:p({bordered:d(G)})},{icon:g((()=>[u(d(h),{size:"30",color:d(G)?"#fff":"#626262",component:d(G)?d(I):d(y)},null,8,["color","component"])])),_:1},8,["onClick","class"]),z],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:n[0]||(n[0]=()=>ae(d(V).REJECTED))},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),B],64))]),e("div",U,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:ie},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),F],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#2ac98b",onClick:le},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),O],64))])])]))}});export{G as default};
@@ -49,6 +49,5 @@ export declare enum AV_STATUS {
49
49
  export declare enum STATUS {
50
50
  REMOVED = "REMOVED",
51
51
  ENABLED = "ENABLED",
52
- ENDED = "ENDED",
53
- EXITED = "EXITED"
52
+ ENDED = "ENDED"
54
53
  }
@@ -1 +1 @@
1
- var E=(E=>(E.SINGLE="SINGLE",E.GROUP="GROUP",E))(E||{}),S=(E=>(E.TEXT="TEXT",E.FILE="FILE",E.EMOJI="EMOJI",E.IMAGE="IMAGE",E.TEMPLATE="TEMPLATE",E.BLEND="BLEND",E.FORWARD="FORWARD",E.QUICK_REPLY="QUICK_REPLY",E.AUDIO="AUDIO",E.VIDEO="VIDEO",E))(S||{}),A=(E=>(E.JOIN_GROUP="JOIN_GROUP",E.LEAVE_GROUP="LEAVE_GROUP",E.NEW_SESSION="NEW_SESSION",E.MESSAGE="MESSAGE",E.AV_STATUS="AV_STATUS",E.RECALL_MESSAGE="RECALL_MESSAGE",E.DISABLE_SESSION="DISABLE_SESSION",E))(A||{}),I=(E=>(E.IN_CALL="IN_CALL",E.CALL_BUSY="CALL_BUSY",E.NO_RESPONSE="NO_RESPONSE",E.FINISHED="FINISHED",E.REJECTED="REJECTED",E.CANCELED="CANCELED",E))(I||{}),L=(E=>(E.REMOVED="REMOVED",E.ENABLED="ENABLED",E.ENDED="ENDED",E.EXITED="EXITED",E))(L||{});export{I as AV_STATUS,E as CHAT_TYPE,S as MESSAGE_TYPE,L as STATUS,A as SUBSCRIBE_MESSAGE_TYPE};
1
+ var E=(E=>(E.SINGLE="SINGLE",E.GROUP="GROUP",E))(E||{}),S=(E=>(E.TEXT="TEXT",E.FILE="FILE",E.EMOJI="EMOJI",E.IMAGE="IMAGE",E.TEMPLATE="TEMPLATE",E.BLEND="BLEND",E.FORWARD="FORWARD",E.QUICK_REPLY="QUICK_REPLY",E.AUDIO="AUDIO",E.VIDEO="VIDEO",E))(S||{}),A=(E=>(E.JOIN_GROUP="JOIN_GROUP",E.LEAVE_GROUP="LEAVE_GROUP",E.NEW_SESSION="NEW_SESSION",E.MESSAGE="MESSAGE",E.AV_STATUS="AV_STATUS",E.RECALL_MESSAGE="RECALL_MESSAGE",E.DISABLE_SESSION="DISABLE_SESSION",E))(A||{}),L=(E=>(E.IN_CALL="IN_CALL",E.CALL_BUSY="CALL_BUSY",E.NO_RESPONSE="NO_RESPONSE",E.FINISHED="FINISHED",E.REJECTED="REJECTED",E.CANCELED="CANCELED",E))(L||{}),I=(E=>(E.REMOVED="REMOVED",E.ENABLED="ENABLED",E.ENDED="ENDED",E))(I||{});export{L as AV_STATUS,E as CHAT_TYPE,S as MESSAGE_TYPE,I as STATUS,A as SUBSCRIBE_MESSAGE_TYPE};
@@ -1 +1 @@
1
- import{ref as e,reactive as s,computed as t,watch as n,inject as i,toRaw as r}from"vue";import{openSessionApi as o,groupUserApi as a}from"../api/index.js";import{promiseTimeout as c,useIntervalFn as u}from"@vueuse/core";import{listSort as m,formatTime as d,transformMessage as l,getFileSize as p,simplifyMessage as g}from"../utils/index.js";import{cloneDeep as h,isArray as f,uniqBy as S}from"lodash-es";import{STATUS as T,CHAT_TYPE as I,MESSAGE_TYPE as y}from"../constants/index.js";import{useTheme as v}from"../../../../shared/hooks/useTheme.js";import"date-fns";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";const L=Symbol("InjectionIChatData");function M(e){return e.chatType===I.GROUP}function C(e){const{lastMessage:s,lastSenderName:t=""}=e,n=g(s)||"";return M(e)&&t?t+": "+n:n}function N(i,g){const L=e(),N=s({orgId:i.orgId,currentSessionItem:{},id:"",userInfo:{id:i.userId},msgList:[],currentMsg:{},isAppendMsg:!1,sessionList:[],isChangeSession:!1,updateSessionItem:{},isUpdateSession:!1,currentReferenceMsg:null,currentReEditMsg:null,showVideo:!1,currentAVMsg:{},currentGroupUser:[],showMultipleVideo:!1}),U=v(),j=t((()=>N.sessionList.reduce(((e,s)=>e+ +s.unreadNum),0))),w=t((()=>M(N.currentSessionItem))),E=t((()=>{var e,s,t;return(null==(e=N.userInfo)?void 0:e.id)===(null==(t=null==(s=N.currentGroupUser)?void 0:s[0])?void 0:t.id)})),G=t((()=>{var e;return(null==(e=N.currentSessionItem)?void 0:e.status)===T.ENDED}));n((()=>j.value),(e=>{!async function s(t=0){if(t>2)return;const n=N.sessionList.filter((e=>{var s;return+(null!=(s=e.unreadNum)?s:0)>0}));n.every((e=>!!e.name))?g("unread-message-update",e,m(n)):(await c(300),s(++t))}()})),n([()=>N.isChangeSession,()=>N.isUpdateSession],(([e,s])=>{e&&(x(N.currentSessionItem),N.isChangeSession=!1),s&&(x(N.updateSessionItem),N.isUpdateSession=!1)}),{immediate:!0});const{pause:_,resume:D,isActive:K}=u((()=>{const e=h(N.msgList);e.some((e=>{const{sendTime:s}=e;return!(Date.now()-new Date(s).getTime()>=36e5)&&(e.__sendTime=d(s).recordTime,!0)})),N.msgList=e,R()||_()}),6e4,{immediate:!1});function R(){return!!N.msgList.length&&N.msgList.some((e=>Date.now()-new Date(e.sendTime).getTime()<36e5))}async function O(e){var s;try{null==(s=L.value)||s.send("/app/chat/send",{},JSON.stringify({chatType:N.currentSessionItem.chatType,receiver:N.currentSessionItem.receiver,...e}))}catch(e){}}function k(e){Object.assign(N.currentSessionItem,e,{lastMessageContent:Reflect.has(e,"lastMessageContent")?e.lastMessageContent:Reflect.has(e,"lastMessage")?C({...e,chatType:e.chatType||N.currentSessionItem.chatType}):N.currentSessionItem.lastMessageContent}),N.isChangeSession=!0,N.id!==N.currentSessionItem.id&&(N.msgList=[],N.id=N.currentSessionItem.id)}function b(e){N.sessionList=h(S(e,"id")),N.sessionList.forEach((e=>{Object.assign(e,{defaultName:Reflect.has(e,"defaultName")?e.defaultName:e.name||"",lastMessageContent:Reflect.has(e,"lastMessageContent")?e.lastMessageContent:C(e)}),e.receiver===N.userInfo.id&&(e.unreadNum=0),e.chatType!==I.GROUP||e.name||a({id:e.receiver}).then((s=>{f(s)&&(e.name=s.map((e=>e.name)).join(","))}))}))}function x(e){!e.id||N.sessionList.map((e=>e.id)).includes(e.id)?N.sessionList.some((s=>{if(s.sessionKey===e.sessionKey){let{unreadNum:t=0}=s;return Object.assign(s,e),e.sessionKey!==N.currentSessionItem.sessionKey&&s.sender&&s.sender!==N.userInfo.id&&(s.unreadNum=++t),!0}})):b([...N.sessionList,e])}return{cssVars:U,stompClient:L,state:N,unreadTotal:j,isGroupChat:w,isGroupLeader:E,isEnded:G,setMsgList:function(e=[]){_(),N.msgList=h(e).sort(((e,s)=>new Date(s.sendTime).getTime()-new Date(e.sendTime).getTime())),N.msgList.forEach((e=>{var s,t;Object.assign(e,{__time:d(e.sendTime).msgTime,__content:(t=e.content.chatMessageType,[y.TEXT,y.TEXT,y.BLEND].includes(t)?l(e.content):null==(s=e.content)?void 0:s.msg),__sendTime:d(e.sendTime).recordTime}),e.content.chatMessageType!==y.FILE||e.__size||p(e.content.fileUrl).then((s=>{e.__size=s}))})),R()&&D()},sendMessage:O,relayMessage:async function(e){const{checkedIds:s,remark:t,content:n}=e;for(let e=0;e<s.length;e++){const i=s[e],r=N.sessionList.find((e=>e.receiver===i));r||await o({chatType:I.SINGLE,receiver:i,sender:N.userInfo.id});const a=(null==r?void 0:r.chatType)||I.SINGLE;O({chatType:a,receiver:i,content:n}),await c(100),t&&O({chatType:a,receiver:i,content:{chatMessageType:y.TEXT,msg:t}}),await c(100)}},openSession:async function(e){const s=N.currentSessionItem.sessionKey;if(k(e),s!==N.currentSessionItem.sessionKey){if(w.value){const s=await a({id:e.receiver});N.currentGroupUser=f(s)?s:[]}else N.currentGroupUser=S([N.userInfo,{...h(e),id:e.receiver}],"id");g("session-change",{...r(N.currentSessionItem),userList:N.currentGroupUser.map((e=>r(e)))})}},closeSession:function(){if(!N.id)return null;const{currentSessionItem:e}=N;return N.currentSessionItem={},N.msgList=[],N.id="",N.currentGroupUser=[],e},getCurrentSession:function(){return N.id?N.currentSessionItem:null},setCurrentSessionItem:k,setUpdateSessionItem:function(e){const s=N.sessionList.find((s=>s.sessionKey===e.sessionKey)),t={...e,lastMessageContent:C({...e,chatType:e.chatType||(null==s?void 0:s.chatType)})};N.updateSessionItem=s?{...h(s),...t}:t,N.isUpdateSession=!0},setSessionList:b,emit:g}}const U=()=>i(L);export{L as InjectionIChatData,N as initData,U as useData};
1
+ import{ref as e,reactive as s,computed as t,watch as n,inject as i,toRaw as r}from"vue";import{openSessionApi as o,updateStatusApi as a,groupUserApi as c}from"../api/index.js";import{promiseTimeout as u,useIntervalFn as m}from"@vueuse/core";import{isGroup as d,listSort as l,formatTime as p,transformMessage as g,getFileSize as h,simplifyMessage as f}from"../utils/index.js";import{cloneDeep as S,isArray as I,uniqBy as T}from"lodash-es";import{STATUS as y,MESSAGE_TYPE as v,CHAT_TYPE as L}from"../constants/index.js";import{useTheme as M}from"../../../../shared/hooks/useTheme.js";import"date-fns";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";const E=Symbol("InjectionIChatData");function C(e){const{lastMessage:s,lastSenderName:t=""}=e,n=f(s)||"";return d(e)&&t?t+": "+n:n}function N(i,f){const E=e(),N=s({orgId:i.orgId,currentSessionItem:{},id:"",userInfo:{id:i.userId},msgList:[],currentMsg:{},isAppendMsg:!1,sessionList:[],isChangeSession:!1,updateSessionItem:{},isUpdateSession:!1,currentReferenceMsg:null,currentReEditMsg:null,showVideo:!1,currentAVMsg:{},currentGroupUser:[],showMultipleVideo:!1}),D=M(),w=t((()=>N.sessionList.reduce(((e,s)=>e+ +s.unreadNum),0))),j=t((()=>d(N.currentSessionItem))),U=t((()=>{var e,s,t;return(null==(e=N.userInfo)?void 0:e.id)===(null==(t=null==(s=N.currentGroupUser)?void 0:s[0])?void 0:t.id)})),_=t((()=>{var e;return(null==(e=N.currentSessionItem)?void 0:e.status)===y.ENDED}));n((()=>w.value),(e=>{!async function s(t=0){if(t>2)return;const n=N.sessionList.filter((e=>{var s;return+(null!=(s=e.unreadNum)?s:0)>0}));n.every((e=>!!e.name))?f("unread-message-update",e,l(n)):(await u(300),s(++t))}()})),n([()=>N.isChangeSession,()=>N.isUpdateSession],(([e,s])=>{e&&(B(N.currentSessionItem),N.currentSessionItem.status===y.REMOVED&&V(),N.isChangeSession=!1),s&&(B(N.updateSessionItem),N.isUpdateSession=!1)}),{immediate:!0});const{pause:G,resume:R,isActive:K}=m((()=>{const e=S(N.msgList);e.some((e=>{const{sendTime:s}=e;return!(Date.now()-new Date(s).getTime()>=36e5)&&(e.__sendTime=p(s).recordTime,!0)})),N.msgList=e,O()||G()}),6e4,{immediate:!1});function O(){return!!N.msgList.length&&N.msgList.some((e=>Date.now()-new Date(e.sendTime).getTime()<36e5))}async function k(e){var s;try{null==(s=E.value)||s.send("/app/chat/send",{},JSON.stringify({chatType:N.currentSessionItem.chatType,receiver:N.currentSessionItem.receiver,...e}))}catch(e){}}function x(e){Object.assign(N.currentSessionItem,e,{lastMessageContent:Reflect.has(e,"lastMessageContent")?e.lastMessageContent:Reflect.has(e,"lastMessage")?C({...e,chatType:e.chatType||N.currentSessionItem.chatType}):N.currentSessionItem.lastMessageContent}),N.isChangeSession=!0,N.id!==N.currentSessionItem.id&&(N.msgList=[],N.id=N.currentSessionItem.id)}function A(e){const s=N.sessionList.find((s=>s.sessionKey===e.sessionKey)),t={...e,lastMessageContent:C({...e,chatType:e.chatType||(null==s?void 0:s.chatType)})};N.updateSessionItem=s?{...S(s),...t}:t,N.isUpdateSession=!0}function V(){if(!N.id)return null;const{currentSessionItem:e}=N;return N.currentSessionItem={},N.msgList=[],N.id="",N.currentGroupUser=[],e}function b(e){N.sessionList=S(T(e,"id")),N.sessionList.forEach((e=>{Object.assign(e,{defaultName:Reflect.has(e,"defaultName")?e.defaultName:e.name||"",lastMessageContent:Reflect.has(e,"lastMessageContent")?e.lastMessageContent:C(e)}),e.receiver===N.userInfo.id&&(e.unreadNum=0),e.chatType!==L.GROUP||e.name||c({id:e.receiver}).then((s=>{I(s)&&(e.name=s.map((e=>e.name)).join(","))}))}))}function B(e){!e.id||N.sessionList.map((e=>e.id)).includes(e.id)?N.sessionList.some((s=>{if(s.sessionKey===e.sessionKey){let{unreadNum:t=0}=s;return Object.assign(s,e),e.sessionKey!==N.currentSessionItem.sessionKey&&s.sender&&s.sender!==N.userInfo.id&&(s.unreadNum=++t),!0}})):b([...N.sessionList,e])}return{cssVars:D,stompClient:E,state:N,unreadTotal:w,isGroupChat:j,isGroupLeader:U,isEnded:_,setMsgList:function(e=[]){G(),N.msgList=S(e).sort(((e,s)=>new Date(s.sendTime).getTime()-new Date(e.sendTime).getTime())),N.msgList.forEach((e=>{var s,t;Object.assign(e,{__time:p(e.sendTime).msgTime,__content:(t=e.content.chatMessageType,[v.TEXT,v.TEXT,v.BLEND].includes(t)?g(e.content):null==(s=e.content)?void 0:s.msg),__sendTime:p(e.sendTime).recordTime}),e.content.chatMessageType!==v.FILE||e.__size||h(e.content.fileUrl).then((s=>{e.__size=s}))})),O()&&R()},sendMessage:k,relayMessage:async function(e){const{checkedIds:s,remark:t,content:n}=e;for(let e=0;e<s.length;e++){const i=s[e],r=N.sessionList.find((e=>e.receiver===i));r||await o({chatType:L.SINGLE,receiver:i,sender:N.userInfo.id});const a=(null==r?void 0:r.chatType)||L.SINGLE;k({chatType:a,receiver:i,content:n}),await u(100),t&&k({chatType:a,receiver:i,content:{chatMessageType:v.TEXT,msg:t}}),await u(100)}},openSession:async function(e){try{e.status===y.REMOVED&&(await a({id:e.id,status:y.ENABLED}),A({...e,status:y.ENABLED}),e.status=y.ENABLED);const s=N.currentSessionItem.sessionKey;if(x(e),s===N.currentSessionItem.sessionKey)return;if(j.value){const s=await c({id:e.receiver});N.currentGroupUser=I(s)?s:[]}else N.currentGroupUser=T([N.userInfo,{...S(e),id:e.receiver}],"id");f("session-change",{...r(N.currentSessionItem),userList:N.currentGroupUser.map((e=>r(e)))})}catch(e){console.log("error---\x3e",e)}},closeSession:V,getCurrentSession:function(){return N.id?N.currentSessionItem:null},setCurrentSessionItem:x,setUpdateSessionItem:A,setSessionList:b,emit:f}}const D=()=>i(E);export{E as InjectionIChatData,N as initData,D as useData};
@@ -1 +1 @@
1
- import{ref as e}from"vue";import{isArray as o}from"lodash-es";import{listUserApi as r}from"../api/index.js";import{useDebounceFn as s}from"@vueuse/core";import"../../../../shared/utils/index.js";import"naive-ui";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{useScrollLoading as t}from"../../../../shared/hooks/useScrollLoading.js";import{useData as a}from"./useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../utils/index.js";import"trtc-sdk-v5";function i({wrapperRef:i,keywordRef:n,before:p,after:u}){const m={page:0,hasMore:!0},{state:c}=a(),d=e([]),l=s((function(){Object.assign(m,{page:0,hasMore:!0}),f()}),300);async function f(){const e=(n.value||"").replace(/^\s+|\s+$/g,"");if(!e)return void(p?p():d.value=[]);if(!m.hasMore)return;m.page++,1==m.page&&(d.value=[]);const s=await r({orgId:c.orgId,keyword:e,page:m.page,pageSize:10});o(s.records)&&d.value.length<=+s.total&&(d.value=m.page>1?d.value.concat(s.records):s.records,null==u||u(),d.value.length>=+s.total&&(m.hasMore=!1))}return t(i,(()=>{f()})),{userList:d,handleInput:l}}export{i as useSearchUserList};
1
+ import{ref as e}from"vue";import{isArray as o}from"lodash-es";import{listUserApi as r}from"../api/index.js";import{useDebounceFn as s}from"@vueuse/core";import"../../../../shared/utils/index.js";import"naive-ui";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{useScrollLoading as t}from"../../../../shared/hooks/useScrollLoading.js";import{useData as a}from"./useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../utils/index.js";import"trtc-sdk-v5";function i({wrapperRef:i,keywordRef:n,before:p,after:u}){const m={page:0,hasMore:!0},{state:c}=a(),d=e([]),l=s((function(){Object.assign(m,{page:0,hasMore:!0}),f()}),300);async function f(){const e=(n.value||"").replace(/^\s+|\s+$/g,"");if(!e)return void(p?p():d.value=[]);if(!m.hasMore)return;m.page++,1==m.page&&(d.value=[]);const s=await r({orgId:c.orgId,keyword:e,page:m.page,pageSize:15});o(s.records)&&d.value.length<=+s.total&&(d.value=m.page>1?d.value.concat(s.records):s.records,null==u||u(),d.value.length>=+s.total&&(m.hasMore=!1))}return t(i,(()=>{f()})),{userList:d,handleInput:l}}export{i as useSearchUserList};
@@ -1 +1 @@
1
- import t from"stompjs";import i from"sockjs-client/dist/sockjs.min.js";class s{constructor(t,i){this.reconnectionCount=0,this.options={},this.url="",this.url=t,this.options=i,this.connection()}connection(){if(!this.url)return;const s=new i(this.url);this.stompClient=t.over(s),this.stompClient.debug=null,this.stompClient.connect(this.options.headers||{},(()=>{const{connectCb:t}=this.options;t&&t(this.reconnectionCount>0),this.startHeartbeat(),this.subscribe(this.options.subscribeCbs),this.reconnectionCount=0}),(t=>{const i=this.reconnectionCount,{errorCb:s,reconnectMaxCount:e=60}=this.options;s&&s(t,i),i<=e&&this.reconnect()}))}disconnect(){var t;this.heartbeatTimer&&clearTimeout(this.heartbeatTimer),this.reconnectTimer&&clearTimeout(this.reconnectTimer),null==(t=this.stompClient)||t.disconnect(),this.stompClient=void 0}reconnect(){this.reconnectionCount++,this.disconnect(),this.reconnectTimer=setTimeout((()=>{this.connection()}),1e3)}subscribe(...t){const i=this.stompClient;if(i){if(1!==t.length||!Array.isArray(t[0]))return 2===t.length?i.subscribe(...t):void 0;t[0].forEach((t=>{this.subscribe(t.action,t.cb)}))}}startHeartbeat(){const t=this.options.heartbeatFn;if(!t)return;const i=this.options.heartbeatRate||1e4;this.heartbeatTimer=setTimeout((()=>{t(),this.startHeartbeat()}),i)}send(...t){var i;return null==(i=this.stompClient)?void 0:i.send(...t)}}export{s as ChatSock};
1
+ import t from"stompjs";import s from"sockjs-client/dist/sockjs.min.js";class i{constructor(t,s){this.reconnectionCount=0,this.options={},this.url="",this.url=t,this.options=s,this.connection()}connection(){if(!this.url)return;const i=new s(this.url);this.stompClient=t.over(i),this.stompClient.debug=null,this.stompClient.connect(this.options.headers||{},(()=>{const{connectCb:t}=this.options;t&&t(this.reconnectionCount>0),this.startHeartbeat(),this.subscribe(this.options.subscribeCbs),this.reconnectionCount=0}),(t=>{const s=this.reconnectionCount,{errorCb:i,reconnectMaxCount:e=60}=this.options;i&&i(t,s),s<=e&&this.reconnect()}))}disconnect(){var t;this.heartbeatTimer&&clearTimeout(this.heartbeatTimer),this.reconnectTimer&&clearTimeout(this.reconnectTimer),null==(t=this.stompClient)||t.disconnect(),this.stompClient=void 0}reconnect(){this.reconnectionCount++,this.disconnect(),this.reconnectTimer=setTimeout((()=>{this.connection()}),1e3)}subscribe(...t){const s=this.stompClient;if(s&&!(t.length<1))return 1===t.length&&Array.isArray(t[0])?void t[0].forEach((t=>{this.subscribe(t.action,t.cb)})):s.subscribe(...t)}startHeartbeat(){const t=this.options.heartbeatFn;if(!t)return;const s=this.options.heartbeatRate||1e4;this.heartbeatTimer=setTimeout((()=>{t(),this.startHeartbeat()}),s)}send(...t){var s;return null==(s=this.stompClient)?void 0:s.send(...t)}}export{i as ChatSock};
@@ -14,3 +14,4 @@ export declare function getFileSize(url: string): Promise<unknown>;
14
14
  export declare function base64ToFile(base64: string): Promise<File | undefined>;
15
15
  export declare function isAudioOrVideoMessage(message: AnyObject): boolean;
16
16
  export declare function formatSeconds(seconds: number): string;
17
+ export declare function isGroup(session: AnyObject): boolean;
@@ -1 +1 @@
1
- import{isToday as e,format as t,isYesterday as n,startOfDay as r}from"date-fns";import{cloneDeep as o,isNumber as a,isNaN as i}from"lodash-es";import{MESSAGE_TYPE as s}from"../constants/index.js";import{emojis as c}from"./emoji.js";import{uuidGenerator as l}from"../../../../shared/utils/index.js";import{createDiscreteApi as u}from"naive-ui";const{message:d}=u(["message"]);function m(r){var o;const a=new Date(r);let i,s;if(e(a))i=s=t(a,"HH:mm");else{i=n(a)?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.132"))||"昨天":t(a,"MM-dd");const e=a.getFullYear(),r=(new Date).getFullYear();s=t(a,e<r?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}return{siderMsgTime:i,msgTime:s,recordTime:function(r){var o,a;const i=new Date(r),s=Date.now()-i.getTime();if(s<6e4)return(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.133"))||"刚刚";if(s<36e5)return Math.ceil(s/1e3/60)+((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.136"))||"分钟前");if(e(i))return"今天 "+t(i,"HH:mm");if(n(i))return"昨天 "+t(i,"HH:mm");{const e=i.getFullYear(),n=(new Date).getFullYear();return t(i,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}(r)}}function g(e){return o(e||[]).sort(((e,t)=>e.topping&&!t.topping?-1:!e.topping&&t.topping?1:new Date(t.sortTime).getTime()-new Date(e.sortTime).getTime()))}function p(e){if(!(null==e?void 0:e.msg))return"";const{chatMessageType:t="",msg:n=""}=e;let r=n.toString();if(t===s.BLEND){const e=r.match(/\[([^\]]+)\]/g);return null==e||e.forEach((e=>{const n=e.match(/\[([^\]]+)\]/);if(n&&n.length>1){const o=c.findEmoji(n[1]);o&&(r=r.replace(e,`<img data-msg=${n[1]} data-type=${t} class="emoji--min" src=${o} />`))}})),r}const o=e=>new RegExp("\\n*\\["+(e||"")+"(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\s\\S]*?)]\\n*","g");return r=r.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;").replace(/@(\S+)(\s+?|$)/g,'@<a href="javascript:;">$1</a>$2').replace(o(),"<$1 $2>").replace(o("/"),"</$1>").replace(/\n/g,"<br>"),r}function f(e){var t;if(e&&a(+e)&&!i(+e)){const t=E(+e),n=t.split(":");let r=t;return 3===n.length&&"00"===n[0]&&(r=`${n[1]}:${n[2]}`),"通话时长 "+r}return(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.138"))||"已取消"}function w(e){var t;if(!e)return"";const{chatMessageType:n,msg:r,messageTemplate:o}=e,a=v(e)?f(r):"";switch(n){case s.TEXT:return p(e);case s.IMAGE:return"[图片]";case s.FILE:return"[文件]";case s.EMOJI:return`<img class="emoji--min" alt=${r} src=${c.findEmoji(r)}>`;case s.TEMPLATE:return null==(t=null==o?void 0:o.setting)?void 0:t.title;case s.VIDEO:return`[视频通话]${a}`;case s.AUDIO:return`[语音通话]${a}`;default:return"[消息]"}}function h(e,t){const n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(e){if(200===n.status){const e=window.URL.createObjectURL(n.response),r=document.createElement("a");r.href=e,r.download=t,r.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}function y(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("HEAD",e,!0),r.onreadystatechange=()=>{var e;if(4===r.readyState&&200===r.status){let n=null!=(e=r.getResponseHeader("Content-Length"))?e:0;const o=+n;o>1048576?n=(o/1048576).toFixed(2)+"M":o>1024?n=(o/1024).toFixed(2)+"K":n+="B",t(n)}},r.send()}))}async function H(e){try{const t=await fetch(e),n=await t.blob();return new File([n],`${l()}.${n.type.split("/")[1]}`,{type:n.type})}catch(e){return}}function v(e){return e&&[s.AUDIO,s.VIDEO].includes(e.chatMessageType)}function E(e){const n=r(new Date);return n.setSeconds(e),t(n,"HH:mm:ss")}export{d as $message,H as base64ToFile,h as downloadFile,E as formatSeconds,m as formatTime,f as getAVTime,y as getFileSize,v as isAudioOrVideoMessage,g as listSort,w as simplifyMessage,p as transformMessage};
1
+ import{isToday as e,format as t,isYesterday as n,startOfDay as o}from"date-fns";import{cloneDeep as r,isNumber as a,isNaN as i}from"lodash-es";import{MESSAGE_TYPE as s,CHAT_TYPE as l}from"../constants/index.js";import{emojis as c}from"./emoji.js";import{uuidGenerator as u}from"../../../../shared/utils/index.js";import{createDiscreteApi as d}from"naive-ui";const{message:g}=d(["message"]);function m(o){var r;const a=new Date(o);let i,s;if(e(a))i=s=t(a,"HH:mm");else{i=n(a)?(null==(r=window.getLanguageByCode)?void 0:r.call(window,"10010.1.135"))||"昨天":t(a,"MM-dd");const e=a.getFullYear(),o=(new Date).getFullYear();s=t(a,e<o?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}return{siderMsgTime:i,msgTime:s,recordTime:function(o){var r,a,i,s;const l=new Date(o),c=Date.now()-l.getTime();if(c<6e4)return(null==(r=window.getLanguageByCode)?void 0:r.call(window,"10010.1.133"))||"刚刚";if(c<36e5)return Math.ceil(c/1e3/60)+((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.136"))||"分钟前");if(e(l))return((null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.134"))||"今天")+t(l,"HH:mm");if(n(l))return((null==(s=window.getLanguageByCode)?void 0:s.call(window,"10010.1.135"))||"昨天")+t(l,"HH:mm");{const e=l.getFullYear(),n=(new Date).getFullYear();return t(l,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}(o)}}function p(e){return r(e||[]).sort(((e,t)=>e.topping&&!t.topping?-1:!e.topping&&t.topping?1:new Date(t.sortTime).getTime()-new Date(e.sortTime).getTime()))}function w(e){if(!(null==e?void 0:e.msg))return"";const{chatMessageType:t="",msg:n=""}=e;let o=n.toString();if(t===s.BLEND){const e=o.match(/\[([^\]]+)\]/g);return null==e||e.forEach((e=>{const n=e.match(/\[([^\]]+)\]/);if(n&&n.length>1){const r=c.findEmoji(n[1]);r&&(o=o.replace(e,`<img data-msg=${n[1]} data-type=${t} class="emoji--min" src=${r} />`))}})),o}const r=e=>new RegExp("\\n*\\["+(e||"")+"(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\s\\S]*?)]\\n*","g");return o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;").replace(/@(\S+)(\s+?|$)/g,'@<a href="javascript:;">$1</a>$2').replace(r(),"<$1 $2>").replace(r("/"),"</$1>").replace(/\n/g,"<br>"),o}function f(e){var t,n;if(e&&a(+e)&&!i(+e)){const n=E(+e),o=n.split(":");let r=n;return 3===o.length&&"00"===o[0]&&(r=`${o[1]}:${o[2]}`),((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.137"))||"通话时长")+r}return(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.138"))||"已取消"}function y(e){var t;if(!e)return"";const{chatMessageType:n,msg:o,messageTemplate:r}=e,a=T(e)?f(o):"";switch(n){case s.TEXT:return w(e);case s.IMAGE:return"[图片]";case s.FILE:return"[文件]";case s.EMOJI:return`<img class="emoji--min" alt=${o} src=${c.findEmoji(o)}>`;case s.TEMPLATE:return null==(t=null==r?void 0:r.setting)?void 0:t.title;case s.VIDEO:return`[视频通话]${a}`;case s.AUDIO:return`[语音通话]${a}`;default:return"[消息]"}}function h(e,t){const n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(e){if(200===n.status){const e=window.URL.createObjectURL(n.response),o=document.createElement("a");o.href=e,o.download=t,o.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}function v(e){return new Promise(((t,n)=>{const o=new XMLHttpRequest;o.open("HEAD",e,!0),o.onreadystatechange=()=>{var e;if(4===o.readyState&&200===o.status){let n=null!=(e=o.getResponseHeader("Content-Length"))?e:0;const r=+n;r>1048576?n=(r/1048576).toFixed(2)+"M":r>1024?n=(r/1024).toFixed(2)+"K":n+="B",t(n)}},o.send()}))}async function H(e){try{const t=await fetch(e),n=await t.blob();return new File([n],`${u()}.${n.type.split("/")[1]}`,{type:n.type})}catch(e){return}}function T(e){return e&&[s.AUDIO,s.VIDEO].includes(e.chatMessageType)}function E(e){const n=o(new Date);return n.setSeconds(e),t(n,"HH:mm:ss")}function M(e){return e.chatType===l.GROUP}export{g as $message,H as base64ToFile,h as downloadFile,E as formatSeconds,m as formatTime,f as getAVTime,v as getFileSize,T as isAudioOrVideoMessage,M as isGroup,p as listSort,y as simplifyMessage,w as transformMessage};