@huyooo/ui 0.11.1 → 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
@@ -1,1147 +0,0 @@
1
- import { ref as p, defineComponent as T, openBlock as a, createBlock as _, unref as i, withCtx as f, createVNode as w, createCommentVNode as A, createElementBlock as C, normalizeClass as K, createElementVNode as I, renderSlot as D, toDisplayString as z, createTextVNode as S, Fragment as F, renderList as W, createSlots as te, mergeProps as q, watch as ae, computed as J, useModel as se, isRef as ne, mergeModels as Q } from "vue";
2
- /* empty css */
3
- /* empty css */
4
- /* empty css */
5
- /* empty css */
6
- /* empty css */
7
- import { Spin as X, Empty as Y, Tag as B, Button as ie, Breadcrumb as H, BreadcrumbItem as V, Modal as oe } from "@arco-design/web-vue";
8
- import { o as L } from "./apiClients-9b4zNZ2S.js";
9
- import { TiptapEditor as le, TiptapTitle as re } from "@huyooo/vue-tiptap";
10
- import { _ as x } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
- import { useIntersectionObserver as ue } from "@vueuse/core";
12
- import { Icon as de } from "@iconify/vue";
13
- import { u as ce } from "./useAuthkitCreateAndUpdate-DyRtFxZS.js";
14
- import { M as fe } from "./Menu-Cy2ZPeaz.js";
15
- function Z(s, l = {}) {
16
- const {
17
- pageSize: t = 10,
18
- where: d = {}
19
- } = l, r = p(!0), e = p(""), o = p(!1), n = p(!1), u = p([]), c = p({
20
- current: 1,
21
- pageSize: t,
22
- total: 0
23
- });
24
- async function N() {
25
- if (!o.value) {
26
- o.value = !0;
27
- try {
28
- const {
29
- data: M
30
- } = await s({
31
- current: c.value.current,
32
- pageSize: c.value.pageSize,
33
- where: d
34
- });
35
- u.value = M.items, c.value.total = M.count, n.value = M.items.length < c.value.pageSize;
36
- } finally {
37
- o.value = !1;
38
- }
39
- }
40
- }
41
- async function b() {
42
- if (!(o.value || n.value)) {
43
- c.value.current += 1, o.value = !0;
44
- try {
45
- const {
46
- data: M
47
- } = await s({
48
- current: c.value.current,
49
- pageSize: c.value.pageSize,
50
- where: d
51
- });
52
- u.value = [...u.value, ...M.items], c.value.total = M.count, n.value = M.items.length < c.value.pageSize;
53
- } finally {
54
- o.value = !1;
55
- }
56
- }
57
- }
58
- async function y() {
59
- c.value.current = 1, n.value = !1, await N();
60
- }
61
- function h() {
62
- r.value = !0, e.value = "";
63
- }
64
- function R(M) {
65
- e.value = M.id, r.value = !1, E(M.id);
66
- }
67
- function E(M) {
68
- const k = u.value.find((v) => v.id === M);
69
- k && k.read !== void 0 && (k.read = !0);
70
- }
71
- function O(M) {
72
- const k = u.value.find((v) => v.id === M);
73
- k && k.read !== void 0 && (k.read = !1);
74
- }
75
- return N(), {
76
- // 状态
77
- isList: r,
78
- detailId: e,
79
- loading: o,
80
- finished: n,
81
- messageList: u,
82
- pagination: c,
83
- // 方法
84
- loadData: N,
85
- loadMore: b,
86
- refresh: y,
87
- toList: h,
88
- openDetail: R,
89
- markAsRead: E,
90
- markAsUnread: O
91
- };
92
- }
93
- const pe = /* @__PURE__ */ T({
94
- __name: "MessageDetails",
95
- props: {
96
- content: {
97
- type: Object,
98
- default: null
99
- },
100
- title: {
101
- type: String,
102
- required: !0
103
- },
104
- loading: {
105
- type: Boolean,
106
- default: !1
107
- }
108
- },
109
- emits: ["itemClick", "tableOfContentsUpdate", "update:title", "update:content"],
110
- setup(s, {
111
- emit: l
112
- }) {
113
- const t = p([]), d = s, r = p(!1), e = l, o = p();
114
- function n(u) {
115
- t.value = u, e("tableOfContentsUpdate", u);
116
- }
117
- return (u, c) => (a(), _(i(X), {
118
- loading: d.loading,
119
- tip: "文档加载中...",
120
- class: "Spin",
121
- dot: ""
122
- }, {
123
- default: f(() => [w(i(le), {
124
- ref_key: "TiptapEditorRef",
125
- ref: o,
126
- "model-value": d.content,
127
- editable: r.value,
128
- "tiptap-editor-content-class": "tiptapEditorContentClass",
129
- onTableOfContentsUpdate: n
130
- }, {
131
- title: f(() => [w(i(re), {
132
- "model-value": d.title,
133
- editable: r.value
134
- }, null, 8, ["model-value", "editable"])]),
135
- _: 1
136
- }, 8, ["model-value", "editable"]), A("", !0)]),
137
- _: 1
138
- }, 8, ["loading"]));
139
- }
140
- }), j = /* @__PURE__ */ x(pe, [["__scopeId", "data-v-6ccdedc3"]]), ge = /* @__PURE__ */ T({
141
- __name: "MessageChangelogNotificationsDetails",
142
- props: {
143
- id: {
144
- type: String,
145
- required: !0
146
- }
147
- },
148
- setup(s) {
149
- const l = p(!1), t = p(null), d = p(""), r = s;
150
- async function e() {
151
- l.value = !0;
152
- const {
153
- data: o
154
- } = await L.messageCenter.changelogNotifications.findOne.post({
155
- id: r.id
156
- });
157
- l.value = !1, o && (t.value = o.content, d.value = o.title);
158
- }
159
- return e(), (o, n) => (a(), _(j, {
160
- content: t.value,
161
- title: d.value,
162
- loading: l.value
163
- }, null, 8, ["content", "title", "loading"]));
164
- }
165
- }), ve = {
166
- key: 0,
167
- class: "loading"
168
- }, me = {
169
- key: 1,
170
- class: "none"
171
- }, ye = /* @__PURE__ */ T({
172
- __name: "InfiniteLoading",
173
- props: {
174
- loading: {
175
- type: Boolean,
176
- default: !1
177
- },
178
- finished: {
179
- type: Boolean,
180
- default: !1
181
- },
182
- loadingText: {
183
- type: String,
184
- default: "数据加载中..."
185
- },
186
- finishedText: {
187
- type: String,
188
- default: "亲,没有更多了!"
189
- },
190
- showFinishedText: {
191
- type: Boolean,
192
- default: !0
193
- },
194
- threshold: {
195
- type: Number,
196
- default: 0
197
- }
198
- },
199
- emits: ["infinite"],
200
- setup(s, {
201
- emit: l
202
- }) {
203
- const t = s, d = l, r = p(null);
204
- return ue(r, ([{
205
- isIntersecting: e
206
- }]) => {
207
- e && // 当loading和finished的值都为false时,就通知父组件调用方法继续向后台请求数据
208
- !t.loading && !t.finished && d("infinite");
209
- }, {
210
- threshold: t.threshold
211
- }), (e, o) => (a(), C("div", {
212
- ref_key: "container",
213
- ref: r,
214
- class: "infinite-loading"
215
- }, [s.loading ? (a(), C("div", ve, [w(i(X), {
216
- tip: s.loadingText
217
- }, null, 8, ["tip"])])) : A("", !0), s.finished && s.showFinishedText ? (a(), C("div", me, [w(i(Y), {
218
- description: s.finishedText
219
- }, null, 8, ["description"])])) : A("", !0)], 512));
220
- }
221
- }), _e = /* @__PURE__ */ x(ye, [["__scopeId", "data-v-8be68707"]]), he = {
222
- class: "message-item__content"
223
- }, be = {
224
- class: "message-item__header"
225
- }, ke = {
226
- class: "message-item__title"
227
- }, Ce = {
228
- class: "message-item__tags"
229
- }, Ae = {
230
- class: "message-item__description"
231
- }, we = {
232
- class: "message-item__footer"
233
- }, $e = {
234
- class: "message-item__time"
235
- }, Se = {
236
- class: "message-item__actions"
237
- }, Ne = /* @__PURE__ */ T({
238
- __name: "MessageItem",
239
- props: {
240
- item: {},
241
- showReadStatus: {
242
- type: Boolean
243
- },
244
- showViewButton: {
245
- type: Boolean
246
- }
247
- },
248
- emits: ["click"],
249
- setup(s) {
250
- return (l, t) => (a(), C("div", {
251
- class: K(["message-item", {
252
- "message-item--unread": s.showReadStatus && !s.item.read
253
- }]),
254
- onClick: t[0] || (t[0] = (d) => l.$emit("click", s.item))
255
- }, [I("div", he, [I("div", be, [s.showReadStatus ? (a(), C("span", {
256
- key: 0,
257
- class: K(["message-item__dot", {
258
- "message-item__dot--unread": !s.item.read
259
- }])
260
- }, null, 2)) : A("", !0), D(l.$slots, "prefix", {
261
- item: s.item
262
- }, void 0, !0), I("span", ke, z(s.item.title), 1), I("div", Ce, [s.item.pinned ? (a(), _(i(B), {
263
- key: 0,
264
- color: "arcoblue",
265
- size: "small"
266
- }, {
267
- default: f(() => [...t[1] || (t[1] = [S("置顶", -1)])]),
268
- _: 1
269
- })) : A("", !0), D(l.$slots, "tags", {
270
- item: s.item
271
- }, () => [s.item.priority === "urgent" ? (a(), _(i(B), {
272
- key: 0,
273
- color: "red",
274
- size: "small"
275
- }, {
276
- default: f(() => [...t[2] || (t[2] = [S("紧急", -1)])]),
277
- _: 1
278
- })) : s.item.priority === "important" ? (a(), _(i(B), {
279
- key: 1,
280
- color: "orange",
281
- size: "small"
282
- }, {
283
- default: f(() => [...t[3] || (t[3] = [S("重要", -1)])]),
284
- _: 1
285
- })) : s.item.priority === "high" ? (a(), _(i(B), {
286
- key: 2,
287
- color: "orange",
288
- size: "small"
289
- }, {
290
- default: f(() => [...t[4] || (t[4] = [S("高", -1)])]),
291
- _: 1
292
- })) : A("", !0)], !0)])]), I("div", Ae, [D(l.$slots, "description", {
293
- item: s.item
294
- }, () => [S(z(s.item.description), 1)], !0)]), I("div", we, [I("span", $e, z(s.item.createAt), 1), D(l.$slots, "footer", {
295
- item: s.item
296
- }, void 0, !0)])]), I("div", Se, [D(l.$slots, "actions", {
297
- item: s.item
298
- }, () => [s.showViewButton ? (a(), _(i(ie), {
299
- key: 0,
300
- type: "text",
301
- size: "small"
302
- }, {
303
- default: f(() => [...t[5] || (t[5] = [S("查看", -1)])]),
304
- _: 1
305
- })) : A("", !0)], !0)])], 2));
306
- }
307
- }), Me = /* @__PURE__ */ x(Ne, [["__scopeId", "data-v-2a7ba671"]]), Le = {
308
- class: "message-list"
309
- }, Te = {
310
- key: 0,
311
- class: "message-list__empty"
312
- }, Ie = /* @__PURE__ */ T({
313
- __name: "MessageList",
314
- props: {
315
- messageList: {},
316
- loading: {
317
- type: Boolean
318
- },
319
- finished: {
320
- type: Boolean
321
- },
322
- showReadStatus: {
323
- type: Boolean
324
- },
325
- showViewButton: {
326
- type: Boolean
327
- }
328
- },
329
- emits: ["itemClick", "loadMore"],
330
- setup(s, {
331
- emit: l
332
- }) {
333
- const t = s, d = l;
334
- function r(e) {
335
- d("itemClick", e);
336
- }
337
- return (e, o) => (a(), C("div", Le, [t.messageList.length === 0 && !t.loading ? (a(), C("div", Te, [w(i(Y), {
338
- description: "暂无消息"
339
- })])) : (a(), C(F, {
340
- key: 1
341
- }, [(a(!0), C(F, null, W(t.messageList, (n) => (a(), _(Me, {
342
- key: n.id,
343
- item: n,
344
- "show-read-status": t.showReadStatus,
345
- "show-view-button": t.showViewButton,
346
- onClick: (u) => r(n)
347
- }, te({
348
- _: 2
349
- }, [e.$slots.prefix ? {
350
- name: "prefix",
351
- fn: f((u) => [D(e.$slots, "prefix", q({
352
- ref_for: !0
353
- }, u), void 0, !0)]),
354
- key: "0"
355
- } : void 0, e.$slots.tags ? {
356
- name: "tags",
357
- fn: f((u) => [D(e.$slots, "tags", q({
358
- ref_for: !0
359
- }, u), void 0, !0)]),
360
- key: "1"
361
- } : void 0, e.$slots.description ? {
362
- name: "description",
363
- fn: f((u) => [D(e.$slots, "description", q({
364
- ref_for: !0
365
- }, u), void 0, !0)]),
366
- key: "2"
367
- } : void 0, e.$slots.footer ? {
368
- name: "footer",
369
- fn: f((u) => [D(e.$slots, "footer", q({
370
- ref_for: !0
371
- }, u), void 0, !0)]),
372
- key: "3"
373
- } : void 0, e.$slots.actions ? {
374
- name: "actions",
375
- fn: f((u) => [D(e.$slots, "actions", q({
376
- ref_for: !0
377
- }, u), void 0, !0)]),
378
- key: "4"
379
- } : void 0]), 1032, ["item", "show-read-status", "show-view-button", "onClick"]))), 128)), w(_e, {
380
- loading: t.loading,
381
- finished: t.finished,
382
- onInfinite: o[0] || (o[0] = (n) => e.$emit("loadMore"))
383
- }, null, 8, ["loading", "finished"])], 64))]));
384
- }
385
- }), P = /* @__PURE__ */ x(Ie, [["__scopeId", "data-v-991c4730"]]), ze = {
386
- class: "message-panel"
387
- }, xe = {
388
- class: "version-prefix"
389
- }, Be = {
390
- key: 0,
391
- class: "publish-time"
392
- }, De = {
393
- key: 2,
394
- class: "message-panel__detail"
395
- }, Re = /* @__PURE__ */ T({
396
- __name: "MessageChangelogNotifications",
397
- setup(s) {
398
- const {
399
- isList: l,
400
- detailId: t,
401
- loading: d,
402
- finished: r,
403
- messageList: e,
404
- loadMore: o,
405
- toList: n,
406
- openDetail: u
407
- } = Z((b) => L.messageCenter.changelogNotifications.find.post(b));
408
- function c(b) {
409
- return {
410
- feature: "green",
411
- improvement: "blue",
412
- fix: "orange",
413
- security: "red",
414
- breaking: "magenta"
415
- }[b] || "blue";
416
- }
417
- function N(b) {
418
- return {
419
- feature: "新功能",
420
- improvement: "优化",
421
- fix: "修复",
422
- security: "安全",
423
- breaking: "重大变更"
424
- }[b] || "更新";
425
- }
426
- return (b, y) => (a(), C("div", ze, [i(l) ? A("", !0) : (a(), _(i(H), {
427
- key: 0,
428
- class: "message-panel__breadcrumb"
429
- }, {
430
- default: f(() => [w(i(V), {
431
- onClick: i(n)
432
- }, {
433
- default: f(() => [...y[0] || (y[0] = [S("更新日志", -1)])]),
434
- _: 1
435
- }, 8, ["onClick"]), w(i(V), null, {
436
- default: f(() => [...y[1] || (y[1] = [S("详情", -1)])]),
437
- _: 1
438
- })]),
439
- _: 1
440
- })), i(l) ? (a(), _(P, {
441
- key: 1,
442
- "message-list": i(e),
443
- loading: i(d),
444
- finished: i(r),
445
- onItemClick: i(u),
446
- onLoadMore: i(o)
447
- }, {
448
- prefix: f(({
449
- item: h
450
- }) => [I("span", xe, z(h.version), 1)]),
451
- tags: f(({
452
- item: h
453
- }) => [w(i(B), {
454
- color: c(h.changeType),
455
- size: "small"
456
- }, {
457
- default: f(() => [S(z(N(h.changeType)), 1)]),
458
- _: 2
459
- }, 1032, ["color"])]),
460
- footer: f(({
461
- item: h
462
- }) => [h.publishedAt ? (a(), C("span", Be, " 发布于 " + z(h.publishedAt), 1)) : A("", !0)]),
463
- _: 1
464
- }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (a(), C("div", De, [w(ge, {
465
- id: i(t)
466
- }, null, 8, ["id"])]))]));
467
- }
468
- }), Ve = /* @__PURE__ */ x(Re, [["__scopeId", "data-v-5fd47205"]]), Ee = /* @__PURE__ */ T({
469
- __name: "MessageEventNotificationsDetails",
470
- props: {
471
- id: {
472
- type: String,
473
- required: !0
474
- }
475
- },
476
- setup(s) {
477
- const l = p(!1), t = p(null), d = p(""), r = s;
478
- async function e() {
479
- l.value = !0;
480
- const {
481
- data: o
482
- } = await L.messageCenter.eventNotifications.findOne.post({
483
- id: r.id
484
- });
485
- l.value = !1, o && (t.value = o.content, d.value = o.title);
486
- }
487
- return e(), (o, n) => (a(), _(j, {
488
- content: t.value,
489
- title: d.value,
490
- loading: l.value
491
- }, null, 8, ["content", "title", "loading"]));
492
- }
493
- }), Oe = {
494
- class: "message-panel"
495
- }, Ue = {
496
- key: 0,
497
- class: "time-range"
498
- }, qe = {
499
- key: 2,
500
- class: "message-panel__detail"
501
- }, Ke = /* @__PURE__ */ T({
502
- __name: "MessageEventNotifications",
503
- setup(s) {
504
- const {
505
- isList: l,
506
- detailId: t,
507
- loading: d,
508
- finished: r,
509
- messageList: e,
510
- loadMore: o,
511
- toList: n,
512
- openDetail: u
513
- } = Z((b) => L.messageCenter.eventNotifications.find.post({
514
- ...b,
515
- where: {
516
- status: "published"
517
- }
518
- }));
519
- function c(b) {
520
- return {
521
- upcoming: "blue",
522
- ongoing: "green",
523
- ended: "gray",
524
- published: "arcoblue"
525
- }[b] || "gray";
526
- }
527
- function N(b) {
528
- return {
529
- upcoming: "即将开始",
530
- ongoing: "进行中",
531
- ended: "已结束",
532
- published: "已发布"
533
- }[b] || "未知";
534
- }
535
- return (b, y) => (a(), C("div", Oe, [i(l) ? A("", !0) : (a(), _(i(H), {
536
- key: 0,
537
- class: "message-panel__breadcrumb"
538
- }, {
539
- default: f(() => [w(i(V), {
540
- onClick: i(n)
541
- }, {
542
- default: f(() => [...y[0] || (y[0] = [S("活动通知", -1)])]),
543
- _: 1
544
- }, 8, ["onClick"]), w(i(V), null, {
545
- default: f(() => [...y[1] || (y[1] = [S("详情", -1)])]),
546
- _: 1
547
- })]),
548
- _: 1
549
- })), i(l) ? (a(), _(P, {
550
- key: 1,
551
- "message-list": i(e),
552
- loading: i(d),
553
- finished: i(r),
554
- onItemClick: i(u),
555
- onLoadMore: i(o)
556
- }, {
557
- tags: f(({
558
- item: h
559
- }) => [w(i(B), {
560
- color: c(h.displayStatus),
561
- size: "small"
562
- }, {
563
- default: f(() => [S(z(N(h.displayStatus)), 1)]),
564
- _: 2
565
- }, 1032, ["color"])]),
566
- footer: f(({
567
- item: h
568
- }) => [h.startAt || h.endAt ? (a(), C("span", Ue, z(h.startAt || "无") + " ~ " + z(h.endAt || "无"), 1)) : A("", !0)]),
569
- _: 1
570
- }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (a(), C("div", qe, [w(Ee, {
571
- id: i(t)
572
- }, null, 8, ["id"])]))]));
573
- }
574
- }), Fe = /* @__PURE__ */ x(Ke, [["__scopeId", "data-v-345bc6c1"]]), He = {
575
- style: {
576
- display: "flex",
577
- gap: "16px"
578
- }
579
- }, je = ["onClick"], Pe = /* @__PURE__ */ T({
580
- __name: "MessageCustomTabs",
581
- props: {
582
- modelValue: {
583
- type: String,
584
- default: "1"
585
- },
586
- tabs: {
587
- type: Array,
588
- default: () => [{
589
- label: "未读消息",
590
- key: "1"
591
- }, {
592
- label: "已读消息",
593
- key: "2"
594
- }]
595
- }
596
- },
597
- emits: ["update:modelValue", "change"],
598
- setup(s, {
599
- emit: l
600
- }) {
601
- const t = s, d = l;
602
- function r(e) {
603
- e !== t.modelValue && (d("update:modelValue", e), d("change", e));
604
- }
605
- return (e, o) => (a(), C("div", He, [(a(!0), C(F, null, W(s.tabs, (n) => (a(), C("span", {
606
- key: n.key,
607
- class: K(["custom-tab", [{
608
- active: s.modelValue === n.key
609
- }]]),
610
- onClick: (u) => r(n.key)
611
- }, z(n.label), 11, je))), 128))]));
612
- }
613
- }), Ge = /* @__PURE__ */ x(Pe, [["__scopeId", "data-v-d7edaca7"]]), Je = {
614
- class: "tabs"
615
- }, Qe = /* @__PURE__ */ T({
616
- __name: "MessageTabs",
617
- props: {
618
- tabs: {
619
- type: Array,
620
- required: !0
621
- },
622
- messageList: {
623
- type: Array,
624
- required: !0
625
- },
626
- activeTab: {
627
- type: String,
628
- required: !0
629
- }
630
- },
631
- emits: ["update:activeTab", "change", "readAll"],
632
- setup(s, {
633
- emit: l
634
- }) {
635
- const t = s, d = l, r = p(t.activeTab);
636
- ae(() => t.activeTab, (n) => {
637
- r.value = n;
638
- });
639
- function e(n) {
640
- r.value = n, d("update:activeTab", n), d("change", n);
641
- }
642
- function o() {
643
- t.messageList.length !== 0 && d("readAll");
644
- }
645
- return (n, u) => (a(), C("div", Je, [w(Ge, {
646
- modelValue: r.value,
647
- "onUpdate:modelValue": u[0] || (u[0] = (c) => r.value = c),
648
- tabs: s.tabs,
649
- onChange: e
650
- }, null, 8, ["modelValue", "tabs"]), r.value === "unread" ? (a(), C("div", {
651
- key: 0,
652
- class: K(["readAll", {
653
- disabled: s.messageList.length === 0
654
- }]),
655
- onClick: o
656
- }, [w(i(de), {
657
- class: "icon",
658
- icon: "icon-park-outline:clear"
659
- }), u[1] || (u[1] = I("span", null, " 全部已读", -1))], 2)) : A("", !0)]));
660
- }
661
- }), ee = /* @__PURE__ */ x(Qe, [["__scopeId", "data-v-47f7fce5"]]), We = {
662
- class: "message-panel"
663
- }, Xe = {
664
- key: 3,
665
- class: "message-panel__detail"
666
- }, G = "system", Ye = /* @__PURE__ */ T({
667
- __name: "MessageNotifications",
668
- setup(s) {
669
- const l = p(!0), t = p(""), d = p(!1), r = p({
670
- title: "",
671
- content: null
672
- }), e = p(!1), o = p(!1), n = p([]), u = p("unread"), c = p({
673
- current: 1,
674
- pageSize: 10,
675
- total: 0
676
- }), N = [{
677
- label: "未读消息",
678
- key: "unread"
679
- }, {
680
- label: "已读消息",
681
- key: "read"
682
- }], b = J(() => u.value === "read");
683
- async function y() {
684
- e.value = !0;
685
- const {
686
- data: k
687
- } = await L.messageCenter.messageNotifications.own.post({
688
- current: c.value.current,
689
- pageSize: c.value.pageSize,
690
- where: {
691
- type: G,
692
- read: b.value
693
- }
694
- });
695
- e.value = !1, k && (n.value = k.items.map((v) => ({
696
- id: v.id,
697
- title: v.title,
698
- description: v.description,
699
- createAt: v.createAt,
700
- updateAt: v.updateAt,
701
- type: v.type,
702
- priority: v.priority,
703
- read: v.read ?? !1,
704
- readAt: v.readAt ?? null
705
- })), c.value.total = k.count, o.value = k.items.length < c.value.pageSize);
706
- }
707
- async function h() {
708
- if (e.value || o.value) return;
709
- c.value.current += 1, e.value = !0;
710
- const {
711
- data: k
712
- } = await L.messageCenter.messageNotifications.own.post({
713
- current: c.value.current,
714
- pageSize: c.value.pageSize,
715
- where: {
716
- type: G,
717
- read: b.value
718
- }
719
- });
720
- if (e.value = !1, k) {
721
- const v = k.items.map((g) => ({
722
- id: g.id,
723
- title: g.title,
724
- description: g.description,
725
- createAt: g.createAt,
726
- updateAt: g.updateAt,
727
- type: g.type,
728
- priority: g.priority,
729
- read: g.read ?? !1,
730
- readAt: g.readAt ?? null
731
- }));
732
- n.value = [...n.value, ...v], o.value = k.items.length < c.value.pageSize;
733
- }
734
- }
735
- function R() {
736
- c.value.current = 1, o.value = !1, y();
737
- }
738
- async function E() {
739
- n.value.length !== 0 && (await L.messageCenter.messageNotifications.readAll.post({
740
- type: G
741
- }), y());
742
- }
743
- function O() {
744
- l.value = !0, t.value = "", r.value = {
745
- title: "",
746
- content: null
747
- };
748
- }
749
- async function M(k) {
750
- d.value = !0;
751
- const {
752
- data: v
753
- } = await L.messageCenter.messageNotifications.findOne.post({
754
- id: k
755
- });
756
- d.value = !1, v && (r.value = {
757
- title: v.title,
758
- content: v.content
759
- });
760
- }
761
- async function U(k) {
762
- t.value = k.id, l.value = !1, k.read || (await L.messageCenter.messageNotifications.read.post({
763
- messageId: k.id
764
- }), b.value || (n.value = n.value.filter((v) => v.id !== k.id))), M(k.id);
765
- }
766
- return y(), (k, v) => (a(), C("div", We, [l.value ? A("", !0) : (a(), _(i(H), {
767
- key: 0,
768
- class: "message-panel__breadcrumb"
769
- }, {
770
- default: f(() => [w(i(V), {
771
- onClick: O
772
- }, {
773
- default: f(() => [...v[1] || (v[1] = [S("消息通知", -1)])]),
774
- _: 1
775
- }), w(i(V), null, {
776
- default: f(() => [...v[2] || (v[2] = [S("详情", -1)])]),
777
- _: 1
778
- })]),
779
- _: 1
780
- })), l.value ? (a(), _(ee, {
781
- key: 1,
782
- "active-tab": u.value,
783
- "onUpdate:activeTab": v[0] || (v[0] = (g) => u.value = g),
784
- tabs: N,
785
- "message-list": n.value,
786
- onChange: R,
787
- onReadAll: E
788
- }, null, 8, ["active-tab", "message-list"])) : A("", !0), l.value ? (a(), _(P, {
789
- key: 2,
790
- "message-list": n.value,
791
- loading: e.value,
792
- finished: o.value,
793
- "show-read-status": !0,
794
- "show-view-button": !1,
795
- onItemClick: U,
796
- onLoadMore: h
797
- }, {
798
- tags: f(({
799
- item: g
800
- }) => [g.priority === "urgent" ? (a(), _(i(B), {
801
- key: 0,
802
- color: "red",
803
- size: "small"
804
- }, {
805
- default: f(() => [...v[3] || (v[3] = [S("紧急", -1)])]),
806
- _: 1
807
- })) : g.priority === "high" ? (a(), _(i(B), {
808
- key: 1,
809
- color: "orange",
810
- size: "small"
811
- }, {
812
- default: f(() => [...v[4] || (v[4] = [S("高", -1)])]),
813
- _: 1
814
- })) : A("", !0)]),
815
- _: 1
816
- }, 8, ["message-list", "loading", "finished"])) : (a(), C("div", Xe, [w(j, {
817
- title: r.value.title,
818
- content: r.value.content,
819
- loading: d.value
820
- }, null, 8, ["title", "content", "loading"])]))]));
821
- }
822
- }), Ze = /* @__PURE__ */ x(Ye, [["__scopeId", "data-v-2b7ded4a"]]), et = {
823
- class: "message-panel"
824
- }, tt = {
825
- key: 0,
826
- class: "expire-time"
827
- }, at = {
828
- key: 3,
829
- class: "message-panel__detail"
830
- }, st = /* @__PURE__ */ T({
831
- __name: "MessageNoticeNotifications",
832
- setup(s) {
833
- const l = p(!0), t = p(""), d = p(!1), r = p({
834
- title: "",
835
- content: null
836
- }), e = p(!1), o = p(!1), n = p([]), u = p("unread"), c = p({
837
- current: 1,
838
- pageSize: 10,
839
- total: 0
840
- }), N = [{
841
- label: "未读公告",
842
- key: "unread"
843
- }, {
844
- label: "已读公告",
845
- key: "read"
846
- }], b = J(() => u.value === "read");
847
- async function y() {
848
- e.value = !0;
849
- const {
850
- data: g
851
- } = await L.messageCenter.noticeNotifications.own.post({
852
- current: c.value.current,
853
- pageSize: c.value.pageSize,
854
- where: {
855
- read: b.value
856
- }
857
- });
858
- e.value = !1, g && (n.value = g.items.map((m) => ({
859
- id: m.id,
860
- title: m.title,
861
- description: m.description,
862
- createAt: m.createAt,
863
- updateAt: m.updateAt,
864
- pinned: m.pinned,
865
- priority: m.priority,
866
- displayStatus: m.displayStatus,
867
- expireAt: m.expireAt,
868
- requireConfirm: m.requireConfirm,
869
- read: m.read ?? !1,
870
- readAt: m.readAt ?? null
871
- })), c.value.total = g.count, o.value = g.items.length < c.value.pageSize);
872
- }
873
- async function h() {
874
- if (e.value || o.value) return;
875
- c.value.current += 1, e.value = !0;
876
- const {
877
- data: g
878
- } = await L.messageCenter.noticeNotifications.own.post({
879
- current: c.value.current,
880
- pageSize: c.value.pageSize,
881
- where: {
882
- read: b.value
883
- }
884
- });
885
- if (e.value = !1, g) {
886
- const m = g.items.map(($) => ({
887
- id: $.id,
888
- title: $.title,
889
- description: $.description,
890
- createAt: $.createAt,
891
- updateAt: $.updateAt,
892
- pinned: $.pinned,
893
- priority: $.priority,
894
- displayStatus: $.displayStatus,
895
- expireAt: $.expireAt,
896
- requireConfirm: $.requireConfirm,
897
- read: $.read ?? !1,
898
- readAt: $.readAt ?? null
899
- }));
900
- n.value = [...n.value, ...m], o.value = g.items.length < c.value.pageSize;
901
- }
902
- }
903
- function R() {
904
- c.value.current = 1, o.value = !1, y();
905
- }
906
- async function E() {
907
- n.value.length !== 0 && (await L.messageCenter.noticeNotifications.readAll.post({}), y());
908
- }
909
- function O() {
910
- l.value = !0, t.value = "", r.value = {
911
- title: "",
912
- content: null
913
- };
914
- }
915
- async function M(g) {
916
- d.value = !0;
917
- const {
918
- data: m
919
- } = await L.messageCenter.noticeNotifications.findOne.post({
920
- id: g
921
- });
922
- d.value = !1, m && (r.value = {
923
- title: m.title,
924
- content: m.content
925
- });
926
- }
927
- async function U(g) {
928
- t.value = g.id, l.value = !1, g.read || (await L.messageCenter.noticeNotifications.read.post({
929
- noticeId: g.id
930
- }), b.value || (n.value = n.value.filter((m) => m.id !== g.id))), M(g.id);
931
- }
932
- function k(g) {
933
- return {
934
- published: "green",
935
- expired: "gray"
936
- }[g] || "gray";
937
- }
938
- function v(g) {
939
- return {
940
- published: "有效",
941
- expired: "已过期"
942
- }[g] || "未知";
943
- }
944
- return y(), (g, m) => (a(), C("div", et, [l.value ? A("", !0) : (a(), _(i(H), {
945
- key: 0,
946
- class: "message-panel__breadcrumb"
947
- }, {
948
- default: f(() => [w(i(V), {
949
- onClick: O
950
- }, {
951
- default: f(() => [...m[1] || (m[1] = [S("公告通知", -1)])]),
952
- _: 1
953
- }), w(i(V), null, {
954
- default: f(() => [...m[2] || (m[2] = [S("详情", -1)])]),
955
- _: 1
956
- })]),
957
- _: 1
958
- })), l.value ? (a(), _(ee, {
959
- key: 1,
960
- "active-tab": u.value,
961
- "onUpdate:activeTab": m[0] || (m[0] = ($) => u.value = $),
962
- tabs: N,
963
- "message-list": n.value,
964
- onChange: R,
965
- onReadAll: E
966
- }, null, 8, ["active-tab", "message-list"])) : A("", !0), l.value ? (a(), _(P, {
967
- key: 2,
968
- "message-list": n.value,
969
- loading: e.value,
970
- finished: o.value,
971
- "show-read-status": !0,
972
- "show-view-button": !1,
973
- onItemClick: U,
974
- onLoadMore: h
975
- }, {
976
- tags: f(({
977
- item: $
978
- }) => [$.priority === "urgent" ? (a(), _(i(B), {
979
- key: 0,
980
- color: "red",
981
- size: "small"
982
- }, {
983
- default: f(() => [...m[3] || (m[3] = [S("紧急", -1)])]),
984
- _: 1
985
- })) : $.priority === "important" ? (a(), _(i(B), {
986
- key: 1,
987
- color: "orange",
988
- size: "small"
989
- }, {
990
- default: f(() => [...m[4] || (m[4] = [S("重要", -1)])]),
991
- _: 1
992
- })) : A("", !0), w(i(B), {
993
- color: k($.displayStatus),
994
- size: "small"
995
- }, {
996
- default: f(() => [S(z(v($.displayStatus)), 1)]),
997
- _: 2
998
- }, 1032, ["color"])]),
999
- footer: f(({
1000
- item: $
1001
- }) => [$.expireAt ? (a(), C("span", tt, z($.displayStatus === "expired" ? "已过期" : `过期时间: ${$.expireAt}`), 1)) : A("", !0)]),
1002
- _: 1
1003
- }, 8, ["message-list", "loading", "finished"])) : (a(), C("div", at, [w(j, {
1004
- title: r.value.title,
1005
- content: r.value.content,
1006
- loading: d.value
1007
- }, null, 8, ["title", "content", "loading"])]))]));
1008
- }
1009
- }), nt = /* @__PURE__ */ x(st, [["__scopeId", "data-v-ce6c2679"]]), it = {
1010
- class: "content"
1011
- }, ot = {
1012
- class: "left"
1013
- }, lt = /* @__PURE__ */ T({
1014
- __name: "MessageAppMessage",
1015
- props: /* @__PURE__ */ Q({
1016
- menus: {
1017
- type: Array,
1018
- required: !0
1019
- }
1020
- }, {
1021
- selectedKeys: {
1022
- default: ["ChangelogNotifications"]
1023
- },
1024
- selectedKeysModifiers: {}
1025
- }),
1026
- emits: /* @__PURE__ */ Q(["cancel", "change"], ["update:selectedKeys"]),
1027
- setup(s, {
1028
- expose: l,
1029
- emit: t
1030
- }) {
1031
- const d = s, r = t, e = se(s, "selectedKeys"), o = J(() => e.value.length !== 0 ? e.value[0] : "");
1032
- function n() {
1033
- r("cancel");
1034
- }
1035
- function u(y) {
1036
- const h = y.path;
1037
- e.value = [h], r("change", y);
1038
- }
1039
- const {
1040
- changeType: c,
1041
- show: N
1042
- } = ce(r);
1043
- function b(y) {
1044
- N.value = y, c.value = "编辑";
1045
- }
1046
- return l({
1047
- setData: b
1048
- }), (y, h) => (a(), _(i(oe), {
1049
- visible: i(N),
1050
- "onUpdate:visible": h[1] || (h[1] = (R) => ne(N) ? N.value = R : null),
1051
- loading: !1,
1052
- "body-class": "AppMessagebodyClass",
1053
- "mask-closable": !1,
1054
- footer: !1,
1055
- "hide-title": !1,
1056
- width: "880px",
1057
- onCancel: n
1058
- }, {
1059
- default: f(() => [I("div", it, [I("div", ot, [w(fe, {
1060
- "selected-keys": e.value,
1061
- "onUpdate:selectedKeys": h[0] || (h[0] = (R) => e.value = R),
1062
- menus: d.menus,
1063
- onChange: u
1064
- }, null, 8, ["selected-keys", "menus"])]), i(N) ? (a(), C(F, {
1065
- key: 0
1066
- }, [o.value === "ChangelogNotifications" ? (a(), _(Ve, {
1067
- key: 0
1068
- })) : A("", !0), o.value === "EventNotifications" ? (a(), _(Fe, {
1069
- key: 1
1070
- })) : A("", !0), o.value === "MessageNotifications" ? (a(), _(Ze, {
1071
- key: 2
1072
- })) : A("", !0), o.value === "NoticeNotifications" ? (a(), _(nt, {
1073
- key: 3
1074
- })) : A("", !0)], 64)) : A("", !0)])]),
1075
- _: 1
1076
- }, 8, ["visible"]));
1077
- }
1078
- }), rt = /* @__PURE__ */ x(lt, [["__scopeId", "data-v-5ac30050"]]), ut = /* @__PURE__ */ T({
1079
- __name: "MessageHandle",
1080
- setup(s, {
1081
- expose: l
1082
- }) {
1083
- const t = p(["ChangelogNotifications"]), d = p(), r = p(Symbol("key"));
1084
- function e() {
1085
- d.value.setData(!0);
1086
- }
1087
- function o() {
1088
- r.value = Symbol("key");
1089
- }
1090
- function n() {
1091
- r.value = Symbol("key");
1092
- }
1093
- const u = p([{
1094
- name: "功能变更",
1095
- path: "ChangelogNotifications",
1096
- meta: {
1097
- icon: "mingcute:cube-3d-fill"
1098
- }
1099
- }, {
1100
- name: "活动通知",
1101
- path: "EventNotifications",
1102
- meta: {
1103
- icon: "mingcute:receive-money-fill"
1104
- }
1105
- }, {
1106
- name: "消息通知",
1107
- path: "MessageNotifications",
1108
- meta: {
1109
- icon: "mingcute:message-1-fill"
1110
- }
1111
- }, {
1112
- name: "公告",
1113
- path: "NoticeNotifications",
1114
- meta: {
1115
- icon: "mingcute:announcement-fill"
1116
- }
1117
- }]);
1118
- return l({
1119
- openNotification: e
1120
- }), (c, N) => (a(), _(rt, {
1121
- ref_key: "MessageNotificationsRef",
1122
- ref: d,
1123
- key: r.value,
1124
- "selected-keys": t.value,
1125
- "onUpdate:selectedKeys": N[0] || (N[0] = (b) => t.value = b),
1126
- menus: u.value,
1127
- title: "消息中心",
1128
- onConfirm: n,
1129
- onCancel: o
1130
- }, null, 8, ["selected-keys", "menus"]));
1131
- }
1132
- }), wt = /* @__PURE__ */ x(ut, [["__scopeId", "data-v-2e2a72d0"]]);
1133
- export {
1134
- rt as A,
1135
- Ve as C,
1136
- j as D,
1137
- Fe as E,
1138
- _e as I,
1139
- wt as M,
1140
- nt as N,
1141
- ge as _,
1142
- Ge as a,
1143
- Ee as b,
1144
- P as c,
1145
- Ze as d,
1146
- ee as e
1147
- };