@huyooo/ui 0.15.2 → 0.17.0

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 (69) hide show
  1. package/dist/{AuthkitAppSetting-Ds7mYFV5.js → AuthkitAppSetting-jfSU-9BO.js} +655 -646
  2. package/dist/{AuthkitGithubBinding-LVDS1PNQ.js → AuthkitGithubBinding-Co5Z_cD0.js} +260 -255
  3. package/dist/{Clipboard-R3AURqvU.js → Clipboard-Bo7gdpR6.js} +1 -1
  4. package/dist/{Contact-B3AMSHoN.js → Contact-B09Z0y_t.js} +2 -2
  5. package/dist/{FeedbackItem-DkvSQT33.js → FeedbackItem-BP-SiJ2u.js} +98 -184
  6. package/dist/FeedbackModal.vue_vue_type_script_setup_true_lang-M1NQ-rx-.js +1396 -0
  7. package/dist/{MessageHandle-CEQtGyVZ.js → MessageHandle-BG12aX0i.js} +56 -56
  8. package/dist/{MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-87v_RIQa.js → MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-gsjL6yAe.js} +2 -2
  9. package/dist/{PaySubscriptions-D3g1OhiA.js → PaySubscriptions-BFq89DCI.js} +4 -4
  10. package/dist/{PricingPlans-DXea7rl0.js → PricingPlans-TZT6j_Jq.js} +4 -4
  11. package/dist/{ReferrerReferees-BxmZ1w_L.js → ReferrerReferees-jWOIvXrk.js} +18 -18
  12. package/dist/{Upload.vue_vue_type_script_setup_true_lang-DLKSHzxG.js → Upload.vue_vue_type_script_setup_true_lang-B6NOZjK0.js} +1 -1
  13. package/dist/{UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-C7mV8kGe.js → UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-BVtXbwch.js} +63 -63
  14. package/dist/{WidthContainer-DKasAIgU.js → WidthContainer-Ct44rKyS.js} +9 -9
  15. package/dist/{apiClients-DT7o0IpO.js → apiClients-DrGX2iJy.js} +81 -78
  16. package/dist/authkit.js +9 -9
  17. package/dist/common/authPanelWidth.d.ts +2 -0
  18. package/dist/common.js +1 -1
  19. package/dist/components/Feedback/FeedbackBubbleEnd.vue.d.ts +11 -14
  20. package/dist/components/Feedback/FeedbackBubbleStart.vue.d.ts +11 -14
  21. package/dist/components/Feedback/FeedbackDetails.vue.d.ts +1 -0
  22. package/dist/components/Feedback/FeedbackForm.vue.d.ts +1 -0
  23. package/dist/components/Feedback/FeedbackMessageAttachments.vue.d.ts +15 -0
  24. package/dist/components/Feedback/FeedbackVideoPreview.vue.d.ts +33 -0
  25. package/dist/components/LandingPage/LandingPageContainer.vue.d.ts +1 -1
  26. package/dist/components/LandingPage/LandingPagePageContent.vue.d.ts +1 -1
  27. package/dist/components/UserMenu/parts/UserBasicInformation.vue.d.ts +2 -2
  28. package/dist/composables/Authkit/readInviteCodeFromLocation.d.ts +2 -0
  29. package/dist/composables/Authkit/useAuthkitAuth.d.ts +1 -1
  30. package/dist/composables/Authkit/useOauth.d.ts +5 -9
  31. package/dist/composables/feedbackAttachmentPolicy.d.ts +6 -0
  32. package/dist/composables/uploadFeedbackAttachment.d.ts +9 -0
  33. package/dist/composables/useFeedbackPendingAttachments.d.ts +98 -0
  34. package/dist/composables.js +13 -13
  35. package/dist/feedback.d.ts +0 -1
  36. package/dist/feedback.js +9 -10
  37. package/dist/main.js +134 -135
  38. package/dist/message.js +4 -4
  39. package/dist/pay.js +4 -4
  40. package/dist/privateCom.js +1 -1
  41. package/dist/referrer.js +1 -1
  42. package/dist/style.css +1 -1
  43. package/dist/types/api/ai.generated.d.ts +10 -10
  44. package/dist/types/api/auth.generated.d.ts +24 -20
  45. package/dist/types/api/billing.generated.d.ts +206 -514
  46. package/dist/types/api/ones.generated.d.ts +46 -8
  47. package/dist/types/api.d.ts +1 -1
  48. package/dist/types/feedback.d.ts +12 -44
  49. package/dist/types/user.d.ts +1 -1
  50. package/dist/upload.js +2 -2
  51. package/dist/{useAuthkitAppsAuthPageInfo-DScDQfj5.js → useAuthkitAppsAuthPageInfo-DWd0bDP-.js} +1 -1
  52. package/dist/{useAuthkitAuth-DpdKRuJm.js → useAuthkitAuth-DmS-H7M2.js} +60 -53
  53. package/dist/{useAuthkitCreateAndUpdate-MzA4qtTh.js → useAuthkitCreateAndUpdate-oo9517Gj.js} +1 -1
  54. package/dist/{useAuthkitUsersProfile-aw_A7IWb.js → useAuthkitUsersProfile-BZDk21c8.js} +2 -2
  55. package/dist/{useBillingStatusOptions-CAsu1hrf.js → useBillingStatusOptions-B7xLU3fs.js} +1 -1
  56. package/dist/{useEnsureAuthenticated-BEKhtQAl.js → useEnsureAuthenticated-BuIbxqsO.js} +2 -2
  57. package/dist/{useLegalLinks-BijRF_ZD.js → useLegalLinks--qFGF7lO.js} +2 -2
  58. package/dist/{useMessageNotifications-CFku0c2R.js → useMessageNotifications-D85_-mDq.js} +1 -1
  59. package/dist/{useRoutePermission-v4_0B-aO.js → useRoutePermission-chEi45Nb.js} +2 -2
  60. package/dist/{useSEO-CbHCw4gq.js → useSEO-C6DLicfe.js} +1 -1
  61. package/dist/{useSubscriptionCheckout-BjPiHSjA.js → useSubscriptionCheckout-BRk5h9aC.js} +3 -3
  62. package/dist/{useTableHandle-TDJa_Czn.js → useTableHandle-BdujaiNX.js} +1 -1
  63. package/dist/{useUploadCos-CvG6EL5Q.js → useUploadCos-BRKRzSy3.js} +6 -4
  64. package/dist/user.js +1 -1
  65. package/dist/utils/apiMiddlewares.d.ts +4 -4
  66. package/dist/utils/feedbackMessage.d.ts +8 -0
  67. package/package.json +2 -1
  68. package/dist/FeedbackModal-C45pNoiw.js +0 -1050
  69. package/dist/components/Feedback/FeedbackScreenshots.vue.d.ts +0 -19
