@huyooo/ui 0.10.7 → 0.11.1

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 (68) hide show
  1. package/dist/AuthkitAppSetting-BCrLMpLg.js +1322 -0
  2. package/dist/AuthkitSignInPhone-DmCQ2fWs.js +1721 -0
  3. package/dist/{Clipboard-CK_nROjb.js → Clipboard---tG2Zxz.js} +1 -1
  4. package/dist/{Contact-CpHU1bJ7.js → Contact-BEUbBGiB.js} +2 -2
  5. package/dist/{CustomTable-1W5byjgJ.js → CustomTable-CVZ4mFzi.js} +2 -3
  6. package/dist/FeedbackItem-CN041vTm.js +495 -0
  7. package/dist/FeedbackModal-aI28o-w5.js +1053 -0
  8. package/dist/MessageHandle-BV1nKlxs.js +1147 -0
  9. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-F6neJUg3.js +142 -0
  10. package/dist/{PaySubscriptions-C4Een__-.js → PaySubscriptions-B3gI1Eme.js} +5 -6
  11. package/dist/{ReferrerReferees-DIassvGO.js → ReferrerReferees-DJzPo7X5.js} +7 -7
  12. package/dist/{Upload.vue_vue_type_script_setup_true_lang-DA8VZBrl.js → Upload.vue_vue_type_script_setup_true_lang-D_-oMTOo.js} +1 -1
  13. package/dist/UserAccountMenu-CJ9KKVYa.js +371 -0
  14. package/dist/UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-ClAXNSgl.js +81 -0
  15. package/dist/{WidthContainer-TXsvW1ut.js → WidthContainer-BG10rumn.js} +248 -252
  16. package/dist/{apiClients-ANEApCyY.js → apiClients-9b4zNZ2S.js} +2 -2
  17. package/dist/authkit.js +41 -40
  18. package/dist/common.js +2 -2
  19. package/dist/components/Authkit/AuthkitAppSetting.vue.d.ts +1 -1
  20. package/dist/components/Referrer/ReferrerReferees.vue.d.ts +1 -1
  21. package/dist/components/{User → UserMenu}/UserAccountMenu.vue.d.ts +1 -5
  22. package/dist/components/{User/UserPanel.vue.d.ts → UserMenu/UserMenu.vue.d.ts} +5 -12
  23. package/dist/components/UserMenu/UserMenuDivider.vue.d.ts +2 -0
  24. package/dist/components/UserMenu/UserMenuHeader.vue.d.ts +13 -0
  25. package/dist/components/{User/UserPanelItem.vue.d.ts → UserMenu/UserMenuItem.vue.d.ts} +6 -10
  26. package/dist/components/UserMenu/UserMenuModals.vue.d.ts +137 -0
  27. package/dist/components/UserMenu/items/UserMenuFeedbackItem.vue.d.ts +2 -0
  28. package/dist/components/UserMenu/items/UserMenuInvitationsItem.vue.d.ts +2 -0
  29. package/dist/components/UserMenu/items/UserMenuMessageItem.vue.d.ts +2 -0
  30. package/dist/components/UserMenu/items/UserMenuSettingItem.vue.d.ts +2 -0
  31. package/dist/components/UserMenu/items/UserMenuSubscriptionItem.vue.d.ts +2 -0
  32. package/dist/components/UserMenu/parts/UserAvatar.vue.d.ts +9 -0
  33. package/dist/components/UserMenu/parts/UserBasicInformation.vue.d.ts +13 -0
  34. package/dist/components/UserMenu/parts/UserSubscriptionBaseInformation.vue.d.ts +15 -0
  35. package/dist/composables/UserMenu/useUserMenu.d.ts +20 -0
  36. package/dist/composables.d.ts +1 -0
  37. package/dist/composables.js +19 -17
  38. package/dist/feedback.js +16 -15
  39. package/dist/main.js +193 -180
  40. package/dist/message.js +10 -9
  41. package/dist/pay.js +1 -1
  42. package/dist/privateCom.js +1 -1
  43. package/dist/referrer.js +1 -1
  44. package/dist/style.css +1 -1
  45. package/dist/upload.js +2 -2
  46. package/dist/{useAuthkitAppsAuthPageInfo-Da2yJTT-.js → useAuthkitAppsAuthPageInfo-494yLvsu.js} +1 -1
  47. package/dist/{useAuthkitCreateAndUpdate-BLs5vQOu.js → useAuthkitCreateAndUpdate-DyRtFxZS.js} +1 -1
  48. package/dist/{useAuthkitUsersProfile-Cx8NXjlt.js → useAuthkitUsersProfile-lGlQP54m.js} +1 -1
  49. package/dist/{useDownloads-DT5W2af6.js → useDownloads-DaeIY0E9.js} +1 -1
  50. package/dist/{useLegalLinks-BIF45kUt.js → useLegalLinks-CPbWqlu6.js} +2 -2
  51. package/dist/{useMessageNotifications-CavBmgO7.js → useMessageNotifications-Dg5q-C_o.js} +1 -1
  52. package/dist/{useSEO-MPXQf0dn.js → useSEO-CXX9dcBx.js} +2 -2
  53. package/dist/{useTableHandle--NSbZ-57.js → useTableHandle-Cjq4gcC0.js} +1 -1
  54. package/dist/{cos-js-sdk-v5-BJ5AlBRu.js → useUploadCos-DiJmmbRf.js} +2469 -2232
  55. package/dist/useUserMenu-B3HKZKJ4.js +43 -0
  56. package/dist/user.d.ts +15 -7
  57. package/dist/user.js +17 -9
  58. package/package.json +1 -1
  59. package/dist/AuthkitSignInPhone-BWPCpUie.js +0 -3034
  60. package/dist/FeedbackModal-qAJLL3V3.js +0 -1535
  61. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-D109kT8_.js +0 -1282
  62. package/dist/UserAccountMenu-BIRTtjLb.js +0 -266
  63. package/dist/UserSubscriptionBaseInformation-BUs3qiHd.js +0 -60
  64. package/dist/components/User/UserAvatar.vue.d.ts +0 -23
  65. package/dist/components/User/UserBasicInformation.vue.d.ts +0 -41
  66. package/dist/components/User/UserSubscriptionBaseInformation.vue.d.ts +0 -32
  67. package/dist/useUploadCos-D6y0INvP.js +0 -242
  68. /package/dist/components/{User/UserButton.vue.d.ts → UserMenu/parts/UserSignInButton.vue.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import "./apiClients-ANEApCyY.js";
2
+ import "./apiClients-9b4zNZ2S.js";
3
3
  import { defineComponent as X, ref as J, openBlock as K, createBlock as Q, unref as W } from "vue";
4
4
  import { Message as Z } from "@arco-design/web-vue";
5
5
  import { Icon as $ } from "@iconify/vue";
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as P, ref as q, openBlock as Q, createElementBlock as t, createVNode as A, withCtx as B, Fragment as H, renderList as e, createBlock as W, createTextVNode as p, toDisplayString as i, unref as V, createElementVNode as F } from "vue";
2
2
  import { f as n, e as y, h as G, g as R, L as Z, c as h, k as Y, l as b, m as J, j as S, a as O, b as d } from "./LandingPageSectionHeader-Cs1x8i3q.js";
