Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
I
init-things
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
init-things
Commits
875e2517
Commit
875e2517
authored
Jul 14, 2022
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new
parent
2043ecdc
Pipeline
#14513
passed with stages
in 2 minutes and 15 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
9 deletions
+20
-9
things/nest/src/dto/ReturnMessage.dto.ts
things/nest/src/dto/ReturnMessage.dto.ts
+20
-9
No files found.
things/nest/src/dto/ReturnMessage.dto.ts
View file @
875e2517
...
...
@@ -29,13 +29,24 @@ export class BlankReturnMessageDto implements BlankReturnMessage {
}
}
export
class
ReturnMessageDto
<
T
>
extends
BlankReturnMessageDto
implements
ReturnMessage
<
T
>
{
@
ApiProperty
({
description
:
'
返回内容
'
})
data
?:
T
;
constructor
(
statusCode
:
number
,
message
?:
string
,
data
?:
T
)
{
super
(
statusCode
,
message
);
this
.
data
=
data
;
}
export
type
AnyClass
=
new
(...
args
:
any
[])
=>
any
;
export
type
ClassType
<
T
>
=
new
(...
args
:
any
[])
=>
T
;
export
type
ClassOrArray
=
AnyClass
|
[
AnyClass
];
export
type
TypeFromClass
<
T
extends
AnyClass
>
=
T
extends
new
(
...
args
:
any
[]
)
=>
infer
U
?
U
:
never
;
export
type
ParseType
<
T
>
=
T
extends
[
ClassType
<
infer
U
>
]
?
U
:
ClassType
<
T
>
;
export
function
ReturnMessageDto
<
T
extends
ClassOrArray
>
(
type
:
T
)
{
const
cl
=
class
SpecificReturnMessage
extends
BlankReturnMessageDto
{
data
?:
ParseType
<
T
>
;
constructor
(
statusCode
:
number
,
message
?:
string
,
data
?:
ParseType
<
T
>
)
{
super
(
statusCode
,
message
);
this
.
data
=
data
;
}
};
ApiProperty
({
description
:
'
返回数据
'
,
type
})(
cl
.
prototype
,
'
data
'
);
return
cl
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment