新增奖励兑换模式与奖励设置,并持久化兑换记录

This commit is contained in:
JSR
2026-03-20 17:59:06 +08:00
parent ad6b0808cb
commit 8155dac75e
22 changed files with 1507 additions and 17 deletions
+42
View File
@@ -310,6 +310,8 @@
"settlements": "Settlements",
"reasons": "Reasons",
"autoScore": "Auto Score",
"rewardExchange": "Reward Exchange",
"rewardSettings": "Reward Settings",
"settings": "Settings",
"remoteDb": "Remote Database",
"refreshStatus": "Refresh Status",
@@ -516,6 +518,46 @@
"deleteFailed": "Delete failed",
"others": "Others"
},
"rewardExchange": {
"title": "Reward Exchange",
"enterMode": "Enter Exchange Mode",
"exitMode": "Exit Exchange Mode",
"modeHint": "Reward exchange mode is active. Click a student card to choose an available reward.",
"normalHint": "Current cards show original score. Enter mode to display redeemable reward points.",
"remainingRewardPoints": "Remaining Reward Points",
"currentScore": "Current Score",
"chooseRewardTitle": "Choose Reward for {{name}}",
"currentRewardPoints": "Current reward points: {{points}}",
"costLabel": "Cost points: {{points}}",
"redeemNow": "Redeem",
"noAffordableRewards": "No rewards can be redeemed now. Earn more points first.",
"redeemSuccess": "{{student}} redeemed \"{{reward}}\" and spent {{points}} points",
"redeemFailed": "Redeem failed",
"recordsTitle": "Redemption Records",
"recordStudent": "Student",
"recordReward": "Reward",
"recordCost": "Cost",
"recordTime": "Redeemed At"
},
"rewardSettings": {
"title": "Reward Settings",
"addReward": "Add Reward",
"addTitle": "Add Reward",
"editTitle": "Edit Reward",
"rewardName": "Reward Name",
"costPoints": "Cost Points",
"namePlaceholder": "e.g. Homework-Free Card",
"costPlaceholder": "Enter cost points",
"nameRequired": "Please enter reward name",
"costRequired": "Please enter positive integer points",
"createSuccess": "Reward created",
"createFailed": "Create reward failed",
"updateSuccess": "Reward updated",
"updateFailed": "Update reward failed",
"deleteSuccess": "Reward deleted",
"deleteFailed": "Delete reward failed",
"deleteConfirm": "Delete reward \"{{name}}\"?"
},
"leaderboard": {
"title": "Points Leaderboard",
"rank": "Rank",