3
3
  import { _ as U } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
- import { u as M } from "./useAuthkitAppsAuthPageInfo-Da2yJTT-.js";
5
- import { g as L } from "./apiClients-ANEApCyY.js";
4
+ import { u as M } from "./useAuthkitAppsAuthPageInfo-494yLvsu.js";
5
+ import { g as L } from "./apiClients-9b4zNZ2S.js";
6
6
  import { c as x } from "./index-D56hUMeD.js";
7
7
  const j = {
8
8
  class: "Footer"
@@ -4,7 +4,6 @@
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
- /* empty css */
8
7
  import { defineComponent as P, ref as W, computed as z, onMounted as X, nextTick as $, watch as Y, onBeforeUnmount as Z, openBlock as i, createElementBlock as r, normalizeStyle as K, normalizeClass as C, renderSlot as R, useModel as q, createVNode as b, unref as c, withCtx as x, createElementVNode as g, createBlock as S, createCommentVNode as m, Fragment as w, renderList as E, toDisplayString as B, createTextVNode as I, mergeModels as A, useSlots as ee } from "vue";
9
8
  import { Spin as te, Checkbox as L, Tooltip as ne, Empty as le, Pagination as oe } from "@arco-design/web-vue";
10
9
  import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
@@ -265,8 +264,8 @@ const ie = /* @__PURE__ */ P({
265
264
  _: 3
266
265
  }, 8, ["loading"])]));
