Your Name 1912bcd25b
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
chore: sync all remaining local workspace changes
2026-05-08 11:26:57 +08:00

1525 lines
52 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Extracted from browser-delivered Turbopack chunk: 5d5b47876e53e564.da1ba52a93.js
* Module id: 623082
* For reading/searching only; this factory depends on the original Turbopack runtime.
*/
const moduleFactory = (e) => {
"use strict";
var t = e.i(462214),
r = e.i(358379),
n = e.i(731088),
o = e.i(291487);
e.i(606823);
var a = e.i(471454),
i = e.i(49914),
l = e.i(841183);
e.i(370357);
var s = e.i(557971),
c = e.i(436178),
u = e.i(185264);
e.i(693602);
var d = e.i(499744),
f = e.i(373518),
m = e.i(575117),
p = e.i(357303),
h = e.i(424868),
g = e.i(327728),
b = e.i(711400),
v = e.i(605575);
let _ = () =>
(0, t.jsx)("svg", {
width: "16",
height: "16",
viewBox: "0 0 16 16",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: (0, t.jsx)("path", {
d: "M3.404 3.404L12.596 12.596M12.596 3.404L3.404 12.596",
stroke: "currentColor",
strokeWidth: "1.2",
strokeLinecap: "round",
}),
}),
y = ({
visible: e,
onClose: n,
onSuccess: o,
memberId: a,
skuName: i,
}) => {
let [l, s] = (0, r.useState)(!1),
{ syncVipInfo: c } = (0, u.vipInfoStore)(),
d = (0, r.useCallback)(async () => {
s(!0);
try {
let e = await (0, f.changeAccountSource)({ memberId: a });
0 === e.code
? (await c(), n(), o())
: b.message.error(e.msg || "切换失败,请稍后重试");
} catch {
b.message.error("网络错误,请稍后重试");
} finally {
s(!1);
}
}, [a, c, n, o]);
return (0, t.jsx)(h.Modal, {
open: e,
footer: null,
width: 480,
centered: !0,
zIndex: 610,
closable: !1,
className: v.default.modalWrapper,
styles: { content: { padding: 0 } },
destroyOnHidden: !0,
children: (0, t.jsxs)("div", {
className: v.default.container,
children: [
(0, t.jsx)("div", {
className: v.default.closeBtn,
onClick: n,
children: (0, t.jsx)(_, {}),
}),
(0, t.jsxs)("div", {
className: v.default.content,
children: [
(0, t.jsx)("p", {
className: v.default.title,
children: "切换为独立团队模式",
}),
(0, t.jsx)("p", {
className: v.default.description,
children: "切换后会员时长与积分不变",
}),
(0, t.jsxs)("ul", {
className: v.default.benefitList,
children: [
(0, t.jsx)("li", {
className: v.default.benefitItemEnphasis,
children: "解锁 Seedance 2.0 使用权益",
}),
(0, t.jsx)("li", {
children: "- 可邀请同事加入,最高得 1100 条免费生成",
}),
],
}),
],
}),
(0, t.jsx)("div", { className: v.default.divider }),
(0, t.jsxs)("div", {
className: v.default.actions,
children: [
(0, t.jsx)("button", {
className: v.default.cancelBtn,
onClick: n,
children: "暂不切换",
}),
(0, t.jsx)(g.Tooltip, {
title: (0, t.jsxs)(t.Fragment, {
children: [
"本次切换不会直接赠送 Seedance 2.0 免费生成条数。",
(0, t.jsx)("br", {}),
"后续购买会员或邀请好友成功下单后,可按活动规则获得赠送。",
],
}),
placement: "top",
children: (0, t.jsx)("button", {
className: v.default.confirmBtn,
onClick: d,
disabled: l,
children: l ? "切换中..." : "确认切换",
}),
}),
],
}),
],
}),
});
};
var x = e.i(557604);
let C = {
5: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/7ce00f83-fc3c-4899-8070-22f24657dc61.svg",
6: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/c074a64e-2ed7-4c67-bcf2-1e80af486db0.svg",
},
E = [
{ level: 6, name: "尊享年", reward: 100 },
{ level: 5, name: "旗舰年", reward: 40 },
],
S = ({ onCopyLink: e }) =>
(0, t.jsxs)("div", {
className: x.default.inviteCard,
children: [
(0, t.jsxs)("div", {
className: x.default.inviteCardBody,
children: [
(0, t.jsxs)("p", {
className: x.default.inviteCountText,
children: [
"邀请 ",
(0, t.jsx)("span", {
className: x.default.inviteCountNum,
children: "1",
}),
" 人",
],
}),
(0, t.jsx)("div", {
className: x.default.inviteRewardList,
children: E.map((e) =>
(0, t.jsxs)(
"div",
{
className: x.default.inviteRewardItem,
children: [
(0, t.jsx)("span", { children: "购买" }),
C[e.level] &&
(0, t.jsx)("img", {
className: x.default.inviteRewardIcon,
src: C[e.level],
alt: "",
}),
(0, t.jsx)("span", { children: e.name }),
(0, t.jsxs)("span", {
children: [
" ",
"你得 ",
(0, t.jsx)("span", {
className: x.default.inviteRewardAmount,
children: e.reward,
}),
" 条 Seedance 2.0",
],
}),
],
},
e.level,
),
),
}),
],
}),
(0, t.jsxs)("div", {
className: x.default.inviteActionSection,
children: [
(0, t.jsxs)("div", {
className: x.default.inviteActionBtnWrap,
children: [
(0, t.jsx)("button", {
type: "button",
className: x.default.inviteActionBtn,
onClick: e,
children: "立即邀请",
}),
(0, t.jsx)("div", {
className: x.default.inviteActionBadge,
children: "被邀请额外得10条",
}),
],
}),
(0, t.jsx)("p", {
className: x.default.inviteActionSubtext,
children: "点击按钮复制专属分享链接",
}),
],
}),
],
}),
w = ({
sku: e,
inviteLink: n,
onClose: o,
successTitle: a,
isJoinMode: i,
}) => {
let l,
s,
c =
((l =
{
2: "基础版",
3: "专业版",
4: "大师版",
5: "旗舰版",
6: "尊享版",
}[e.packageLevel] || ""),
(s =
{ 1: "连续包月", 2: "年包", 3: "单月", 4: "连续包年" }[e.type] ||
""),
`${l}${s}`),
[u, d] = (0, r.useState)(""),
f = (0, r.useCallback)(() => {
let e = (e) => {
let t = document.createElement("textarea");
(t.value = e),
(t.style.cssText = "position:fixed;left:-9999px"),
document.body.appendChild(t),
t.select(),
document.execCommand("copy"),
document.body.removeChild(t);
},
t = () => {
d("链接已复制"), setTimeout(() => d(""), 2e3);
};
navigator.clipboard
? navigator.clipboard
.writeText(n)
.then(t)
.catch(() => {
e(n), t();
})
: (e(n), t());
}, [n]);
return (0, t.jsxs)("div", {
className: x.default.container,
children: [
u &&
(0, t.jsxs)("div", {
className: x.default.toast,
children: [
(0, t.jsx)("span", {
className: x.default.toastIcon,
"aria-hidden": !0,
children: (0, t.jsxs)("svg", {
width: "18",
height: "18",
viewBox: "0 0 18 18",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: [
(0, t.jsx)("circle", {
cx: "9",
cy: "9",
r: "9",
fill: "white",
}),
(0, t.jsx)("path", {
d: "M5.25 9.2L7.75 11.6L12.6 6.8",
stroke: "#121212",
strokeWidth: "1.8",
strokeLinecap: "round",
strokeLinejoin: "round",
}),
],
}),
}),
u,
],
}),
(0, t.jsxs)("div", {
className: x.default.successHeader,
children: [
(0, t.jsx)("p", {
className: x.default.successTitle,
children:
a || (i ? "支付成功,已加入团队" : "支付成功,团队已创建"),
}),
(0, t.jsxs)("p", {
className: x.default.successSubtitle,
children: [
"恭喜您开通 ",
(0, t.jsx)("span", {
className: x.default.highlight,
children: c,
}),
],
}),
],
}),
(0, t.jsxs)("div", {
className: x.default.inviteSection,
children: [
(0, t.jsx)(S, { onCopyLink: f }),
(0, t.jsx)("div", {
className: x.default.noteText,
children:
"本团队版为独立管理版本,成员之间资产独立管理,如需统一管理请购买统一管理版",
}),
],
}),
(0, t.jsx)("div", {
className: x.default.closeBtn,
onClick: o,
children: (0, t.jsx)("svg", {
width: "16",
height: "16",
viewBox: "0 0 16 16",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: (0, t.jsx)("path", {
d: "M4 4L12 12M12 4L4 12",
stroke: "currentColor",
strokeWidth: "1.5",
strokeLinecap: "round",
strokeLinejoin: "round",
}),
}),
}),
],
});
},
k = ({
visible: e,
sku: r,
teamName: n,
inviteLink: o,
onClose: a,
successTitle: i,
isJoinMode: l,
}) =>
e && r
? (0, t.jsx)(h.Modal, {
open: !0,
footer: null,
width: 559,
centered: !0,
zIndex: 602,
closable: !1,
className: x.default.modalStyle,
styles: { content: { padding: 0 } },
children: (0, t.jsx)(w, {
sku: r,
teamName: n || "-",
inviteLink: o || "-",
onClose: a,
successTitle: i,
isJoinMode: l,
}),
})
: null;
var j = e.i(213306),
P = e.i(68173);
let R = (e) => {
let n,
{
member: h,
handleOpenQRCodeModal: g,
selectedSkuId: b,
setSelectedSkuId: v,
groupPurchaseInvite: _,
} = e,
{ vipInfo: x, countDown: C } = (0, u.vipInfoStore)(),
[E, S] = (0, r.useState)(!1),
[w, R] = (0, r.useState)(!1),
[N, $] = (0, r.useState)(),
[O, T] = (0, r.useState)(),
M = (0, r.useCallback)(async () => {
let [, e] = await Promise.allSettled([
s.useAccountStore.getState().loadAccountList(),
(0, f.getInviteCode)(f.TEAM_FISSION_BATCH_NO),
]),
t = s.useAccountStore
.getState()
.accountList.find((e) => e.isActive);
if ((t?.accountName && $(t.accountName), "fulfilled" === e.status)) {
let t = e.value?.data;
if (Array.isArray(t) && t.length > 0) {
let e = t[0];
e?.inviteCode &&
T(`https://www.liblib.tv/?invite=${e.inviteCode}`);
}
}
R(!0);
}, []),
I = (0, r.useCallback)(() => {
R(!1), $(void 0), T(void 0);
}, []),
{
isTeamLeader: A,
isTeamUser: L,
isUltimateUser: B,
isFlagshipUser: D,
isMasterUser: H,
isSpecialUser: z,
isTeamMember: W,
} = (0, l.useUserIdentificationHooks)(),
F = (0, d.calcTokenPrice)(h),
U = (0, m.default)(h?.firstMonthPrice, 100),
{
teamMembershipLevels: G,
groupPurchaseMembershipLevels: q,
commercialConfig: X,
} = (0, c.useCommercialStore)(),
K = X?.skuPromoteLabel || {},
{
isFreeSku: V,
isUltimateSku: Y,
renewTips: Q,
} = (0, i.useSkuConvertHooks)(h),
Z = (0, r.useMemo)(
() =>
V ? null : (0, d.calcCheaperThanRechargePercent)(parseFloat(F)),
[V, F],
),
{ accountList: J } = (0, a.useAccountHooks)(),
ee = 2 === Number(h.source),
et = ee && !!_,
er = (0, r.useMemo)(() => {
if (!ee || !x?.effective) return null;
let e =
2 !== x.source && x.memPkgId === h.id
? { memberId: x.memberId }
: null;
if (e) return e;
let t = x.freezeMemberList?.find(
(e) => 2 !== e.source && e.memPkgId === h.id,
);
return t?.memberId ? { memberId: t.memberId } : null;
}, [
ee,
x?.effective,
x?.source,
x?.memPkgId,
x?.memberId,
x?.freezeMemberList,
h.id,
]),
en = (0, r.useMemo)(() => {
if (ee)
return er
? "独立团队"
: 1 === h.state
? "不可降级购买"
: et
? "加入团队"
: "创建团队";
if (x?.memPkgId === h?.id && x?.effective)
if (W) return "联系管理员续购";
else return "立即续购";
if (h?.state === 1)
if (B) return `您已是团队尊享会员`;
else if (D) return `您已是团队旗舰会员`;
else if (H) return `您已是团队大师会员`;
else if (z) return `您已是团队专业会员`;
else if (J?.length === 6) return `已达到最大团队数量`;
else return `未知情况`;
if (2 === h.state)
if (W) return "联系管理员开通";
else return "开通团队会员";
if (3 !== h.state) return "未知情况";
if (W) return "联系管理员升级";
else return "升级购买";
}, [h, x, L, J?.length, ee, et]),
eo = (0, r.useMemo)(
() =>
[
"立即续购",
"开通团队会员",
"升级购买",
"创建团队",
"加入团队",
"独立团队",
].includes(en),
[en],
),
ea = (0, d.calcSkuName)(h.packageLevel),
ei = !eo,
el = 0 !== h.packageLevel,
es = !el,
ec = (0, r.useMemo)(() => {
switch (h.packageLevel) {
case 0:
default:
return { bgStyle: P.default.freeLevel };
case 2:
return {
bgStyle: P.default.baseLevel,
icon: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/0b0032ae-b0c6-4e04-86c9-b51ac2b2004f.svg",
};
case 3:
return {
bgStyle: P.default.proLevel,
icon: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/1ea653ef-2cb6-4855-9df7-b19a3ce0bf6d.svg",
};
case 4:
return {
bgStyle: P.default.materLevel,
icon: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/10a112cd-9fa7-402c-9198-8e2dcd9bba18.svg",
};
case 5:
return {
bgStyle: P.default.premiumLevel,
icon: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/7ce00f83-fc3c-4899-8070-22f24657dc61.svg",
};
case 6:
return {
bgStyle: P.default.ssuperLevel,
icon: o.STATIC_CDN_MAP["ssuper_vip.svg"],
};
}
}, [h]),
eu = (0, r.useMemo)(() => 2 === h.type, [h]),
ed = (0, r.useMemo)(
() =>
ei
? P.default.disabledBtn
: Y
? P.default.premiumLevelBtn
: P.default.becomeVipBtn,
[Y],
),
ef = (0, r.useMemo)(
() => (ee ? h.id.toString() : eu ? `${h.id}_year` : h.id.toString()),
[eu, ee],
),
em = eu ? U / 12 : U;
return (0, t.jsxs)("div", {
className: `${P.default.container} ${ec.bgStyle}`,
onClick: () => v?.(h.id),
children: [
(0, t.jsxs)("div", {
className: `${P.default.contentContainer} `,
children: [
(0, t.jsxs)("div", {
className: P.default.header,
children: [
(0, t.jsxs)("div", {
className: "flex items-center ",
children: [
h.packageLevel > 1 &&
(0, t.jsx)("img", {
src: ec.icon,
width: 20,
height: 20,
style: { marginRight: 4 },
}),
(0, t.jsx)("span", {
className: P.default.skuName,
children: ea,
}),
(0, t.jsx)("div", { className: "flex-1" }),
K[h.id] &&
(0, t.jsx)("div", {
className: P.default.promoteLabel,
children: K[h.id],
}),
],
}),
(0, t.jsxs)("div", {
className: P.default.rmb,
children: [
(0, t.jsx)("span", {
className: P.default.rmbIcon,
children: "¥",
}),
(0, t.jsx)("span", {
className: P.default.rmbNumber,
children: U,
}),
ee &&
(0, t.jsxs)("span", {
className: P.default.rmbPeriod,
children: ["/", eu ? "年" : "月"],
}),
h?.originalPrice > 0 &&
el &&
(0, t.jsxs)("span", {
className: P.default.rmbOrigin,
children: [
"¥",
(0, m.default)(h?.originalPrice, 100),
],
}),
],
}),
(0, t.jsx)("div", {
className: "mb-6 w-fit",
style: {
fontSize: 12,
color: "var(--vip-text-secondary, #424242)",
marginTop: 12,
opacity: +!es,
},
children: ee
? `${Q ? Q + "," : ""}${F}元/100积分`
: `${em.toFixed(0)}/月/人起,${F}元/100积分`,
}),
],
}),
(0, t.jsxs)("div", {
className: `${ei ? P.default.disabledBtn : et ? (Y ? P.default.groupInviteBtnUltimate : P.default.groupInviteBtn) : ed}`,
onClick: (e) => {
if ((e.stopPropagation(), !ei)) {
if (er) return void S(!0);
g(en);
}
},
children: [
["创建团队", "独立团队", "加入团队"].includes(en)
? "立即开通"
: en || "立即开通",
h.cornerMark &&
(0, t.jsx)("div", {
className: `${P.default.cornerMark} right-0`,
children: h.cornerMark,
}),
],
}),
],
}),
(n = ee ? q : G) &&
(0, t.jsx)("div", {
className: "mt-5",
children: (0, t.jsx)(j.default, {
benefits: (0, p.getMembershipBenefits)(ef, n) || [],
packageLevel: h.packageLevel,
isTeamSku: !0,
cheaperThanRechargePercent: Z,
isGroupPurchaseTab: ee,
groupPurchaseInvite: _,
}),
}),
er &&
(0, t.jsx)(y, {
visible: E,
onClose: () => S(!1),
onSuccess: M,
memberId: er.memberId,
skuName: (0, d.calcSkuName)(h.packageLevel),
}),
(0, t.jsx)(k, {
visible: w,
sku: h,
teamName: N,
inviteLink: O,
onClose: I,
successTitle: "切换成功,团队已开启",
}),
],
});
};
e.s(["default", 0, R], 807788);
var N = e.i(963527),
$ = e.i(995422),
O = e.i(388890),
T = e.i(385532),
M = e.i(539318);
e.s(
[
"useTeamSkuList",
0,
(e) => {
let {
handleOpenQRCodeModal: o,
showQaNode: a = !0,
defaultGroupPurchaseTab: i,
defaultYearlyTeamTab: s,
groupPurchaseInvite: u,
showPointsStoreEntry: d = !0,
} = e,
{ isTeamMember: f } = (0, l.useUserIdentificationHooks)(),
{ teamPackagesList: m } = (0, c.useCommercialStore)(),
p = (0, r.useMemo)(
() =>
$.isLiblib
? O.teamTabTitle.filter((e) => void 0 === e.source)
: O.teamTabTitle,
[],
),
h = (0, r.useMemo)(() => {
if (i) {
let e = p.findIndex((e) => 2 === e.source);
if (e >= 0) return e;
}
if (s) {
let e = p.findIndex((e) => 2 === e.type && void 0 === e.source);
if (e >= 0) return e;
}
return 0;
}, [i, s, p]),
[g, b] = (0, r.useState)(h),
v = (0, r.useRef)(null),
[_, y] = (0, r.useState)(null),
[x, C] = (0, r.useState)(!1),
[E, S] = (0, r.useState)(!1),
[w, k] = (0, r.useState)(!1);
(0, r.useEffect)(() => {
if (i) {
let e = p.findIndex((e) => 2 === e.source);
if (e >= 0) return void b(e);
}
if (s) {
let e = p.findIndex((e) => 2 === e.type && void 0 === e.source);
if (e >= 0) return void b(e);
}
let e = p.findIndex((e) => void 0 === e.source);
e >= 0 && g >= p.length && b(e);
}, [p, i, s]);
let j = [111, 113, 118, 120],
P = (0, r.useMemo)(() => {
if (!m) return [];
let e = p[g];
if (!e) return [];
if (void 0 !== e.source) {
let t = m.filter((t) => Number(t.source) === Number(e.source));
return u ? t.filter((e) => j.includes(Number(e.id))) : t;
}
return m.filter(
(t) => t.type === e.type && 2 !== Number(t.source),
);
}, [m, g, p, u]),
I = 2 === Number(p[g]?.source),
A = (0, r.useMemo)(
() =>
P.map((e) =>
(0, t.jsx)(
R,
{
member: e,
handleOpenQRCodeModal: (t) => o(e, t),
groupPurchaseInvite: I ? u : void 0,
},
e.id,
),
),
[P, I, u],
),
L = (0, r.useCallback)(() => {
let e = v.current;
e &&
(C(e.scrollWidth - e.clientWidth > 1),
S(e.scrollLeft > 1),
k(e.scrollLeft + e.clientWidth < e.scrollWidth - 1));
}, []),
B = (0, r.useRef)(!1),
D = (0, r.useRef)();
(0, r.useLayoutEffect)(() => {
if (!_) return;
B.current = !1;
let e = new ResizeObserver(() => {
!B.current &&
_.scrollWidth > _.clientWidth &&
((_.scrollLeft = _.scrollWidth),
clearTimeout(D.current),
(D.current = setTimeout(() => {
B.current = !0;
}, 150))),
L();
});
return (
e.observe(_),
L(),
() => {
e.disconnect(), clearTimeout(D.current);
}
);
}, [_, L, P, g]);
let H = (0, r.useCallback)((e) => {
let t = v.current;
t &&
t.scrollBy({
left: "left" === e ? -292 : 292,
behavior: "smooth",
});
}, []);
return {
refreshTeamList: () => {},
isGroupPurchaseTab: I,
dom: (0, t.jsx)(t.Fragment, {
children: (0, t.jsxs)(
"div",
{
className: "w-full relative z-10 flex flex-col items-center",
children: [
!u &&
(0, t.jsxs)("div", {
className: M.default.tabRowWithPointsStore,
children: [
(0, t.jsx)("div", {
className: M.default.tabRowLead,
"aria-hidden": !0,
}),
(0, t.jsx)("div", {
className: M.default.tabRowCenter,
children: (0, t.jsx)(O.LevelTab, {
list: m,
selectedIndex: g,
onTabClick: b,
tabTitle: p,
}),
}),
(0, t.jsx)("div", {
className: M.default.tabRowTrail,
children:
d && !f
? (0, t.jsx)(n.PointsStoreEntry, {
variant: "inline",
onClick: () =>
(0, N.openVipModel)({
intent: "purchase_vip",
isShowChargePop: !0,
chargeType: 2,
}),
})
: null,
}),
],
}),
I &&
u &&
(0, t.jsxs)("div", {
className: M.default.inviteContextBar,
children: [
(0, t.jsx)("img", {
className: M.default.inviteContextAvatar,
src: u.inviterAvatar,
alt: "",
}),
(0, t.jsx)("span", {
className: M.default.inviteContextNickname,
children: u.inviterNickname,
}),
(0, t.jsx)("span", {
className: M.default.inviteContextText,
children:
"邀请你加入团队,虚位以待,来共同创建你们的创意工作室吧 !",
}),
],
}),
A.length > 0
? (0, t.jsxs)("div", {
className: `${M.default.vipPurchaseWrap} ${x && E ? M.default.shadowLeft : ""} ${x && w ? M.default.shadowRight : ""}`,
children: [
x &&
E &&
(0, t.jsx)("button", {
className: `${M.default.iconButton} ${M.default.leftButton}`,
onClick: () => H("left"),
type: "button",
children: (0, t.jsx)(T.ChevronRightIcon, {
style: { transform: "rotate(180deg)" },
}),
}),
(0, t.jsx)("div", {
className: `${M.default.vipPurchase} ${x ? M.default.scrollable : ""}`,
onScroll: L,
ref: (e) => {
(v.current = e), y(e), e && L();
},
children: A,
}),
x &&
w &&
(0, t.jsx)("button", {
className: `${M.default.iconButton} ${M.default.rightButton}`,
onClick: () => H("right"),
type: "button",
children: (0, t.jsx)(T.ChevronRightIcon, {}),
}),
],
})
: (0, t.jsx)("div", {}),
(0, t.jsx)("div", { className: "relative" }),
I &&
(0, t.jsxs)("div", {
className: M.default.groupPurchaseFooter,
children: [
"会员每月算力和加速特权按月下发,有效期31天,到期重置。会员模型下载次数上限为每月200次 开发票路径:订阅与开票 ",
">",
" 购买记录 ",
">",
" 开票 联系我们,企业合作需求也可直接联系",
" ",
(0, t.jsx)("a", {
href: "mailto:bd@liblib.ai",
className: M.default.footerLink,
children: "bd@liblib.ai",
}),
(0, t.jsx)("br", {}),
"更多问题可见帮助中心",
],
}),
],
},
"team",
),
}),
};
},
],
9659,
);
var I = e.i(192830),
A = e.i(403557),
L = e.i(389435);
function B(e, t) {
return (r) => {
if ("string" != typeof r || 0 === r.trim().length) throw Error(t);
return `${e}-${r}`;
};
}
var D = e.i(855698),
H = e.i(938202);
e.i(7284);
var z = e.i(479324),
W = e.i(450943),
F = e.i(124859),
U = e.i(593307),
G = e.i(559394);
let [q, X] = (0, G.createSafeContext)(
"Accordion component was not found in the tree",
);
var K = {
root: "m_9bdbb667",
panel: "m_df78851f",
content: "m_4ba554d4",
itemTitle: "m_8fa820a0",
control: "m_4ba585b8",
"control--default": "m_6939a5e9",
"control--contained": "m_4271d21b",
label: "m_df3ffa0f",
chevron: "m_3f35ae96",
icon: "m_9bd771fe",
item: "m_9bd7b098",
"item--default": "m_fe19b709",
"item--contained": "m_1f921b3b",
"item--filled": "m_2cdf939a",
"item--separated": "m_9f59b069",
},
V = e.i(622983),
Y = e.i(958133),
Q = e.i(606227);
let [Z, J] = (0, G.createSafeContext)(
"Accordion.Item component was not found in the tree",
),
ee = (0, U.factory)((e, r) => {
let {
classNames: n,
className: o,
style: a,
styles: i,
vars: l,
chevron: s,
icon: c,
onClick: u,
onKeyDown: d,
children: f,
disabled: m,
mod: p,
...h
} = (0, z.useProps)("AccordionControl", null, e),
{ value: g } = J(),
b = X(),
v = b.isItemActive(g),
_ = "number" == typeof b.order,
y = `h${b.order}`,
x = (0, t.jsxs)(Q.UnstyledButton, {
...h,
...b.getStyles("control", {
className: o,
classNames: n,
style: a,
styles: i,
variant: b.variant,
}),
unstyled: b.unstyled,
mod: [
"accordion-control",
{ active: v, "chevron-position": b.chevronPosition, disabled: m },
p,
],
ref: r,
onClick: (e) => {
u?.(e), b.onChange(g);
},
type: "button",
disabled: m,
"aria-expanded": v,
"aria-controls": b.getRegionId(g),
id: b.getControlId(g),
onKeyDown: (0, Y.createScopedKeydownHandler)({
siblingSelector: "[data-accordion-control]",
parentSelector: "[data-accordion]",
activateOnFocus: !1,
loop: b.loop,
orientation: "vertical",
onKeyDown: d,
}),
children: [
(0, t.jsx)(F.Box, {
component: "span",
mod: {
rotate: !b.disableChevronRotation && v,
position: b.chevronPosition,
},
...b.getStyles("chevron", { classNames: n, styles: i }),
children: s || b.chevron,
}),
(0, t.jsx)("span", {
...b.getStyles("label", { classNames: n, styles: i }),
children: f,
}),
c &&
(0, t.jsx)(F.Box, {
component: "span",
mod: { "chevron-position": b.chevronPosition },
...b.getStyles("icon", { classNames: n, styles: i }),
children: c,
}),
],
});
return _
? (0, t.jsx)(y, {
...b.getStyles("itemTitle", { classNames: n, styles: i }),
children: x,
})
: x;
});
(ee.displayName = "@mantine/core/AccordionControl"), (ee.classes = K);
let et = (0, U.factory)((e, r) => {
let {
classNames: n,
className: o,
style: a,
styles: i,
vars: l,
value: s,
mod: c,
...u
} = (0, z.useProps)("AccordionItem", null, e),
d = X();
return (0, t.jsx)(Z, {
value: { value: s },
children: (0, t.jsx)(F.Box, {
ref: r,
mod: [{ active: d.isItemActive(s) }, c],
...d.getStyles("item", {
className: o,
classNames: n,
styles: i,
style: a,
variant: d.variant,
}),
...u,
}),
});
});
(et.displayName = "@mantine/core/AccordionItem"), (et.classes = K);
var er = e.i(621600),
en = e.i(830744),
eo = e.i(819151),
ea = e.i(111558),
ei = e.i(361752),
el = e.i(600354);
function es(e) {
return e?.current ? e.current.scrollHeight : "auto";
}
let ec = "u" > typeof window && window.requestAnimationFrame,
eu = {
transitionDuration: 200,
transitionTimingFunction: "ease",
animateOpacity: !0,
},
ed = (0, U.factory)((e, n) => {
let {
children: o,
in: a,
transitionDuration: i,
transitionTimingFunction: l,
style: s,
onTransitionEnd: c,
animateOpacity: u,
keepMounted: d,
...f
} = (0, z.useProps)("Collapse", eu, e),
m = (0, en.useMantineTheme)(),
p = (0, er.useReducedMotion)(),
h = m.respectReducedMotion && p ? 0 : i,
g = (function ({
transitionDuration: e,
transitionTimingFunction: t = "ease",
onTransitionEnd: n = () => {},
opened: o,
keepMounted: a = !1,
}) {
let i = (0, r.useRef)(null),
l = {
height: 0,
overflow: "hidden",
...(a ? {} : { display: "none" }),
},
[s, c] = (0, r.useState)(o ? {} : l),
u = (e) => {
(0, ea.flushSync)(() => c(e));
},
d = (e) => {
u((t) => ({ ...t, ...e }));
};
function f(r) {
let n =
e ||
(function (e) {
if (!e || "string" == typeof e) return 0;
let t = e / 36;
return Math.round((4 + 15 * t ** 0.25 + t / 5) * 10);
})(r);
return { transition: `height ${n}ms ${t}, opacity ${n}ms ${t}` };
}
(0, ei.useDidUpdate)(() => {
"function" == typeof ec &&
(o
? ec(() => {
d({
willChange: "height",
display: "block",
overflow: "hidden",
}),
ec(() => {
let e = es(i);
d({ ...f(e), height: e });
});
})
: ec(() => {
let e = es(i);
d({ ...f(e), willChange: "height", height: e }),
ec(() => d({ height: 0, overflow: "hidden" }));
}));
}, [o]);
let m = (e) => {
if (e.target === i.current && "height" === e.propertyName)
if (o) {
let e = es(i);
e === s.height ? u({}) : d({ height: e }), n();
} else 0 === s.height && (u(l), n());
};
return function ({ style: e = {}, refKey: t = "ref", ...n } = {}) {
let a = n[t],
l = {
"aria-hidden": !o,
...n,
[t]: (0, el.mergeRefs)(i, a),
onTransitionEnd: m,
style: { boxSizing: "border-box", ...e, ...s },
};
return (
r.default.version.startsWith("18")
? o || (l.inert = "")
: (l.inert = !o),
l
);
};
})({
opened: a,
transitionDuration: h,
transitionTimingFunction: l,
onTransitionEnd: c,
keepMounted: d,
});
return 0 === h
? a
? (0, t.jsx)(F.Box, { ...f, children: o })
: null
: (0, t.jsx)(F.Box, {
...g({
style: {
opacity: a || !u ? 1 : 0,
transition: u ? `opacity ${h}ms ${l}` : "none",
...(0, eo.getStyleObject)(s, m),
},
ref: n,
...f,
}),
children: o,
});
});
ed.displayName = "@mantine/core/Collapse";
let ef = (0, U.factory)((e, r) => {
let {
classNames: n,
className: o,
style: a,
styles: i,
vars: l,
children: s,
...c
} = (0, z.useProps)("AccordionPanel", null, e),
{ value: u } = J(),
d = X();
return (0, t.jsx)(ed, {
ref: r,
...d.getStyles("panel", {
className: o,
classNames: n,
style: a,
styles: i,
}),
...c,
in: d.isItemActive(u),
transitionDuration: d.transitionDuration ?? 200,
role: "region",
id: d.getRegionId(u),
"aria-labelledby": d.getControlId(u),
children: (0, t.jsx)("div", {
...d.getStyles("content", { classNames: n, styles: i }),
children: s,
}),
});
});
(ef.displayName = "@mantine/core/AccordionPanel"), (ef.classes = K);
let em = {
multiple: !1,
disableChevronRotation: !1,
chevronPosition: "right",
variant: "default",
chevronSize: "auto",
chevronIconSize: 16,
},
ep = (0, H.createVarsResolver)(
(e, { transitionDuration: t, chevronSize: r, radius: n }) => ({
root: {
"--accordion-transition-duration": void 0 === t ? void 0 : `${t}ms`,
"--accordion-chevron-size": void 0 === r ? void 0 : (0, L.rem)(r),
"--accordion-radius": void 0 === n ? void 0 : (0, D.getRadius)(n),
},
}),
);
function eh(e) {
let r = (0, z.useProps)("Accordion", em, e),
{
classNames: n,
className: o,
style: a,
styles: i,
unstyled: l,
vars: s,
children: c,
multiple: u,
value: d,
defaultValue: f,
onChange: m,
id: p,
loop: h,
transitionDuration: g,
disableChevronRotation: b,
chevronPosition: v,
chevronSize: _,
order: y,
chevron: x,
variant: C,
radius: E,
chevronIconSize: S,
attributes: w,
...k
} = r,
j = (0, I.useId)(p),
[P, R] = (0, A.useUncontrolled)({
value: d,
defaultValue: f,
finalValue: u ? [] : null,
onChange: m,
}),
N = (0, W.useStyles)({
name: "Accordion",
classes: K,
props: r,
className: o,
style: a,
classNames: n,
styles: i,
unstyled: l,
attributes: w,
vars: s,
varsResolver: ep,
});
return (0, t.jsx)(q, {
value: {
isItemActive: (e) => (Array.isArray(P) ? P.includes(e) : e === P),
onChange: (e) => {
R(
Array.isArray(P)
? P.includes(e)
? P.filter((t) => t !== e)
: [...P, e]
: e === P
? null
: e,
);
},
getControlId: B(
`${j}-control`,
"Accordion.Item component was rendered with invalid value or without value",
),
getRegionId: B(
`${j}-panel`,
"Accordion.Item component was rendered with invalid value or without value",
),
chevron:
null === x
? null
: x || (0, t.jsx)(V.AccordionChevron, { size: S }),
transitionDuration: g,
disableChevronRotation: b,
chevronPosition: v,
order: y,
loop: h,
getStyles: N,
variant: C,
unstyled: l,
},
children: (0, t.jsx)(F.Box, {
...N("root"),
id: j,
...k,
variant: C,
"data-accordion": !0,
children: c,
}),
});
}
(eh.extend = (e) => e),
(eh.withProps = (0, U.getWithProps)(eh)),
(eh.classes = K),
(eh.displayName = "@mantine/core/Accordion"),
(eh.Item = et),
(eh.Panel = ef),
(eh.Control = ee),
(eh.Chevron = V.AccordionChevron);
var eg = e.i(158921),
eg = eg,
eb = e.i(130755);
let ev = "SPB_seedance_v2",
e_ = ({ onSuccess: e, checkValidation: n }) => {
let [o, a] = (0, r.useState)("idle"),
[i, l] = (0, r.useState)(""),
s = (0, eb.useTimeInRange)(n?.startTime, n?.endTime);
if (!n || !s) return null;
let c = "loading" === o || "success" === o || "fail" === o,
u = async () => {
if (!c) {
a("loading"), l("");
try {
let t = await (0, f.checkCompensation)({ benefitUuid: ev });
if (t?.data?.canAcquire === !0) {
let t = await (0, f.acquireCompensation)({ benefitUuid: ev });
if (t?.code === 0) {
let r =
t.data?.reason ??
"权益保障成功!权益将在 24 小时内发放至您的账户。";
a("success"), l(r), e ? e(r) : b.message.success(r);
return;
}
a("fail");
return;
}
a("fail"), l(`⚠️ ${t?.data.reason}`);
} catch (e) {
e?.response?.data?.msg ?? e?.msg ?? e?.message, a("fail");
}
}
};
return (0, t.jsx)("div", {
className: "flex flex-col gap-2 mt-2",
children: (0, t.jsxs)("div", {
className: "flex items-center gap-2 flex-wrap",
children: [
(0, t.jsxs)("button", {
type: "button",
onClick: u,
disabled: c,
className:
"w-fit leading-normal text-[13px] bg-[#141414] text-white dark:bg-white dark:text-[#141414] rounded-lg py-2 px-3 disabled:opacity-60 disabled:cursor-not-allowed flex items-center gap-1 min-w-[120px] justify-center",
children: [
"loading" === o &&
(0, t.jsx)(eg.default, { className: "shrink-0", spin: !0 }),
(0, t.jsx)("span", {
children: "loading" === o ? "正在校验中" : "检查我的资格",
}),
],
}),
i &&
(0, t.jsx)("span", {
className: "text-[14px] text-[#525252] dark:text-[#c7c7c7]",
children: i,
}),
],
}),
});
};
e.s(
[
"VipHomeFaq",
0,
({ onCheckSuccess: e } = {}) => {
let { commercialConfig: r } = (0, c.useCommercialStore)(),
n = r?.qaaConfig ?? [];
return n.length
? (0, t.jsxs)("div", {
className: "w-full max-w-[880px] mx-auto px-0 pb-10 pt-6",
children: [
(0, t.jsx)("h2", {
className:
"text-center text-[24px] font-[600] text-[#141414] dark:text-[#e5e5e5] mb-5",
children: "常见问题",
}),
(0, t.jsx)(eh, {
radius: "md",
multiple: !0,
classNames: {
item: "border-[#e3e3e3] dark:border-[#3f3f3f]",
label:
"text-[14px] font-[500] text-[#141414] dark:text-[#e5e5e5] py-5",
control:
"text-[14px] font-[500] text-[#141414] dark:text-[#e5e5e5] px-0 hover:bg-transparent dark:hover:bg-transparent",
content:
"text-[14px] text-[#525252] dark:text-[#c7c7c7] leading-[32px] pl-0",
chevron: "text-[#222531] dark:text-[#e5e5e5]",
},
children: n.map((r, n) =>
(0, t.jsxs)(
eh.Item,
{
value: `qaa-${n}`,
children: [
(0, t.jsx)(eh.Control, { children: r.title }),
(0, t.jsxs)(eh.Panel, {
children: [
(0, t.jsx)("div", {
className: "whitespace-pre-wrap",
children: r.content,
}),
"checkType" === r.type &&
(0, t.jsx)(e_, {
onSuccess: e,
checkValidation: r.checkValidation,
}),
],
}),
],
},
`${r.title}-${n}`,
),
),
}),
(0, t.jsxs)("div", {
className:
"mt-4 inline-flex items-center gap-1 justify-center w-full",
children: [
(0, t.jsx)("img", {
src: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/8cc0005c-9bcd-4b9e-b250-49addb0dc75e.svg",
alt: "",
}),
(0, t.jsx)("a", {
href: "https://liblibai.feishu.cn/wiki/RxWewdiYQiuM2Wk4n0Wc5XDDnCh",
target: "_blank",
rel: "noopener noreferrer",
className:
"text-[14px] !text-[#919191] hover:!text-[#919191] dark:!text-[#b0b0b0] dark:hover:!text-[#b0b0b0] hover:underline",
children: (0, t.jsx)("span", { children: "更多问题" }),
}),
(0, t.jsx)("img", {
src: "https://liblibai-online.liblib.cloud/web/1656e2f1b3c74f1ba823b610f1b2cbdf/b857362b-0277-4ff8-9321-2ebd9e51f7dd.svg",
alt: "",
}),
],
}),
],
})
: null;
},
],
623082,
);
};
export default moduleFactory;