diff --git a/server/HoneyBox/src/HoneyBox.Core/Services/QuanYiService.cs b/server/HoneyBox/src/HoneyBox.Core/Services/QuanYiService.cs
index ea8b3829..5ff73066 100644
--- a/server/HoneyBox/src/HoneyBox.Core/Services/QuanYiService.cs
+++ b/server/HoneyBox/src/HoneyBox.Core/Services/QuanYiService.cs
@@ -407,13 +407,34 @@ public class QuanYiService : IQuanYiService
var title = levelTitles.GetValueOrDefault(ouQiLevel, "普通");
var nextLevel = ouQiLevel + 1;
var nextOuQi = levelThresholds.GetValueOrDefault(nextLevel, 99999);
+ var currentLevelOuQi = levelThresholds.GetValueOrDefault(ouQiLevel, 0);
+
+ // 计算差值和进度
+ int cha;
+ int jindu;
+ if (nextLevel > 7)
+ {
+ // 已满级
+ cha = -1;
+ jindu = 100;
+ }
+ else
+ {
+ cha = Math.Max(0, nextOuQi - ouQi);
+ // 计算当前等级内的进度
+ var levelRange = nextOuQi - currentLevelOuQi;
+ var progress = ouQi - currentLevelOuQi;
+ jindu = levelRange > 0 ? Math.Min(100, Math.Max(0, progress * 100 / levelRange)) : 0;
+ }
return new QuanYiLevelInfo
{
Level = ouQiLevel,
Title = title,
OuQi = ouQi,
- NextOuQi = nextOuQi
+ NextOuQi = nextOuQi,
+ Cha = cha,
+ Jindu = jindu
};
}
diff --git a/server/HoneyBox/src/HoneyBox.Model/Models/Vip/QuanYiModels.cs b/server/HoneyBox/src/HoneyBox.Model/Models/Vip/QuanYiModels.cs
index e6e896eb..6b30bbb5 100644
--- a/server/HoneyBox/src/HoneyBox.Model/Models/Vip/QuanYiModels.cs
+++ b/server/HoneyBox/src/HoneyBox.Model/Models/Vip/QuanYiModels.cs
@@ -60,6 +60,18 @@ public class QuanYiLevelInfo
///
[JsonPropertyName("next_ou_qi")]
public int NextOuQi { get; set; }
+
+ ///
+ /// 距离下一等级还差多少欧气值(-1表示已满级)
+ ///
+ [JsonPropertyName("cha")]
+ public int Cha { get; set; }
+
+ ///
+ /// 当前等级进度百分比(0-100)
+ ///
+ [JsonPropertyName("jindu")]
+ public int Jindu { get; set; }
}
///