@huyooo/ui 0.11.6 → 0.11.7
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.
- package/dist/{AuthkitAppSetting-CjQiWZab.js → AuthkitAppSetting-DrX6fwKt.js} +7 -6
- package/dist/{useEnsureAuthenticated-C_Ss0e9n.js → AuthkitGithubBinding-r2oVuCSV.js} +631 -680
- package/dist/PricingPlans-Cf20-GqK.js +251 -0
- package/dist/{ReferrerReferees-CHSoGrE1.js → ReferrerReferees-B-ISyXHw.js} +1 -1
- package/dist/{UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-B4tD8pIE.js → UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-Czix4_tj.js} +3 -3
- package/dist/{WidthContainer-BzS-A143.js → WidthContainer-CYYbzXj0.js} +16 -15
- package/dist/authkit.js +30 -28
- package/dist/common.js +1 -1
- package/dist/composables/Billing/useBillingPlans.d.ts +29 -1
- package/dist/composables.js +41 -40
- package/dist/main.js +228 -226
- package/dist/pay.js +2 -2
- package/dist/referrer.js +1 -1
- package/dist/style.css +1 -1
- package/dist/useAuthkitAuth-Doj5VYjK.js +170 -0
- package/dist/useAuthkitUsersProfile-FJnHJad-.js +36 -0
- package/dist/useEnsureAuthenticated-D78tsddF.js +56 -0
- package/dist/{useSEO--jTDDkXk.js → useSEO-BZhVKEZr.js} +1 -1
- package/dist/useSubscriptionCheckout-BubIsxjO.js +386 -0
- package/dist/user.js +1 -1
- package/package.json +1 -1
- package/dist/PricingPlans-BfVy4xU0.js +0 -210
- package/dist/useAuthkitUsersProfile-D4h6OOdR.js +0 -201
- package/dist/useSubscriptionCheckout-CQ6wHuLI.js +0 -345
|
@@ -1,210 +0,0 @@
|
|
|
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-CQ6wHuLI.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
|
-
};
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { ref as t, readonly as A, computed as E } from "vue";
|
|
2
|
-
import { e as d } from "./apiClients-KFp-rs-C.js";
|
|
3
|
-
const c = t("signIn"), S = /* @__PURE__ */ new Set(), k = /* @__PURE__ */ new Set(), y = /* @__PURE__ */ new Set(), P = /* @__PURE__ */ new Set(), s = t(null), I = "jwtToken";
|
|
4
|
-
function T() {
|
|
5
|
-
try {
|
|
6
|
-
const e = localStorage.getItem(I);
|
|
7
|
-
if (e)
|
|
8
|
-
return s.value = e, !0;
|
|
9
|
-
} catch (e) {
|
|
10
|
-
console.warn("Failed to access localStorage:", e);
|
|
11
|
-
}
|
|
12
|
-
return !1;
|
|
13
|
-
}
|
|
14
|
-
function O() {
|
|
15
|
-
try {
|
|
16
|
-
const e = new URL(window.location.href), o = e.searchParams.get("token");
|
|
17
|
-
if (!o) return !1;
|
|
18
|
-
const i = e.searchParams.get("userId"), u = e.searchParams.get("appId"), r = e.searchParams.get("needBindIdentity") === "true";
|
|
19
|
-
h(o), ["token", "userId", "appId", "needBindIdentity"].forEach((p) => e.searchParams.delete(p));
|
|
20
|
-
const g = `${e.pathname}${e.search}${e.hash}`;
|
|
21
|
-
return window.history.replaceState({}, "", g), v({
|
|
22
|
-
jwtToken: o,
|
|
23
|
-
userId: i,
|
|
24
|
-
appId: u,
|
|
25
|
-
needBindIdentity: r
|
|
26
|
-
}), !0;
|
|
27
|
-
} catch (e) {
|
|
28
|
-
return console.warn("Failed to handle OAuth callback:", e), !1;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function V() {
|
|
32
|
-
return O() ? !0 : T();
|
|
33
|
-
}
|
|
34
|
-
function j() {
|
|
35
|
-
return s.value || T() ? s.value : null;
|
|
36
|
-
}
|
|
37
|
-
function h(e) {
|
|
38
|
-
s.value = e;
|
|
39
|
-
try {
|
|
40
|
-
localStorage.setItem(I, e);
|
|
41
|
-
} catch (o) {
|
|
42
|
-
console.warn("Failed to save token to localStorage:", o);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function b(e) {
|
|
46
|
-
h(e.jwtToken), v(e);
|
|
47
|
-
}
|
|
48
|
-
function F() {
|
|
49
|
-
s.value = null;
|
|
50
|
-
try {
|
|
51
|
-
localStorage.removeItem(I);
|
|
52
|
-
} catch (e) {
|
|
53
|
-
console.warn("Failed to clear localStorage:", e);
|
|
54
|
-
}
|
|
55
|
-
$();
|
|
56
|
-
}
|
|
57
|
-
function w(e, o) {
|
|
58
|
-
return e.add(o), () => {
|
|
59
|
-
e.delete(o);
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function v(e) {
|
|
63
|
-
S.forEach((o) => {
|
|
64
|
-
o(e);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
function R() {
|
|
68
|
-
k.forEach((e) => void e());
|
|
69
|
-
}
|
|
70
|
-
function B() {
|
|
71
|
-
y.forEach((e) => void e());
|
|
72
|
-
}
|
|
73
|
-
function $() {
|
|
74
|
-
P.forEach((e) => void e());
|
|
75
|
-
}
|
|
76
|
-
function K(e) {
|
|
77
|
-
return w(S, e);
|
|
78
|
-
}
|
|
79
|
-
function N(e) {
|
|
80
|
-
return w(k, e);
|
|
81
|
-
}
|
|
82
|
-
function _(e) {
|
|
83
|
-
return w(y, e);
|
|
84
|
-
}
|
|
85
|
-
function x(e) {
|
|
86
|
-
return w(P, e);
|
|
87
|
-
}
|
|
88
|
-
function C() {
|
|
89
|
-
const e = t(!1), o = t(!1), i = t(!1);
|
|
90
|
-
async function u(n) {
|
|
91
|
-
e.value = !0;
|
|
92
|
-
const {
|
|
93
|
-
data: a
|
|
94
|
-
} = await d.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
|
-
e.value = !1, a && (h(a.jwtToken), v(a));
|
|
102
|
-
}
|
|
103
|
-
async function r(n) {
|
|
104
|
-
o.value = !0;
|
|
105
|
-
const {
|
|
106
|
-
error: a
|
|
107
|
-
} = n.type === "phone" ? await d.auth.signUp.phone.post({
|
|
108
|
-
phone: n.phone || "",
|
|
109
|
-
code: n.code || "",
|
|
110
|
-
password: n.password,
|
|
111
|
-
referrerId: n.referrerId
|
|
112
|
-
}) : await d.auth.signUp.post({
|
|
113
|
-
email: n.email || "",
|
|
114
|
-
userToken: n.userToken || "",
|
|
115
|
-
emailVerifyId: n.emailVerifyId || "",
|
|
116
|
-
password: n.password || "",
|
|
117
|
-
referrerId: n.referrerId
|
|
118
|
-
});
|
|
119
|
-
o.value = !1, a || (c.value = "signIn", R());
|
|
120
|
-
}
|
|
121
|
-
async function g(n) {
|
|
122
|
-
i.value = !0;
|
|
123
|
-
const {
|
|
124
|
-
error: a
|
|
125
|
-
} = await d.auth.resetPassword.post({
|
|
126
|
-
method: n.method || "email",
|
|
127
|
-
email: n.email,
|
|
128
|
-
phone: n.phone,
|
|
129
|
-
userToken: n.userToken,
|
|
130
|
-
code: n.code,
|
|
131
|
-
emailVerifyId: n.emailVerifyId,
|
|
132
|
-
password: n.password
|
|
133
|
-
});
|
|
134
|
-
i.value = !1, a || (c.value = "signIn", B());
|
|
135
|
-
}
|
|
136
|
-
function p() {
|
|
137
|
-
c.value = "signUp";
|
|
138
|
-
}
|
|
139
|
-
function U() {
|
|
140
|
-
c.value = "resetPassword";
|
|
141
|
-
}
|
|
142
|
-
function L() {
|
|
143
|
-
c.value = "signIn";
|
|
144
|
-
}
|
|
145
|
-
return {
|
|
146
|
-
signInSubmit: u,
|
|
147
|
-
signUpSubmit: r,
|
|
148
|
-
resetPasswordSubmit: g,
|
|
149
|
-
currentView: c,
|
|
150
|
-
authSignInLoading: e,
|
|
151
|
-
authSignUpLoading: o,
|
|
152
|
-
resetPasswordLoading: i,
|
|
153
|
-
switchSignUp: p,
|
|
154
|
-
switchResetPassword: U,
|
|
155
|
-
switchSignIn: L,
|
|
156
|
-
onSignIn: K,
|
|
157
|
-
onSignUp: N,
|
|
158
|
-
onResetPassword: _,
|
|
159
|
-
onSignOut: x,
|
|
160
|
-
jwtToken: A(s),
|
|
161
|
-
getToken: j,
|
|
162
|
-
setToken: h,
|
|
163
|
-
completeSignIn: b,
|
|
164
|
-
restoreSession: V,
|
|
165
|
-
clearAuth: F
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
const l = t(null), m = t(!1), f = t(!1), G = E(() => !!l.value);
|
|
169
|
-
async function Y() {
|
|
170
|
-
const {
|
|
171
|
-
getToken: e,
|
|
172
|
-
clearAuth: o
|
|
173
|
-
} = C();
|
|
174
|
-
if (!e()) {
|
|
175
|
-
console.warn("No authentication token found"), l.value = null;
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
m.value = !0, f.value = !1;
|
|
179
|
-
const {
|
|
180
|
-
data: u,
|
|
181
|
-
error: r
|
|
182
|
-
} = await d.users.profile.post({});
|
|
183
|
-
m.value = !1, u ? (l.value = u, f.value = !0) : (l.value = null, f.value = !1, ((r == null ? void 0 : r.code) === 401 || (r == null ? void 0 : r.code) === 40101) && (console.warn("认证已过期,清除认证状态"), o()));
|
|
184
|
-
}
|
|
185
|
-
function q() {
|
|
186
|
-
l.value = null;
|
|
187
|
-
}
|
|
188
|
-
function H() {
|
|
189
|
-
return {
|
|
190
|
-
userProfile: l,
|
|
191
|
-
loading: m,
|
|
192
|
-
usersProfileSuccess: f,
|
|
193
|
-
isLoggedIn: G,
|
|
194
|
-
fetchUserProfile: Y,
|
|
195
|
-
clearUserProfile: q
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
export {
|
|
199
|
-
H as a,
|
|
200
|
-
C as u
|
|
201
|
-
};
|