From 7ba080d35812e6db7bd5aa8f88161c02653eb6c1 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期三, 24 九月 2025 22:42:35 +0800
Subject: [PATCH] feat: 优化员工和评委编辑功能的密码重置逻辑
---
web/src/api/activityPlayer.js | 124 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 124 insertions(+), 0 deletions(-)
diff --git a/web/src/api/activityPlayer.js b/web/src/api/activityPlayer.js
index 4dd43eb..6c0ef11 100644
--- a/web/src/api/activityPlayer.js
+++ b/web/src/api/activityPlayer.js
@@ -1,4 +1,18 @@
+import {
+ mockActivityPlayerDetail,
+ mockRatingScheme,
+ mockCurrentJudgeInfo,
+ mockJudgeRatings,
+ mockCurrentJudgeRating,
+ mockAverageScore,
+ createMockResponse
+} from './mockData.js'
+
const GRAPHQL_ENDPOINT = '/api/graphql'
+
+// 妯℃嫙鏁版嵁寮�鍏� - 璁剧疆涓簍rue鏃朵娇鐢ㄦā鎷熸暟鎹�
+// 宸插垏鎹㈠埌鐪熷疄鏁版嵁妯″紡
+const USE_MOCK_DATA = false
async function graphqlRequest(query, variables = {}) {
const response = await fetch(GRAPHQL_ENDPOINT, {
@@ -25,6 +39,11 @@
phone
description
avatarUrl
+ }
+ regionInfo {
+ id
+ name
+ fullPath
}
activityName
description
@@ -55,6 +74,11 @@
* 鑾峰彇姣旇禌鎶ュ悕璇︽儏锛堢敤浜庤瘎鍒嗭級
*/
export function getActivityPlayerDetail(id) {
+ if (USE_MOCK_DATA) {
+ return Promise.resolve(createMockResponse({
+ activityPlayerDetail: mockActivityPlayerDetail
+ }))
+ }
return graphqlRequest(GET_ACTIVITY_PLAYER_DETAIL, { id })
}
@@ -68,5 +92,105 @@
* 淇濆瓨姣旇禌鎶ュ悕璇勫垎
*/
export function saveActivityPlayerRating(input) {
+ if (USE_MOCK_DATA) {
+ console.log('妯℃嫙淇濆瓨璇勫垎鏁版嵁:', input)
+ return Promise.resolve(createMockResponse({
+ saveActivityPlayerRating: true
+ }))
+ }
return graphqlRequest(SAVE_ACTIVITY_PLAYER_RATING, { input })
+}
+
+const GET_JUDGE_RATINGS_FOR_PLAYER = `
+ query GetJudgeRatingsForPlayer($activityPlayerId: ID!) {
+ judgeRatingsForPlayer(activityPlayerId: $activityPlayerId) {
+ judgeId
+ judgeName
+ totalScore
+ status
+ isCurrentJudge
+ }
+ }
+`
+
+/**
+ * 鑾峰彇鎸囧畾閫夋墜鐨勬墍鏈夎瘎濮旇瘎鍒嗙姸鎬�
+ */
+export function getJudgeRatingsForPlayer(activityPlayerId) {
+ if (USE_MOCK_DATA) {
+ return Promise.resolve(createMockResponse({
+ judgeRatingsForPlayer: mockJudgeRatings
+ }))
+ }
+ return graphqlRequest(GET_JUDGE_RATINGS_FOR_PLAYER, { activityPlayerId })
+}
+
+const GET_CURRENT_JUDGE_RATING = `
+ query GetCurrentJudgeRating($activityPlayerId: ID!) {
+ currentJudgeRating(activityPlayerId: $activityPlayerId) {
+ id
+ totalScore
+ status
+ remark
+ items {
+ ratingItemId
+ ratingItemName
+ score
+ weightedScore
+ }
+ }
+ }
+`
+
+/**
+ * 鑾峰彇褰撳墠璇勫瀵规寚瀹氶�夋墜鐨勮瘎鍒�
+ */
+export function getCurrentJudgeRating(activityPlayerId) {
+ if (USE_MOCK_DATA) {
+ return Promise.resolve(createMockResponse({
+ currentJudgeRating: mockCurrentJudgeRating
+ }))
+ }
+ return graphqlRequest(GET_CURRENT_JUDGE_RATING, { activityPlayerId })
+}
+
+const GET_AVERAGE_SCORE_FOR_PLAYER = `
+ query GetAverageScoreForPlayer($activityPlayerId: ID!) {
+ averageScoreForPlayer(activityPlayerId: $activityPlayerId)
+ }
+`
+
+/**
+ * 鑾峰彇鎸囧畾閫夋墜鐨勫钩鍧囧垎
+ */
+export function getAverageScoreForPlayer(activityPlayerId) {
+ if (USE_MOCK_DATA) {
+ return Promise.resolve(createMockResponse({
+ averageScoreForPlayer: mockAverageScore
+ }))
+ }
+ return graphqlRequest(GET_AVERAGE_SCORE_FOR_PLAYER, { activityPlayerId })
+}
+
+const GET_CURRENT_JUDGE_INFO = `
+ query GetCurrentJudgeInfo {
+ currentJudgeInfo {
+ id
+ name
+ phone
+ description
+ }
+ }
+`
+
+/**
+ * 鑾峰彇褰撳墠璇勫淇℃伅
+ */
+export function getCurrentJudgeInfo() {
+ if (USE_MOCK_DATA) {
+ return Promise.resolve(createMockResponse({
+ currentJudgeInfo: mockCurrentJudgeInfo
+ }))
+ }
+ return graphqlRequest(GET_CURRENT_JUDGE_INFO)
}
\ No newline at end of file
--
Gitblit v1.8.0