yx-web-sdk 0.0.4

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 (100) hide show
  1. package/README.md +424 -0
  2. package/dist/AntdIcon-B0sjNvGu.mjs +307 -0
  3. package/dist/CloseOutlined-DDb89ei3.mjs +37 -0
  4. package/dist/_plugin-vue_export-helper-1tPrXgE0.mjs +10 -0
  5. package/dist/ait-person-popover/index.d.ts +3 -0
  6. package/dist/ait-person-popover/index.js +5 -0
  7. package/dist/ait-person-popover/index.vue.d.ts +39 -0
  8. package/dist/chat-card/index.d.ts +3 -0
  9. package/dist/chat-card/index.js +5 -0
  10. package/dist/chat-card/index.vue.d.ts +25 -0
  11. package/dist/chat-content/index.d.ts +3 -0
  12. package/dist/chat-content/index.js +5 -0
  13. package/dist/chat-content/index.vue.d.ts +51 -0
  14. package/dist/chat-page/index.d.ts +3 -0
  15. package/dist/chat-page/index.js +5 -0
  16. package/dist/chat-page/index.vue.d.ts +6 -0
  17. package/dist/chat-room/index.d.ts +3 -0
  18. package/dist/chat-room/index.js +5 -0
  19. package/dist/chat-room/index.vue.d.ts +9 -0
  20. package/dist/common-avatar/index.d.ts +3 -0
  21. package/dist/common-avatar/index.js +5 -0
  22. package/dist/common-avatar/index.vue.d.ts +17 -0
  23. package/dist/components/ait-person-popover/index.d.ts +3 -0
  24. package/dist/components/ait-person-popover/index.vue.d.ts +39 -0
  25. package/dist/components/chat-card/index.d.ts +3 -0
  26. package/dist/components/chat-card/index.vue.d.ts +25 -0
  27. package/dist/components/chat-content/composables/ait-person.d.ts +86 -0
  28. package/dist/components/chat-content/index.d.ts +3 -0
  29. package/dist/components/chat-content/index.vue.d.ts +51 -0
  30. package/dist/components/chat-page/index.d.ts +3 -0
  31. package/dist/components/chat-page/index.vue.d.ts +6 -0
  32. package/dist/components/chat-room/index.d.ts +3 -0
  33. package/dist/components/chat-room/index.vue.d.ts +9 -0
  34. package/dist/components/common-avatar/index.d.ts +3 -0
  35. package/dist/components/common-avatar/index.vue.d.ts +17 -0
  36. package/dist/components/icon-font/index.d.ts +47 -0
  37. package/dist/components/index-entry/index.d.ts +2 -0
  38. package/dist/components/index-entry/index.vue.d.ts +25 -0
  39. package/dist/components/index.d.ts +12 -0
  40. package/dist/components/list.d.ts +2 -0
  41. package/dist/components/members-sidebar/index.d.ts +3 -0
  42. package/dist/components/members-sidebar/index.vue.d.ts +4 -0
  43. package/dist/components/notice-box/index.d.ts +3 -0
  44. package/dist/components/notice-box/index.vue.d.ts +13 -0
  45. package/dist/components/server-channel-sidebar/index.d.ts +3 -0
  46. package/dist/components/server-channel-sidebar/index.vue.d.ts +18 -0
  47. package/dist/global.css +39 -0
  48. package/dist/icon-font/index.d.ts +47 -0
  49. package/dist/icon-font/index.js +7 -0
  50. package/dist/index/style.css +199 -0
  51. package/dist/index/style2.css +175 -0
  52. package/dist/index/style3.css +36 -0
  53. package/dist/index/style4.css +168 -0
  54. package/dist/index/style5.css +147 -0
  55. package/dist/index/style6.css +43 -0
  56. package/dist/index/style7.css +491 -0
  57. package/dist/index/style8.css +19 -0
  58. package/dist/index-3sSWCzxu.mjs +225 -0
  59. package/dist/index-4m4OVlx8.mjs +611 -0
  60. package/dist/index-CFI0URc5.mjs +135 -0
  61. package/dist/index-Dg8Q3cli.mjs +1092 -0
  62. package/dist/index-entry/index.d.ts +2 -0
  63. package/dist/index-entry/index.js +271 -0
  64. package/dist/index-entry/index.vue.d.ts +25 -0
  65. package/dist/index-entry/style.css +51 -0
  66. package/dist/index.d.ts +8 -0
  67. package/dist/index.vue_vue_type_script_setup_true_lang-DkMXpHkt.mjs +158 -0
  68. package/dist/index.vue_vue_type_style_index_0_lang-CfLKcYM9.mjs +102 -0
  69. package/dist/index.vue_vue_type_style_index_0_lang-CibeOmhP.mjs +407 -0
  70. package/dist/index.vue_vue_type_style_index_0_lang-CmfE8EVU.mjs +288 -0
  71. package/dist/index.vue_vue_type_style_index_0_lang-XiDTgYoZ.mjs +1012 -0
  72. package/dist/index.vue_vue_type_style_index_0_lang-Y-vyKHWz.mjs +36985 -0
  73. package/dist/members-sidebar/index.d.ts +3 -0
  74. package/dist/members-sidebar/index.js +5 -0
  75. package/dist/members-sidebar/index.vue.d.ts +4 -0
  76. package/dist/notice-box/index.d.ts +3 -0
  77. package/dist/notice-box/index.js +5 -0
  78. package/dist/notice-box/index.vue.d.ts +13 -0
  79. package/dist/plugin/index.d.ts +22 -0
  80. package/dist/resolver/index.d.ts +22 -0
  81. package/dist/resolver/index.es.js +36 -0
  82. package/dist/resolver/index.umd.js +40 -0
  83. package/dist/server-channel-sidebar/index.d.ts +3 -0
  84. package/dist/server-channel-sidebar/index.js +5 -0
  85. package/dist/server-channel-sidebar/index.vue.d.ts +18 -0
  86. package/dist/stores/channel.d.ts +114 -0
  87. package/dist/stores/global.d.ts +15 -0
  88. package/dist/stores/index.d.ts +7 -0
  89. package/dist/stores/qchat.d.ts +397 -0
  90. package/dist/stores/sdk.d.ts +48 -0
  91. package/dist/stores/server.d.ts +58 -0
  92. package/dist/stores/user.d.ts +9 -0
  93. package/dist/style.css +1359 -0
  94. package/dist/types/missing.d.ts +14 -0
  95. package/dist/utils/events.d.ts +7 -0
  96. package/dist/utils/index.d.ts +26 -0
  97. package/dist/utils/storage.d.ts +15 -0
  98. package/dist/yx-web-sdk.es.js +41593 -0
  99. package/dist/yx-web-sdk.umd.js +41590 -0
  100. package/package.json +191 -0
