feat: 初始化 WWJ Cloud 企业级框架项目

- 后端:基于 NestJS 的分层架构设计
- 前端:基于 VbenAdmin + Element Plus 的管理系统
- 支持 SaaS + 独立版双架构模式
- 完整的用户权限管理系统
- 系统设置、文件上传、通知等核心功能
- 多租户支持和插件化扩展架构
This commit is contained in:
万物街
2025-08-23 13:20:01 +08:00
commit f30d64e6cc
172 changed files with 10179 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
import { IsOptional, IsString } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
/**
* 更新站点设置DTO
*/
export class UpdateSiteSettingsDto {
@ApiProperty({ description: '网站名称', required: false })
@IsOptional()
@IsString()
site_name?: string;
@ApiProperty({ description: '网站标题', required: false })
@IsOptional()
@IsString()
site_title?: string;
@ApiProperty({ description: '网站关键词', required: false })
@IsOptional()
@IsString()
site_keywords?: string;
@ApiProperty({ description: '网站描述', required: false })
@IsOptional()
@IsString()
site_description?: string;
@ApiProperty({ description: '网站Logo', required: false })
@IsOptional()
@IsString()
site_logo?: string;
@ApiProperty({ description: '网站图标', required: false })
@IsOptional()
@IsString()
site_favicon?: string;
@ApiProperty({ description: 'ICP备案号', required: false })
@IsOptional()
@IsString()
icp_number?: string;
@ApiProperty({ description: '版权信息', required: false })
@IsOptional()
@IsString()
copyright?: string;
@ApiProperty({ description: '网站状态', required: false })
@IsOptional()
site_status?: number;
@ApiProperty({ description: '关闭原因', required: false })
@IsOptional()
@IsString()
close_reason?: string;
}
/**
* 站点设置响应DTO
*/
export class SiteSettingsDto {
@ApiProperty({ description: '网站名称' })
site_name: string;
@ApiProperty({ description: '网站标题' })
site_title: string;
@ApiProperty({ description: '网站关键词' })
site_keywords: string;
@ApiProperty({ description: '网站描述' })
site_description: string;
@ApiProperty({ description: '网站Logo' })
site_logo: string;
@ApiProperty({ description: '网站图标' })
site_favicon: string;
@ApiProperty({ description: 'ICP备案号' })
icp_number: string;
@ApiProperty({ description: '版权信息' })
copyright: string;
@ApiProperty({ description: '网站状态' })
site_status: number;
@ApiProperty({ description: '关闭原因' })
close_reason: string;
}