若干更新迭代

This commit is contained in:
andy committed 2026-10-02 19:56:32 +08:00
1 parent deb9cc5bcf
commit 4ac786aafb
64 files changed
+3251 -291

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
export type OrganizationBalance = {
organization: { id: string; name: string };
wallet: { organizationId: string; balanceFen: number; updatedAt: string };
};
export async function fetchOrganizationBalance(organizationId: string, signal?: AbortSignal): Promise<OrganizationBalance> {
const response = await fetch("/api/billing/balance", { cache: "no-store", signal });
const payload = await response.json().catch(() => null);
if (response.status === 401 || response.status === 403 || response.status === 422) {
throw new Error("登录状态或组织信息已变更,请刷新页面后重试。");
}
if (!response.ok) throw new Error("余额暂时无法读取,请重试。");
if (typeof payload?.organization?.id === "string" && payload.organization.id !== organizationId) {
throw new Error("账号所属组织已变更,请刷新页面后重试。");
}
if (!payload || payload.organization?.id !== organizationId
|| typeof payload.organization?.name !== "string"
|| payload.wallet?.organizationId !== organizationId
|| !Number.isSafeInteger(payload.wallet?.balanceFen)
|| typeof payload.wallet?.updatedAt !== "string") {
throw new Error("余额信息不完整,请刷新后重试。");
}
return payload as OrganizationBalance;
}