返回 AiToEarn
ai.dto.ts
1 /*
2 * @Author: nevin
3 * @Date: 2024-08-19 15:58:47
4 * @LastEditTime: 2024-10-17 19:07:10
5 * @LastEditors: nevin
6 * @Description: AI工具
7 */
8 import { ApiProperty } from '@nestjs/swagger';
9 import { Expose } from 'class-transformer';
10 import { IsNumber, IsOptional, IsString } from 'class-validator';
11
12 export class VideoAiDesDto {
13 @ApiProperty({ title: '视频URL', required: true })
14 @IsString({ message: '视频URL' })
15 @Expose()
16 readonly url: string;
17 }
18
19 export class ReviewAi {
20 @ApiProperty({ title: '标题', required: true })
21 @IsString({ message: '标题' })
22 @Expose()
23 readonly title: string;
24
25 @ApiProperty({ title: '描述', required: false })
26 @IsString({ message: '描述' })
27 @IsOptional()
28 @Expose()
29 readonly desc?: string;
30
31 @ApiProperty({ title: '最大字数', required: false })
32 @IsNumber({ allowNaN: false }, { message: '最大字数' })
33 @IsOptional()
34 @Expose()
35 readonly max?: number;
36 }
37
38 export class ReviewImgAi {
39 @ApiProperty({ title: '图片链接', required: true })
40 @IsString({ message: '图片链接' })
41 @Expose()
42 readonly imgUrl: string;
43
44 @ApiProperty({ title: '标题', required: true })
45 @IsString({ message: '标题' })
46 @IsOptional()
47 @Expose()
48 readonly title?: string;
49
50 @ApiProperty({ title: '描述', required: false })
51 @IsString({ message: '描述' })
52 @IsOptional()
53 @Expose()
54 readonly desc?: string;
55
56 @ApiProperty({ title: '最大字数', required: false })
57 @IsNumber({ allowNaN: false }, { message: '最大字数' })
58 @IsOptional()
59 @Expose()
60 readonly max?: number;
61 }
62
63 export class ReviewAiRecover {
64 @ApiProperty({ title: '评论内容', required: true })
65 @IsString({ message: '评论内容' })
66 @Expose()
67 readonly content: string;
68
69 @ApiProperty({ title: '标题', required: false })
70 @IsString({ message: '标题' })
71 @IsOptional()
72 @Expose()
73 readonly title?: string;
74
75 @ApiProperty({ title: '描述', required: false })
76 @IsString({ message: '描述' })
77 @IsOptional()
78 @Expose()
79 readonly desc?: string;
80
81 @ApiProperty({ title: '最大字数', required: false })
82 @IsNumber({ allowNaN: false }, { message: '最大字数' })
83 @IsOptional()
84 @Expose()
85 readonly max?: number;
86 }
87
88 export class AiArticleHtmlDto {
89 @ApiProperty({ title: '内容', required: true })
90 @IsString({ message: '内容' })
91 @Expose()
92 readonly content: string;
93 }
94
95 export class AiArticleHtmlTestDto {
96 @ApiProperty({ title: '模型', required: true })
97 @IsString({ message: '模型' })
98 @Expose()
99 readonly model: string;
100
101 @ApiProperty({ title: '内容', required: true })
102 @IsString({ message: '内容' })
103 @Expose()
104 readonly content: string;
105
106 @ApiProperty({ title: '内容', required: true })
107 @IsString({ message: '内容' })
108 @Expose()
109 readonly content2: string;
110 }
111
111 lines TYPESCRIPT