267
266
  }
268
- }), Ee = /* @__PURE__ */ j(ge, [["__scopeId", "data-v-04760aac"]]);
267
+ }), Se = /* @__PURE__ */ j(ge, [["__scopeId", "data-v-04760aac"]]);
269
268
  export {
270
- Ee as C,
269
+ Se as C,
271
270
  ae as E
272
271
  };
@@ -0,0 +1,495 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ import { defineComponent as f, computed as m, openBlock as c, createElementBlock as d, normalizeStyle as w, normalizeClass as _, createElementVNode as l, withDirectives as j, createVNode as b, unref as y, vShow as N, ref as q, createBlock as V, withCtx as B, toDisplayString as h, renderSlot as M, Fragment as R, renderList as U, onMounted as D, onBeforeUnmount as E, createCommentVNode as W } from "vue";
4
+ import { Popover as O, Upload as T } from "@arco-design/web-vue";
5
+ import { _ as I, g as F, i as L } from "./plugin-vue_export-helper-LjDO2Zua.js";
6
+ import { _ as g } from "./_plugin-vue_export-helper-CHgC5LLL.js";
7
+ /* empty css */
8
+ /* empty css */
9
+ /* empty css */
10
+ /* empty css */
11
+ import { u as Z } from "./useUploadCos-DiJmmbRf.js";
12
+ import { g as A } from "./apiClients-9b4zNZ2S.js";
13
+ import "./FeedbackModal-aI28o-w5.js";
14
+ import { Icon as Y } from "@iconify/vue";
15
+ const H = f({
16
+ name: "IconDown",
17
+ props: {
18
+ size: {
19
+ type: [Number, String]
20
+ },
21
+ strokeWidth: {
22
+ type: Number,
23
+ default: 4
24
+ },
25
+ strokeLinecap: {
26
+ type: String,
27
+ default: "butt",
28
+ validator: (e) => ["butt", "round", "square"].includes(e)
29
+ },
30
+ strokeLinejoin: {
31
+ type: String,
32
+ default: "miter",
33
+ validator: (e) => ["arcs", "bevel", "miter", "miter-clip", "round"].includes(e)
34
+ },
35
+ rotate: Number,
36
+ spin: Boolean
37
+ },
38
+ emits: {
39
+ click: (e) => !0
40
+ },
41
+ setup(e, {
42
+ emit: t
43
+ }) {
44
+ const n = F("icon"), o = m(() => [n, `${n}-down`, {
45
+ [`${n}-spin`]: e.spin
46
+ }]), s = m(() => {
47
+ const i = {};
48
+ return e.size && (i.fontSize = L(e.size) ? `${e.size}px` : e.size), e.rotate && (i.transform = `rotate(${e.rotate}deg)`), i;
49
+ });
50
+ return {
51
+ cls: o,
52
+ innerStyle: s,
53
+ onClick: (i) => {
54
+ t("click", i);
55
+ }
56
+ };
57
+ }
58
+ }), K = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
59
+ function X(e, t, n, o, s, a) {
60
+ return c(), d("svg", {
61
+ viewBox: "0 0 48 48",
62
+ fill: "none",
63
+ xmlns: "http://www.w3.org/2000/svg",
64
+ stroke: "currentColor",
65
+ class: _(e.cls),
66
+ style: w(e.innerStyle),
67
+ "stroke-width": e.strokeWidth,
68
+ "stroke-linecap": e.strokeLinecap,
69
+ "stroke-linejoin": e.strokeLinejoin,
70
+ onClick: t[0] || (t[0] = (...i) => e.onClick && e.onClick(...i))
71
+ }, t[1] || (t[1] = [l("path", {
72
+ d: "M39.6 17.443 24.043 33 8.487 17.443"
73
+ }, null, -1)]), 14, K);
74
+ }
75
+ var S = /* @__PURE__ */ I(H, [["render", X]]);
76
+ const G = Object.assign(S, {
77
+ install: (e, t) => {
78
+ var n;
79
+ const o = (n = t == null ? void 0 : t.iconPrefix) != null ? n : "";
80
+ e.component(o + S.name, S);
81
+ }
82
+ }), J = f({
83
+ name: "IconClose",
84
+ props: {
85
+ size: {
86
+ type: [Number, String]
87
+ },
88
+ strokeWidth: {
89
+ type: Number,
90
+ default: 4
91
+ },
92
+ strokeLinecap: {
93
+ type: String,
94
+ default: "butt",
95
+ validator: (e) => ["butt", "round", "square"].includes(e)
96
+ },
97
+ strokeLinejoin: {
98
+ type: String,
99
+ default: "miter",
100
+ validator: (e) => ["arcs", "bevel", "miter", "miter-clip", "round"].includes(e)
101
+ },
102
+ rotate: Number,
103
+ spin: Boolean
104
+ },
105
+ emits: {
106
+ click: (e) => !0
107
+ },
108
+ setup(e, {
109
+ emit: t
110
+ }) {
111
+ const n = F("icon"), o = m(() => [n, `${n}-close`, {
112
+ [`${n}-spin`]: e.spin
113
+ }]), s = m(() => {
114
+ const i = {};
115
+ return e.size && (i.fontSize = L(e.size) ? `${e.size}px` : e.size), e.rotate && (i.transform = `rotate(${e.rotate}deg)`), i;
116
+ });
117
+ return {
118
+ cls: o,
119
+ innerStyle: s,
120
+ onClick: (i) => {
121
+ t("click", i);
122
+ }
123
+ };
124
+ }
125
+ }), Q = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
126
+ function ee(e, t, n, o, s, a) {
127
+ return c(), d("svg", {
128
+ viewBox: "0 0 48 48",
129
+ fill: "none",
130
+ xmlns: "http://www.w3.org/2000/svg",
131
+ stroke: "currentColor",
132
+ class: _(e.cls),
133
+ style: w(e.innerStyle),
134
+ "stroke-width": e.strokeWidth,
135
+ "stroke-linecap": e.strokeLinecap,
136
+ "stroke-linejoin": e.strokeLinejoin,
137
+ onClick: t[0] || (t[0] = (...i) => e.onClick && e.onClick(...i))
138
+ }, t[1] || (t[1] = [l("path", {
139
+ d: "M9.857 9.858 24 24m0 0 14.142 14.142M24 24 38.142 9.858M24 24 9.857 38.142"
140
+ }, null, -1)]), 14, Q);
141
+ }
142
+ var z = /* @__PURE__ */ I(J, [["render", ee]]);
143
+ const te = Object.assign(z, {
144
+ install: (e, t) => {
145
+ var n;
146
+ const o = (n = t == null ? void 0 : t.iconPrefix) != null ? n : "";
147
+ e.component(o + z.name, z);
148
+ }
149
+ }), ne = f({
150
+ name: "IconRobot",
151
+ props: {
152
+ size: {
153
+ type: [Number, String]
154
+ },
155
+ strokeWidth: {
156
+ type: Number,
157
+ default: 4
158
+ },
159
+ strokeLinecap: {
160
+ type: String,
161
+ default: "butt",
162
+ validator: (e) => ["butt", "round", "square"].includes(e)
163
+ },
164
+ strokeLinejoin: {
165
+ type: String,
166
+ default: "miter",
167
+ validator: (e) => ["arcs", "bevel", "miter", "miter-clip", "round"].includes(e)
168
+ },
169
+ rotate: Number,
170
+ spin: Boolean
171
+ },
172
+ emits: {
173
+ click: (e) => !0
174
+ },
175
+ setup(e, {
176
+ emit: t
177
+ }) {
178
+ const n = F("icon"), o = m(() => [n, `${n}-robot`, {
179
+ [`${n}-spin`]: e.spin
180
+ }]), s = m(() => {
181
+ const i = {};
182
+ return e.size && (i.fontSize = L(e.size) ? `${e.size}px` : e.size), e.rotate && (i.transform = `rotate(${e.rotate}deg)`), i;
183
+ });
184
+ return {
185
+ cls: o,
186
+ innerStyle: s,
187
+ onClick: (i) => {
188
+ t("click", i);
189
+ }
190
+ };
191
+ }
192
+ }), oe = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
193
+ function ie(e, t, n, o, s, a) {
194
+ return c(), d("svg", {
195
+ viewBox: "0 0 48 48",
196
+ fill: "none",
197
+ xmlns: "http://www.w3.org/2000/svg",
198
+ stroke: "currentColor",
199
+ class: _(e.cls),
200
+ style: w(e.innerStyle),
201
+ "stroke-width": e.strokeWidth,
202
+ "stroke-linecap": e.strokeLinecap,
203
+ "stroke-linejoin": e.strokeLinejoin,
204
+ onClick: t[0] || (t[0] = (...i) => e.onClick && e.onClick(...i))
205
+ }, t[1] || (t[1] = [l("path", {
206
+ d: "M18 26h1v1h-1v-1ZM29 26h1v1h-1v-1Z",
207
+ fill: "currentColor",
208
+ stroke: "none"
209
+ }, null, -1), l("path", {
210
+ d: "M24 7v6m0-6h5m-5 0h-5M3 21v11m36 8H9V13h30v29m6-21v11m-27-6h1v1h-1v-1Zm11 0h1v1h-1v-1Z"
211
+ }, null, -1)]), 14, oe);
212
+ }
213
+ var x = /* @__PURE__ */ I(ne, [["render", ie]]);
214
+ const se = Object.assign(x, {
215
+ install: (e, t) => {
216
+ var n;
217
+ const o = (n = t == null ? void 0 : t.iconPrefix) != null ? n : "";
218
+ e.component(o + x.name, x);
219
+ }
220
+ }), re = /* @__PURE__ */ f({
221
+ __name: "FeedbackFloatButton",
222
+ props: {
223
+ active: {
224
+ type: Boolean,
225
+ required: !0,
226
+ default: !0
227
+ },
228
+ offsetX: {
229
+ type: Number,
230
+ default: 20
231
+ },
232
+ offsetY: {
233
+ type: Number,
234
+ default: 20
235
+ },
236
+ iconSize: {
237
+ type: Number,
238
+ default: 18
239
+ }
240
+ },
241
+ setup(e) {
242
+ const t = e, n = m(() => ({
243
+ bottom: `${t.offsetY}px`,
244
+ right: `${t.offsetY}px`,
245
+ fontSize: `${t.iconSize}px`
246
+ }));
247
+ return (o, s) => (c(), d("div", {
248
+ class: _(["float-button", {
249
+ active: e.active
250
+ }]),
251
+ style: w(n.value)
252
+ }, [j(b(y(se), {
253
+ name: "Feedback/Help",
254
+ filled: "",
255
+ size: 18
256
+ }, null, 512), [[N, !e.active]]), j(b(y(G), {
257
+ name: "Feedback/Close",
258
+ filled: "",
259
+ size: 18
260
+ }, null, 512), [[N, e.active]])], 6));
261
+ }
262
+ }), le = /* @__PURE__ */ g(re, [["__scopeId", "data-v-f7b06b6d"]]), ae = {
263
+ class: "card"
264
+ }, ce = {
265
+ class: "content"
266
+ }, ue = {
267
+ class: "header"
268
+ }, de = {
269
+ class: "title"
270
+ }, pe = {
271
+ class: "description"
272
+ }, me = {
273
+ class: "body"
274
+ }, fe = /* @__PURE__ */ f({
275
+ __name: "FeedbackContainer",
276
+ props: {
277
+ title: {
278
+ type: String,
279
+ required: !0
280
+ },
281
+ description: {
282
+ type: String,
283
+ required: !0
284
+ },
285
+ appId: {
286
+ type: String,
287
+ required: !0
288
+ }
289
+ },
290
+ setup(e, {
291
+ expose: t
292
+ }) {
293
+ const n = e, o = q(!1), s = m(() => ({
294
+ padding: 0,
295
+ marginTop: 0,
296
+ "border-radius": "14px",
297
+ background: "var(--huyooo-feedback-panel-gradient)",
298
+ backgroundSize: "100% 505px",
299
+ backgroundRepeat: "no-repeat",
300
+ border: "0px solid"
301
+ }));
302
+ function a() {
303
+ o.value = !0;
304
+ }
305
+ function i(k) {
306
+ }
307
+ function p() {
308
+ o.value = !1;
309
+ }
310
+ return t({
311
+ show: o
312
+ }), (k, r) => (c(), V(y(O), {
313
+ "popup-visible": o.value,
314
+ "onUpdate:popupVisible": r[0] || (r[0] = (u) => o.value = u),
315
+ trigger: "click",
316
+ "content-style": s.value,
317
+ "arrow-style": {
318
+ display: "none"
319
+ },
320
+ position: "tr",
321
+ onPopupVisibleChange: i
322
+ }, {
323
+ content: B(() => [l("div", ae, [l("div", ce, [l("div", ue, [l("div", {
324
+ class: "headerCancel",
325
+ onClick: p
326
+ }, [b(y(te))]), l("div", de, h(n.title), 1), l("div", pe, h(n.description), 1)]), l("div", me, [M(k.$slots, "default", {}, void 0, !0)])])])]),
327
+ default: B(() => [b(le, {
328
+ active: o.value,
329
+ onClick: a
330
+ }, null, 8, ["active"])]),
331
+ _: 3
332
+ }, 8, ["popup-visible", "content-style"]));
333
+ }
334
+ }), We = /* @__PURE__ */ g(fe, [["__scopeId", "data-v-99bf36fb"]]), ke = {
335
+ style: {
336
+ "margin-bottom": "10px",
337
+ display: "flex",
338
+ gap: "10px"
339
+ }
340
+ }, ve = ["onClick"], be = /* @__PURE__ */ f({
341
+ __name: "FeedbackCustomTabs",
342
+ props: {
343
+ modelValue: {
344
+ type: String,
345
+ default: "1"
346
+ },
347
+ tabs: {
348
+ type: Array,
349
+ default: () => [{
350
+ label: "未读消息",
351
+ key: "1"
352
+ }, {
353
+ label: "已读消息",
354
+ key: "2"
355
+ }]
356
+ }
357
+ },
358
+ emits: ["update:modelValue", "change"],
359
+ setup(e, {
360
+ emit: t
361
+ }) {
362
+ const n = e, o = t;
363
+ function s(a) {
364
+ a !== n.modelValue && (o("update:modelValue", a), o("change", a));
365
+ }
366
+ return (a, i) => (c(), d("div", ke, [(c(!0), d(R, null, U(e.tabs, (p) => (c(), d("span", {
367
+ key: p.key,
368
+ class: _(["custom-tab", [{
369
+ active: e.modelValue === p.key
370
+ }]]),
371
+ onClick: (k) => s(p.key)
372
+ }, h(p.label), 11, ve))), 128))]));
373
+ }
374
+ }), Oe = /* @__PURE__ */ g(be, [["__scopeId", "data-v-c10f714b"]]), ye = {
375
+ class: "screenshots-upload"
376
+ }, he = /* @__PURE__ */ f({
377
+ __name: "FeedbackScreenshots",
378
+ props: {
379
+ urls: {
380
+ type: Array,
381
+ required: !0
382
+ }
383
+ },
384
+ emits: ["change"],
385
+ setup(e, {
386
+ emit: t
387
+ }) {
388
+ const n = e, o = t, s = q(null), a = m(() => n.urls.map((r) => ({
389
+ uid: r,
390
+ name: r.split("/").pop() || r,
391
+ url: r,
392
+ status: "done",
393
+ response: {
394
+ url: r
395
+ }
396
+ })));
397
+ function i(r) {
398
+ return new Promise((u, v) => {
399
+ const {
400
+ uploadFile: $
401
+ } = Z();
402
+ $({
403
+ bucketId: A.feedbackBucketId,
404
+ file: r,
405
+ onFileFinish(C, xe, P) {
406
+ u(P.Key);
407
+ },
408
+ onError(C) {
409
+ v(new Error("上传截图失败"));
410
+ }
411
+ });
412
+ });
413
+ }
414
+ async function p(r) {
415
+ const u = r.fileItem.file, v = await i(u);
416
+ o("change", {
417
+ key: v,
418
+ localUrl: URL.createObjectURL(u)
419
+ });
420
+ }
421
+ function k(r) {
422
+ var v;
423
+ const u = (v = r.clipboardData) == null ? void 0 : v.items;
424
+ if (u) {
425
+ for (const $ of u)
426
+ if ($.type.indexOf("image") !== -1) {
427
+ const C = $.getAsFile();
428
+ C && p({
429
+ fileItem: {
430
+ file: C
431
+ }
432
+ });
433
+ }
434
+ }
435
+ }
436
+ return D(() => {
437
+ window.addEventListener("paste", k);
438
+ }), E(() => {
439
+ window.removeEventListener("paste", k);
440
+ }), (r, u) => (c(), d("div", ye, [b(y(T), {
441
+ ref_key: "uploadRef",
442
+ ref: s,
443
+ "list-type": "picture",
444
+ "file-list": a.value,
445
+ "show-upload-list": !0,
446
+ "show-file-list": !0,
447
+ "image-preview": !0,
448
+ accept: "image/*",
449
+ "custom-request": p
450
+ }, null, 8, ["file-list"])]));
451
+ }
452
+ }), Te = /* @__PURE__ */ g(he, [["__scopeId", "data-v-8e764d8f"]]), _e = {
453
+ class: "operate-wrapper"
454
+ }, ge = {
455
+ class: "operate-item"
456
+ }, $e = {
457
+ class: "icon"
458
+ }, Ce = {
459
+ class: "title"
460
+ }, we = {
461
+ class: "feedback-info"
462
+ }, Se = {
463
+ key: 0,
464
+ class: "feedback-count"
465
+ }, ze = /* @__PURE__ */ f({
466
+ __name: "FeedbackItem",
467
+ props: {
468
+ title: {
469
+ type: String,
470
+ required: !0
471
+ },
472
+ icon: {
473
+ type: String,
474
+ required: !0
475
+ },
476
+ extra: {
477
+ type: String,
478
+ required: !1,
479
+ default: () => ""
480
+ }
481
+ },
482
+ setup(e) {
483
+ const t = e;
484
+ return (n, o) => (c(), d("div", _e, [l("div", ge, [l("div", $e, [b(y(Y), {
485
+ icon: t.icon
486
+ }, null, 8, ["icon"])]), l("p", Ce, h(t.title), 1)]), l("div", we, [e.extra ? (c(), d("span", Se, h(e.extra), 1)) : W("", !0)])]));
487
+ }
488
+ }), Ze = /* @__PURE__ */ g(ze, [["__scopeId", "data-v-28e45887"]]);
489
+ export {
490
+ We as F,
491
+ Oe as a,
492
+ le as b,
493
+ Ze as c,
494
+ Te as d
495
+ };