- API 层补充公开审核表单目录与提交申请接口。 - SkinSiteReviewView:表单列表、动态题目渲染(单选 / 多选 / 判断 / 填空 / 问答 / 信息题)、必填校验,提交后展示审核状态。 - 主页导航卡的「玩家审核」改为打开该视图。
This commit is contained in:
1 parent
8cc4782497
commit
d6d4fcf8a0
4 files changed
+394
-1
No files matched your search
@@ -550,3 +550,81 @@ export interface SkinSiteMapServer {
|
||||
export function skinSiteMapServers(): Promise<SkinSiteResponse<SkinSiteMapServer[]>> {
|
||||
return skinSiteRequest<SkinSiteMapServer[]>('maps', { auth: false })
|
||||
}
|
||||
// ---------------------------------------------------------------------------
|
||||
// Player review (public side)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export type SkinSiteReviewQuestionType = 'SINGLE' | 'MULTIPLE' | 'TRUE_FALSE' | 'FILL' | 'ESSAY'
|
||||
export type SkinSiteReviewResult = 'PENDING' | 'PASSED' | 'REJECTED'
|
||||
|
||||
export interface SkinSiteReviewOption {
|
||||
id: string
|
||||
description: string
|
||||
correct?: boolean
|
||||
defaultSelected?: boolean
|
||||
}
|
||||
|
||||
export interface SkinSiteReviewQuestion {
|
||||
id: string
|
||||
type: SkinSiteReviewQuestionType
|
||||
title: string
|
||||
annotation?: string | null
|
||||
score?: number
|
||||
optional?: boolean
|
||||
fatal?: boolean
|
||||
options?: SkinSiteReviewOption[]
|
||||
answer?: string | null
|
||||
maxLength?: number | null
|
||||
informationQuestion?: boolean
|
||||
}
|
||||
|
||||
export interface SkinSiteReviewPaper {
|
||||
id: string
|
||||
title: string
|
||||
description?: string
|
||||
questions: SkinSiteReviewQuestion[]
|
||||
[key: string]: unknown
|
||||
}
|
||||
|
||||
export interface SkinSiteReviewCatalog {
|
||||
papers: SkinSiteReviewPaper[]
|
||||
[key: string]: unknown
|
||||
}
|
||||
|
||||
export interface SkinSiteReviewReceipt {
|
||||
id?: number
|
||||
accessToken?: string
|
||||
result?: SkinSiteReviewResult
|
||||
title?: string
|
||||
[key: string]: unknown
|
||||
}
|
||||
|
||||
export function skinSiteReviewCatalog(): Promise<SkinSiteResponse<SkinSiteReviewCatalog>> {
|
||||
return skinSiteRequest<SkinSiteReviewCatalog>('review/public', { auth: false })
|
||||
}
|
||||
|
||||
export function skinSiteReviewPaper(
|
||||
paperId: string,
|
||||
): Promise<SkinSiteResponse<SkinSiteReviewPaper>> {
|
||||
return skinSiteRequest<SkinSiteReviewPaper>(`review/public/${encodeURIComponent(paperId)}`, {
|
||||
auth: false,
|
||||
})
|
||||
}
|
||||
|
||||
export interface SkinSiteReviewSubmitData {
|
||||
paperId: string
|
||||
email: string
|
||||
answers: Record<string, unknown>
|
||||
inviteCode?: string
|
||||
[key: string]: unknown
|
||||
}
|
||||
|
||||
export function skinSiteSubmitReview(
|
||||
data: SkinSiteReviewSubmitData,
|
||||
): Promise<SkinSiteResponse<SkinSiteReviewReceipt>> {
|
||||
return skinSiteRequest<SkinSiteReviewReceipt>('review/submit', {
|
||||
method: 'POST',
|
||||
body: data,
|
||||
auth: false,
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user