cnhis-design-vue 3.2.3 → 3.2.4-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +87 -87
- package/es/components/biunique-chat/index.d.ts +102 -63
- package/es/components/biunique-chat/src/Index.vue.d.ts +102 -63
- package/es/components/biunique-chat/src/Index.vue2.js +1 -1
- package/es/components/biunique-chat/src/api/index.d.ts +1 -0
- package/es/components/biunique-chat/src/api/index.js +1 -1
- package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +60 -39
- package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +33 -19
- package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatSearch.vue.d.ts +3 -3
- package/es/components/biunique-chat/src/components/ChatSearch.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatSet.vue.d.ts +42 -30
- package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/MessageTemplate.vue.d.ts +3 -0
- package/es/components/biunique-chat/src/components/MessageTemplate.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/PersonProfile.vue.d.ts +28 -20
- package/es/components/biunique-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/SiderList.vue.d.ts +2 -2
- package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
- package/es/components/biunique-chat/src/hooks/useSession.d.ts +4 -1
- package/es/components/biunique-chat/src/hooks/useSession.js +1 -1
- package/es/components/biunique-chat/src/utils/emoji.js +1 -1
- package/es/components/biunique-chat/style/index.css +1 -1
- package/es/components/button-print/index.d.ts +13 -0
- package/es/components/button-print/src/ButtonPrint.vue.d.ts +13 -0
- package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
- package/es/components/button-print/src/components/IdentityVerification.vue2.js +1 -1
- package/es/components/button-print/src/utils/print.d.ts +2 -2
- package/es/components/button-print/src/utils/print.js +1 -1
- package/es/components/classification/src/index.vue.d.ts +0 -3
- package/es/components/default-page/index.d.ts +3 -24
- package/es/components/default-page/src/constants/index.d.ts +7 -5
- package/es/components/default-page/src/constants/index.js +1 -1
- package/es/components/default-page/src/index.vue.d.ts +3 -24
- package/es/components/default-page/src/index.vue2.js +1 -1
- package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
- package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcessChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/electrocardiogram/hooks/useDetailEvent.js +1 -1
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogram.js +1 -1
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogramChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useMeasureInstrument.js +1 -1
- package/es/components/fabric-chart/src/hooks/newBirthProcess/useNewBirthProcess.js +1 -1
- package/es/components/fabric-chart/src/hooks/newBirthProcess/useNewBirthProcessChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useBottom.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useTop.js +1 -1
- package/es/components/fabric-chart/src/utils/index.js +1 -1
- package/es/components/form-render/index.js +1 -1
- package/es/components/form-render/src/components/renderer/index.js +1 -1
- package/es/components/form-render/src/components/renderer/simpleComponent.d.ts +0 -8
- package/es/components/form-render/src/components/renderer/simpleComponent.js +1 -1
- package/es/components/form-render/src/components/renderer/text.d.ts +17 -0
- package/es/components/form-render/src/components/renderer/text.js +1 -0
- package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
- package/es/components/form-render/src/types/index.d.ts +4 -0
- package/es/components/form-render/src/utils/index.d.ts +8 -1
- package/es/components/form-render/src/utils/index.js +1 -1
- package/es/components/index.css +1 -1
- package/es/components/index.js +1 -1
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
- package/es/components/select-person/src/SearchMultiple.vue.d.ts +6 -0
- package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -0
- package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -0
- package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -0
- package/es/shared/assets/img/defaultCover/1location.png.js +1 -0
- package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -0
- package/es/shared/assets/img/defaultCover/3loading.png.js +1 -0
- package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -0
- package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -0
- package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -0
- package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -0
- package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -0
- package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -0
- package/es/shared/assets/img/emoji/emotion_001.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_002.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_003.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_004.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_005.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_006.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_007.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_008.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_009.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_010.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_011.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_012.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_013.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_014.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_015.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_016.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_017.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_018.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_019.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_020.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_021.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_022.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_023.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_024.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_025.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_026.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_027.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_028.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_029.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_030.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_031.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_032.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_033.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_034.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_035.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_036.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_037.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_038.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_039.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_040.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_041.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_042.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_043.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_044.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_045.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_046.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_047.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_048.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_049.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_050.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_051.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_052.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_053.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_054.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_055.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_056.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_057.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_058.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_059.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_060.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_061.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_062.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_063.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_064.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_065.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_066.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_067.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_068.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_069.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_070.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_071.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_072.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_073.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_074.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_075.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_076.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_077.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_078.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_079.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_080.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_081.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_082.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_083.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_084.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_085.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_086.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_087.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_088.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_089.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_090.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_091.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_092.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_093.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_094.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_095.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_096.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_097.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_098.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_099.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_100.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_101.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_102.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_103.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_104.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_105.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_106.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_107.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_108.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_109.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_110.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_111.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_112.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_113.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_114.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_115.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_116.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_117.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_118.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_119.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_120.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_121.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_122.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_123.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_124.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_125.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_126.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_127.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_128.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_129.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_130.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_131.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_132.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_133.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_134.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_135.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_136.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_137.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_138.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_139.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_140.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_141.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_142.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_143.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_144.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_145.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_146.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_147.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_148.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_149.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_150.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_151.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_152.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_153.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_154.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_155.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_156.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_157.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_158.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_159.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_160.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_161.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_162.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_163.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_164.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_165.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_166.png.js +1 -1
- package/es/shared/assets/img/emoji/emotion_167.png.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/table_style_2.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
- package/es/shared/assets/img/defaultCover/10reload.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/1tab.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/2menu.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/3view.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/4system.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/5location.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/6notfound.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/7loading.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/8nopermission.jpg.js +0 -1
- package/es/shared/assets/img/defaultCover/9nodata.jpg.js +0 -1
- package/es/shared/assets/img/emoji/emotion_168.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_169.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_170.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_171.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_172.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_173.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_174.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_175.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_176.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_177.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_178.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_179.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_180.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_181.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_182.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_183.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_184.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_185.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_186.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_187.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_188.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_189.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_190.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_191.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_192.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_193.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_194.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_195.png.js +0 -1
- package/es/shared/assets/img/emoji/emotion_196.png.js +0 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
- package/es/shared/utils/fabricjs/index.d.ts +0 -6823
- package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -7,6 +7,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
7
7
|
currentInfo: {
|
8
8
|
page: number;
|
9
9
|
hasMore: boolean;
|
10
|
+
lastSendTime: string;
|
10
11
|
};
|
11
12
|
getHistoryRecord: () => Promise<void>;
|
12
13
|
showMessage: (item: AnyObject) => boolean;
|
@@ -16,6 +17,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
16
17
|
setScrollToButtom: () => Promise<void>;
|
17
18
|
getIntervalMsgTime: (time: string) => string;
|
18
19
|
resetInfo: () => void;
|
20
|
+
handleDownload: (url: string, filename: string) => void;
|
19
21
|
NAvatar: any;
|
20
22
|
NImageGroup: import("vue").DefineComponent<{
|
21
23
|
showToolbar: {
|
@@ -218,35 +220,42 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
218
220
|
}>;
|
219
221
|
NImage: any;
|
220
222
|
PersonProfile: import("vue").DefineComponent<{
|
221
|
-
|
222
|
-
type:
|
223
|
+
userId: {
|
224
|
+
type: StringConstructor;
|
223
225
|
required: true;
|
224
226
|
};
|
225
227
|
}, {
|
226
228
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
227
|
-
|
228
|
-
type:
|
229
|
+
userId: {
|
230
|
+
type: StringConstructor;
|
229
231
|
required: true;
|
230
232
|
};
|
231
|
-
}>> & {
|
233
|
+
}>> & {
|
234
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
235
|
+
}>>;
|
236
|
+
emit: (event: "close", ...args: any[]) => void;
|
237
|
+
state: import("../types").IState;
|
238
|
+
openSession: (item: AnyObject) => void;
|
239
|
+
showUserDetail: import("vue").Ref<boolean>;
|
232
240
|
showLargeAvatar: import("vue").Ref<boolean>;
|
233
241
|
showPhone: import("vue").Ref<boolean>;
|
234
|
-
|
242
|
+
userDetail: AnyObject;
|
243
|
+
info: {
|
235
244
|
label: string;
|
236
|
-
|
237
|
-
key
|
238
|
-
}
|
245
|
+
value: string;
|
246
|
+
key: string;
|
247
|
+
}[];
|
248
|
+
personInfo: import("vue").ComputedRef<{
|
239
249
|
label: string;
|
240
|
-
|
250
|
+
value: string;
|
241
251
|
key: string;
|
242
|
-
}
|
252
|
+
}[]>;
|
253
|
+
toOpenSession: () => Promise<void>;
|
254
|
+
updateShow: (value: boolean) => Promise<void>;
|
243
255
|
getContent: (info: AnyObject) => any;
|
244
|
-
onFinish: (options: {
|
245
|
-
file: import("naive-ui").UploadFileInfo;
|
246
|
-
}) => void;
|
247
256
|
onChange: (options: {
|
248
257
|
file: import("naive-ui").UploadFileInfo;
|
249
|
-
}) => void
|
258
|
+
}) => Promise<void>;
|
250
259
|
NAvatar: any;
|
251
260
|
NPopover: any;
|
252
261
|
NButton: any;
|
@@ -266,12 +275,14 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
266
275
|
Camera: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
267
276
|
EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
268
277
|
EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
269
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
270
|
-
|
271
|
-
type:
|
278
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
279
|
+
userId: {
|
280
|
+
type: StringConstructor;
|
272
281
|
required: true;
|
273
282
|
};
|
274
|
-
}
|
283
|
+
}>> & {
|
284
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
285
|
+
}, {}>;
|
275
286
|
MessageTemplate: import("vue").DefineComponent<{
|
276
287
|
data: {
|
277
288
|
type: import("vue").PropType<AnyObject>;
|
@@ -284,7 +295,10 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
284
295
|
required: true;
|
285
296
|
};
|
286
297
|
}>> & {}>>;
|
298
|
+
describeBodyRef: import("vue").Ref<any>;
|
299
|
+
showMore: import("vue").Ref<boolean>;
|
287
300
|
emit: (event: string, ...args: any[]) => void;
|
301
|
+
isOverflow: import("vue").ComputedRef<boolean>;
|
288
302
|
setting: import("vue").ComputedRef<any>;
|
289
303
|
serverSetting: import("vue").ComputedRef<any>;
|
290
304
|
topRightButton: import("vue").ComputedRef<any>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,watch as
|
1
|
+
import{defineComponent as e,ref as t,watch as n,openBlock as s,createElementBlock as o,normalizeClass as i,unref as a,createVNode as r,withCtx as l,Fragment as c,renderList as m,toDisplayString as d,createCommentVNode as u,createBlock as p,withModifiers as f}from"vue";import{NImageGroup as g,NAvatar as y,NImage as T}from"naive-ui";import{format as v,isToday as M,isYesterday as h}from"date-fns";import{getHistoryRecordApi as k}from"../api/index.js";import{useState as L}from"../hooks/useState.js";import{last as E,isNumber as _}from"lodash-es";import H from"./PersonProfile.vue.js";import w from"./MessageTemplate.vue.js";import{images as j}from"../utils/emoji.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{useScrollLoading as b}from"../hooks/useScrollLoading.js";const S={key:0,class:"time"},D={key:2,class:"message-box"},I=["data-time"],P=["innerHTML"],R=["src"],U=["href","onClick"];var O=e({__name:"ChatMain",setup(e){const O=t(),{state:x,setMsgList:C}=L(),F={page:0,hasMore:!0,lastSendTime:v(new Date,"yyyy-MM-dd HH:mm:ss")};async function G(){try{if(!F.hasMore)return;F.page++;const e=await k({sessionKey:x.currentSessionItem.sessionKey,page:F.page,lastSendTime:F.lastSendTime});if(!Array.isArray(e)||0===e.length)return F.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");F.lastSendTime=E(e).sendTime,C(F.page>1?[...e,...x.msgList]:e)}catch(e){console.log(e)}}function J(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function K(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function X(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===A.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function Y(e,t){var n;const s=_(e.sendTime)?e.sendTime:Date.parse(e.sendTime),o=null==(n=x.msgList[t-1])?void 0:n.sendTime;return s-(0===t?0:_(o)?o:Date.parse(o))>3e5}function q(e){const t=new Date(e),n=Date.now()-t.getTime();if(n<6e4)return"刚刚";if(n<36e5)return Math.ceil(n/1e3/60)+"分钟前";if(M(t))return"今天 "+v(t,"HH:mm");if(h(t))return"昨天 "+v(t,"HH:mm");{const e=t.getFullYear(),n=(new Date).getFullYear();return v(t,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}return b(O,(()=>{G()}),"top"),n((()=>x.id),(e=>{e&&(Object.assign(F,{page:0,hasMore:!0,lastSendTime:v(new Date,"yyyy-MM-dd HH:mm:ss")}),G())}),{immediate:!0}),n((()=>x.isAppendMsg),(e=>{e&&(C([...x.msgList,x.currentMsg]),x.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=O.value)?void 0:e.scrollHeight)?t:0;null==(n=O.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(s(),o("div",{class:i(["chat-main",{"home-bg":!a(x).id}]),ref_key:"chatMainRef",ref:O},[r(a(g),{"show-toolbar-tooltip":""},{default:l((()=>[(s(!0),o(c,null,m(a(x).msgList,((e,t)=>(s(),o(c,{key:t},[J(e)?(s(),o("div",{key:0,class:i(["message-item",{"message-item--mine":e.sender==a(x).userInfo.id}])},[Y(e,t)?(s(),o("p",S,d(q(e.sendTime)),1)):u("v-if",!0),K(e,"system")?(s(),p(w,{key:1,data:e},null,8,["data"])):(s(),o("div",D,[r(H,{"user-id":e.sender},{trigger:l((()=>[r(a(y),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(s(),o("div",{key:0,class:i(["content",{emoji:e.content.chatMessageType===a(A).EMOJI,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":X(e.content)}]),"data-time":e.__time},[e.content.chatMessageType===a(A).TEXT?(s(),o("pre",{key:0,innerHTML:e.__content},null,8,P)):u("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),o("img",{key:1,src:a(j)[e.__content]},null,8,R)):u("v-if",!0),K(e,"template")?(s(),p(w,{key:2,data:e},null,8,["data"])):u("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),p(a(T),{key:3,width:"240",src:e.__content},null,8,["src"])):u("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),o("a",{key:4,href:e.content.fileUrl,onClick:f((()=>function(e,t){const n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(s){if(200===n.status){const s=window.URL.createObjectURL(n.response),o=document.createElement("a");o.href=s,o.download=t,o.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}(e.content.fileUrl,e.__content)),["prevent"])},d(e.__content),9,U)):u("v-if",!0)],10,I)):u("v-if",!0)]))],2)):u("v-if",!0)],64)))),128))])),_:1})],2))}});export{O as default};
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import { AnyObject } from '../../../../shared/types';
|
2
1
|
declare const _default: import("vue").DefineComponent<{}, {
|
2
|
+
inputRef: import("vue").Ref<any>;
|
3
3
|
showSearch: import("vue").Ref<boolean>;
|
4
4
|
keyword: import("vue").Ref<any>;
|
5
5
|
userList: import("vue").Ref<any>;
|
6
6
|
state: import("../types").IState;
|
7
|
-
|
7
|
+
openSession: (item: import("../../..").AnyObject) => void;
|
8
8
|
handleSearch: () => Promise<void>;
|
9
|
-
|
9
|
+
addSession: (userId: string) => Promise<void>;
|
10
10
|
NPopover: any;
|
11
11
|
NButton: any;
|
12
12
|
NAvatar: any;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as o,
|
1
|
+
import{defineComponent as e,ref as o,watch as a,nextTick as n,openBlock as r,createBlock as s,unref as l,withCtx as t,createVNode as i,createTextVNode as u,createElementVNode as c,withKeys as p,withModifiers as d,createElementBlock as v,Fragment as f,renderList as m,toDisplayString as h}from"vue";import{NPopover as w,NButton as y,NIcon as g,NInput as k,NAvatar as _}from"naive-ui";import{SearchOutline as S}from"@vicons/ionicons5";import{useState as I}from"../hooks/useState.js";import{useSession as j}from"../hooks/useSession.js";import{listUserApi as x,openSessionApi as C}from"../api/index.js";import{isArray as b}from"lodash-es";const z={class:"popover-search"},K={class:"user-list-wrapper"},U=["onClick"],E={class:"user-info"},G=c("span",null,"职务",-1),L=c("span",null,"部门",-1);var N=e({__name:"ChatSearch",setup(e){const N=o(),R=o(!1),T=o(),q=o(),{state:A}=I(),{openSession:B}=j(A);async function D(){const e=await x({orgId:A.orgId,keyword:T.value});b(e)&&(q.value=e)}return a((()=>R.value),(async e=>{var o;e&&(await n(),null==(o=N.value)||o.focus())})),(e,o)=>(r(),s(l(w),{show:R.value,"onUpdate:show":o[1]||(o[1]=e=>R.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:t((()=>[i(l(y),{color:"#d8dce34f",class:"search-trigger-btn"},{icon:t((()=>[i(l(g),{component:l(S),color:"#ffffff80"},null,8,["component"])])),default:t((()=>[u(" 搜索联系人 ")])),_:1})])),default:t((()=>[c("div",z,[i(l(k),{ref_key:"inputRef",ref:N,placeholder:"",size:"small",clearable:"",autofocus:"",round:"",onKeydown:p(d(D,["prevent"]),["enter"]),value:T.value,"onUpdate:value":o[0]||(o[0]=e=>T.value=e)},{prefix:t((()=>[i(l(g),{component:l(S)},null,8,["component"])])),_:1},8,["onKeydown","value"]),c("div",K,[(r(!0),v(f,null,m(q.value,(e=>(r(),v("div",{class:"user-item",key:e.id,onClick:()=>async function(e){R.value=!1;const o=await C({chatType:"SINGLE",receiver:e,sender:A.userInfo.id});B(o)}(e.id)},[i(l(_),{round:"",size:32,src:e.avatar},null,8,["src"]),c("div",E,[c("span",null,h(e.name),1),G,L])],8,U)))),128))])])])),_:1},8,["show"]))}});export{N as default};
|
@@ -1,23 +1,26 @@
|
|
1
|
-
import { PropType } from 'vue';
|
2
1
|
import { AnyObject } from '../../../../shared/types';
|
3
2
|
declare const _default: import("vue").DefineComponent<{}, {
|
3
|
+
attrs: {
|
4
|
+
[x: string]: unknown;
|
5
|
+
};
|
4
6
|
state: import("../types").IState;
|
5
7
|
setCurrentSessionItem: (item: AnyObject) => void;
|
6
8
|
handleTopping: (value: boolean) => Promise<void>;
|
9
|
+
closeUserDetail: () => void;
|
7
10
|
NDrawer: any;
|
8
11
|
NDrawerContent: import("vue").DefineComponent<{
|
9
12
|
title: {
|
10
13
|
type: StringConstructor;
|
11
14
|
};
|
12
|
-
headerStyle: PropType<string | import("vue").CSSProperties>;
|
13
|
-
footerStyle: PropType<string | import("vue").CSSProperties>;
|
14
|
-
bodyStyle: PropType<string | import("vue").CSSProperties>;
|
15
|
-
bodyContentStyle: PropType<string | import("vue").CSSProperties>;
|
15
|
+
headerStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
16
|
+
footerStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
17
|
+
bodyStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
18
|
+
bodyContentStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
16
19
|
nativeScrollbar: {
|
17
20
|
type: BooleanConstructor;
|
18
21
|
default: boolean;
|
19
22
|
};
|
20
|
-
scrollbarProps: PropType<import("naive-ui/es/_internal").ScrollbarProps>;
|
23
|
+
scrollbarProps: import("vue").PropType<import("naive-ui/es/_internal").ScrollbarProps>;
|
21
24
|
closable: BooleanConstructor;
|
22
25
|
}, {
|
23
26
|
handleCloseClick: () => void;
|
@@ -169,15 +172,15 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
169
172
|
title: {
|
170
173
|
type: StringConstructor;
|
171
174
|
};
|
172
|
-
headerStyle: PropType<string | import("vue").CSSProperties>;
|
173
|
-
footerStyle: PropType<string | import("vue").CSSProperties>;
|
174
|
-
bodyStyle: PropType<string | import("vue").CSSProperties>;
|
175
|
-
bodyContentStyle: PropType<string | import("vue").CSSProperties>;
|
175
|
+
headerStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
176
|
+
footerStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
177
|
+
bodyStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
178
|
+
bodyContentStyle: import("vue").PropType<string | import("vue").CSSProperties>;
|
176
179
|
nativeScrollbar: {
|
177
180
|
type: BooleanConstructor;
|
178
181
|
default: boolean;
|
179
182
|
};
|
180
|
-
scrollbarProps: PropType<import("naive-ui/es/_internal").ScrollbarProps>;
|
183
|
+
scrollbarProps: import("vue").PropType<import("naive-ui/es/_internal").ScrollbarProps>;
|
181
184
|
closable: BooleanConstructor;
|
182
185
|
}>>, {
|
183
186
|
closable: boolean;
|
@@ -188,35 +191,42 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
188
191
|
NSwitch: any;
|
189
192
|
ChevronForwardOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
190
193
|
PersonProfile: import("vue").DefineComponent<{
|
191
|
-
|
192
|
-
type:
|
194
|
+
userId: {
|
195
|
+
type: StringConstructor;
|
193
196
|
required: true;
|
194
197
|
};
|
195
198
|
}, {
|
196
199
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
197
|
-
|
198
|
-
type:
|
200
|
+
userId: {
|
201
|
+
type: StringConstructor;
|
199
202
|
required: true;
|
200
203
|
};
|
201
|
-
}>> & {
|
204
|
+
}>> & {
|
205
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
206
|
+
}>>;
|
207
|
+
emit: (event: "close", ...args: any[]) => void;
|
208
|
+
state: import("../types").IState;
|
209
|
+
openSession: (item: AnyObject) => void;
|
210
|
+
showUserDetail: import("vue").Ref<boolean>;
|
202
211
|
showLargeAvatar: import("vue").Ref<boolean>;
|
203
212
|
showPhone: import("vue").Ref<boolean>;
|
204
|
-
|
213
|
+
userDetail: AnyObject;
|
214
|
+
info: {
|
205
215
|
label: string;
|
206
|
-
|
207
|
-
key
|
208
|
-
}
|
216
|
+
value: string;
|
217
|
+
key: string;
|
218
|
+
}[];
|
219
|
+
personInfo: import("vue").ComputedRef<{
|
209
220
|
label: string;
|
210
|
-
|
221
|
+
value: string;
|
211
222
|
key: string;
|
212
|
-
}
|
223
|
+
}[]>;
|
224
|
+
toOpenSession: () => Promise<void>;
|
225
|
+
updateShow: (value: boolean) => Promise<void>;
|
213
226
|
getContent: (info: AnyObject) => any;
|
214
|
-
onFinish: (options: {
|
215
|
-
file: import("naive-ui").UploadFileInfo;
|
216
|
-
}) => void;
|
217
227
|
onChange: (options: {
|
218
228
|
file: import("naive-ui").UploadFileInfo;
|
219
|
-
}) => void
|
229
|
+
}) => Promise<void>;
|
220
230
|
NAvatar: any;
|
221
231
|
NPopover: any;
|
222
232
|
NButton: any;
|
@@ -236,11 +246,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
236
246
|
Camera: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
237
247
|
EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
238
248
|
EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
239
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
240
|
-
|
241
|
-
type:
|
249
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
250
|
+
userId: {
|
251
|
+
type: StringConstructor;
|
242
252
|
required: true;
|
243
253
|
};
|
244
|
-
}
|
254
|
+
}>> & {
|
255
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
256
|
+
}, {}>;
|
245
257
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
246
258
|
export default _default;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as s,openBlock as
|
1
|
+
import{defineComponent as e,useAttrs as s,openBlock as o,createBlock as t,unref as n,withCtx as i,createVNode as r,createElementVNode as a,toDisplayString as u}from"vue";import{NDrawer as c,NDrawerContent as l,NAvatar as m,NIcon as p,NSwitch as f}from"naive-ui";import{ChevronForwardOutline as d}from"@vicons/ionicons5";import{useState as v}from"../hooks/useState.js";import{useSession as h}from"../hooks/useSession.js";import g from"./PersonProfile.vue.js";import{toppingSessionApi as S}from"../api/index.js";import{isFunction as _}from"lodash-es";const I={class:"chat-set-wrapper"},w={class:"item user-info"},j={class:"item"},y=a("span",{class:"label"},"置顶聊天",-1);var b=e({__name:"ChatSet",setup(e){const b=s(),{state:k}=v(),{setCurrentSessionItem:C}=h(k);async function U(e){try{await S({sessionKey:k.currentSessionItem.sessionKey,id:k.currentSessionItem.id,topping:e}),C({topping:e})}catch(e){console.log(e)}}function x(){_(b["onUpdate:show"])&&b["onUpdate:show"](!1)}return(e,s)=>(o(),t(n(c),{width:320,"trap-focus":!1,"block-scroll":!1,to:".c-biunique-chat"},{default:i((()=>[r(n(l),{title:"聊天设置"},{default:i((()=>[a("div",I,[r(g,{"user-id":n(k).currentSessionItem.receiver,onClose:x},{trigger:i((()=>[a("div",w,[r(n(m),{round:"",size:40,src:n(k).currentSessionItem.avatar},null,8,["src"]),a("span",null,u(n(k).currentSessionItem.name),1),r(n(p),{size:24,component:n(d),class:"item__right"},null,8,["component"])])])),_:1},8,["user-id"]),a("div",j,[y,r(n(f),{value:n(k).userInfo.topping,"onUpdate:value":[s[0]||(s[0]=e=>n(k).userInfo.topping=e),U],class:"item__right"},null,8,["value"])])])])),_:1})])),_:1}))}});export{b as default};
|
@@ -12,7 +12,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
12
12
|
required: true;
|
13
13
|
};
|
14
14
|
}>> & {}>>;
|
15
|
+
describeBodyRef: import("vue").Ref<any>;
|
16
|
+
showMore: import("vue").Ref<boolean>;
|
15
17
|
emit: (event: string, ...args: any[]) => void;
|
18
|
+
isOverflow: import("vue").ComputedRef<boolean>;
|
16
19
|
setting: import("vue").ComputedRef<any>;
|
17
20
|
serverSetting: import("vue").ComputedRef<any>;
|
18
21
|
topRightButton: import("vue").ComputedRef<any>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,
|
1
|
+
import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as n,unref as i,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 y}from"vue";import{NIcon as g,NButton as k}from"naive-ui";import{ChevronForwardOutline as _,AlertCircleSharp as h}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useState as T}from"../hooks/useState.js";const C={class:"default-msg-template__header"},M={class:"title"},S={class:"default-msg-template__body"},E=["src"],H={class:"template-content"},L=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},w=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),j={key:1,class:"describe-msg-template"},B={class:"describe-msg-template__header"},D={class:"title"},O={class:"txt"},x=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var R=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const R=e,q=t(),P=t(!0),{emit:V}=T(),W=l((()=>{if(!q.value)return!1;const{childNodes:e,clientWidth:t}=q.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(q.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>R.data.content.messageTemplate.setting)),A=l((()=>X.value.serverSetting)),G=l((()=>(A.value.topRightButton||[])[0])),J=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));return e?e.map((e=>{const t=/\\n|\n|\r/g;return t.test(e)?e.replace(t,"<br>"):e})):[]})),K=l((()=>{var e;return(null==(e=A.value)?void 0:e.toolbar_button)||[]})),Q=l((()=>(A.value.bottomButton||[])[0])),U=l((()=>X.value.dbParamsList)),Y=l((()=>R.data.content.messageTemplateData));function Z(e){V("template-click",e,R.data)}return(e,t)=>(s(),o(n,null,[1==i(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Z(i(A)))},[a("div",C,[a("span",M,c(i(X).title),1),i(G)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Z(i(G))),["stop"]))},c(i(G).title),1)):i(A).address?(s(),d(i(g),{key:1,component:i(_),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",S,[i(X).style.icon?(s(),d(i(b),{key:0,class:"logo","icon-class":i(X).style.icon},null,8,["icon-class"])):i(X).style.image?(s(),o("img",{key:1,class:"logo",src:i(X).style.image},null,8,E)):m("v-if",!0),a("div",H,[(s(!0),o(n,null,u(i(J),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,L)))),128))])]),i(K)?(s(),o("div",N,[(s(!0),o(n,null,u(i(K),((e,t)=>(s(),d(i(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Z(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),i(Q)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Z(i(Q))),["stop"]))},[v(c(i(Q).title)+" ",1),w])):m("v-if",!0)])):m("v-if",!0),3==i(X).style.id?(s(),o("div",j,[a("div",B,c(i(X).title),1),a("div",{class:f(["describe-msg-template__body",i(W)&&P.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:q},[(s(!0),o(n,null,u(i(U),((e,t)=>(s(),o(n,{key:t},[a("div",D,c(e.desc),1),a("div",O,c(i(Y)[e.p_name]),1)],64)))),128))],2),i(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",P.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>P.value=!1)},[v(" 展开全部 "),x],2)):m("v-if",!0)])):m("v-if",!0),2==i(X).style.id?(s(),o("div",z,[y(i(g),{component:i(h),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:J.value.join("<br>")},null,8,F),(s(!0),o(n,null,u(i(K),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Z(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{R as default};
|
@@ -1,36 +1,42 @@
|
|
1
|
-
import { PropType } from 'vue';
|
2
1
|
import { UploadFileInfo } from 'naive-ui';
|
3
2
|
import { AnyObject } from '../../../../shared/types';
|
4
3
|
declare const _default: import("vue").DefineComponent<{
|
5
|
-
|
6
|
-
type:
|
4
|
+
userId: {
|
5
|
+
type: StringConstructor;
|
7
6
|
required: true;
|
8
7
|
};
|
9
8
|
}, {
|
10
9
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
11
|
-
|
12
|
-
type:
|
10
|
+
userId: {
|
11
|
+
type: StringConstructor;
|
13
12
|
required: true;
|
14
13
|
};
|
15
|
-
}>> & {
|
14
|
+
}>> & {
|
15
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
16
|
+
}>>;
|
17
|
+
emit: (event: "close", ...args: any[]) => void;
|
18
|
+
state: import("../types").IState;
|
19
|
+
openSession: (item: AnyObject) => void;
|
20
|
+
showUserDetail: import("vue").Ref<boolean>;
|
16
21
|
showLargeAvatar: import("vue").Ref<boolean>;
|
17
22
|
showPhone: import("vue").Ref<boolean>;
|
18
|
-
|
23
|
+
userDetail: AnyObject;
|
24
|
+
info: {
|
19
25
|
label: string;
|
20
|
-
|
21
|
-
key
|
22
|
-
}
|
26
|
+
value: string;
|
27
|
+
key: string;
|
28
|
+
}[];
|
29
|
+
personInfo: import("vue").ComputedRef<{
|
23
30
|
label: string;
|
24
|
-
|
31
|
+
value: string;
|
25
32
|
key: string;
|
26
|
-
}
|
33
|
+
}[]>;
|
34
|
+
toOpenSession: () => Promise<void>;
|
35
|
+
updateShow: (value: boolean) => Promise<void>;
|
27
36
|
getContent: (info: AnyObject) => any;
|
28
|
-
onFinish: (options: {
|
29
|
-
file: UploadFileInfo;
|
30
|
-
}) => void;
|
31
37
|
onChange: (options: {
|
32
38
|
file: UploadFileInfo;
|
33
|
-
}) => void
|
39
|
+
}) => Promise<void>;
|
34
40
|
NAvatar: any;
|
35
41
|
NPopover: any;
|
36
42
|
NButton: any;
|
@@ -50,10 +56,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
50
56
|
Camera: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
51
57
|
EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
52
58
|
EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
53
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
54
|
-
|
55
|
-
type:
|
59
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
60
|
+
userId: {
|
61
|
+
type: StringConstructor;
|
56
62
|
required: true;
|
57
63
|
};
|
58
|
-
}
|
64
|
+
}>> & {
|
65
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
66
|
+
}, {}>;
|
59
67
|
export default _default;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as
|
1
|
+
import{defineComponent as e,ref as o,reactive as l,computed as a,openBlock as n,createBlock as s,unref as r,createSlots as i,withCtx as t,createElementBlock as c,Fragment as u,withDirectives as p,createElementVNode as d,createVNode as v,vShow as m,toDisplayString as f,createTextVNode as y,renderList as k,createCommentVNode as b,renderSlot as h}from"vue";import{NPopover as g,NAvatar as _,NUpload as w,NUploadTrigger as C,NButton as I,NIcon as z}from"naive-ui";import{Camera as N,ChatbubbleEllipses as j,EyeOffOutline as x,EyeOutline as S,Close as $}from"@vicons/ionicons5";import{useState as D}from"../hooks/useState.js";import{useSession as E}from"../hooks/useSession.js";import{openSessionApi as P,getUserDetailApi as q,uploadFileApi as F}from"../api/index.js";const G={class:"popover-person"},L={class:"popover-person__left"},O={class:"profile"},T={class:"profile__text"},U={class:"popover-person__right"},A={class:"label"},B={class:"content"};var H=e({__name:"PersonProfile",props:{userId:{type:String,required:!0}},emits:["close"],setup(e,{emit:H}){const J=e,{state:K}=D(),{openSession:M}=E(K),Q=o(!1),R=o(!1),V=o(!1),W=l({}),X=[{label:"机构",value:"",key:"orgName"},{label:"姓名",value:"",key:"name"},{label:"归属科室",value:"",key:"deptName"},{label:"业务科室",value:"",key:"businessDeptNames"},{label:"手机号",value:"",key:"phone"},{label:"岗位",value:"",key:"post"},{label:"工号",value:"",key:"jobId"},{label:"性别",value:"",key:"orgName"}],Y=a((()=>(W.id&&X.forEach((e=>{const{key:o}=e;e.value=W[o]})),X)));async function Z(){Q.value=!1;const e=await P({chatType:"SINGLE",receiver:J.userId,sender:K.userInfo.id});M(e),H("close")}async function ee(e){if(!e)return;const o=await q({userId:J.userId});(null==o?void 0:o.id)?Object.assign(W,o):W.id=""}function oe(e){const{key:o,value:l}=e;return"phone"!==o||V.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}async function le(e){const{file:o,name:l}=e.file,a=new FormData;a.append("sender",K.userInfo.id),a.append("file",o);const n=await F(a);if(W.avatar=n,!n)return console.log("上传失败")}return(e,o)=>(n(),s(r(g),{show:Q.value,"onUpdate:show":[o[3]||(o[3]=e=>Q.value=e),ee],trigger:"click","show-arrow":!1,scrollable:"","display-directive":"show",delay:0},i({default:t((()=>[W.id?(n(),c(u,{key:0},[p(d("div",G,[d("div",L,[d("div",O,[v(r(_),{src:W.avatar,bordered:"",round:"",size:100,onClickCapture:o[0]||(o[0]=e=>R.value=!0)},null,8,["src"]),v(r(w),{abstract:"",accept:"image/*",onChange:le},{default:t((()=>[v(r(C),{abstract:""},{default:t((({handleClick:e})=>[p(v(r(I),{circle:"",secondary:"",class:"edit-avatar",onClick:e},{icon:t((()=>[v(r(z),{size:"16",color:"#666666",component:r(N)},null,8,["component"])])),_:2},1032,["onClick"]),[[m,W.id===r(K).userInfo.id]])])),_:1})])),_:1}),d("div",T,[d("h4",null,f(W.name),1),d("p",null,f(W.orgName),1)]),v(r(I),{strong:"",secondary:"",onClick:Z},{default:t((()=>[v(r(z),{size:"13",color:"#666666",component:r(j),style:{"margin-right":"6px"}},null,8,["component"]),y(" 发消息 ")])),_:1})])]),d("div",U,[(n(!0),c(u,null,k(r(Y),((e,l)=>(n(),c("div",{class:"info-item",key:l},[d("span",A,f(e.label),1),d("div",B,[d("span",null,f(oe(e)),1),"phone"===e.key&&oe(e)?(n(),s(r(z),{key:0,size:"16",color:"#666666",component:V.value?r(x):r(S),style:{"margin-left":"10px"},onClick:o[1]||(o[1]=e=>V.value=!V.value)},null,8,["component"])):b("v-if",!0)])])))),128))])],512),[[m,!R.value]]),p(d("div",{class:"large-avatar",onClick:o[2]||(o[2]=e=>R.value=!1)},[v(r(I),{circle:"",size:"small",secondary:""},{icon:t((()=>[v(r(z),{size:24,component:r($),color:"#fff"},null,8,["component"])])),_:1}),v(r(_),{size:310,round:"",src:W.avatar},null,8,["src"])],512),[[m,R.value]])],64)):b("v-if",!0)])),_:2},[k(e.$slots,((o,l)=>({name:l,fn:t((()=>[h(e.$slots,l)]))})))]),1032,["show"]))}});export{H as default};
|
@@ -7,7 +7,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
7
7
|
};
|
8
8
|
flexWidth: import("vue").Ref<number>;
|
9
9
|
listBoxRef: import("vue").Ref<HTMLElement | undefined>;
|
10
|
-
keyword: import("vue").Ref<string>;
|
11
10
|
loading: import("vue").Ref<boolean>;
|
12
11
|
filterList: import("vue").Ref<{
|
13
12
|
label: string;
|
@@ -16,8 +15,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
16
15
|
currentFilterKey: import("vue").Ref<string>;
|
17
16
|
state: import("../types").IState;
|
18
17
|
emit: (event: string, ...args: any[]) => void;
|
19
|
-
|
18
|
+
openSession: (item: AnyObject) => void;
|
20
19
|
unreadTotal: import("vue").ComputedRef<number>;
|
20
|
+
setSessionList: (list: AnyObject[]) => void;
|
21
21
|
currentWidth: import("vue").ComputedRef<number>;
|
22
22
|
sessionList: import("vue").ComputedRef<AnyObject[]>;
|
23
23
|
sessionChange: (sessionItem: AnyObject) => void;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as s,computed as i,watch as n,withDirectives as a,openBlock as t,createElementBlock as l,normalizeStyle as r,unref as o,createBlock as u,createCommentVNode as d,createElementVNode as v,Fragment as c,renderList as m,withCtx as p,createTextVNode as f,toDisplayString as k,normalizeClass as h,createVNode as y,vShow as
|
1
|
+
import{defineComponent as e,ref as s,computed as i,watch as n,withDirectives as a,openBlock as t,createElementBlock as l,normalizeStyle as r,unref as o,createBlock as u,createCommentVNode as d,createElementVNode as v,Fragment as c,renderList as m,withCtx as p,createTextVNode as f,toDisplayString as k,normalizeClass as h,createVNode as y,vShow as S}from"vue";import{NSpin as _,NTag as g,NAvatar as b,NBadge as x}from"naive-ui";import{useState as L}from"../hooks/useState.js";import{useSession as M}from"../hooks/useSession.js";import{vFlexibleResize as C}from"../../../../shared/directive/flexibleResize.js";import{listSort as j,formatTime as T}from"../utils/index.js";const w={class:"sider-list__filter box-shadow"},I=["onClick"],N={class:"avatar-right"},R={class:"name"},z={class:"msg-tip"},H={class:"msg-tip__content"},U=["innerHTML"];var B=e({__name:"SiderList",setup(e){const B="all",E="unread",O=s(300),V=s(),q=s(!1),A=s([{label:"全部",key:B},{label:"未读",key:E}]),D=s("all"),{state:F,emit:G}=L(),{openSession:J,unreadTotal:K,setSessionList:P}=M(F),Q=i((()=>Math.min(Math.max(O.value,240),360))),W=i((()=>j(F.sessionList)));function X(e){!e.id||F.sessionList.map((e=>e.id)).includes(e.id)?F.sessionList.forEach((s=>{s.receiver===e.receiver&&(Object.assign(s,e),e.receiver!==F.currentSessionItem.receiver&&s.unreadNum++)})):P([...F.sessionList,e])}function Y({distance:e}){O.value=O.value+e}function Z(e,s=o(D)){var i;return s===B||(s===E?(null!=(i=e.unreadNum)?i:0)>0:void 0)}return n([()=>F.isChangeSession,()=>F.isUpdateSession],(([e,s])=>{e&&(X(F.currentSessionItem),F.isChangeSession=!1),s&&(X(F.updateSessionItem),F.isUpdateSession=!1)}),{immediate:!0}),n((()=>K.value),(e=>{const s=W.value.filter((e=>Z(e,E)));G("unread-message-update",e,s)})),(e,s)=>a((t(),l("section",{class:"sider-list",style:r({width:o(Q)+"px"})},[q.value?(t(),u(o(_),{key:0,stroke:"#5585f5"})):d("v-if",!0),d(' <n-input v-else placeholder="输入用户名模糊搜索" v-model:value="keyword" @keyup.enter="handleSearch"></n-input> '),v("div",w,[(t(!0),l(c,null,m(A.value,(e=>(t(),u(o(g),{type:D.value===e.key?"info":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return s=e.key,void(D.value=s);var s}},{default:p((()=>[f(k(e.label)+"("+k(o(K))+") ",1)])),_:2},1032,["type","onClick"])))),128))]),v("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:V},[(t(!0),l(c,null,m(o(W),(e=>a((t(),l("div",{key:e.id,onClick:()=>o(J)(e),class:h(["sider-list__box__item",{active:e.id===o(F).id}])},[y(o(b),{round:"",size:"large",src:e.avatar},null,8,["src"]),v("div",N,[v("div",R,[v("h4",null,k(e.name),1),v("span",null,k(o(T)(e.lastMessageSendTime).siderMsgTime),1)]),v("div",z,[v("div",H,[v("div",{innerHTML:e.lastMessageContent},null,8,U)]),y(o(x),{value:e.unreadNum},null,8,["value"])])])],10,I)),[[S,Z(e)]]))),128))],512)],4)),[[o(C),{mode:"VR",onMove:Y}]])}});export{B as default};
|
@@ -1,8 +1,11 @@
|
|
1
1
|
import { AnyObject } from '../../../../shared/types';
|
2
2
|
import { IState } from '../types';
|
3
3
|
export declare function useSession(state: IState): {
|
4
|
-
|
4
|
+
openSession: (item: AnyObject) => void;
|
5
|
+
closeSession: () => AnyObject | null;
|
6
|
+
getCurrentSession: () => AnyObject | null;
|
5
7
|
setCurrentSessionItem: (item: AnyObject) => void;
|
8
|
+
setUpdateSessionItem: (item: AnyObject) => void;
|
6
9
|
unreadTotal: import("vue").ComputedRef<number>;
|
7
10
|
setSessionList: (list: AnyObject[]) => void;
|
8
11
|
};
|
@@ -1 +1 @@
|
|
1
|
-
import{computed as s}from"vue";import{transformLastMessage as e}from"../utils/index.js";function t(t){function n(s){Object.assign(t.currentSessionItem,s,{lastMessageContent:s.lastMessage?e(s.lastMessage):""}),t.id!==t.currentSessionItem.id&&(t.msgList=[],t.id=t.currentSessionItem.id)}return{
|
1
|
+
import{computed as s}from"vue";import{transformLastMessage as e}from"../utils/index.js";function t(t){function n(s){Object.assign(t.currentSessionItem,s,{lastMessageContent:s.lastMessage?e(s.lastMessage):""}),t.isChangeSession=!0,t.id!==t.currentSessionItem.id&&(t.msgList=[],t.id=t.currentSessionItem.id)}return{openSession:function(s){s.unreadNum=0,n(s)},closeSession:function(){if(!t.id)return null;const{currentSessionItem:s}=t;return t.currentSessionItem={},t.msgList=[],t.id="",s},getCurrentSession:function(){return t.id?t.currentSessionItem:null},setCurrentSessionItem:n,setUpdateSessionItem:function(s){Object.assign(t.updateSessionItem,s,{lastMessageContent:s.lastMessage?e(s.lastMessage):""}),t.isUpdateSession=!0},unreadTotal:s((()=>t.sessionList.reduce(((s,e)=>s+ +e.unreadNum),0))),setSessionList:function(s){t.sessionList=s.map((s=>{const{lastMessage:t}=s;return{...s,lastMessageContent:Reflect.has(s,"lastMessageContent")?s.lastMessageContent:t?e(t):""}}))}}}export{t as useSession};
|