初步增加, 扫码登录成功

This commit is contained in:
yml2213
2026-08-12 16:22:55 +08:00
parent 7db3b2cd4f
commit d19c0902f2
60 changed files with 7413 additions and 315 deletions
+1
View File
@@ -10,3 +10,4 @@ export { huyaApi } from './huya';
export { loginApi } from './login';
export { proxyApi } from './proxy';
export { userApi } from './users';
export { yybApi } from './yyb';
+33
View File
@@ -147,6 +147,39 @@ export interface LoginTaskItem {
finished_at: string | null;
}
export interface YybTask {
id: number;
task_id: string;
worker_job_id?: string;
created_by: number;
provider: string;
platform: 'android' | 'ios';
points: number | null;
product_id: string;
zone_id: string;
zone_name: string;
role_id: string;
role_name: string;
status: string;
phase: string;
message: string;
result: { logs?: string[]; payment_status?: Record<string, unknown> | null } | null;
login_qr_data?: string;
login_qr_mime_type?: string;
payment_qr_data?: string;
payment_qr_mime_type?: string;
created_at: string | null;
finished_at: string | null;
}
export interface YybSelectionOptions {
products: Array<{ points: number; product_id: string; price_fen: number; offer_id: string; name: string }>;
zones: Array<{ zone_id: string; name: string }>;
roles: Array<{ role_id: string; name: string; ban_status: string }>;
default_product: { points: number; product_id: string; price_fen: number; offer_id: string; name: string } | null;
default_zone: { zone_id: string; name: string } | null;
}
export interface BatchLoginResult {
batch_id: string;
count: number;
+17
View File
@@ -0,0 +1,17 @@
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: () => api.get<YybTask[], YybTask[]>('/yyb/tasks'),
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`),
};