@huyooo/ui 0.11.2 → 0.11.5

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 (98) hide show
  1. package/dist/AuthkitAppSetting-CSHkDxQT.js +1914 -0
  2. package/dist/{Clipboard---tG2Zxz.js → Clipboard-CRZDADLE.js} +1 -1
  3. package/dist/{Contact-BEUbBGiB.js → Contact-Y0Yczmc9.js} +8 -7
  4. package/dist/{CustomTable-CVZ4mFzi.js → CustomTable-BUkwlbzN.js} +3 -2
  5. package/dist/{FeedbackItem-CN041vTm.js → FeedbackItem-D7MpOmoM.js} +3 -3
  6. package/dist/FeedbackModal-CvNF1D-5.js +1050 -0
  7. package/dist/LandingPageFAQ-CZJXvor9.js +80 -0
  8. package/dist/LandingPageLinkGroup-DDNRivMt.js +521 -0
  9. package/dist/LandingPageSectionHeader-D_74W4My.js +69 -0
  10. package/dist/{LandingPageSectionTabs-B6ZVxR47.js → LandingPageSectionTabs-Ce3_Rc2L.js} +354 -426
  11. package/dist/MessageHandle-B12koVQL.js +924 -0
  12. package/dist/MessageList-Bo6YCfRO.js +233 -0
  13. package/dist/{MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-F6neJUg3.js → MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-DxDn6Ok8.js} +2 -2
  14. package/dist/PaySubscriptions-B8jAtG5n.js +515 -0
  15. package/dist/PricingPlans-CO26OcbJ.js +210 -0
  16. package/dist/ReferrerReferees-D_Iiw9wZ.js +106 -0
  17. package/dist/{Upload.vue_vue_type_script_setup_true_lang-D_-oMTOo.js → Upload.vue_vue_type_script_setup_true_lang-CbVSY_vt.js} +1 -1
  18. package/dist/UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-DpVadjMH.js +508 -0
  19. package/dist/WidthContainer-B6d4xrGT.js +693 -0
  20. package/dist/{apiClients-9b4zNZ2S.js → apiClients-DVz12LeW.js} +81 -75
  21. package/dist/authkit.d.ts +7 -0
  22. package/dist/authkit.js +52 -45
  23. package/dist/common/globalConfig.d.ts +2 -2
  24. package/dist/common/userMenuModal.d.ts +1 -0
  25. package/dist/common.js +2 -2
  26. package/dist/components/Authkit/AppSetting/AuthkitOAuthBinding.vue.d.ts +31 -0
  27. package/dist/components/Authkit/AppSetting/AuthkitPhoneBinding.vue.d.ts +14 -0
  28. package/dist/components/Authkit/AppSetting/AuthkitPhoneVerify.vue.d.ts +66 -0
  29. package/dist/components/Authkit/Auth/AuthkitBindPhone.vue.d.ts +27 -0
  30. package/dist/components/Authkit/Auth/AuthkitEmailUpdate.vue.d.ts +11 -1
  31. package/dist/components/Authkit/Auth/AuthkitOauthCallback.vue.d.ts +2 -2
  32. package/dist/components/Authkit/Auth/AuthkitOauthItem.vue.d.ts +1 -1
  33. package/dist/components/Authkit/Auth/AuthkitPasswordAuth.vue.d.ts +11 -1
  34. package/dist/components/Authkit/Auth/AuthkitPhonePasswordUpdateAndVerify.vue.d.ts +68 -0
  35. package/dist/components/Authkit/Auth/AuthkitSignInEmailCode.vue.d.ts +68 -0
  36. package/dist/components/Authkit/Auth/AuthkitSwitchSignUpOrResetPassword.vue.d.ts +15 -3
  37. package/dist/components/Authkit/AuthkitOAuthCallbackProvider.vue.d.ts +11 -0
  38. package/dist/components/Authkit/AuthkitProvider.vue.d.ts +45 -0
  39. package/dist/components/Feedback/FeedbackBubbleEnd.vue.d.ts +9 -0
  40. package/dist/components/Feedback/FeedbackBubbleStart.vue.d.ts +11 -6
  41. package/dist/components/LandingPage/LandingPageSections.vue.d.ts +1 -1
  42. package/dist/components/Pay/PaySubscriptions.vue.d.ts +2 -1
  43. package/dist/components/Pay/PricingFAQ.vue.d.ts +17 -0
  44. package/dist/components/Pay/PricingPlans.vue.d.ts +12 -0
  45. package/dist/components/UserMenu/UserMenuModals.vue.d.ts +2 -2
  46. package/dist/components/UserMenu/parts/UserSubscriptionBaseInformation.vue.d.ts +8 -0
  47. package/dist/composables/Authkit/useAuthkitAppsAuthPageInfo.d.ts +26 -0
  48. package/dist/composables/Authkit/useAuthkitAuth.d.ts +21 -9
  49. package/dist/composables/Authkit/useEnsureAuthenticated.d.ts +26 -0
  50. package/dist/composables/Authkit/useOauth.d.ts +4 -1
  51. package/dist/composables/Billing/useBillingPlans.d.ts +201 -0
  52. package/dist/composables/Billing/useBillingSubscriptionSummary.d.ts +280 -0
  53. package/dist/composables/Billing/useSubscriptionCheckout.d.ts +12 -0
  54. package/dist/composables/UserMenu/useUserMenu.d.ts +5 -1
  55. package/dist/composables.d.ts +2 -0
  56. package/dist/composables.js +25 -22
  57. package/dist/feedback.js +3 -3
  58. package/dist/index-D3Kp6R4z.js +4 -0
  59. package/dist/landingPage.js +42 -40
  60. package/dist/main.js +285 -269
  61. package/dist/message.js +19 -18
  62. package/dist/pay.d.ts +5 -0
  63. package/dist/pay.js +9 -2
  64. package/dist/privateCom.js +1 -1
  65. package/dist/referrer.js +1 -1
  66. package/dist/style.css +1 -1
  67. package/dist/types/api/auth.generated.d.ts +103 -39
  68. package/dist/types/api/billing.generated.d.ts +61 -28
  69. package/dist/types/api.d.ts +1 -1
  70. package/dist/types/app.d.ts +14 -0
  71. package/dist/upload.js +2 -2
  72. package/dist/{useAuthkitAppsAuthPageInfo-494yLvsu.js → useAuthkitAppsAuthPageInfo-Du5d6VK-.js} +20 -7
  73. package/dist/{useAuthkitCreateAndUpdate-DyRtFxZS.js → useAuthkitCreateAndUpdate-Bc9D5C6R.js} +1 -1
  74. package/dist/useAuthkitUsersProfile-CQGyvL7g.js +201 -0
  75. package/dist/{useDownloads-DaeIY0E9.js → useDownloads-BFx1a-f9.js} +1 -1
  76. package/dist/useEnsureAuthenticated-Cc64hF1O.js +2247 -0
  77. package/dist/{useLegalLinks-CPbWqlu6.js → useLegalLinks-Deksq9h-.js} +2 -2
  78. package/dist/{useMessageNotifications-Dg5q-C_o.js → useMessageNotifications-DY5xKtif.js} +1 -1
  79. package/dist/{useSEO-CXX9dcBx.js → useSEO-CvfzTZA9.js} +2 -2
  80. package/dist/useSubscriptionCheckout-BgQJN61l.js +345 -0
  81. package/dist/{useTableHandle-Cjq4gcC0.js → useTableHandle-D71P3Ez_.js} +1 -1
  82. package/dist/{useUploadCos-DiJmmbRf.js → useUploadCos-N5pim6q1.js} +501 -515
  83. package/dist/useUserMenu-ClPBlvaM.js +44 -0
  84. package/dist/user.js +12 -13
  85. package/dist/utils/apiMiddlewares.d.ts +6 -0
  86. package/package.json +1 -1
  87. package/dist/AuthkitAppSetting-BCrLMpLg.js +0 -1322
  88. package/dist/AuthkitSignInPhone-DmCQ2fWs.js +0 -1721
  89. package/dist/FeedbackModal-aI28o-w5.js +0 -1053
  90. package/dist/LandingPageSectionHeader-Cs1x8i3q.js +0 -584
  91. package/dist/MessageHandle-BV1nKlxs.js +0 -1147
  92. package/dist/PaySubscriptions-B3gI1Eme.js +0 -408
  93. package/dist/ReferrerReferees-DJzPo7X5.js +0 -106
  94. package/dist/UserAccountMenu-CJ9KKVYa.js +0 -371
  95. package/dist/UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-ClAXNSgl.js +0 -81
  96. package/dist/WidthContainer-BG10rumn.js +0 -669
  97. package/dist/useAuthkitUsersProfile-lGlQP54m.js +0 -186
  98. package/dist/useUserMenu-B3HKZKJ4.js +0 -43
