Files
wwjcloud-nest-v1/wwjcloud/src/common/auth/dto/admin/LoginConfigDto.ts

52 lines
1.3 KiB
TypeScript
Raw Normal View History

import { ApiProperty } from '@nestjs/swagger';
import { IsOptional, IsNumber, IsString } from 'class-validator';
export class LoginConfigDto {
@ApiProperty({ description: '是否启用验证码', required: false })
@IsOptional()
@IsNumber()
isCaptcha?: number;
@ApiProperty({ description: '是否启用站点验证码', required: false })
@IsOptional()
@IsNumber()
isSiteCaptcha?: number;
@ApiProperty({ description: '登录背景图', required: false })
@IsOptional()
@IsString()
bg?: string;
@ApiProperty({ description: '站点登录背景图', required: false })
@IsOptional()
@IsString()
siteBg?: string;
@ApiProperty({ description: '登录方式配置', required: false })
@IsOptional()
loginMethods?: {
username?: boolean;
email?: boolean;
mobile?: boolean;
wechat?: boolean;
qq?: boolean;
};
@ApiProperty({ description: '密码策略配置', required: false })
@IsOptional()
passwordPolicy?: {
minLength?: number;
requireSpecialChar?: boolean;
requireNumber?: boolean;
requireUppercase?: boolean;
};
@ApiProperty({ description: '登录失败限制', required: false })
@IsOptional()
loginLimit?: {
maxAttempts?: number;
lockoutDuration?: number;
lockoutType?: string;
};
}