From c4a9cad1c50e89365e2a58b50e259af642ed3b8c Mon Sep 17 00:00:00 2001 From: Codex Assistant <codex@example.com> Date: 星期二, 07 十月 2025 16:12:20 +0800 Subject: [PATCH] feat(review): 调整评审详情展示顺序与样式,描述支持多行,项目信息列宽40/60 fix(auth): 登录页与首页循环跳转保护;api.ts 在登录页不再重定向;401分支在登录页不跳转 fix(router): /login 放行策略优化,避免死循环;评审列表跳转到 /project-review/:id/detail fix(frontend): 补齐 utils/appConfig.ts,避免启动白屏 fix(review): 详情页提交评分缺少stageId时回退使用项目详情的stageId feat(backend): ActivityPlayerDetailResponse.playerInfo 补充 avatarUrl/avatar,服务组装时填充用户头像 chore(dev): 启动脚本注入本地JWT密钥,重启前后端 --- backend/src/main/resources/graphql/activity.graphqls | 125 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 119 insertions(+), 6 deletions(-) diff --git a/backend/src/main/resources/graphql/activity.graphqls b/backend/src/main/resources/graphql/activity.graphqls index 4520da0..ba530a4 100644 --- a/backend/src/main/resources/graphql/activity.graphqls +++ b/backend/src/main/resources/graphql/activity.graphqls @@ -1,112 +1,225 @@ extend type Query { + activity(id: ID!): Activity - activities(page: Int!, size: Int!, name: String): PageResponse + + activities(page: Int!, size: Int!, name: String, state: Int): PageResponse + allActivities: [Activity] + allActivityStages: [Activity] + activityStages(activityId: ID!): [Activity] + ongoingActivities: [Activity] - # 寰俊绔幏鍙栨椿鍔ㄥ垪琛� + + # 瀵邦喕淇婄粩顖濆箯閸欐牗妞块崝銊ュ灙鐞�? + getActivities: [Activity] - # 鑾峰彇涓诲姙鏂圭粺璁℃暟鎹� + + # 閼惧嘲褰囨稉璇插閺傚湱绮虹拋鈩冩殶閹�? + organizerStats: OrganizerStatsResponse + } + + extend type Mutation { + saveActivity(input: ActivityInput!): Activity + deleteActivity(id: ID!): Boolean + updateActivityState(id: ID!, state: Int!): Boolean + } + + type Activity { + id: ID + pid: ID + path: String + name: String + description: String + signupDeadline: String + matchTime: String + address: String + ratingSchemeId: ID + ratingScheme: RatingSchemeResponse + playerCount: Int + playerMax: Int + sortOrder: Int + state: Int + stateName: String + createTime: String + updateTime: String + coverImage: MediaResponse + images: [MediaResponse] + videos: [MediaResponse] + stages: [Activity] + parent: Activity + judges: [ActivityJudgeResponse] + } + + type PageResponse { + content: [Activity] + page: Int + size: Int + total: Int + totalPages: Int + totalElements: Int + number: Int + first: Boolean + last: Boolean + } + + input ActivityInput { + id: ID + pid: ID + name: String! + description: String + signupDeadline: String + matchTime: String + address: String + ratingSchemeId: ID + playerMax: Int + sortOrder: Int + state: Int + stages: [ActivityStageInput] + judges: [ActivityJudgeInput] + } + + input ActivityStageInput { + id: ID + name: String! + description: String + matchTime: String + address: String + ratingSchemeId: ID + playerMax: Int + sortOrder: Int + state: Int + } + + input ActivityJudgeInput { + judgeId: ID! + judgeName: String + stageIds: [ID] + } + + type ActivityJudgeResponse { + id: ID + name: String + phone: String + description: String + stageIds: [ID] + } -# 娲诲姩璇︽儏鍜岀姸鎬佸搷搴旂被鍨嬶紙寰俊绔娇鐢級 + + +# 濞茶濮╃拠锔藉剰閸滃瞼濮搁幀浣告惙鎼存梻琚崹瀣剁礄瀵邦喕淇婄粩顖欏▏閻㈩煉绱� + type ActivityDetailAndStatusResponse { + activity: Activity + registrationStatus: String + canRegister: Boolean + playerRegistration: ActivityPlayer + } -# 涓诲姙鏂圭粺璁″搷搴旂被鍨� + + +# 娑撹濮欓弬鍦埠鐠佲�虫惙鎼存梻琚崹? + type OrganizerStatsResponse { + activeActivities: Int! + totalParticipants: Int! + totalActivities: Int! -} \ No newline at end of file + +} + -- Gitblit v1.8.0