@koushuang/im 0.1.1-preview.3
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.
- package/dist/_virtual/_plugin-vue_export-helper.cjs +2 -0
- package/dist/_virtual/_plugin-vue_export-helper.cjs.map +1 -0
- package/dist/_virtual/_plugin-vue_export-helper.mjs +10 -0
- package/dist/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
- package/dist/api/auth.cjs +2 -0
- package/dist/api/auth.cjs.map +1 -0
- package/dist/api/auth.d.ts +48 -0
- package/dist/api/auth.mjs +30 -0
- package/dist/api/auth.mjs.map +1 -0
- package/dist/core/client.cjs +2 -0
- package/dist/core/client.cjs.map +1 -0
- package/dist/core/client.d.ts +38 -0
- package/dist/core/client.mjs +117 -0
- package/dist/core/client.mjs.map +1 -0
- package/dist/core/createClient.cjs +2 -0
- package/dist/core/createClient.cjs.map +1 -0
- package/dist/core/createClient.d.ts +6 -0
- package/dist/core/createClient.mjs +9 -0
- package/dist/core/createClient.mjs.map +1 -0
- package/dist/core/events.d.ts +36 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/types.d.ts +127 -0
- package/dist/http/createHttp.cjs +2 -0
- package/dist/http/createHttp.cjs.map +1 -0
- package/dist/http/createHttp.d.ts +5 -0
- package/dist/http/createHttp.mjs +29 -0
- package/dist/http/createHttp.mjs.map +1 -0
- package/dist/http/types.cjs +2 -0
- package/dist/http/types.cjs.map +1 -0
- package/dist/http/types.d.ts +14 -0
- package/dist/http/types.mjs +9 -0
- package/dist/http/types.mjs.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.mjs +38 -0
- package/dist/index.mjs.map +1 -0
- package/dist/mock.cjs +2 -0
- package/dist/mock.cjs.map +1 -0
- package/dist/mock.d.ts +2 -0
- package/dist/mock.mjs +7 -0
- package/dist/mock.mjs.map +1 -0
- package/dist/node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.cjs +2 -0
- package/dist/node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.cjs.map +1 -0
- package/dist/node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.mjs +20 -0
- package/dist/node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.mjs.map +1 -0
- package/dist/protocol/envelope.cjs +2 -0
- package/dist/protocol/envelope.cjs.map +1 -0
- package/dist/protocol/envelope.d.ts +3 -0
- package/dist/protocol/envelope.mjs +19 -0
- package/dist/protocol/envelope.mjs.map +1 -0
- package/dist/protocol/guards.cjs +2 -0
- package/dist/protocol/guards.cjs.map +1 -0
- package/dist/protocol/guards.d.ts +2 -0
- package/dist/protocol/guards.mjs +7 -0
- package/dist/protocol/guards.mjs.map +1 -0
- package/dist/protocol/index.d.ts +2 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/visibility.cjs +2 -0
- package/dist/shared/visibility.cjs.map +1 -0
- package/dist/shared/visibility.d.ts +2 -0
- package/dist/shared/visibility.mjs +10 -0
- package/dist/shared/visibility.mjs.map +1 -0
- package/dist/style.cjs +2 -0
- package/dist/style.cjs.map +1 -0
- package/dist/style.css +12 -0
- package/dist/style.d.ts +1 -0
- package/dist/style.mjs +2 -0
- package/dist/style.mjs.map +1 -0
- package/dist/tui/mapper.cjs +2 -0
- package/dist/tui/mapper.cjs.map +1 -0
- package/dist/tui/mapper.d.ts +3 -0
- package/dist/tui/mapper.mjs +25 -0
- package/dist/tui/mapper.mjs.map +1 -0
- package/dist/tui/store.cjs +2 -0
- package/dist/tui/store.cjs.map +1 -0
- package/dist/tui/store.d.ts +2 -0
- package/dist/tui/store.mjs +19 -0
- package/dist/tui/store.mjs.map +1 -0
- package/dist/tui/tim.cjs +2 -0
- package/dist/tui/tim.cjs.map +1 -0
- package/dist/tui/tim.d.ts +2 -0
- package/dist/tui/tim.mjs +116 -0
- package/dist/tui/tim.mjs.map +1 -0
- package/dist/ui/components/FontSizeControl.vue.cjs +2 -0
- package/dist/ui/components/FontSizeControl.vue.cjs.map +1 -0
- package/dist/ui/components/FontSizeControl.vue.d.ts +13 -0
- package/dist/ui/components/FontSizeControl.vue.mjs +8 -0
- package/dist/ui/components/FontSizeControl.vue.mjs.map +1 -0
- package/dist/ui/components/FontSizeControl.vue2.cjs +2 -0
- package/dist/ui/components/FontSizeControl.vue2.cjs.map +1 -0
- package/dist/ui/components/FontSizeControl.vue2.mjs +45 -0
- package/dist/ui/components/FontSizeControl.vue2.mjs.map +1 -0
- package/dist/ui/components/ImChatRoom.vue.cjs +2 -0
- package/dist/ui/components/ImChatRoom.vue.cjs.map +1 -0
- package/dist/ui/components/ImChatRoom.vue.d.ts +38 -0
- package/dist/ui/components/ImChatRoom.vue.mjs +55 -0
- package/dist/ui/components/ImChatRoom.vue.mjs.map +1 -0
- package/dist/ui/components/ImChatRoom.vue2.cjs +2 -0
- package/dist/ui/components/ImChatRoom.vue2.cjs.map +1 -0
- package/dist/ui/components/ImChatRoom.vue2.mjs +5 -0
- package/dist/ui/components/ImChatRoom.vue2.mjs.map +1 -0
- package/dist/ui/components/ImKit.vue.cjs +2 -0
- package/dist/ui/components/ImKit.vue.cjs.map +1 -0
- package/dist/ui/components/ImKit.vue.d.ts +17 -0
- package/dist/ui/components/ImKit.vue.mjs +17 -0
- package/dist/ui/components/ImKit.vue.mjs.map +1 -0
- package/dist/ui/components/ImKit.vue2.cjs +2 -0
- package/dist/ui/components/ImKit.vue2.cjs.map +1 -0
- package/dist/ui/components/ImKit.vue2.mjs +5 -0
- package/dist/ui/components/ImKit.vue2.mjs.map +1 -0
- package/dist/ui/components/ImMessageInput.vue.cjs +2 -0
- package/dist/ui/components/ImMessageInput.vue.cjs.map +1 -0
- package/dist/ui/components/ImMessageInput.vue.d.ts +22 -0
- package/dist/ui/components/ImMessageInput.vue.mjs +5 -0
- package/dist/ui/components/ImMessageInput.vue.mjs.map +1 -0
- package/dist/ui/components/ImMessageInput.vue2.cjs +2 -0
- package/dist/ui/components/ImMessageInput.vue2.cjs.map +1 -0
- package/dist/ui/components/ImMessageInput.vue2.mjs +33 -0
- package/dist/ui/components/ImMessageInput.vue2.mjs.map +1 -0
- package/dist/ui/components/PcConversationListSplit.vue.cjs +2 -0
- package/dist/ui/components/PcConversationListSplit.vue.cjs.map +1 -0
- package/dist/ui/components/PcConversationListSplit.vue.d.ts +8 -0
- package/dist/ui/components/PcConversationListSplit.vue.mjs +8 -0
- package/dist/ui/components/PcConversationListSplit.vue.mjs.map +1 -0
- package/dist/ui/components/PcConversationListSplit.vue2.cjs +2 -0
- package/dist/ui/components/PcConversationListSplit.vue2.cjs.map +1 -0
- package/dist/ui/components/PcConversationListSplit.vue2.mjs +90 -0
- package/dist/ui/components/PcConversationListSplit.vue2.mjs.map +1 -0
- package/dist/ui/components/SysMessage.vue.cjs +2 -0
- package/dist/ui/components/SysMessage.vue.cjs.map +1 -0
- package/dist/ui/components/SysMessage.vue.d.ts +19 -0
- package/dist/ui/components/SysMessage.vue.mjs +8 -0
- package/dist/ui/components/SysMessage.vue.mjs.map +1 -0
- package/dist/ui/components/SysMessage.vue2.cjs +2 -0
- package/dist/ui/components/SysMessage.vue2.cjs.map +1 -0
- package/dist/ui/components/SysMessage.vue2.mjs +42 -0
- package/dist/ui/components/SysMessage.vue2.mjs.map +1 -0
- package/dist/ui/index.d.ts +8 -0
- package/dist/ui/layouts/ChatLayoutH5.vue.cjs +2 -0
- package/dist/ui/layouts/ChatLayoutH5.vue.cjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutH5.vue.d.ts +22 -0
- package/dist/ui/layouts/ChatLayoutH5.vue.mjs +8 -0
- package/dist/ui/layouts/ChatLayoutH5.vue.mjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutH5.vue2.cjs +2 -0
- package/dist/ui/layouts/ChatLayoutH5.vue2.cjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutH5.vue2.mjs +49 -0
- package/dist/ui/layouts/ChatLayoutH5.vue2.mjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutPc.vue.cjs +2 -0
- package/dist/ui/layouts/ChatLayoutPc.vue.cjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutPc.vue.d.ts +39 -0
- package/dist/ui/layouts/ChatLayoutPc.vue.mjs +8 -0
- package/dist/ui/layouts/ChatLayoutPc.vue.mjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutPc.vue2.cjs +2 -0
- package/dist/ui/layouts/ChatLayoutPc.vue2.cjs.map +1 -0
- package/dist/ui/layouts/ChatLayoutPc.vue2.mjs +66 -0
- package/dist/ui/layouts/ChatLayoutPc.vue2.mjs.map +1 -0
- package/dist/ui/mock/consultMeta.cjs +2 -0
- package/dist/ui/mock/consultMeta.cjs.map +1 -0
- package/dist/ui/mock/consultMeta.d.ts +9 -0
- package/dist/ui/mock/consultMeta.mjs +29 -0
- package/dist/ui/mock/consultMeta.mjs.map +1 -0
- package/dist/ui/mock/mock-driver.cjs +2 -0
- package/dist/ui/mock/mock-driver.cjs.map +1 -0
- package/dist/ui/mock/mock-driver.d.ts +2 -0
- package/dist/ui/mock/mock-driver.mjs +51 -0
- package/dist/ui/mock/mock-driver.mjs.map +1 -0
- package/dist/ui/mock/mock.d.ts +2 -0
- package/dist/ui/renderers/MessageProxy.cjs +2 -0
- package/dist/ui/renderers/MessageProxy.cjs.map +1 -0
- package/dist/ui/renderers/MessageProxy.d.ts +24 -0
- package/dist/ui/renderers/MessageProxy.mjs +36 -0
- package/dist/ui/renderers/MessageProxy.mjs.map +1 -0
- package/dist/ui/renderers/createMessageComponent.cjs +2 -0
- package/dist/ui/renderers/createMessageComponent.cjs.map +1 -0
- package/dist/ui/renderers/createMessageComponent.d.ts +4 -0
- package/dist/ui/renderers/createMessageComponent.mjs +15 -0
- package/dist/ui/renderers/createMessageComponent.mjs.map +1 -0
- package/dist/ui/renderers/historyFilter.cjs +2 -0
- package/dist/ui/renderers/historyFilter.cjs.map +1 -0
- package/dist/ui/renderers/historyFilter.d.ts +10 -0
- package/dist/ui/renderers/historyFilter.mjs +41 -0
- package/dist/ui/renderers/historyFilter.mjs.map +1 -0
- package/dist/ui/renderers/registry.cjs +2 -0
- package/dist/ui/renderers/registry.cjs.map +1 -0
- package/dist/ui/renderers/registry.d.ts +3 -0
- package/dist/ui/renderers/registry.mjs +17 -0
- package/dist/ui/renderers/registry.mjs.map +1 -0
- package/dist/ui/renderers/resolve.cjs +2 -0
- package/dist/ui/renderers/resolve.cjs.map +1 -0
- package/dist/ui/renderers/resolve.d.ts +2 -0
- package/dist/ui/renderers/resolve.mjs +8 -0
- package/dist/ui/renderers/resolve.mjs.map +1 -0
- package/dist/ui/styles/style.d.ts +0 -0
- package/dist/utils/log.cjs +2 -0
- package/dist/utils/log.cjs.map +1 -0
- package/dist/utils/log.d.ts +1 -0
- package/dist/utils/log.mjs +7 -0
- package/dist/utils/log.mjs.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMessageComponent.cjs","sources":["../../../src/ui/renderers/createMessageComponent.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport type { IMMessage } from '../../core/types'\nimport { resolveRenderer } from './registry'\n\nexport function createMessageComponent(msg: IMMessage) {\n return defineComponent({\n name: 'HlImCustomMessage',\n setup() {\n const Comp = resolveRenderer(msg)\n if (!Comp) return () => h('pre', JSON.stringify(msg.payload, null, 2))\n return () => h(Comp as any, { envelope: msg.payload })\n },\n })\n}\n"],"names":["createMessageComponent","msg","defineComponent","Comp","resolveRenderer","h"],"mappings":"mIAIO,SAASA,EAAuBC,EAAgB,CACrD,OAAOC,kBAAgB,CACrB,KAAM,oBACN,OAAQ,CACN,MAAMC,EAAOC,EAAAA,gBAAgBH,CAAG,EAChC,OAAKE,EACE,IAAME,EAAAA,EAAEF,EAAa,CAAE,SAAUF,EAAI,QAAS,EADnC,IAAMI,EAAAA,EAAE,MAAO,KAAK,UAAUJ,EAAI,QAAS,KAAM,CAAC,CAAC,CAEvE,CAAA,CACD,CACH"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IMMessage } from '../../core/types';
|
|
2
|
+
export declare function createMessageComponent(msg: IMMessage): import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineComponent as n, h as r } from "vue";
|
|
2
|
+
import { resolveRenderer as t } from "./registry.mjs";
|
|
3
|
+
function m(e) {
|
|
4
|
+
return n({
|
|
5
|
+
name: "HlImCustomMessage",
|
|
6
|
+
setup() {
|
|
7
|
+
const o = t(e);
|
|
8
|
+
return o ? () => r(o, { envelope: e.payload }) : () => r("pre", JSON.stringify(e.payload, null, 2));
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
m as createMessageComponent
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=createMessageComponent.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMessageComponent.mjs","sources":["../../../src/ui/renderers/createMessageComponent.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport type { IMMessage } from '../../core/types'\nimport { resolveRenderer } from './registry'\n\nexport function createMessageComponent(msg: IMMessage) {\n return defineComponent({\n name: 'HlImCustomMessage',\n setup() {\n const Comp = resolveRenderer(msg)\n if (!Comp) return () => h('pre', JSON.stringify(msg.payload, null, 2))\n return () => h(Comp as any, { envelope: msg.payload })\n },\n })\n}\n"],"names":["createMessageComponent","msg","defineComponent","Comp","resolveRenderer","h"],"mappings":";;AAIO,SAASA,EAAuBC,GAAgB;AACrD,SAAOC,EAAgB;AAAA,IACrB,MAAM;AAAA,IACN,QAAQ;AACN,YAAMC,IAAOC,EAAgBH,CAAG;AAChC,aAAKE,IACE,MAAME,EAAEF,GAAa,EAAE,UAAUF,EAAI,SAAS,IADnC,MAAMI,EAAE,OAAO,KAAK,UAAUJ,EAAI,SAAS,MAAM,CAAC,CAAC;AAAA,IAEvE;AAAA,EAAA,CACD;AACH;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@tencentcloud/chat-uikit-engine");function u(t){const e=t?.time??t?.createdAt??t?.payload?.time??0;return typeof e!="number"?0:e<1e12?e*1e3:e}function o(t){let e=!1,a=[];const s=r.TUIStore.watch(r.StoreName.CHAT,{messageList:i=>{if(!t.enabled||e||!Array.isArray(i)||(a=i,t.showHistory()))return;const n=i.filter(l=>u(l)>=t.sessionStartAt);if(n.length!==i.length){e=!0;try{r.TUIStore.update(r.StoreName.CHAT,"messageList",n)}finally{queueMicrotask(()=>e=!1)}}}});return{restoreFullList(){if(a?.length){e=!0;try{r.TUIStore.update(r.StoreName.CHAT,"messageList",a)}finally{queueMicrotask(()=>e=!1)}}},dispose(){s?.()}}}exports.installChatHistoryFilter=o;
|
|
2
|
+
//# sourceMappingURL=historyFilter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyFilter.cjs","sources":["../../../src/ui/renderers/historyFilter.ts"],"sourcesContent":["import { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine'\n\ntype FilterOpts = {\n enabled: boolean\n sessionStartAt: number\n showHistory: () => boolean\n}\n\nfunction toMs(msg: any): number {\n const t = msg?.time ?? msg?.createdAt ?? msg?.payload?.time ?? 0\n if (typeof t !== 'number') return 0\n return t < 1e12 ? t * 1000 : t\n}\n\nexport function installChatHistoryFilter(opts: FilterOpts) {\n let isPatching = false\n let lastFullList: any[] = []\n\n const unwatch = TUIStore.watch(StoreName.CHAT, {\n messageList: (list: any[]) => {\n if (!opts.enabled) return\n if (isPatching) return\n if (!Array.isArray(list)) return\n lastFullList = list\n\n if (opts.showHistory()) return\n\n const filtered = list.filter((m) => toMs(m) >= opts.sessionStartAt)\n if (filtered.length === list.length) return\n\n // 更新 store 让 <Chat/> 直接渲染过滤后的 list\n isPatching = true\n try {\n TUIStore.update(StoreName.CHAT, 'messageList', filtered)\n } finally {\n // 防止 watch 递归触发\n queueMicrotask(() => (isPatching = false))\n }\n },\n })\n\n return {\n restoreFullList() {\n if (!lastFullList?.length) return\n isPatching = true\n try {\n TUIStore.update(StoreName.CHAT, 'messageList', lastFullList)\n } finally {\n queueMicrotask(() => (isPatching = false))\n }\n },\n dispose() {\n unwatch?.()\n },\n }\n}\n"],"names":["toMs","msg","t","installChatHistoryFilter","opts","isPatching","lastFullList","unwatch","TUIStore","StoreName","list","filtered","m"],"mappings":"mIAQA,SAASA,EAAKC,EAAkB,CAC9B,MAAMC,EAAID,GAAK,MAAQA,GAAK,WAAaA,GAAK,SAAS,MAAQ,EAC/D,OAAI,OAAOC,GAAM,SAAiB,EAC3BA,EAAI,KAAOA,EAAI,IAAOA,CAC/B,CAEO,SAASC,EAAyBC,EAAkB,CACzD,IAAIC,EAAa,GACbC,EAAsB,CAAA,EAE1B,MAAMC,EAAUC,EAAAA,SAAS,MAAMC,EAAAA,UAAU,KAAM,CAC7C,YAAcC,GAAgB,CAM5B,GALI,CAACN,EAAK,SACNC,GACA,CAAC,MAAM,QAAQK,CAAI,IACvBJ,EAAeI,EAEXN,EAAK,eAAe,OAExB,MAAMO,EAAWD,EAAK,OAAQE,GAAMZ,EAAKY,CAAC,GAAKR,EAAK,cAAc,EAClE,GAAIO,EAAS,SAAWD,EAAK,OAG7B,CAAAL,EAAa,GACb,GAAI,CACFG,EAAAA,SAAS,OAAOC,EAAAA,UAAU,KAAM,cAAeE,CAAQ,CACzD,QAAA,CAEE,eAAe,IAAON,EAAa,EAAM,CAC3C,EACF,CAAA,CACD,EAED,MAAO,CACL,iBAAkB,CAChB,GAAKC,GAAc,OACnB,CAAAD,EAAa,GACb,GAAI,CACFG,EAAAA,SAAS,OAAOC,EAAAA,UAAU,KAAM,cAAeH,CAAY,CAC7D,QAAA,CACE,eAAe,IAAOD,EAAa,EAAM,CAC3C,EACF,EACA,SAAU,CACRE,IAAA,CACF,CAAA,CAEJ"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { TUIStore as n, StoreName as a } from "@tencentcloud/chat-uikit-engine";
|
|
2
|
+
function o(t) {
|
|
3
|
+
const e = t?.time ?? t?.createdAt ?? t?.payload?.time ?? 0;
|
|
4
|
+
return typeof e != "number" ? 0 : e < 1e12 ? e * 1e3 : e;
|
|
5
|
+
}
|
|
6
|
+
function c(t) {
|
|
7
|
+
let e = !1, i = [];
|
|
8
|
+
const u = n.watch(a.CHAT, {
|
|
9
|
+
messageList: (r) => {
|
|
10
|
+
if (!t.enabled || e || !Array.isArray(r) || (i = r, t.showHistory())) return;
|
|
11
|
+
const s = r.filter((l) => o(l) >= t.sessionStartAt);
|
|
12
|
+
if (s.length !== r.length) {
|
|
13
|
+
e = !0;
|
|
14
|
+
try {
|
|
15
|
+
n.update(a.CHAT, "messageList", s);
|
|
16
|
+
} finally {
|
|
17
|
+
queueMicrotask(() => e = !1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
restoreFullList() {
|
|
24
|
+
if (i?.length) {
|
|
25
|
+
e = !0;
|
|
26
|
+
try {
|
|
27
|
+
n.update(a.CHAT, "messageList", i);
|
|
28
|
+
} finally {
|
|
29
|
+
queueMicrotask(() => e = !1);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
dispose() {
|
|
34
|
+
u?.();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
c as installChatHistoryFilter
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=historyFilter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyFilter.mjs","sources":["../../../src/ui/renderers/historyFilter.ts"],"sourcesContent":["import { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine'\n\ntype FilterOpts = {\n enabled: boolean\n sessionStartAt: number\n showHistory: () => boolean\n}\n\nfunction toMs(msg: any): number {\n const t = msg?.time ?? msg?.createdAt ?? msg?.payload?.time ?? 0\n if (typeof t !== 'number') return 0\n return t < 1e12 ? t * 1000 : t\n}\n\nexport function installChatHistoryFilter(opts: FilterOpts) {\n let isPatching = false\n let lastFullList: any[] = []\n\n const unwatch = TUIStore.watch(StoreName.CHAT, {\n messageList: (list: any[]) => {\n if (!opts.enabled) return\n if (isPatching) return\n if (!Array.isArray(list)) return\n lastFullList = list\n\n if (opts.showHistory()) return\n\n const filtered = list.filter((m) => toMs(m) >= opts.sessionStartAt)\n if (filtered.length === list.length) return\n\n // 更新 store 让 <Chat/> 直接渲染过滤后的 list\n isPatching = true\n try {\n TUIStore.update(StoreName.CHAT, 'messageList', filtered)\n } finally {\n // 防止 watch 递归触发\n queueMicrotask(() => (isPatching = false))\n }\n },\n })\n\n return {\n restoreFullList() {\n if (!lastFullList?.length) return\n isPatching = true\n try {\n TUIStore.update(StoreName.CHAT, 'messageList', lastFullList)\n } finally {\n queueMicrotask(() => (isPatching = false))\n }\n },\n dispose() {\n unwatch?.()\n },\n }\n}\n"],"names":["toMs","msg","t","installChatHistoryFilter","opts","isPatching","lastFullList","unwatch","TUIStore","StoreName","list","filtered","m"],"mappings":";AAQA,SAASA,EAAKC,GAAkB;AAC9B,QAAMC,IAAID,GAAK,QAAQA,GAAK,aAAaA,GAAK,SAAS,QAAQ;AAC/D,SAAI,OAAOC,KAAM,WAAiB,IAC3BA,IAAI,OAAOA,IAAI,MAAOA;AAC/B;AAEO,SAASC,EAAyBC,GAAkB;AACzD,MAAIC,IAAa,IACbC,IAAsB,CAAA;AAE1B,QAAMC,IAAUC,EAAS,MAAMC,EAAU,MAAM;AAAA,IAC7C,aAAa,CAACC,MAAgB;AAM5B,UALI,CAACN,EAAK,WACNC,KACA,CAAC,MAAM,QAAQK,CAAI,MACvBJ,IAAeI,GAEXN,EAAK,eAAe;AAExB,YAAMO,IAAWD,EAAK,OAAO,CAACE,MAAMZ,EAAKY,CAAC,KAAKR,EAAK,cAAc;AAClE,UAAIO,EAAS,WAAWD,EAAK,QAG7B;AAAA,QAAAL,IAAa;AACb,YAAI;AACF,UAAAG,EAAS,OAAOC,EAAU,MAAM,eAAeE,CAAQ;AAAA,QACzD,UAAA;AAEE,yBAAe,MAAON,IAAa,EAAM;AAAA,QAC3C;AAAA;AAAA,IACF;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,kBAAkB;AAChB,UAAKC,GAAc,QACnB;AAAA,QAAAD,IAAa;AACb,YAAI;AACF,UAAAG,EAAS,OAAOC,EAAU,MAAM,eAAeH,CAAY;AAAA,QAC7D,UAAA;AACE,yBAAe,MAAOD,IAAa,EAAM;AAAA,QAC3C;AAAA;AAAA,IACF;AAAA,IACA,UAAU;AACR,MAAAE,IAAA;AAAA,IACF;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../components/SysMessage.vue.cjs"),t=new Map;function e(s,n){t.set(s,n)}function o(s){return t.get(s)}e("sys.notice",r);e("sys.alert",r);e("sys.progress",r);e("sys.tip",r);exports.registerRenderer=e;exports.resolveRenderer=o;
|
|
2
|
+
//# sourceMappingURL=registry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.cjs","sources":["../../../src/ui/renderers/registry.ts"],"sourcesContent":["// packages/im/src/ui/renderers/registry.ts\nimport type { Component } from 'vue'\nimport SysMessage from '../components/SysMessage.vue'\nimport { logTag } from '../../utils/log'\n\nconst map = new Map<string, Component>()\n\nexport function registerRenderer(type: string, comp: Component) {\n map.set(type, comp)\n}\n\nexport function resolveRenderer(type: string) {\n return map.get(type)\n}\n\nregisterRenderer('sys.notice', SysMessage)\nregisterRenderer('sys.alert', SysMessage)\nregisterRenderer('sys.progress', SysMessage)\nregisterRenderer('sys.tip', SysMessage)\n"],"names":["map","registerRenderer","type","comp","resolveRenderer","SysMessage"],"mappings":"oIAKMA,MAAU,IAET,SAASC,EAAiBC,EAAcC,EAAiB,CAC9DH,EAAI,IAAIE,EAAMC,CAAI,CACpB,CAEO,SAASC,EAAgBF,EAAc,CAC5C,OAAOF,EAAI,IAAIE,CAAI,CACrB,CAEAD,EAAiB,aAAcI,CAAU,EACzCJ,EAAiB,YAAaI,CAAU,EACxCJ,EAAiB,eAAgBI,CAAU,EAC3CJ,EAAiB,UAAWI,CAAU"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import e from "../components/SysMessage.vue.mjs";
|
|
2
|
+
const t = /* @__PURE__ */ new Map();
|
|
3
|
+
function s(r, n) {
|
|
4
|
+
t.set(r, n);
|
|
5
|
+
}
|
|
6
|
+
function i(r) {
|
|
7
|
+
return t.get(r);
|
|
8
|
+
}
|
|
9
|
+
s("sys.notice", e);
|
|
10
|
+
s("sys.alert", e);
|
|
11
|
+
s("sys.progress", e);
|
|
12
|
+
s("sys.tip", e);
|
|
13
|
+
export {
|
|
14
|
+
s as registerRenderer,
|
|
15
|
+
i as resolveRenderer
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=registry.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.mjs","sources":["../../../src/ui/renderers/registry.ts"],"sourcesContent":["// packages/im/src/ui/renderers/registry.ts\nimport type { Component } from 'vue'\nimport SysMessage from '../components/SysMessage.vue'\nimport { logTag } from '../../utils/log'\n\nconst map = new Map<string, Component>()\n\nexport function registerRenderer(type: string, comp: Component) {\n map.set(type, comp)\n}\n\nexport function resolveRenderer(type: string) {\n return map.get(type)\n}\n\nregisterRenderer('sys.notice', SysMessage)\nregisterRenderer('sys.alert', SysMessage)\nregisterRenderer('sys.progress', SysMessage)\nregisterRenderer('sys.tip', SysMessage)\n"],"names":["map","registerRenderer","type","comp","resolveRenderer","SysMessage"],"mappings":";AAKA,MAAMA,wBAAU,IAAA;AAET,SAASC,EAAiBC,GAAcC,GAAiB;AAC9D,EAAAH,EAAI,IAAIE,GAAMC,CAAI;AACpB;AAEO,SAASC,EAAgBF,GAAc;AAC5C,SAAOF,EAAI,IAAIE,CAAI;AACrB;AAEAD,EAAiB,cAAcI,CAAU;AACzCJ,EAAiB,aAAaI,CAAU;AACxCJ,EAAiB,gBAAgBI,CAAU;AAC3CJ,EAAiB,WAAWI,CAAU;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../protocol/envelope.cjs");function n(e){return e.type!=="TIMCustomElem"?null:o.decodeEnvelope(e.payload.extension)}exports.resolveEnvelopeFromMessage=n;
|
|
2
|
+
//# sourceMappingURL=resolve.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.cjs","sources":["../../../src/ui/renderers/resolve.ts"],"sourcesContent":["import type { IMMessage } from '../../core/types'\n// import { resolveRenderer } from './registry'\nimport { logTag } from '../../utils/log'\nimport { decodeEnvelope } from '../../protocol'\n\nexport function resolveEnvelopeFromMessage(msg: IMMessage) {\n // logTag('msg7777', msg)\n if (msg.type !== 'TIMCustomElem') return null\n const extension = decodeEnvelope(msg.payload.extension)\n // logTag('extension', extension)\n // let res = resolveRenderer(extension?.type ?? '')\n // logTag('extensionres', res)\n return extension\n}\n"],"names":["resolveEnvelopeFromMessage","msg","decodeEnvelope"],"mappings":"+HAKO,SAASA,EAA2BC,EAAgB,CAEzD,OAAIA,EAAI,OAAS,gBAAwB,KACvBC,EAAAA,eAAeD,EAAI,QAAQ,SAAS,CAKxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.mjs","sources":["../../../src/ui/renderers/resolve.ts"],"sourcesContent":["import type { IMMessage } from '../../core/types'\n// import { resolveRenderer } from './registry'\nimport { logTag } from '../../utils/log'\nimport { decodeEnvelope } from '../../protocol'\n\nexport function resolveEnvelopeFromMessage(msg: IMMessage) {\n // logTag('msg7777', msg)\n if (msg.type !== 'TIMCustomElem') return null\n const extension = decodeEnvelope(msg.payload.extension)\n // logTag('extension', extension)\n // let res = resolveRenderer(extension?.type ?? '')\n // logTag('extensionres', res)\n return extension\n}\n"],"names":["resolveEnvelopeFromMessage","msg","decodeEnvelope"],"mappings":";AAKO,SAASA,EAA2BC,GAAgB;AAEzD,SAAIA,EAAI,SAAS,kBAAwB,OACvBC,EAAeD,EAAI,QAAQ,SAAS;AAKxD;"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.cjs","sources":["../../src/utils/log.ts"],"sourcesContent":["export const logTag = (label: string, ...args: any[]) => {\n console.log(`%c${label}`, 'background:#f3de2c;color:#ef476f;padding:2px 6px;border-radius:3px;', ...args)\n}\n"],"names":["logTag","label","args"],"mappings":"gFAAO,MAAMA,EAAS,CAACC,KAAkBC,IAAgB,CACvD,QAAQ,IAAI,KAAKD,CAAK,GAAI,sEAAuE,GAAGC,CAAI,CAC1G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const logTag: (label: string, ...args: any[]) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.mjs","sources":["../../src/utils/log.ts"],"sourcesContent":["export const logTag = (label: string, ...args: any[]) => {\n console.log(`%c${label}`, 'background:#f3de2c;color:#ef476f;padding:2px 6px;border-radius:3px;', ...args)\n}\n"],"names":["logTag","label","args"],"mappings":"AAAO,MAAMA,IAAS,CAACC,MAAkBC,MAAgB;AACvD,UAAQ,IAAI,KAAKD,CAAK,IAAI,uEAAuE,GAAGC,CAAI;AAC1G;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@koushuang/im",
|
|
3
|
+
"version": "0.1.1-preview.3",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.cjs",
|
|
6
|
+
"module": "./dist/index.mjs",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./mock": {
|
|
15
|
+
"types": "./dist/mock.d.ts",
|
|
16
|
+
"import": "./dist/mock.mjs",
|
|
17
|
+
"require": "./dist/mock.cjs"
|
|
18
|
+
},
|
|
19
|
+
"./drivers/tui": {
|
|
20
|
+
"types": "./dist/drivers/tui.d.ts",
|
|
21
|
+
"import": "./dist/drivers/tui.mjs",
|
|
22
|
+
"require": "./dist/drivers/tui.cjs"
|
|
23
|
+
},
|
|
24
|
+
"./style": {
|
|
25
|
+
"import": "./dist/style.mjs",
|
|
26
|
+
"require": "./dist/style.cjs",
|
|
27
|
+
"default": "./dist/style.css"
|
|
28
|
+
},
|
|
29
|
+
"./style.css": "./dist/style.css",
|
|
30
|
+
"./im.css": "./dist/im.css"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"vue": "^3.3.0"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@tencentcloud/chat": "^3.6.3",
|
|
37
|
+
"@tencentcloud/chat-uikit-engine": "2.5.7",
|
|
38
|
+
"@tencentcloud/chat-uikit-vue3": "^4.5.2",
|
|
39
|
+
"@tencentcloud/tui-core": "^2.5.1",
|
|
40
|
+
"vue-request": "^2.0.4",
|
|
41
|
+
"mitt": "^3.0.1"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "vite build",
|
|
45
|
+
"dev": "vite build --watch"
|
|
46
|
+
},
|
|
47
|
+
"sideEffects": [
|
|
48
|
+
"**/*.css",
|
|
49
|
+
"**/*.scss"
|
|
50
|
+
],
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"access": "public",
|
|
53
|
+
"files": [
|
|
54
|
+
"dist",
|
|
55
|
+
"README.md",
|
|
56
|
+
"LICENSE"
|
|
57
|
+
],
|
|
58
|
+
"registry": "https://registry.npmjs.org/"
|
|
59
|
+
},
|
|
60
|
+
"files": [
|
|
61
|
+
"dist",
|
|
62
|
+
"README.md",
|
|
63
|
+
"LICENSE"
|
|
64
|
+
]
|
|
65
|
+
}
|