From ebc3280d655ce6a8179cffaf433fe8b218c195a6 Mon Sep 17 00:00:00 2001 From: dongmucat <1127093059@qq.com> Date: Mon, 27 Apr 2026 17:12:23 +0800 Subject: [PATCH] feat(subscription): add meApi subscriptions methods --- web/src/api/client.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/web/src/api/client.ts b/web/src/api/client.ts index 1e7351ff..18d54003 100644 --- a/web/src/api/client.ts +++ b/web/src/api/client.ts @@ -1009,6 +1009,30 @@ export const meApi = { return items }, + + async getSubscriptionsPage(params?: { page?: number; size?: number }): Promise<{ items: SkillSummary[]; total: number; page: number; size: number }> { + const searchParams = new URLSearchParams() + searchParams.set('page', String(params?.page ?? 0)) + searchParams.set('size', String(params?.size ?? 12)) + return fetchJson<{ items: SkillSummary[]; total: number; page: number; size: number }>(`${WEB_API_PREFIX}/me/subscriptions?${searchParams.toString()}`) + }, + + async getSubscriptions(): Promise { + const items: SkillSummary[] = [] + let page = 0 + const size = 100 + let hasMore = true + + while (hasMore) { + const response = await meApi.getSubscriptionsPage({ page, size }) + items.push(...response.items) + + hasMore = (page + 1) * response.size < response.total && response.items.length > 0 + page++ + } + + return items + }, } export const profileApi = {