@@ -760,6 +760,13 @@ export type Api = {
760
760
  type: "bugReports" | "featureSuggestions" | "technicalSupportRequests" | "generalOpinions";
761
761
  description: string;
762
762
  priority?: "urgent" | "high" | "normal" | "low";
763
+ attachments?: {
764
+ key: string;
765
+ name: string;
766
+ size: number;
767
+ mimeType: string;
768
+ kind: "image" | "video" | "file";
769
+ }[];
763
770
  };
764
771
  return: any;
765
772
  };
@@ -800,9 +807,15 @@ export type Api = {
800
807
  body: {
801
808
  id: string;
802
809
  message: {
803
- type: "text" | "image" | "file" | "audio" | "video";
810
+ type: "text";
804
811
  content?: string;
805
- key?: string;
812
+ attachments?: {
813
+ key: string;
814
+ name: string;
815
+ size: number;
816
+ mimeType: string;
817
+ kind: "image" | "video" | "file";
818
+ }[];
806
819
  senderRole: "user" | "support" | "system";
807
820
  };
808
821
  };
@@ -892,9 +905,15 @@ export type Api = {
892
905
  body: {
893
906
  conversationId: string;
894
907
  message: {
895
- type: "text" | "image" | "file" | "audio" | "video";
908
+ type: "text";
896
909
  content?: string;
897
- key?: string;
910
+ attachments?: {
911
+ key: string;
912
+ name: string;
913
+ size: number;
914
+ mimeType: string;
915
+ kind: "image" | "video" | "file";
916
+ }[];
898
917
  senderRole: "user" | "support" | "system";
899
918
  };
900
919
  };
@@ -1782,6 +1801,13 @@ export interface ApiClient {
1782
1801
  type: "bugReports" | "featureSuggestions" | "technicalSupportRequests" | "generalOpinions";
1783
1802
  description: string;
1784
1803
  priority?: "urgent" | "high" | "normal" | "low";
1804
+ attachments?: {
1805
+ key: string;
1806
+ name: string;
1807
+ size: number;
1808
+ mimeType: string;
1809
+ kind: "image" | "video" | "file";
1810
+ }[];
1785
1811
  }, config?: RequestConfig) => Promise<ApiResponse<any>>;
1786
1812
  };