@@ -0,0 +1,924 @@
1
+ import { ref as o, defineComponent as T, openBlock as i, createBlock as C, unref as a, withCtx as v, createVNode as N, createCommentVNode as M, createElementBlock as w, createTextVNode as L, toDisplayString as I, createElementVNode as V, Fragment as W, renderList as Q, normalizeClass as G, watch as X, computed as F, useModel as Y, isRef as Z, mergeModels as j } from "vue";
2
+ /* empty css */
3
+ /* empty css */
4
+ import { U as ee } from "./index-D3Kp6R4z.js";
5
+ /* empty css */
6
+ import { M as q } from "./MessageList-Bo6YCfRO.js";
7
+ import { Spin as te, Breadcrumb as K, BreadcrumbItem as D, Tag as U, Modal as ae } from "@arco-design/web-vue";
8
+ import { o as x } from "./apiClients-DVz12LeW.js";
9
+ import { TiptapEditor as se, TiptapTitle as ne } from "@huyooo/vue-tiptap";
10
+ import { _ as $ } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
+ import { Icon as le } from "@iconify/vue";
12
+ import { u as ie } from "./useAuthkitCreateAndUpdate-Bc9D5C6R.js";
13
+ import { M as oe } from "./Menu-Cy2ZPeaz.js";
14
+ function J(h, u = {}) {
15
+ const {
16
+ pageSize: g = 10,
17
+ where: r = {}
18
+ } = u, l = o(!0), s = o(""), t = o(!1), e = o(!1), f = o([]), n = o({
19
+ current: 1,
20
+ pageSize: g,
21
+ total: 0
22
+ });
23
+ async function A() {
24
+ if (!t.value) {
25
+ t.value = !0;
26
+ try {
27
+ const {
28
+ data: S
29
+ } = await h({
30
+ current: n.value.current,
31
+ pageSize: n.value.pageSize,
32
+ where: r
33
+ });
34
+ f.value = S.items, n.value.total = S.count, e.value = S.items.length < n.value.pageSize;
35
+ } finally {
36
+ t.value = !1;
37
+ }
38
+ }
39
+ }
40
+ async function _() {
41
+ if (!(t.value || e.value)) {
42
+ n.value.current += 1, t.value = !0;
43
+ try {
44
+ const {
45
+ data: S
46
+ } = await h({
47
+ current: n.value.current,
48
+ pageSize: n.value.pageSize,
49
+ where: r
50
+ });
51
+ f.value = [...f.value, ...S.items], n.value.total = S.count, e.value = S.items.length < n.value.pageSize;
52
+ } finally {
53
+ t.value = !1;
54
+ }
55
+ }
56
+ }
57
+ async function m() {
58
+ n.value.current = 1, e.value = !1, await A();
59
+ }
60
+ function y() {
61
+ l.value = !0, s.value = "";
62
+ }
63
+ function z(S) {
64
+ s.value = S.id, l.value = !1, E(S.id);
65
+ }
66
+ function E(S) {
67
+ const b = f.value.find((d) => d.id === S);
68
+ b && b.read !== void 0 && (b.read = !0);
69
+ }
70
+ function O(S) {
71
+ const b = f.value.find((d) => d.id === S);
72
+ b && b.read !== void 0 && (b.read = !1);
73
+ }
74
+ return A(), {
75
+ // 状态
76
+ isList: l,
77
+ detailId: s,
78
+ loading: t,
79
+ finished: e,
80
+ messageList: f,
81
+ pagination: n,
82
+ // 方法
83
+ loadData: A,
84
+ loadMore: _,
85
+ refresh: m,
86
+ toList: y,
87
+ openDetail: z,
88
+ markAsRead: E,
89
+ markAsUnread: O
90
+ };
91
+ }
92
+ const ue = /* @__PURE__ */ T({
93
+ __name: "MessageDetails",
94
+ props: {
95
+ content: {
96
+ type: Object,
97
+ default: null
98
+ },
99
+ title: {
100
+ type: String,
101
+ required: !0
102
+ },
103
+ loading: {
104
+ type: Boolean,
105
+ default: !1
106
+ }
107
+ },
108
+ emits: ["itemClick", "tableOfContentsUpdate", "update:title", "update:content"],
109
+ setup(h, {
110
+ emit: u
111
+ }) {
112
+ const g = o([]), r = h, l = o(!1), s = u, t = o();
113
+ function e(f) {
114
+ g.value = f, s("tableOfContentsUpdate", f);
115
+ }
116
+ return (f, n) => (i(), C(a(te), {
117
+ loading: r.loading,
118
+ tip: "文档加载中...",
119
+ class: "Spin",
120
+ dot: ""
121
+ }, {
122
+ default: v(() => [N(a(se), {
123
+ ref_key: "TiptapEditorRef",
124
+ ref: t,
125
+ "model-value": r.content,
126
+ editable: l.value,
127
+ "tiptap-editor-content-class": "tiptapEditorContentClass",
128
+ onTableOfContentsUpdate: e
129
+ }, {
130
+ title: v(() => [N(a(ne), {
131
+ "model-value": r.title,
132
+ editable: l.value
133
+ }, null, 8, ["model-value", "editable"])]),
134
+ _: 1
135
+ }, 8, ["model-value", "editable"]), M("", !0)]),
136
+ _: 1
137
+ }, 8, ["loading"]));
138
+ }
139
+ }), B = /* @__PURE__ */ $(ue, [["__scopeId", "data-v-6ccdedc3"]]), re = /* @__PURE__ */ T({
140
+ __name: "MessageChangelogNotificationsDetails",
141
+ props: {
142
+ id: {
143
+ type: String,
144
+ required: !0
145
+ }
146
+ },
147
+ setup(h) {
148
+ const u = o(!1), g = o(null), r = o(""), l = h;
149
+ async function s() {
150
+ u.value = !0;
151
+ const {
152
+ data: t
153
+ } = await x.messageCenter.changelogNotifications.findOne.post({
154
+ id: l.id
155
+ });
156
+ u.value = !1, t && (g.value = t.content, r.value = t.title);
157
+ }
158
+ return s(), (t, e) => (i(), C(B, {
159
+ content: g.value,
160
+ title: r.value,
161
+ loading: u.value
162
+ }, null, 8, ["content", "title", "loading"]));
163
+ }
164
+ }), ce = {
165
+ class: "message-panel"
166
+ }, de = {
167
+ class: "version-prefix"
168
+ }, pe = {
169
+ key: 0,
170
+ class: "publish-time"
171
+ }, fe = {
172
+ key: 2,
173
+ class: "message-panel__detail"
174
+ }, ge = /* @__PURE__ */ T({
175
+ __name: "MessageChangelogNotifications",
176
+ setup(h) {
177
+ const {
178
+ isList: u,
179
+ detailId: g,
180
+ loading: r,
181
+ finished: l,
182
+ messageList: s,
183
+ loadMore: t,
184
+ toList: e,
185
+ openDetail: f
186
+ } = J((_) => x.messageCenter.changelogNotifications.find.post(_));
187
+ function n(_) {
188
+ return {
189
+ feature: "green",
190
+ improvement: "blue",
191
+ fix: "orange",
192
+ security: "red",
193
+ breaking: "magenta"
194
+ }[_] || "blue";
195
+ }
196
+ function A(_) {
197
+ return {
198
+ feature: "新功能",
199
+ improvement: "优化",
200
+ fix: "修复",
201
+ security: "安全",
202
+ breaking: "重大变更"
203
+ }[_] || "更新";
204
+ }
205
+ return (_, m) => (i(), w("div", ce, [a(u) ? M("", !0) : (i(), C(a(K), {
206
+ key: 0,
207
+ class: "message-panel__breadcrumb"
208
+ }, {
209
+ default: v(() => [N(a(D), {
210
+ onClick: a(e)
211
+ }, {
212
+ default: v(() => [...m[0] || (m[0] = [L("更新日志", -1)])]),
213
+ _: 1
214
+ }, 8, ["onClick"]), N(a(D), null, {
215
+ default: v(() => [...m[1] || (m[1] = [L("详情", -1)])]),
216
+ _: 1
217
+ })]),
218
+ _: 1
219
+ })), a(u) ? (i(), C(q, {
220
+ key: 1,
221
+ "message-list": a(s),
222
+ loading: a(r),
223
+ finished: a(l),
224
+ onItemClick: a(f),
225
+ onLoadMore: a(t)
226
+ }, {
227
+ prefix: v(({
228
+ item: y
229
+ }) => [V("span", de, I(y.version), 1)]),
230
+ tags: v(({
231
+ item: y
232
+ }) => [N(a(U), {
233
+ color: n(y.changeType),
234
+ size: "small"
235
+ }, {
236
+ default: v(() => [L(I(A(y.changeType)), 1)]),
237
+ _: 2
238
+ }, 1032, ["color"])]),
239
+ footer: v(({
240
+ item: y
241
+ }) => [y.publishedAt ? (i(), w("span", pe, " 发布于 " + I(y.publishedAt), 1)) : M("", !0)]),
242
+ _: 1
243
+ }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (i(), w("div", fe, [N(re, {
244
+ id: a(g)
245
+ }, null, 8, ["id"])]))]));
246
+ }
247
+ }), ve = /* @__PURE__ */ $(ge, [["__scopeId", "data-v-5fd47205"]]), me = /* @__PURE__ */ T({
248
+ __name: "MessageEventNotificationsDetails",
249
+ props: {
250
+ id: {
251
+ type: String,
252
+ required: !0
253
+ }
254
+ },
255
+ setup(h) {
256
+ const u = o(!1), g = o(null), r = o(""), l = h;
257
+ async function s() {
258
+ u.value = !0;
259
+ const {
260
+ data: t
261
+ } = await x.messageCenter.eventNotifications.findOne.post({
262
+ id: l.id
263
+ });
264
+ u.value = !1, t && (g.value = t.content, r.value = t.title);
265
+ }
266
+ return s(), (t, e) => (i(), C(B, {
267
+ content: g.value,
268
+ title: r.value,
269
+ loading: u.value
270
+ }, null, 8, ["content", "title", "loading"]));
271
+ }
272
+ }), ye = {
273
+ class: "message-panel"
274
+ }, _e = {
275
+ key: 0,
276
+ class: "time-range"
277
+ }, be = {
278
+ key: 2,
279
+ class: "message-panel__detail"
280
+ }, he = /* @__PURE__ */ T({
281
+ __name: "MessageEventNotifications",
282
+ setup(h) {
283
+ const {
284
+ isList: u,
285
+ detailId: g,
286
+ loading: r,
287
+ finished: l,
288
+ messageList: s,
289
+ loadMore: t,
290
+ toList: e,
291
+ openDetail: f
292
+ } = J((_) => x.messageCenter.eventNotifications.find.post({
293
+ ..._,
294
+ where: {
295
+ status: "published"
296
+ }
297
+ }));
298
+ function n(_) {
299
+ return {
300
+ upcoming: "blue",
301
+ ongoing: "green",
302
+ ended: "gray",
303
+ published: "arcoblue"
304
+ }[_] || "gray";
305
+ }
306
+ function A(_) {
307
+ return {
308
+ upcoming: "即将开始",
309
+ ongoing: "进行中",
310
+ ended: "已结束",
311
+ published: "已发布"
312
+ }[_] || "未知";
313
+ }
314
+ return (_, m) => (i(), w("div", ye, [a(u) ? M("", !0) : (i(), C(a(K), {
315
+ key: 0,
316
+ class: "message-panel__breadcrumb"
317
+ }, {
318
+ default: v(() => [N(a(D), {
319
+ onClick: a(e)
320
+ }, {
321
+ default: v(() => [...m[0] || (m[0] = [L("活动通知", -1)])]),
322
+ _: 1
323
+ }, 8, ["onClick"]), N(a(D), null, {
324
+ default: v(() => [...m[1] || (m[1] = [L("详情", -1)])]),
325
+ _: 1
326
+ })]),
327
+ _: 1
328
+ })), a(u) ? (i(), C(q, {
329
+ key: 1,
330
+ "message-list": a(s),
331
+ loading: a(r),
332
+ finished: a(l),
333
+ onItemClick: a(f),
334
+ onLoadMore: a(t)
335
+ }, {
336
+ tags: v(({
337
+ item: y
338
+ }) => [N(a(U), {
339
+ color: n(y.displayStatus),
340
+ size: "small"
341
+ }, {
342
+ default: v(() => [L(I(A(y.displayStatus)), 1)]),
343
+ _: 2
344
+ }, 1032, ["color"])]),
345
+ footer: v(({
346
+ item: y
347
+ }) => [y.startAt || y.endAt ? (i(), w("span", _e, I(y.startAt || "无") + " ~ " + I(y.endAt || "无"), 1)) : M("", !0)]),
348
+ _: 1
349
+ }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (i(), w("div", be, [N(me, {
350
+ id: a(g)
351
+ }, null, 8, ["id"])]))]));
352
+ }
353
+ }), ke = /* @__PURE__ */ $(he, [["__scopeId", "data-v-345bc6c1"]]), Ce = {
354
+ style: {
355
+ display: "flex",
356
+ gap: "16px"
357
+ }
358
+ }, Ae = ["onClick"], Ne = /* @__PURE__ */ T({
359
+ __name: "MessageCustomTabs",
360
+ props: {
361
+ modelValue: {
362
+ type: String,
363
+ default: "1"
364
+ },
365
+ tabs: {
366
+ type: Array,
367
+ default: () => [{
368
+ label: "未读消息",
369
+ key: "1"
370
+ }, {
371
+ label: "已读消息",
372
+ key: "2"
373
+ }]
374
+ }
375
+ },
376
+ emits: ["update:modelValue", "change"],
377
+ setup(h, {
378
+ emit: u
379
+ }) {
380
+ const g = h, r = u;
381
+ function l(s) {
382
+ s !== g.modelValue && (r("update:modelValue", s), r("change", s));
383
+ }
384
+ return (s, t) => (i(), w("div", Ce, [(i(!0), w(W, null, Q(h.tabs, (e) => (i(), w("span", {
385
+ key: e.key,
386
+ class: G(["custom-tab", [{
387
+ active: h.modelValue === e.key
388
+ }]]),
389
+ onClick: (f) => l(e.key)
390
+ }, I(e.label), 11, Ae))), 128))]));
391
+ }
392
+ }), Se = /* @__PURE__ */ $(Ne, [["__scopeId", "data-v-d7edaca7"]]), Me = {
393
+ class: "tabs"
394
+ }, we = /* @__PURE__ */ T({
395
+ __name: "MessageTabs",
396
+ props: {
397
+ tabs: {
398
+ type: Array,
399
+ required: !0
400
+ },
401
+ messageList: {
402
+ type: Array,
403
+ required: !0
404
+ },
405
+ activeTab: {
406
+ type: String,
407
+ required: !0
408
+ }
409
+ },
410
+ emits: ["update:activeTab", "change", "readAll"],
411
+ setup(h, {
412
+ emit: u
413
+ }) {
414
+ const g = h, r = u, l = o(g.activeTab);
415
+ X(() => g.activeTab, (e) => {
416
+ l.value = e;
417
+ });
418
+ function s(e) {
419
+ l.value = e, r("update:activeTab", e), r("change", e);
420
+ }
421
+ function t() {
422
+ g.messageList.length !== 0 && r("readAll");
423
+ }
424
+ return (e, f) => (i(), w("div", Me, [N(Se, {
425
+ modelValue: l.value,
426
+ "onUpdate:modelValue": f[0] || (f[0] = (n) => l.value = n),
427
+ tabs: h.tabs,
428
+ onChange: s
429
+ }, null, 8, ["modelValue", "tabs"]), l.value === "unread" ? (i(), w("div", {
430
+ key: 0,
431
+ class: G(["readAll", {
432
+ disabled: h.messageList.length === 0
433
+ }]),
434
+ onClick: t
435
+ }, [N(a(le), {
436
+ class: "icon",
437
+ icon: "icon-park-outline:clear"
438
+ }), f[1] || (f[1] = V("span", null, " 全部已读", -1))], 2)) : M("", !0)]));
439
+ }
440
+ }), P = /* @__PURE__ */ $(we, [["__scopeId", "data-v-47f7fce5"]]), Le = {
441
+ class: "message-panel"
442
+ }, xe = {
443
+ key: 3,
444
+ class: "message-panel__detail"
445
+ }, H = "system", Te = /* @__PURE__ */ T({
446
+ __name: "MessageNotifications",
447
+ setup(h) {
448
+ const u = o(!0), g = o(""), r = o(!1), l = o({
449
+ title: "",
450
+ content: null
451
+ }), s = o(!1), t = o(!1), e = o([]), f = o("unread"), n = o({
452
+ current: 1,
453
+ pageSize: 10,
454
+ total: 0
455
+ }), A = [{
456
+ label: "未读消息",
457
+ key: "unread"
458
+ }, {
459
+ label: "已读消息",
460
+ key: "read"
461
+ }], _ = F(() => f.value === "read");
462
+ async function m() {
463
+ s.value = !0;
464
+ const {
465
+ data: b
466
+ } = await x.messageCenter.messageNotifications.own.post({
467
+ current: n.value.current,
468
+ pageSize: n.value.pageSize,
469
+ where: {
470
+ type: H,
471
+ read: _.value
472
+ }
473
+ });
474
+ s.value = !1, b && (e.value = b.items.map((d) => ({
475
+ id: d.id,
476
+ title: d.title,
477
+ description: d.description,
478
+ createAt: d.createAt,
479
+ updateAt: d.updateAt,
480
+ type: d.type,
481
+ priority: d.priority,
482
+ read: d.read ?? !1,
483
+ readAt: d.readAt ?? null
484
+ })), n.value.total = b.count, t.value = b.items.length < n.value.pageSize);
485
+ }
486
+ async function y() {
487
+ if (s.value || t.value) return;
488
+ n.value.current += 1, s.value = !0;
489
+ const {
490
+ data: b
491
+ } = await x.messageCenter.messageNotifications.own.post({
492
+ current: n.value.current,
493
+ pageSize: n.value.pageSize,
494
+ where: {
495
+ type: H,
496
+ read: _.value
497
+ }
498
+ });
499
+ if (s.value = !1, b) {
500
+ const d = b.items.map((c) => ({
501
+ id: c.id,
502
+ title: c.title,
503
+ description: c.description,
504
+ createAt: c.createAt,
505
+ updateAt: c.updateAt,
506
+ type: c.type,
507
+ priority: c.priority,
508
+ read: c.read ?? !1,
509
+ readAt: c.readAt ?? null
510
+ }));
511
+ e.value = [...e.value, ...d], t.value = b.items.length < n.value.pageSize;
512
+ }
513
+ }
514
+ function z() {
515
+ n.value.current = 1, t.value = !1, m();
516
+ }
517
+ async function E() {
518
+ e.value.length !== 0 && (await x.messageCenter.messageNotifications.readAll.post({
519
+ type: H
520
+ }), m());
521
+ }
522
+ function O() {
523
+ u.value = !0, g.value = "", l.value = {
524
+ title: "",
525
+ content: null
526
+ };
527
+ }
528
+ async function S(b) {
529
+ r.value = !0;
530
+ const {
531
+ data: d
532
+ } = await x.messageCenter.messageNotifications.findOne.post({
533
+ id: b
534
+ });
535
+ r.value = !1, d && (l.value = {
536
+ title: d.title,
537
+ content: d.content
538
+ });
539
+ }
540
+ async function R(b) {
541
+ g.value = b.id, u.value = !1, b.read || (await x.messageCenter.messageNotifications.read.post({
542
+ messageId: b.id
543
+ }), _.value || (e.value = e.value.filter((d) => d.id !== b.id))), S(b.id);
544
+ }
545
+ return m(), (b, d) => (i(), w("div", Le, [u.value ? M("", !0) : (i(), C(a(K), {
546
+ key: 0,
547
+ class: "message-panel__breadcrumb"
548
+ }, {
549
+ default: v(() => [N(a(D), {
550
+ onClick: O
551
+ }, {
552
+ default: v(() => [...d[1] || (d[1] = [L("消息通知", -1)])]),
553
+ _: 1
554
+ }), N(a(D), null, {
555
+ default: v(() => [...d[2] || (d[2] = [L("详情", -1)])]),
556
+ _: 1
557
+ })]),
558
+ _: 1
559
+ })), u.value ? (i(), C(P, {
560
+ key: 1,
561
+ "active-tab": f.value,
562
+ "onUpdate:activeTab": d[0] || (d[0] = (c) => f.value = c),
563
+ tabs: A,
564
+ "message-list": e.value,
565
+ onChange: z,
566
+ onReadAll: E
567
+ }, null, 8, ["active-tab", "message-list"])) : M("", !0), u.value ? (i(), C(q, {
568
+ key: 2,
569
+ "message-list": e.value,
570
+ loading: s.value,
571
+ finished: t.value,
572
+ "show-read-status": !0,
573
+ "show-view-button": !1,
574
+ onItemClick: R,
575
+ onLoadMore: y
576
+ }, {
577
+ tags: v(({
578
+ item: c
579
+ }) => [c.priority === "urgent" ? (i(), C(a(U), {
580
+ key: 0,
581
+ color: "red",
582
+ size: "small"
583
+ }, {
584
+ default: v(() => [...d[3] || (d[3] = [L("紧急", -1)])]),
585
+ _: 1
586
+ })) : c.priority === "high" ? (i(), C(a(U), {
587
+ key: 1,
588
+ color: "orange",
589
+ size: "small"
590
+ }, {
591
+ default: v(() => [...d[4] || (d[4] = [L("高", -1)])]),
592
+ _: 1
593
+ })) : M("", !0)]),
594
+ _: 1
595
+ }, 8, ["message-list", "loading", "finished"])) : (i(), w("div", xe, [N(B, {
596
+ title: l.value.title,
597
+ content: l.value.content,
598
+ loading: r.value
599
+ }, null, 8, ["title", "content", "loading"])]))]));
600
+ }
601
+ }), ze = /* @__PURE__ */ $(Te, [["__scopeId", "data-v-2b7ded4a"]]), Ie = {
602
+ class: "message-panel"
603
+ }, $e = {
604
+ key: 0,
605
+ class: "expire-time"
606
+ }, De = {
607
+ key: 3,
608
+ class: "message-panel__detail"
609
+ }, Ue = /* @__PURE__ */ T({
610
+ __name: "MessageNoticeNotifications",
611
+ setup(h) {
612
+ const u = o(!0), g = o(""), r = o(!1), l = o({
613
+ title: "",
614
+ content: null
615
+ }), s = o(!1), t = o(!1), e = o([]), f = o("unread"), n = o({
616
+ current: 1,
617
+ pageSize: 10,
618
+ total: 0
619
+ }), A = [{
620
+ label: "未读公告",
621
+ key: "unread"
622
+ }, {
623
+ label: "已读公告",
624
+ key: "read"
625
+ }], _ = F(() => f.value === "read");
626
+ async function m() {
627
+ s.value = !0;
628
+ const {
629
+ data: c
630
+ } = await x.messageCenter.noticeNotifications.own.post({
631
+ current: n.value.current,
632
+ pageSize: n.value.pageSize,
633
+ where: {
634
+ read: _.value
635
+ }
636
+ });
637
+ s.value = !1, c && (e.value = c.items.map((p) => ({
638
+ id: p.id,
639
+ title: p.title,
640
+ description: p.description,
641
+ createAt: p.createAt,
642
+ updateAt: p.updateAt,
643
+ pinned: p.pinned,
644
+ priority: p.priority,
645
+ displayStatus: p.displayStatus,
646
+ expireAt: p.expireAt,
647
+ requireConfirm: p.requireConfirm,
648
+ read: p.read ?? !1,
649
+ readAt: p.readAt ?? null
650
+ })), n.value.total = c.count, t.value = c.items.length < n.value.pageSize);
651
+ }
652
+ async function y() {
653
+ if (s.value || t.value) return;
654
+ n.value.current += 1, s.value = !0;
655
+ const {
656
+ data: c
657
+ } = await x.messageCenter.noticeNotifications.own.post({
658
+ current: n.value.current,
659
+ pageSize: n.value.pageSize,
660
+ where: {
661
+ read: _.value
662
+ }
663
+ });
664
+ if (s.value = !1, c) {
665
+ const p = c.items.map((k) => ({
666
+ id: k.id,
667
+ title: k.title,
668
+ description: k.description,
669
+ createAt: k.createAt,
670
+ updateAt: k.updateAt,
671
+ pinned: k.pinned,
672
+ priority: k.priority,
673
+ displayStatus: k.displayStatus,
674
+ expireAt: k.expireAt,
675
+ requireConfirm: k.requireConfirm,
676
+ read: k.read ?? !1,
677
+ readAt: k.readAt ?? null
678
+ }));
679
+ e.value = [...e.value, ...p], t.value = c.items.length < n.value.pageSize;
680
+ }
681
+ }
682
+ function z() {
683
+ n.value.current = 1, t.value = !1, m();
684
+ }
685
+ async function E() {
686
+ e.value.length !== 0 && (await x.messageCenter.noticeNotifications.readAll.post({}), m());
687
+ }
688
+ function O() {
689
+ u.value = !0, g.value = "", l.value = {
690
+ title: "",
691
+ content: null
692
+ };
693
+ }
694
+ async function S(c) {
695
+ r.value = !0;
696
+ const {
697
+ data: p
698
+ } = await x.messageCenter.noticeNotifications.findOne.post({
699
+ id: c
700
+ });
701
+ r.value = !1, p && (l.value = {
702
+ title: p.title,
703
+ content: p.content
704
+ });
705
+ }
706
+ async function R(c) {
707
+ g.value = c.id, u.value = !1, c.read || (await x.messageCenter.noticeNotifications.read.post({
708
+ noticeId: c.id
709
+ }), _.value || (e.value = e.value.filter((p) => p.id !== c.id))), S(c.id);
710
+ }
711
+ function b(c) {
712
+ return {
713
+ published: "green",
714
+ expired: "gray"
715
+ }[c] || "gray";
716
+ }
717
+ function d(c) {
718
+ return {
719
+ published: "有效",
720
+ expired: "已过期"
721
+ }[c] || "未知";
722
+ }
723
+ return m(), (c, p) => (i(), w("div", Ie, [u.value ? M("", !0) : (i(), C(a(K), {
724
+ key: 0,
725
+ class: "message-panel__breadcrumb"
726
+ }, {
727
+ default: v(() => [N(a(D), {
728
+ onClick: O
729
+ }, {
730
+ default: v(() => [...p[1] || (p[1] = [L("公告通知", -1)])]),
731
+ _: 1
732
+ }), N(a(D), null, {
733
+ default: v(() => [...p[2] || (p[2] = [L("详情", -1)])]),
734
+ _: 1
735
+ })]),
736
+ _: 1
737
+ })), u.value ? (i(), C(P, {
738
+ key: 1,
739
+ "active-tab": f.value,
740
+ "onUpdate:activeTab": p[0] || (p[0] = (k) => f.value = k),
741
+ tabs: A,
742
+ "message-list": e.value,
743
+ onChange: z,
744
+ onReadAll: E
745
+ }, null, 8, ["active-tab", "message-list"])) : M("", !0), u.value ? (i(), C(q, {
746
+ key: 2,
747
+ "message-list": e.value,
748
+ loading: s.value,
749
+ finished: t.value,
750
+ "show-read-status": !0,
751
+ "show-view-button": !1,
752
+ onItemClick: R,
753
+ onLoadMore: y
754
+ }, {
755
+ tags: v(({
756
+ item: k
757
+ }) => [k.priority === "urgent" ? (i(), C(a(U), {
758
+ key: 0,
759
+ color: "red",
760
+ size: "small"
761
+ }, {
762
+ default: v(() => [...p[3] || (p[3] = [L("紧急", -1)])]),
763
+ _: 1
764
+ })) : k.priority === "important" ? (i(), C(a(U), {
765
+ key: 1,
766
+ color: "orange",
767
+ size: "small"
768
+ }, {
769
+ default: v(() => [...p[4] || (p[4] = [L("重要", -1)])]),
770
+ _: 1
771
+ })) : M("", !0), N(a(U), {
772
+ color: b(k.displayStatus),
773
+ size: "small"
774
+ }, {
775
+ default: v(() => [L(I(d(k.displayStatus)), 1)]),
776
+ _: 2
777
+ }, 1032, ["color"])]),
778
+ footer: v(({
779
+ item: k
780
+ }) => [k.expireAt ? (i(), w("span", $e, I(k.displayStatus === "expired" ? "已过期" : `过期时间: ${k.expireAt}`), 1)) : M("", !0)]),
781
+ _: 1
782
+ }, 8, ["message-list", "loading", "finished"])) : (i(), w("div", De, [N(B, {
783
+ title: l.value.title,
784
+ content: l.value.content,
785
+ loading: r.value
786
+ }, null, 8, ["title", "content", "loading"])]))]));
787
+ }
788
+ }), Ee = /* @__PURE__ */ $(Ue, [["__scopeId", "data-v-ce6c2679"]]), Oe = {
789
+ class: "content"
790
+ }, Re = {
791
+ class: "left"
792
+ }, Ve = /* @__PURE__ */ T({
793
+ __name: "MessageAppMessage",
794
+ props: /* @__PURE__ */ j({
795
+ menus: {
796
+ type: Array,
797
+ required: !0
798
+ }
799
+ }, {
800
+ selectedKeys: {
801
+ default: ["ChangelogNotifications"]
802
+ },
803
+ selectedKeysModifiers: {}
804
+ }),
805
+ emits: /* @__PURE__ */ j(["cancel", "change"], ["update:selectedKeys"]),
806
+ setup(h, {
807
+ expose: u,
808
+ emit: g
809
+ }) {
810
+ const r = h, l = g, s = Y(h, "selectedKeys"), t = F(() => s.value.length !== 0 ? s.value[0] : "");
811
+ function e() {
812
+ l("cancel");
813
+ }
814
+ function f(m) {
815
+ const y = m.path;
816
+ s.value = [y], l("change", m);
817
+ }
818
+ const {
819
+ changeType: n,
820
+ show: A
821
+ } = ie(l);
822
+ function _(m) {
823
+ A.value = m, n.value = "编辑";
824
+ }
825
+ return u({
826
+ setData: _
827
+ }), (m, y) => (i(), C(a(ae), {
828
+ visible: a(A),
829
+ "onUpdate:visible": y[1] || (y[1] = (z) => Z(A) ? A.value = z : null),
830
+ loading: !1,
831
+ "body-class": "AppMessagebodyClass",
832
+ "mask-closable": !1,
833
+ footer: !1,
834
+ "hide-title": !1,
835
+ width: a(ee),
836
+ onCancel: e
837
+ }, {
838
+ default: v(() => [V("div", Oe, [V("div", Re, [N(oe, {
839
+ "selected-keys": s.value,
840
+ "onUpdate:selectedKeys": y[0] || (y[0] = (z) => s.value = z),
841
+ menus: r.menus,
842
+ onChange: f
843
+ }, null, 8, ["selected-keys", "menus"])]), a(A) ? (i(), w(W, {
844
+ key: 0
845
+ }, [t.value === "ChangelogNotifications" ? (i(), C(ve, {
846
+ key: 0
847
+ })) : M("", !0), t.value === "EventNotifications" ? (i(), C(ke, {
848
+ key: 1
849
+ })) : M("", !0), t.value === "MessageNotifications" ? (i(), C(ze, {
850
+ key: 2
851
+ })) : M("", !0), t.value === "NoticeNotifications" ? (i(), C(Ee, {
852
+ key: 3
853
+ })) : M("", !0)], 64)) : M("", !0)])]),
854
+ _: 1
855
+ }, 8, ["visible", "width"]));
856
+ }
857
+ }), qe = /* @__PURE__ */ $(Ve, [["__scopeId", "data-v-0959cb84"]]), Ke = /* @__PURE__ */ T({
858
+ __name: "MessageHandle",
859
+ setup(h, {
860
+ expose: u
861
+ }) {
862
+ const g = o(["ChangelogNotifications"]), r = o(), l = o(Symbol("key"));
863
+ function s() {
864
+ r.value.setData(!0);
865
+ }
866
+ function t() {
867
+ l.value = Symbol("key");
868
+ }
869
+ function e() {
870
+ l.value = Symbol("key");
871
+ }
872
+ const f = o([{
873
+ name: "功能变更",
874
+ path: "ChangelogNotifications",
875
+ meta: {
876
+ icon: "mingcute:cube-3d-fill"
877
+ }
878
+ }, {
879
+ name: "活动通知",
880
+ path: "EventNotifications",
881
+ meta: {
882
+ icon: "mingcute:receive-money-fill"
883
+ }
884
+ }, {
885
+ name: "消息通知",
886
+ path: "MessageNotifications",
887
+ meta: {
888
+ icon: "mingcute:message-1-fill"
889
+ }
890
+ }, {
891
+ name: "公告",
892
+ path: "NoticeNotifications",
893
+ meta: {
894
+ icon: "mingcute:announcement-fill"
895
+ }
896
+ }]);
897
+ return u({
898
+ openNotification: s
899
+ }), (n, A) => (i(), C(qe, {
900
+ ref_key: "MessageNotificationsRef",
901
+ ref: r,
902
+ key: l.value,
903
+ "selected-keys": g.value,
904
+ "onUpdate:selectedKeys": A[0] || (A[0] = (_) => g.value = _),
905
+ menus: f.value,
906
+ title: "消息中心",
907
+ onConfirm: e,
908
+ onCancel: t
909
+ }, null, 8, ["selected-keys", "menus"]));
910
+ }
911
+ }), tt = /* @__PURE__ */ $(Ke, [["__scopeId", "data-v-2e2a72d0"]]);
912
+ export {
913
+ qe as A,
914
+ ve as C,
915
+ B as D,
916
+ ke as E,
917
+ tt as M,
918
+ Ee as N,
919
+ re as _,
920
+ Se as a,
921
+ me as b,
922
+ ze as c,
923
+ P as d
924
+ };