Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
C
cxcy-scoresheet
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
MathWeb
cxcy-scoresheet
Commits
6e516f49
Commit
6e516f49
authored
May 28, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
better api
parent
00f2fe5c
Pipeline
#3391
passed with stages
in 4 minutes and 59 seconds
Changes
3
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
17 deletions
+22
-17
src/app.controller.ts
src/app.controller.ts
+12
-7
src/app.service.ts
src/app.service.ts
+3
-3
src/messages/CxcyReturnMessage.dto.ts
src/messages/CxcyReturnMessage.dto.ts
+7
-7
No files found.
src/app.controller.ts
View file @
6e516f49
...
@@ -10,34 +10,39 @@ import {
...
@@ -10,34 +10,39 @@ import {
import
{
AppService
,
ScoreSheetData
}
from
'
./app.service
'
;
import
{
AppService
,
ScoreSheetData
}
from
'
./app.service
'
;
import
{
Response
}
from
'
express
'
;
import
{
Response
}
from
'
express
'
;
import
{
import
{
CxcyReturnMessage
,
CxcyReturnMessage
Dto
,
CxcyReturnMessageLike
,
CxcyReturnMessageLike
,
}
from
'
./messages/CxcyReturnMessage
'
;
}
from
'
./messages/CxcyReturnMessage
.dto
'
;
import
{
import
{
ApiBadRequestResponse
,
ApiBadRequestResponse
,
ApiHeader
,
ApiHeader
,
ApiInternalServerErrorResponse
,
ApiInternalServerErrorResponse
,
ApiOkResponse
,
ApiOkResponse
,
ApiOperation
,
ApiQuery
,
ApiQuery
,
ApiTags
,
ApiTags
,
}
from
'
@nestjs/swagger
'
;
}
from
'
@nestjs/swagger
'
;
@
Controller
(
'
api
'
)
@
Controller
(
'
api
'
)
@
ApiTags
(
'
user
'
)
export
class
AppController
{
export
class
AppController
{
constructor
(
private
readonly
appService
:
AppService
)
{}
constructor
(
private
readonly
appService
:
AppService
)
{}
@
Get
(
'
user/report.pdf
'
)
@
Get
(
'
user/report.pdf
'
)
@
ApiTags
(
'
user
'
)
@
ApiOperation
({
summary
:
'
生成报告
'
,
description
:
'
生成学生的创新创业电子报告。
'
,
})
@
ApiHeader
({
name
:
'
Authorization
'
,
description
:
'
用户 token
'
})
@
ApiHeader
({
name
:
'
Authorization
'
,
description
:
'
用户 token
'
})
@
ApiQuery
({
name
:
'
request_id
'
,
description
:
'
请求 id,直接返回。
'
})
@
ApiQuery
({
name
:
'
request_id
'
,
description
:
'
请求 id,直接返回。
'
})
@
ApiOkResponse
({
description
:
'
成功,会直接提供文件下载。
'
})
@
ApiOkResponse
({
description
:
'
成功,会直接提供文件下载。
'
})
@
ApiBadRequestResponse
({
@
ApiBadRequestResponse
({
description
:
'
用户不存在或者没有登录。
'
,
description
:
'
用户不存在或者没有登录。
'
,
type
:
CxcyReturnMessage
,
type
:
CxcyReturnMessage
Dto
,
})
})
@
ApiInternalServerErrorResponse
({
@
ApiInternalServerErrorResponse
({
description
:
'
报告生成过程中出现问题。
'
,
description
:
'
报告生成过程中出现问题。
'
,
type
:
CxcyReturnMessage
,
type
:
CxcyReturnMessage
Dto
,
})
})
async
getPdf
(
async
getPdf
(
@
Headers
(
'
Authorization
'
)
userToken
:
string
,
@
Headers
(
'
Authorization
'
)
userToken
:
string
,
...
@@ -46,7 +51,7 @@ export class AppController {
...
@@ -46,7 +51,7 @@ export class AppController {
res
:
Response
,
res
:
Response
,
)
{
)
{
if
(
!
userToken
)
{
if
(
!
userToken
)
{
new
CxcyReturnMessage
(
new
CxcyReturnMessage
Dto
(
requestId
,
requestId
,
401
,
401
,
'
Empty user token.
'
,
'
Empty user token.
'
,
...
@@ -63,7 +68,7 @@ export class AppController {
...
@@ -63,7 +68,7 @@ export class AppController {
return
;
return
;
}
}
if
(
!
data
.
data
||
!
data
.
data
.
user
)
{
if
(
!
data
.
data
||
!
data
.
data
.
user
)
{
new
CxcyReturnMessage
(
new
CxcyReturnMessage
Dto
(
requestId
,
requestId
,
401
,
401
,
'
Some contents missing.
'
,
'
Some contents missing.
'
,
...
...
src/app.service.ts
View file @
6e516f49
...
@@ -5,9 +5,9 @@ import * as fs from 'fs';
...
@@ -5,9 +5,9 @@ import * as fs from 'fs';
import
mdToPdf
from
'
md-to-pdf
'
;
import
mdToPdf
from
'
md-to-pdf
'
;
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
import
{
import
{
CxcyReturnMessage
,
CxcyReturnMessage
Dto
,
CxcyReturnMessageLike
,
CxcyReturnMessageLike
,
}
from
'
./messages/CxcyReturnMessage
'
;
}
from
'
./messages/CxcyReturnMessage
.dto
'
;
export
interface
NameWise
{
export
interface
NameWise
{
name
:
string
;
name
:
string
;
...
@@ -52,7 +52,7 @@ export class AppService {
...
@@ -52,7 +52,7 @@ export class AppService {
return
data
;
return
data
;
}
catch
(
e
)
{
}
catch
(
e
)
{
this
.
log
.
error
(
`Failed to request backend
${
url
}
:
${
e
.
toString
()}
`
);
this
.
log
.
error
(
`Failed to request backend
${
url
}
:
${
e
.
toString
()}
`
);
return
new
CxcyReturnMessage
(
return
new
CxcyReturnMessage
Dto
(
requestId
,
requestId
,
500
,
500
,
'
backend request fail
'
,
'
backend request fail
'
,
...
...
src/messages/CxcyReturnMessage.ts
→
src/messages/CxcyReturnMessage.
dto.
ts
View file @
6e516f49
...
@@ -7,11 +7,11 @@ export interface CxcyReturnMessageLike<T> {
...
@@ -7,11 +7,11 @@ export interface CxcyReturnMessageLike<T> {
timestamp
:
number
;
timestamp
:
number
;
request_id
:
string
;
request_id
:
string
;
status_code
:
number
;
status_code
:
number
;
message
:
string
;
message
?
:
string
;
data
:
T
;
data
?
:
T
;
}
}
export
class
CxcyReturnMessage
<
T
>
implements
CxcyReturnMessageLike
<
T
>
{
export
class
CxcyReturnMessage
Dto
<
T
>
implements
CxcyReturnMessageLike
<
T
>
{
@
ApiProperty
({
description
:
'
是否成功
'
})
@
ApiProperty
({
description
:
'
是否成功
'
})
success
:
boolean
;
success
:
boolean
;
@
ApiProperty
({
description
:
'
请求日期
'
})
@
ApiProperty
({
description
:
'
请求日期
'
})
...
@@ -21,14 +21,14 @@ export class CxcyReturnMessage<T> implements CxcyReturnMessageLike<T> {
...
@@ -21,14 +21,14 @@ export class CxcyReturnMessage<T> implements CxcyReturnMessageLike<T> {
@
ApiProperty
({
description
:
'
状态码
'
})
@
ApiProperty
({
description
:
'
状态码
'
})
public
status_code
:
number
;
public
status_code
:
number
;
@
ApiProperty
({
description
:
'
提示信息
'
})
@
ApiProperty
({
description
:
'
提示信息
'
})
public
message
:
string
;
public
message
?
:
string
;
@
ApiProperty
({
description
:
'
返回内容
'
})
@
ApiProperty
({
description
:
'
返回内容
'
})
public
data
:
T
;
public
data
?
:
T
;
constructor
(
constructor
(
request_id
:
string
,
request_id
:
string
,
status_code
:
number
,
status_code
:
number
,
message
:
string
,
message
?
:
string
,
data
:
T
,
data
?
:
T
,
)
{
)
{
this
.
request_id
=
request_id
;
this
.
request_id
=
request_id
;
this
.
status_code
=
status_code
;
this
.
status_code
=
status_code
;
...
...
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