feat(huya): 多选登录改单线程队列并拆分路由与工作台

默认同时只登一个号,失败两次跳下一个,号间留间隔,结束后可一键重试失败账号。
顺带拆分虎牙路由与斗鱼工作台页面,并补齐 raw_cookie 重建入口。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-10 11:31:50 +08:00
co-authored by Cursor
parent 8dea9e3244
commit e81119117f
27 changed files with 6405 additions and 5409 deletions
+12 -2
View File
@@ -65,11 +65,19 @@ export const huyaApi = {
passwordLogin: (data: HuyaPasswordLoginRequest) =>
api.post<HuyaPasswordLoginResult, HuyaPasswordLoginResult>('/huya/accounts/password-login', data),
passwordLoginSelected: (data: HuyaPasswordLoginSelectedRequest) =>
api.post<HuyaPasswordLoginBatchResult, HuyaPasswordLoginBatchResult>('/huya/accounts/password-login/selected', data),
api.post<HuyaPasswordLoginBatchResult, HuyaPasswordLoginBatchResult>(
'/huya/accounts/password-login/selected',
data,
{ timeout: 240000 },
),
appPasswordLogin: (data: HuyaAppPasswordLoginRequest) =>
api.post<HuyaPasswordLoginResult, HuyaPasswordLoginResult>('/huya/accounts/app-password-login', data),
appPasswordLoginSelected: (data: HuyaPasswordLoginSelectedRequest) =>
api.post<HuyaPasswordLoginBatchResult, HuyaPasswordLoginBatchResult>('/huya/accounts/app-password-login/selected', data),
api.post<HuyaPasswordLoginBatchResult, HuyaPasswordLoginBatchResult>(
'/huya/accounts/app-password-login/selected',
data,
{ timeout: 240000 },
),
smsCode: (data: HuyaSmsCodeRequest) =>
api.post<HuyaSmsCodeResult, HuyaSmsCodeResult>('/huya/accounts/sms-code', data, { timeout: 120000 }),
smsLogin: (data: HuyaSmsLoginRequest) =>
@@ -125,6 +133,8 @@ export const huyaApi = {
deleteCookie: (id: number) => api.delete<MessageResponse, MessageResponse>(`/huya/cookies/${id}`),
deleteCookies: (accountIds: number[]) =>
api.delete<MessageDeletedResponse, MessageDeletedResponse>('/huya/cookies/batch', { params: { account_ids: accountIds.join(',') } }),
rebuildWebCookie: (accountId: number) =>
api.post<HuyaCookieItem, HuyaCookieItem>(`/huya/cookies/${accountId}/rebuild`),
getConfig: () => api.get<HuyaConfig, HuyaConfig>('/huya/config'),
updateConfig: (data: Partial<HuyaConfig>) => api.put<HuyaConfig, HuyaConfig>('/huya/config', data),
listGoods: () => api.get<HuyaGoodsItem[], HuyaGoodsItem[]>('/huya/goods'),
+5
View File
@@ -658,6 +658,7 @@ export interface HuyaPasswordLoginBatchItem {
message: string;
account?: HuyaAccountItem;
sdid?: string;
attempts?: number;
}
export interface HuyaPasswordLoginBatchResult extends MessageCountResponse {
@@ -677,6 +678,9 @@ export interface HuyaPasswordLoginSelectedRequest {
assigned_only?: boolean;
has_cookie?: boolean;
force_new_device?: boolean;
max_attempts?: number;
interval_seconds?: number;
retry_delay_seconds?: number;
}
export interface HuyaCookieItem {
@@ -690,6 +694,7 @@ export interface HuyaCookieItem {
created_at: string | null;
cookie: string;
cookie_preview: string;
has_raw_cookie?: boolean;
}
export interface HuyaConfig {