feat: multi-module iteration

This commit is contained in:
2026-08-04 21:38:49 +08:00
parent 9d96c73246
commit 71f508e02b
1366 changed files with 202004 additions and 0 deletions
@@ -0,0 +1,48 @@
import { IsIn, IsObject, IsOptional, IsString, MaxLength } from 'class-validator';
/** 客户端报错严重级别 */
export const CLIENT_ERROR_LEVELS = ['fatal', 'error', 'warn'] as const;
export type ClientErrorLevel = (typeof CLIENT_ERROR_LEVELS)[number];
/** 客户端报错类别 */
export const CLIENT_ERROR_CATEGORIES = [
'js_error',
'unhandled_rejection',
'api_error',
'network',
'render',
'bridge',
'other',
] as const;
export type ClientErrorCategory = (typeof CLIENT_ERROR_CATEGORIES)[number];
export class ReportClientErrorDto {
@IsIn(CLIENT_ERROR_LEVELS)
level!: ClientErrorLevel;
@IsIn(CLIENT_ERROR_CATEGORIES)
category!: ClientErrorCategory;
@IsString()
@MaxLength(1000)
message!: string;
@IsOptional()
@IsString()
@MaxLength(4000)
stack?: string;
@IsOptional()
@IsString()
@MaxLength(128)
pagePath?: string;
@IsOptional()
@IsString()
@MaxLength(64)
clientApp?: string;
@IsOptional()
@IsObject()
extra?: Record<string, unknown>;
}