@@ -0,0 +1,225 @@
1
+ import { createVNode, defineComponent, ref, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, unref, withCtx, createBlock, Fragment, renderList } from "vue";
2
+ import { Tooltip, Spin } from "ant-design-vue";
3
+ import { b as useChannelStore, a as useServerStore, u as useImSdkStore, _ as _sfc_main$1 } from "./index.vue_vue_type_style_index_0_lang-Y-vyKHWz.mjs";
4
+ import { I as IconFont } from "./index-Dg8Q3cli.mjs";
5
+ import { I as Icon } from "./AntdIcon-B0sjNvGu.mjs";
6
+ import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
7
+ var CrownOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z" } }] }, "name": "crown", "theme": "outlined" };
8
+ function _objectSpread(target) {
9
+ for (var i = 1; i < arguments.length; i++) {
10
+ var source = arguments[i] != null ? Object(arguments[i]) : {};
11
+ var ownKeys = Object.keys(source);
12
+ if (typeof Object.getOwnPropertySymbols === "function") {
13
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
14
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
15
+ }));
16
+ }
17
+ ownKeys.forEach(function(key) {
18
+ _defineProperty(target, key, source[key]);
19
+ });
20
+ }
21
+ return target;
22
+ }
23
+ function _defineProperty(obj, key, value) {
24
+ if (key in obj) {
25
+ Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
26
+ } else {
27
+ obj[key] = value;
28
+ }
29
+ return obj;
30
+ }
31
+ var CrownOutlined = function CrownOutlined2(props, context) {
32
+ var p = _objectSpread({}, props, context.attrs);
33
+ return createVNode(Icon, _objectSpread({}, p, {
34
+ "icon": CrownOutlined$1
35
+ }), null);
36
+ };
37
+ CrownOutlined.displayName = "CrownOutlined";
38
+ CrownOutlined.inheritAttrs = false;
39
+ const _hoisted_1 = { class: "members-header" };
40
+ const _hoisted_2 = {
41
+ key: 0,
42
+ class: "members-title"
43
+ };
44
+ const _hoisted_3 = { class: "members-count font-normal" };
45
+ const _hoisted_4 = { class: "member-avatar" };
46
+ const _hoisted_5 = {
47
+ key: 0,
48
+ class: "online-dot"
49
+ };
50
+ const _hoisted_6 = {
51
+ key: 1,
52
+ class: "owner-badge"
53
+ };
54
+ const _hoisted_7 = { class: "member-info" };
55
+ const _hoisted_8 = { class: "member-name" };
56
+ const _hoisted_9 = {
57
+ key: 0,
58
+ class: "loading-more"
59
+ };
60
+ const _sfc_main = /* @__PURE__ */ defineComponent({
61
+ ...{
62
+ name: "MembersSidebar"
63
+ },
64
+ __name: "index",
65
+ setup(__props, { expose: __expose }) {
66
+ const channelStore = useChannelStore();
67
+ const serverStore = useServerStore();
68
+ const imSdkStore = useImSdkStore();
69
+ const isCollapsed = ref(false);
70
+ const isLoadingMore = ref(false);
71
+ const membersListRef = ref(null);
72
+ const onlineAccids = ref(/* @__PURE__ */ new Set());
73
+ const currentAccount = computed(() => imSdkStore.currentAccount);
74
+ const members = computed(() => {
75
+ var _a;
76
+ return ((_a = channelStore.ChannelMembers) == null ? void 0 : _a.datas) || [];
77
+ });
78
+ const hasMore = computed(() => {
79
+ var _a, _b;
80
+ return ((_b = (_a = channelStore.ChannelMembers) == null ? void 0 : _a.listQueryTag) == null ? void 0 : _b.hasMore) ?? false;
81
+ });
82
+ const nextTimetag = computed(() => {
83
+ var _a, _b;
84
+ return ((_b = (_a = channelStore.ChannelMembers) == null ? void 0 : _a.listQueryTag) == null ? void 0 : _b.nextTimetag) ?? 0;
85
+ });
86
+ const isMemberOnline = (accid) => {
87
+ if (accid === currentAccount.value) return true;
88
+ return onlineAccids.value.has(accid);
89
+ };
90
+ const toggleCollapse = () => {
91
+ isCollapsed.value = !isCollapsed.value;
92
+ };
93
+ const handleScroll = async (e) => {
94
+ if (isLoadingMore.value || !hasMore.value) {
95
+ return;
96
+ }
97
+ const target = e.target;
98
+ const distanceToBottom = target.scrollHeight - target.scrollTop - target.clientHeight;
99
+ if (distanceToBottom < 100) {
100
+ await loadMoreMembers();
101
+ }
102
+ };
103
+ const loadMoreMembers = async () => {
104
+ var _a, _b;
105
+ if (isLoadingMore.value || !hasMore.value) {
106
+ return;
107
+ }
108
+ const serverId = (_a = serverStore.curServer) == null ? void 0 : _a.serverId;
109
+ const channelId = (_b = channelStore.currentChannel) == null ? void 0 : _b.channelId;
110
+ if (!serverId || !channelId) {
111
+ return;
112
+ }
113
+ isLoadingMore.value = true;
114
+ try {
115
+ await channelStore.appendChannelMembers({
116
+ serverId,
117
+ channelId,
118
+ timetag: nextTimetag.value,
119
+ limit: 50
120
+ });
121
+ } catch (error) {
122
+ console.error("加载更多成员失败:", error);
123
+ } finally {
124
+ isLoadingMore.value = false;
125
+ }
126
+ };
127
+ __expose({
128
+ toggleCollapse
129
+ });
130
+ return (_ctx, _cache) => {
131
+ return openBlock(), createElementBlock("div", {
132
+ class: normalizeClass(["yx-members-sidebar", { collapsed: isCollapsed.value }])
133
+ }, [
134
+ createElementVNode("div", _hoisted_1, [
135
+ !isCollapsed.value ? (openBlock(), createElementBlock("span", _hoisted_2, [
136
+ _cache[0] || (_cache[0] = createTextVNode(" 成员列表 ", -1)),
137
+ createElementVNode("span", _hoisted_3, toDisplayString(members.value.length), 1)
138
+ ])) : createCommentVNode("", true),
139
+ createVNode(unref(Tooltip), {
140
+ title: isCollapsed.value ? "展开成员列表" : "收起成员列表",
141
+ placement: "left"
142
+ }, {
143
+ default: withCtx(() => [
144
+ createElementVNode("div", {
145
+ class: "toggle-btn",
146
+ onClick: toggleCollapse
147
+ }, [
148
+ isCollapsed.value ? (openBlock(), createBlock(unref(IconFont), {
149
+ key: 0,
150
+ type: "gt-line-Close-all",
151
+ rotate: "90deg",
152
+ size: 20,
153
+ style: { "transform": "rotate(90deg)" }
154
+ })) : (openBlock(), createBlock(unref(IconFont), {
155
+ key: 1,
156
+ type: "gt-line-expand-all",
157
+ rotate: "90deg",
158
+ size: 20,
159
+ style: { "transform": "rotate(90deg)" }
160
+ }))
161
+ ])
162
+ ]),
163
+ _: 1
164
+ }, 8, ["title"])
165
+ ]),
166
+ createElementVNode("div", {
167
+ ref_key: "membersListRef",
168
+ ref: membersListRef,
169
+ class: "members-list",
170
+ onScroll: handleScroll
171
+ }, [
172
+ (openBlock(true), createElementBlock(Fragment, null, renderList(members.value, (member) => {
173
+ return openBlock(), createElementBlock("div", {
174
+ key: member.accid,
175
+ class: normalizeClass(["member-item", { offline: !isMemberOnline(member.accid) }])
176
+ }, [
177
+ createVNode(unref(Tooltip), {
178
+ title: isMemberOnline(member.accid) ? member.nick || member.accid : "离线",
179
+ placement: "left",
180
+ "mouse-enter-delay": 0.3
181
+ }, {
182
+ default: withCtx(() => [
183
+ createElementVNode("div", _hoisted_4, [
184
+ createVNode(_sfc_main$1, {
185
+ avatar: member.avatar,
186
+ nick: member.nick,
187
+ accid: member.accid,
188
+ width: isCollapsed.value ? 36 : 32,
189
+ border: 0
190
+ }, null, 8, ["avatar", "nick", "accid", "width"]),
191
+ isMemberOnline(member.accid) ? (openBlock(), createElementBlock("span", _hoisted_5)) : createCommentVNode("", true),
192
+ member.type ? (openBlock(), createElementBlock("span", _hoisted_6, [
193
+ createVNode(unref(CrownOutlined))
194
+ ])) : createCommentVNode("", true)
195
+ ])
196
+ ]),
197
+ _: 2
198
+ }, 1032, ["title"]),
199
+ !isCollapsed.value ? (openBlock(), createBlock(unref(Tooltip), {
200
+ key: 0,
201
+ title: member.nick || member.accid,
202
+ placement: "right",
203
+ "mouse-enter-delay": 0.3
204
+ }, {
205
+ default: withCtx(() => [
206
+ createElementVNode("div", _hoisted_7, [
207
+ createElementVNode("div", _hoisted_8, toDisplayString(member.nick || member.accid), 1)
208
+ ])
209
+ ]),
210
+ _: 2
211
+ }, 1032, ["title"])) : createCommentVNode("", true)
212
+ ], 2);
213
+ }), 128)),
214
+ isLoadingMore.value ? (openBlock(), createElementBlock("div", _hoisted_9, [
215
+ createVNode(unref(Spin), { size: "small" })
216
+ ])) : createCommentVNode("", true)
217
+ ], 544)
218
+ ], 2);
219
+ };
220
+ }
221
+ });
222
+ const MembersSidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-472a2fa7"]]);
223
+ export {
224
+ MembersSidebar as M
225
+ };