Files
live-hub-py/web/frontend/src/api/yyb.ts
T
2026-08-12 22:23:59 +08:00

21 lines
1.3 KiB
TypeScript

import api from './client';
import type { YybTask, YybSelectionOptions } from './types';
export const yybApi = {
createTask: () => api.post<YybTask, YybTask>('/yyb/tasks', {}),
login: (id: number, provider: 'qq' | 'wechat') =>
api.post<YybTask, YybTask>(`/yyb/tasks/${id}/login`, { provider, timeout: 600 }),
getTask: (id: number) => api.get<YybTask, YybTask>(`/yyb/tasks/${id}`),
listTasks: (params?: { scope?: 'mine' | 'all'; status?: string; limit?: number }) =>
api.get<YybTask[], YybTask[]>('/yyb/tasks', { params }),
options: (id: number, platform: 'android' | 'ios', points?: number, zone_id?: string) =>
api.get<YybSelectionOptions, YybSelectionOptions>(`/yyb/tasks/${id}/selection-options`, {
params: { platform, ...(points ? { points } : {}), ...(zone_id ? { zone_id } : {}) },
}),
select: (id: number, data: { platform: 'android' | 'ios'; points: number; product_id: string; zone_id: string; zone_name: string; role_id: string; role_name: string }) =>
api.post<YybTask, YybTask>(`/yyb/tasks/${id}/selection`, data),
payment: (id: number) => api.post<YybTask, YybTask>(`/yyb/tasks/${id}/payment`),
paymentCheck: (id: number) => api.post<YybTask, YybTask>(`/yyb/tasks/${id}/payment/check`),
stop: (id: number) => api.post<YybTask, YybTask>(`/yyb/tasks/${id}/stop`),
};