@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
@@ -0,0 +1,210 @@
1
+ import { defineComponent as L, computed as R, openBlock as s, createBlock as D, withCtx as g, createVNode as P, onMounted as T, resolveDirective as M, createElementBlock as i, createElementVNode as n, unref as t, Fragment as c, renderList as u, normalizeClass as v, toDisplayString as l, createCommentVNode as o, withDirectives as j, createTextVNode as J } from "vue";
2
+ import { L as U, a as W } from "./LandingPageFAQ-CZJXvor9.js";
3
+ import { L as X } from "./LandingPageSectionHeader-D_74W4My.js";
4
+ import { _ as S } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
+ /* empty css */
6
+ import "./index-D3Kp6R4z.js";
7
+ /* empty css */
8
+ import { Spin as Y, Button as Z } from "@arco-design/web-vue";
9
+ import { Icon as ee } from "@iconify/vue";
10
+ import { u as te, a as se } from "./useSubscriptionCheckout-BgQJN61l.js";
11
+ const ie = /* @__PURE__ */ L({
12
+ __name: "PricingFAQ",
13
+ props: {
14
+ title: {
15
+ default: "订阅常见问题"
16
+ },
17
+ subtitle: {
18
+ default: "关于试用、付款、配额、升级和取消订阅的说明。"
19
+ },
20
+ activeKeys: {
21
+ default: () => []
22
+ },
23
+ faqItems: {
24
+ default: void 0
25
+ }
26
+ },
27
+ setup(a) {
28
+ const m = [{
29
+ question: "可以先试用再付费吗?",
30
+ answer: "可以。支持试用的方案会在卡片按钮上标明试用天数。试用期间可使用对应方案能力,到期后再决定是否继续订阅。"
31
+ }, {
32
+ question: "月付和年付有什么区别?",
33
+ answer: "月付适合短期验证和灵活使用,年付适合稳定团队和长期项目,通常会有更优惠的价格。"
34
+ }, {
35
+ question: "已有订阅后可以升级或切换方案吗?",
36
+ answer: "可以。升级或切换方案时,系统会根据当前订阅和新方案计算差额;如需补差价,会跳转到支付页面完成支付。"
37
+ }, {
38
+ question: "取消订阅后还能继续使用吗?",
39
+ answer: "可以。取消订阅后,当前计费周期内仍可继续使用,周期结束后订阅权益将停止续期。"
40
+ }, {
41
+ question: "配额什么时候重置?",
42
+ answer: "配额按订阅周期重置,不一定是自然月月初。例如您在 4 月 15 日订阅月付方案,下一次配额重置通常发生在 5 月 15 日。"
43
+ }, {
44
+ question: "不同方案的技术支持有什么区别?",
45
+ answer: "基础方案适合个人和轻量团队,包含常规支持;更高等级方案面向正式团队和生产场景,通常包含更高优先级支持。"
46
+ }, {
47
+ question: "是否支持退款?",
48
+ answer: "订阅可随时取消。退款规则以付费服务协议为准,如遇到重复扣费或异常支付,可以联系支持团队处理。"
49
+ }, {
50
+ question: "使用订阅服务有什么限制?",
51
+ answer: "请按正常业务场景使用服务,禁止共享、转售订阅或用于违法违规场景。严重滥用可能导致服务受限或账户终止。"
52
+ }], _ = a, f = R(() => _.faqItems ?? m);
53
+ return (p, h) => (s(), D(U, {
54
+ class: "PricingFAQ"
55
+ }, {
56
+ BlockHeader: g(() => [P(X, {
57
+ title: a.title,
58
+ subtitle: a.subtitle
59
+ }, null, 8, ["title", "subtitle"])]),
60
+ BlockBody: g(() => [P(W, {
61
+ "active-keys": a.activeKeys,
62
+ "faq-items": f.value
63
+ }, null, 8, ["active-keys", "faq-items"])]),
64
+ _: 1
65
+ }));
66
+ }
67
+ }), Ne = /* @__PURE__ */ S(ie, [["__scopeId", "data-v-fcab2f05"]]), ne = {
68
+ class: "PricingPlans"
69
+ }, le = {
70
+ class: "PricingPlans__toolbar"
71
+ }, ae = {
72
+ key: 0,
73
+ class: "PricingPlans__toggle",
74
+ role: "tablist",
75
+ "aria-label": "计费周期"
76
+ }, re = ["onClick"], oe = {
77
+ key: 0,
78
+ class: "PricingPlans__toggleBadge"
79
+ }, ce = {
80
+ key: 1,
81
+ class: "PricingPlans__note"
82
+ }, ue = {
83
+ key: 0,
84
+ class: "PricingPlans__grid"
85
+ }, _e = {
86
+ class: "PricingPlans__badgeRow"
87
+ }, de = {
88
+ class: "PricingPlans__header"
89
+ }, ge = {
90
+ class: "PricingPlans__price"
91
+ }, Pe = {
92
+ key: 0,
93
+ class: "PricingPlans__originalPrice"
94
+ }, me = {
95
+ class: "PricingPlans__amount"
96
+ }, fe = {
97
+ class: "PricingPlans__cycle"
98
+ }, pe = {
99
+ key: 0,
100
+ class: "PricingPlans__promotion"
101
+ }, ye = {
102
+ class: "PricingPlans__summary"
103
+ }, ve = {
104
+ class: "PricingPlans__featureGroups"
105
+ }, he = {
106
+ class: "PricingPlans__features"
107
+ }, ke = {
108
+ key: 1,
109
+ class: "PricingPlans__empty"
110
+ }, be = /* @__PURE__ */ L({
111
+ __name: "PricingPlans",
112
+ props: {
113
+ appName: {
114
+ default: "Huyooo"
115
+ },
116
+ defaultInterval: {
117
+ default: "month"
118
+ },
119
+ note: {
120
+ default: ""
121
+ }
122
+ },
123
+ setup(a) {
124
+ const m = a, {
125
+ plans: _,
126
+ currentSubscription: f,
127
+ listLoading: p,
128
+ billingInterval: h,
129
+ billingIntervalTabs: k,
130
+ setBillingInterval: F,
131
+ isCurrentPlan: b,
132
+ isRecommendedPlan: C,
133
+ getDisplayPrice: x,
134
+ getDisplayOriginalPrice: B,
135
+ getDisplayCycle: N,
136
+ getPromotionLabel: I,
137
+ getBadgeLabels: A,
138
+ getButtonLabel: Q,
139
+ getPlanSummary: V,
140
+ getFeatureGroups: $,
141
+ loadCurrentSubscription: G,
142
+ refresh: H
143
+ } = te(m.defaultInterval), {
144
+ checkout: z,
145
+ isCheckingOut: E
146
+ } = se({
147
+ currentSubscription: f,
148
+ refreshCurrentSubscription: G
149
+ });
150
+ function K(q) {
151
+ return q === 1 ? "适合团队协作与更高频使用" : "适合个人和轻量团队使用";
152
+ }
153
+ return T(() => {
154
+ H();
155
+ }), (q, d) => {
156
+ const O = M("motion-slide-top");
157
+ return s(), i("section", ne, [n("div", le, [t(k).length > 1 ? (s(), i("div", ae, [(s(!0), i(c, null, u(t(k), (e) => (s(), i("button", {
158
+ key: e.value,
159
+ type: "button",
160
+ class: v(["PricingPlans__toggleItem", {
161
+ "is-active": t(h) === e.value
162
+ }]),
163
+ onClick: (y) => t(F)(e.value)
164
+ }, [n("span", null, l(e.label), 1), e.badge ? (s(), i("span", oe, l(e.badge), 1)) : o("", !0)], 10, re))), 128))])) : o("", !0), a.note ? (s(), i("p", ce, l(a.note), 1)) : o("", !0)]), j((s(), D(t(Y), {
165
+ loading: t(p),
166
+ tip: "数据加载中",
167
+ class: "PricingPlans__spin"
168
+ }, {
169
+ default: g(() => [t(_).length ? (s(), i("div", ue, [(s(!0), i(c, null, u(t(_), (e, y) => (s(), i("article", {
170
+ key: e.id,
171
+ class: v(["PricingPlans__card", {
172
+ "is-recommended": t(C)(e),
173
+ "is-current": t(b)(e)
174
+ }])
175
+ }, [n("div", _e, [(s(!0), i(c, null, u(t(A)(e), (r) => (s(), i("span", {
176
+ key: r.type,
177
+ class: v(["PricingPlans__badge", `is-${r.type}`])
178
+ }, l(r.label), 3))), 128))]), n("div", de, [n("h2", null, l(e.name), 1), n("p", null, l(e.description || K(y)), 1)]), n("div", ge, [t(B)(e) ? (s(), i("span", Pe, " ¥" + l(t(B)(e)), 1)) : o("", !0), d[0] || (d[0] = n("span", {
179
+ class: "PricingPlans__currency"
180
+ }, "¥", -1)), n("span", me, l(t(x)(e)), 1), n("span", fe, l(t(N)(e)), 1)]), t(I)(e) ? (s(), i("p", pe, l(t(I)(e)), 1)) : o("", !0), n("p", ye, l(t(V)(e, y)), 1), P(t(Z), {
181
+ long: "",
182
+ size: "large",
183
+ class: "PricingPlans__button",
184
+ type: t(C)(e) ? "primary" : "outline",
185
+ loading: t(E)(e),
186
+ disabled: !e.selectedPrice || t(b)(e),
187
+ onClick: (r) => t(z)(e)
188
+ }, {
189
+ default: g(() => [J(l(t(Q)(e)), 1)]),
190
+ _: 2
191
+ }, 1032, ["type", "loading", "disabled", "onClick"]), d[1] || (d[1] = n("div", {
192
+ class: "PricingPlans__divider"
193
+ }, null, -1)), n("div", ve, [(s(!0), i(c, null, u(t($)(e.features), (r) => (s(), i("section", {
194
+ key: r.title,
195
+ class: "PricingPlans__featureGroup"
196
+ }, [n("h3", null, l(r.title), 1), n("ul", he, [(s(!0), i(c, null, u(r.items, (w) => (s(), i("li", {
197
+ key: w.title
198
+ }, [P(t(ee), {
199
+ icon: "mingcute:check-circle-fill",
200
+ class: "PricingPlans__featureIcon"
201
+ }), n("span", null, l(w.title), 1)]))), 128))])]))), 128))])], 2))), 128))])) : t(p) ? o("", !0) : (s(), i("div", ke, " 当前暂无可订阅方案 "))]),
202
+ _: 1
203
+ }, 8, ["loading"])), [[O]])]);
204
+ };
205
+ }
206
+ }), Ae = /* @__PURE__ */ S(be, [["__scopeId", "data-v-68d43e94"]]);
207
+ export {
208
+ Ne as P,
209
+ Ae as a
210
+ };
@@ -0,0 +1,106 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ import { U as P } from "./index-D3Kp6R4z.js";
4
+ import { defineComponent as w, ref as d, openBlock as p, createBlock as v, unref as a, withCtx as g, createElementVNode as n, toDisplayString as _, createCommentVNode as z, createVNode as A, createTextVNode as U } from "vue";
5
+ import { Modal as D } from "@arco-design/web-vue";
6
+ import { e as T } from "./apiClients-DVz12LeW.js";
7
+ import { u as V } from "./useTableHandle-D71P3Ez_.js";
8
+ import { C as y } from "./CustomTable-BUkwlbzN.js";
9
+ import { C as E } from "./Clipboard-CRZDADLE.js";
10
+ import { a as M } from "./useAuthkitUsersProfile-CQGyvL7g.js";
11
+ import { _ as B } from "./_plugin-vue_export-helper-CHgC5LLL.js";
12
+ const H = {
13
+ class: "invite-code-section"
14
+ }, L = {
15
+ class: "invite-code-value"
16
+ }, O = /* @__PURE__ */ w({
17
+ __name: "ReferrerReferees",
18
+ emits: ["cancel"],
19
+ setup(W, {
20
+ expose: C,
21
+ emit: b
22
+ }) {
23
+ const h = b, {
24
+ pagination: t,
25
+ dataSource: c,
26
+ setPage: f
27
+ } = V("被邀请人"), {
28
+ userProfile: s
29
+ } = M(), x = [{
30
+ dataIndex: "email",
31
+ slotName: "email",
32
+ title: "被邀请人邮箱",
33
+ ellipsis: !0,
34
+ tooltip: !0
35
+ }, {
36
+ dataIndex: "createAt",
37
+ slotName: "createAt",
38
+ title: "创建日期",
39
+ ellipsis: !0,
40
+ tooltip: !0
41
+ }], o = d(!1);
42
+ async function u() {
43
+ o.value = !0;
44
+ const {
45
+ data: e
46
+ } = await T.referrer.referees.post({
47
+ current: t.value.current,
48
+ pageSize: t.value.pageSize
49
+ });
50
+ o.value = !1, e && (c.value = e.items, t.value.total = e.count);
51
+ }
52
+ function I(e) {
53
+ f(e, t.value.pageSize), u();
54
+ }
55
+ function S(e) {
56
+ f(t.value.current, e), u();
57
+ }
58
+ const r = d(!1);
59
+ function k() {
60
+ r.value = !1, h("cancel");
61
+ }
62
+ function N(e) {
63
+ r.value = e, e && u();
64
+ }
65
+ return C({
66
+ setData: N
67
+ }), (e, i) => (p(), v(a(D), {
68
+ visible: r.value,
69
+ "onUpdate:visible": i[0] || (i[0] = (l) => r.value = l),
70
+ title: "被邀请人详情",
71
+ width: a(P),
72
+ "ok-loading": o.value,
73
+ footer: !1,
74
+ "mask-closable": !1,
75
+ "unmount-on-close": "",
76
+ onCancel: k
77
+ }, {
78
+ default: g(() => {
79
+ var l, m;
80
+ return [n("div", H, [i[1] || (i[1] = n("div", {
81
+ class: "invite-code-label"
82
+ }, "我的邀请码:", -1)), n("div", L, [n("span", null, _(((l = a(s)) == null ? void 0 : l.referrerId) || "-"), 1), (m = a(s)) != null && m.referrerId ? (p(), v(E, {
83
+ key: 0,
84
+ value: a(s).referrerId,
85
+ message: "邀请码复制成功"
86
+ }, null, 8, ["value"])) : z("", !0)])]), A(y, {
87
+ columns: x,
88
+ data: a(c),
89
+ loading: o.value,
90
+ pagination: a(t),
91
+ onPageChange: I,
92
+ onPageSizeChange: S
93
+ }, {
94
+ email: g(({
95
+ record: R
96
+ }) => [U(_(R.refereeInfo.email || "-"), 1)]),
97
+ _: 1
98
+ }, 8, ["data", "loading", "pagination"])];
99
+ }),
100
+ _: 1
101
+ }, 8, ["visible", "width", "ok-loading"]));
102
+ }
103
+ }), ee = /* @__PURE__ */ B(O, [["__scopeId", "data-v-2bd03b9c"]]);
104
+ export {
105
+ ee as R
106
+ };
@@ -6,7 +6,7 @@
6
6
  /* empty css */
7
7
  import { defineComponent as g, openBlock as F, createBlock as h, unref as q, mergeProps as y, createSlots as I, withCtx as p, renderSlot as u } from "vue";
8
8
  import { Upload as S } from "@arco-design/web-vue";
9
- import { u as _ } from "./useUploadCos-DiJmmbRf.js";
9
+ import { u as _ } from "./useUploadCos-N5pim6q1.js";
10
10
  const N = /* @__PURE__ */ g({
11
11
  __name: "Upload",
12
12
  props: {