1787
1813
  delete: {
@@ -1810,9 +1836,15 @@ export interface ApiClient {
1810
1836
  post: (body: {
1811
1837
  id: string;
1812
1838
  message: {
1813
- type: "text" | "image" | "file" | "audio" | "video";
1839
+ type: "text";
1814
1840
  content?: string;
1815
- key?: string;
1841
+ attachments?: {
1842
+ key: string;
1843
+ name: string;
1844
+ size: number;
1845
+ mimeType: string;
1846
+ kind: "image" | "video" | "file";
1847
+ }[];
1816
1848
  senderRole: "user" | "support" | "system";
1817
1849
  };
1818
1850
  }, config?: RequestConfig) => Promise<ApiResponse<any>>;
@@ -1879,9 +1911,15 @@ export interface ApiClient {
1879
1911
  post: (body: {
1880
1912
  conversationId: string;
1881
1913
  message: {
1882
- type: "text" | "image" | "file" | "audio" | "video";
1914
+ type: "text";
1883
1915
  content?: string;
1884
- key?: string;
1916
+ attachments?: {
1917
+ key: string;
1918
+ name: string;
1919
+ size: number;
1920
+ mimeType: string;
1921
+ kind: "image" | "video" | "file";
1922
+ }[];
1885
1923
  senderRole: "user" | "support" | "system";
1886
1924
  };
1887
1925
  }, config?: RequestConfig) => Promise<ApiResponse<any>>;
@@ -49,7 +49,7 @@ export interface SignUpParams {
49
49
  password: string;
50
50
  userToken: string;
51
51
  emailVerifyId: string;
52
- referrerId?: string;
52
+ inviteCode?: string;
53
53
  }
54
54
  export interface ResetPasswordParams {
55
55
  email: string;
@@ -22,55 +22,23 @@ export interface ShouldShowProps {
22
22
  from?: number;
23
23
  to?: number;
24
24
  }
25
- type MessageText = {
26
- messageId: string;
27
- senderRole: string;
28
- type: 'text';
29
- content: string;
30
- ext?: any;
31
- senderInfo?: any;
32
- };
33
- type MessageImage = {
34
- messageId: string;
35
- senderRole: string;
36
- type: 'image';
37
- key: string;
38
- url?: string;
39
- thumbUrl?: string;
40
- ext?: any;
41
- senderInfo?: any;
42
- };
43
- type MessageFile = {
44
- messageId: string;
45
- senderRole: string;
46
- type: 'file';
47
- key: string;
48
- url?: string;
49
- fileName: string;
50
- fileSize: number;
51
- ext?: any;
52
- senderInfo?: any;
53
- };
54
- type MessageAudio = {
55
- messageId: string;
56
- senderRole: string;
57
- type: 'audio';
25
+ export type FeedbackAttachmentKind = 'image' | 'video' | 'file';
26
+ export type FeedbackMessageAttachment = {
58
27
  key: string;
28
+ name: string;
29
+ size: number;
30
+ mimeType: string;
31
+ kind: FeedbackAttachmentKind;
59
32
  url?: string;
60
- duration: number;
61
- ext?: any;
62
- senderInfo?: any;
63
33
  };
64
- type MessageVideo = {
34
+ export type MessageType = {
65
35
  messageId: string;
66
36
  senderRole: string;
67
- type: 'video';
68
- key: string;
69
- url?: string;
70
- duration: number;
71
- thumbUrl?: string;
37
+ type: 'text';
38
+ content: string;
39
+ attachments?: FeedbackMessageAttachment[];
40
+ seq?: number;
41
+ createAt?: string;
72
42
  ext?: any;
73
43
  senderInfo?: any;
74
44
  };
75
- export type MessageType = MessageText | MessageImage | MessageFile | MessageAudio | MessageVideo;
76
- export {};
@@ -101,7 +101,7 @@ export interface UserProfileType extends AuditableEntity, UserBaseInfo {
101
101
  google: any;
102
102
  microsoft: any;
103
103
  organizations: string[];
104
- referrerId: string;
104
+ personalInviteCode: string;
105
105
  role: RoleInfo | null;
106
106
  permissions: PermissionInfo[];
107
107
  creatorInfo?: OperatorInfo;
package/dist/upload.js CHANGED
@@ -1,5 +1,5 @@
1
- import { _ as p } from "./Upload.vue_vue_type_script_setup_true_lang-DLKSHzxG.js";
2
- import { u as s } from "./useUploadCos-CvG6EL5Q.js";
1
+ import { _ as p } from "./Upload.vue_vue_type_script_setup_true_lang-B6NOZjK0.js";
2
+ import { u as s } from "./useUploadCos-BRKRzSy3.js";
3
3
  export {
4
4
  p as Upload,
5
5
  s as useUploadCos
@@ -1,5 +1,5 @@
1
1
  import { ref as n } from "vue";
2
- import { e as l } from "./apiClients-DT7o0IpO.js";
2
+ import { e as l } from "./apiClients-DrGX2iJy.js";
3
3
  const a = n({
4
4
  id: "",
5
5
  appKey: "",
@@ -1,7 +1,7 @@
1
- import { ref as a, readonly as P } from "vue";
2
- import { f as U, r as A, e as u } from "./apiClients-DT7o0IpO.js";
1
+ import { ref as a, readonly as U } from "vue";
2
+ import { f as A, r as L, e as u } from "./apiClients-DrGX2iJy.js";
3
3
  const i = a("signIn"), m = /* @__PURE__ */ new Set(), g = /* @__PURE__ */ new Set(), I = /* @__PURE__ */ new Set(), S = /* @__PURE__ */ new Set(), t = a(null), v = "jwtToken";
4
- function k() {
4
+ function y() {
5
5
  try {
6
6
  const e = localStorage.getItem(v);
7
7
  if (e)
@@ -11,15 +11,15 @@ function k() {
11
11
  }
12
12
  return !1;
13
13
  }
14
- function L() {
14
+ function E() {
15
15
  try {
16
- const e = new URL(window.location.href), r = e.searchParams.get("token");
17
- if (!r) return !1;
16
+ const e = new URL(window.location.href), o = e.searchParams.get("token");
17
+ if (!o) return !1;
18
18
  const s = e.searchParams.get("userId"), l = e.searchParams.get("appId"), f = e.searchParams.get("needBindIdentity") === "true";
19
- c(r), ["token", "userId", "appId", "needBindIdentity"].forEach((w) => e.searchParams.delete(w));
19
+ c(o), ["token", "userId", "appId", "needBindIdentity"].forEach((w) => e.searchParams.delete(w));
20
20
  const h = `${e.pathname}${e.search}${e.hash}`;
21
21
  return window.history.replaceState({}, "", h), p({
22
- jwtToken: r,
22
+ jwtToken: o,
23
23
  userId: s,
24
24
  appId: l,
25
25
  needBindIdentity: f
@@ -28,41 +28,41 @@ function L() {
28
28
  return console.warn("Failed to handle OAuth callback:", e), !1;
29
29
  }
30
30
  }
31
- function E() {
32
- return L() ? !0 : k();
33
- }
34
31
  function O() {
35
- return t.value || k() ? t.value : null;
32
+ return E() ? !0 : y();
33
+ }
34
+ function V() {
35
+ return t.value || y() ? t.value : null;
36
36
  }
37
37
  function c(e) {
38
38
  t.value = e;
39
39
  try {
40
40
  localStorage.setItem(v, e);
41
- } catch (r) {
42
- console.warn("Failed to save token to localStorage:", r);
41
+ } catch (o) {
42
+ console.warn("Failed to save token to localStorage:", o);
43
43
  }
44
44
  }
45
- function V(e) {
45
+ function j(e) {
46
46
  c(e.jwtToken), p(e);
47
47
  }
48
- function j() {
48
+ function R() {
49
49
  t.value = null, B();
50
50
  }
51
- U(j);
52
- function R() {
53
- A();
51
+ A(R);
52
+ function b() {
53
+ L();
54
54
  }
55
- function d(e, r) {
56
- return e.add(r), () => {
57
- e.delete(r);
55
+ function d(e, o) {
56
+ return e.add(o), () => {
57
+ e.delete(o);
58
58
  };
59
59
  }
60
60
  function p(e) {
61
- m.forEach((r) => {
62
- r(e);
61
+ m.forEach((o) => {
62
+ o(e);
63
63
  });
64
64
  }
65
- function b() {
65
+ function C() {
66
66
  g.forEach((e) => void e());
67
67
  }
68
68
  function F() {
@@ -83,43 +83,50 @@ function _(e) {
83
83
  function x(e) {
84
84
  return d(S, e);
85
85
  }
86
- function M() {
87
- const e = a(!1), r = a(!1), s = a(!1);
86
+ function N() {
87
+ const e = a(!1), o = a(!1), s = a(!1);
88
88
  async function l(n) {
89
89
  e.value = !0;
90
- const {
91
- data: o
92
- } = await u.auth.signIn.unified.post({
93
- identifier: n.identifier || n.email || "",
94
- password: n.password,
95
- code: n.code,
96
- emailVerifyId: n.emailVerifyId,
97
- method: n.method || "password"
98
- });
99
- e.value = !1, o && (c(o.jwtToken), p(o));
90
+ try {
91
+ const {
92
+ data: r,
93
+ error: P
94
+ } = await u.auth.signIn.unified.post({
95
+ identifier: n.identifier || n.email || "",
96
+ password: n.password,
97
+ code: n.code,
98
+ emailVerifyId: n.emailVerifyId,
99
+ method: n.method || "password"
100
+ });
101
+ if (P || !r)
102
+ return;
103
+ c(r.jwtToken), p(r);
104
+ } finally {
105
+ e.value = !1;
106
+ }
100
107
  }
101
108
  async function f(n) {
102
- r.value = !0;
109
+ o.value = !0;
103
110
  const {
104
- error: o
111
+ error: r
105
112
  } = n.type === "phone" ? await u.auth.signUp.phone.post({
106
113
  phone: n.phone || "",
107
114
  code: n.code || "",
108
115
  password: n.password,
109
- referrerId: n.referrerId
116
+ inviteCode: n.inviteCode
110
117
  }) : await u.auth.signUp.post({
111
118
  email: n.email || "",
112
119
  userToken: n.userToken || "",
113
120
  emailVerifyId: n.emailVerifyId || "",
114
121
  password: n.password || "",
115
- referrerId: n.referrerId
122
+ inviteCode: n.inviteCode
116
123
  });
117
- r.value = !1, o || (i.value = "signIn", b());
124
+ o.value = !1, r || (i.value = "signIn", C());
118
125
  }
119
126
  async function h(n) {
120
127
  s.value = !0;
121
128
  const {
122
- error: o
129
+ error: r
123
130
  } = await u.auth.resetPassword.post({
124
131
  method: n.method || "email",
125
132
  email: n.email,
@@ -129,12 +136,12 @@ function M() {
129
136
  emailVerifyId: n.emailVerifyId,
130
137
  password: n.password
131
138
  });
132
- s.value = !1, o || (i.value = "signIn", F());
139
+ s.value = !1, r || (i.value = "signIn", F());
133
140
  }
134
141
  function w() {
135
142
  i.value = "signUp";
136
143
  }
137
- function y() {
144
+ function k() {
138
145
  i.value = "resetPassword";
139
146
  }
140
147
  function T() {
@@ -146,23 +153,23 @@ function M() {
146
153
  resetPasswordSubmit: h,
147
154
  currentView: i,
148
155
  authSignInLoading: e,
149
- authSignUpLoading: r,
156
+ authSignUpLoading: o,
150
157
  resetPasswordLoading: s,
151
158
  switchSignUp: w,
152
- switchResetPassword: y,
159
+ switchResetPassword: k,
153
160
  switchSignIn: T,
154
161
  onSignIn: $,
155
162
  onSignUp: K,
156
163
  onResetPassword: _,
157
164
  onSignOut: x,
158
- jwtToken: P(t),
159
- getToken: O,
165
+ jwtToken: U(t),
166
+ getToken: V,
160
167
  setToken: c,
161
- completeSignIn: V,
162
- restoreSession: E,
163
- clearAuth: R
168
+ completeSignIn: j,
169
+ restoreSession: O,
170
+ clearAuth: b
164
171
  };
165
172
  }
166
173
  export {
167
- M as u
174
+ N as u
168
175
  };
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import "./apiClients-DT7o0IpO.js";
2
+ import "./apiClients-DrGX2iJy.js";
3
3
  import { Message as u } from "@arco-design/web-vue";
4
4
  import { ref as e } from "vue";
5
5
  function h(o) {
@@ -1,6 +1,6 @@
1
1
  import { ref as o, computed as r } from "vue";
2
- import { e as f } from "./apiClients-DT7o0IpO.js";
3
- import { u as i } from "./useAuthkitAuth-DpdKRuJm.js";
2
+ import { e as f } from "./apiClients-DrGX2iJy.js";
3
+ import { u as i } from "./useAuthkitAuth-DmS-H7M2.js";
4
4
  const t = o(null), l = o(!1), u = o(!1), c = r(() => !!t.value);
5
5
  async function v() {
6
6
  const {
@@ -1,5 +1,5 @@
1
1
  import { createClient as y } from "@vafast/api-client";
2
- import { g as b, i as f, t as k, j as v, k as S, h as u } from "./apiClients-DT7o0IpO.js";
2
+ import { g as b, i as f, t as k, j as v, k as S, h as u } from "./apiClients-DrGX2iJy.js";
3
3
  import { ref as g } from "vue";
4
4
  async function O(t, o) {
5
5
  const {
@@ -1,6 +1,6 @@
1
1
  import { computed as f } from "vue";
2
- import { u as r } from "./useAuthkitAuth-DpdKRuJm.js";
3
- import { u as d } from "./apiClients-DT7o0IpO.js";
2
+ import { u as r } from "./useAuthkitAuth-DmS-H7M2.js";
3
+ import { u as d } from "./apiClients-DrGX2iJy.js";
4
4
  const A = "jwtToken";
5
5
  let e = null, i = !1;
6
6
  async function h(n) {
@@ -1,6 +1,6 @@
1
1
  import { computed as c } from "vue";
2
- import { g as L } from "./apiClients-DT7o0IpO.js";
3
- import { u as m } from "./useAuthkitAppsAuthPageInfo-DScDQfj5.js";
2
+ import { g as L } from "./apiClients-DrGX2iJy.js";
3
+ import { u as m } from "./useAuthkitAppsAuthPageInfo-DWd0bDP-.js";
4
4
  const l = {
5
5
  userServiceAgreement: "用户服务协议",
6
6
  privacyPolicy: "隐私协议",
@@ -1,5 +1,5 @@
1
1
  import { ref as a, computed as L } from "vue";
2
- import { o as c } from "./apiClients-DT7o0IpO.js";
2
+ import { o as c } from "./apiClients-DrGX2iJy.js";
3
3
  function S(f = "system") {
4
4
  const n = a(!0), d = a(""), i = a(!1), g = a(!1), o = a([]), t = a({
5
5
  total: 0,
@@ -1,7 +1,7 @@
1
1
  import { ref as w, computed as b, watch as S } from "vue";
2
2
  import { useRouter as I, useRoute as T } from "vue-router";
3
- import { u as k } from "./useAuthkitAppsAuthPageInfo-DScDQfj5.js";
4
- import { u as M } from "./useAuthkitUsersProfile-aw_A7IWb.js";
3
+ import { u as k } from "./useAuthkitAppsAuthPageInfo-DWd0bDP-.js";
4
+ import { u as M } from "./useAuthkitUsersProfile-BZDk21c8.js";
5
5
  const y = w({
6
6
  key: "",
7
7
  name: ""
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { g } from "./apiClients-DT7o0IpO.js";
2
+ import { g } from "./apiClients-DrGX2iJy.js";
3
3
  import { Message as f } from "@arco-design/web-vue";
4
4
  import { ref as i, computed as r } from "vue";
5
5
  import { useHead as p, useSeoMeta as m } from "@unhead/vue";
@@ -1,9 +1,9 @@
1
1
  import { ref as y, computed as L } from "vue";
2
- import { d as H } from "./useBillingStatusOptions-CAsu1hrf.js";
3
- import { h as $ } from "./apiClients-DT7o0IpO.js";
2
+ import { d as H } from "./useBillingStatusOptions-B7xLU3fs.js";
3
+ import { h as $ } from "./apiClients-DrGX2iJy.js";
4
4
  /* empty css */
5
5
  import { Message as g } from "@arco-design/web-vue";
6
- import { u as J } from "./useEnsureAuthenticated-BEKhtQAl.js";
6
+ import { u as J } from "./useEnsureAuthenticated-BuIbxqsO.js";
7
7
  function M(e) {
8
8
  var i;
9
9
  const r = (i = e == null ? void 0 : e.metadata) == null ? void 0 : i.originalPrice;
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import "./apiClients-DT7o0IpO.js";
2
+ import "./apiClients-DrGX2iJy.js";
3
3
  import { Message as O } from "@arco-design/web-vue";
4
4
  import { ref as t } from "vue";
5
5
  function A(r) {
@@ -1,5 +1,5 @@
1
1
  import { c as Ft, g as Ut } from "./_commonjsHelpers-DaMA6jEr.js";
2
- import { o as mt } from "./apiClients-DT7o0IpO.js";
2
+ import { o as mt } from "./apiClients-DrGX2iJy.js";
3
3
  var Pt = { exports: {} };
4
4
  (function(je, ot) {
5
5
  (function(se, E) {
@@ -7323,6 +7323,7 @@ function Mt(je, ot) {
7323
7323
  function Kt(je) {
7324
7324
  return je.type && je.type !== "application/octet-stream" && je.type !== "" ? je.type : Mt(je.name);
7325
7325
  }
7326
+ const _t = 1024 * 1024 * 5;
7326
7327
  function At(je, ot, H) {
7327
7328
  je && je({
7328
7329
  code: "501",
@@ -7332,7 +7333,7 @@ function At(je, ot, H) {
7332
7333
  method: "post"
7333
7334
  });
7334
7335
  }
7335
- function zt() {
7336
+ function Vt() {
7336
7337
  let je;
7337
7338
  async function ot({
7338
7339
  file: H,
@@ -7376,7 +7377,7 @@ function zt() {
7376
7377
  Key: C,
7377
7378
  // 使用服务端返回的 Key
7378
7379
  Body: H,
7379
- SliceSize: 1024 * 1024 * 5,
7380
+ SliceSize: _t,
7380
7381
  onProgress(f) {
7381
7382
  se && se(f);
7382
7383
  },
@@ -7413,5 +7414,6 @@ function zt() {
7413
7414
  };
7414
7415
  }
7415
7416
  export {
7416
- zt as u
7417
+ Kt as g,
7418
+ Vt as u
7417
7419
  };
package/dist/user.js CHANGED
@@ -1,4 +1,4 @@
1
- import { U as a, a as n, b as r, c as t, d as U, _ as u, e as i, f as M, g as o, h as m, i as I, j as c, k as d, l as b, m as f } from "./UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-C7mV8kGe.js";
1
+ import { U as a, a as n, b as r, c as t, d as U, _ as u, e as i, f as M, g as o, h as m, i as I, j as c, k as d, l as b, m as f } from "./UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-BVtXbwch.js";
2
2
  export {
3
3
  a as UserAccountMenu,
4
4
  n as UserAvatar,
@@ -14,10 +14,10 @@ export declare const tokenRefreshMiddleware: import('@vafast/api-client').NamedM
14
14
  /**
15
15
  * 错误提示中间件:显示错误消息
16
16
  *
17
- * 双轨制兜底:
18
- * - 401(非 token 过期):清理本地认证 + 打开登录框,不弹 Message。
19
- * 适用于业务层未走 ensureAuthenticated 的边缘场景(token 完全无效、本地丢失等)。
20
- * - 40101 token 过期:交由 tokenRefreshMiddleware 处理,这里不重复弹。
17
+ * 双轨制(按 HTTP 状态 + 业务码,不靠 URL 白名单):
18
+ * - 400 凭证错误(如 40001):登录密码/验证码错误,走下方 Message 提示。
19
+ * - 401 + 40101:token 过期,交由 tokenRefreshMiddleware 刷新。
20
+ * - 401(code=401):会话无效,清理认证 + 打开登录框,不弹 Message。
21
21
  * - 其他错误:弹 Message 提示。
22
22
  */
23
23
  export declare const errorMessageMiddleware: import('@vafast/api-client').NamedMiddleware;
@@ -0,0 +1,8 @@
1
+ import { FeedbackMessageAttachment, MessageType } from '../types/feedback';
2
+ export type MessageDisplay = {
3
+ text: string;
4
+ attachments: FeedbackMessageAttachment[];
5
+ };
6
+ /** 将消息结构统一为气泡展示所需的文本与图片 URL 列表 */
7
+ export declare function getMessageDisplay(message: MessageType): MessageDisplay;
8
+ export declare function hasMessageContent(display: MessageDisplay): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huyooo/ui",
3
- "version": "0.15.2",
3
+ "version": "0.17.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
@@ -69,6 +69,7 @@
69
69
  "dev": "tsdown --watch",
70
70
  "play": "vite",
71
71
  "build": "vue-tsc -b && vite build",
72
+ "link": "npm run build && npm link",
72
73
  "preview": "vite preview",
73
74
  "pub": "npm version patch --force && npm publish --access public",
74
75
  "lint": "eslint --cache .",