feat(identity): close free-task progress, level card, hot threshold

Finish remaining 1:1 parity gaps: free-task done/progress DTO with
daily marks, user-center level/integral card UI, configurable forum
hot recommend threshold, and task progress bars.
This commit is contained in:
kate522 committed 2026-07-17 02:05:10 +08:00
1 parent a7489798fe
commit 5949c7a503
9 files changed
+243 -8

No files matched your search

@@ -11,6 +11,7 @@ export const creditsSchema = {
bbs_credits_score_extra: 3,
bbs_credits_essence: 10,
bbs_credits_posts_hot: 5,
bbs_hot_recommend_threshold: 500,
bbs_credits_adopted: 20,
bbs_credits_daily_max: 50,
},
@@ -27,6 +28,7 @@ export const creditsSchema = {
{ key: 'bbs_credits_score_extra', label: '被加分', type: 'number', default: 3, min: 0 },
{ key: 'bbs_credits_essence', label: '被设精华', type: 'number', default: 10, min: 0 },
{ key: 'bbs_credits_posts_hot', label: '成为热帖', type: 'number', default: 5, min: 0 },
{ key: 'bbs_hot_recommend_threshold', label: '热帖推荐分阈值', type: 'number', default: 500, min: 1, help: '推荐分达到该值触发热帖奖励与勋章累计' },
{ key: 'bbs_credits_adopted', label: '被采纳', type: 'number', default: 20, min: 0 },
{ key: 'bbs_credits_daily_max', label: '每日积分上限', type: 'number', default: 50, min: 0, help: '0 = 不限' },
],
+46
View File
@@ -993,3 +993,49 @@ body.uc-modal-open {
.uc-badges-item .medal-icon { width: 28px; height: 28px; object-fit: contain; }
.uc-badges-wear-tag { margin-left: 6px; }
.uc-badges-empty { padding: 16px 0; text-align: center; }
/* Level / integral card */
.uc-level-card {
margin: 16px 0;
padding: 16px;
border-radius: 12px;
background: linear-gradient(135deg, rgba(240,68,148,.12), rgba(99,102,241,.10));
position: relative;
overflow: hidden;
}
.uc-level-card__badge { margin-top: 12px; }
.uc-level-card .progress,
.integral-progress.progress {
height: 8px;
border-radius: 999px;
background: rgba(127,127,127,.18);
overflow: hidden;
}
.uc-level-card .progress-bar {
height: 100%;
border-radius: 999px;
background: linear-gradient(90deg, #f04494, #6366f1);
}
.uc-level-growth__row {
display: grid;
grid-template-columns: 56px 1fr auto;
gap: 8px;
padding: 6px 0;
border-bottom: 1px solid rgba(127,127,127,.12);
font-size: 12px;
}
.uc-level-growth__row.is-done { opacity: .7; }
.uc-level-growth__row.is-next { font-weight: 700; color: var(--focus-color, #f04494); }
.uc-points-tasks__row.is-done { opacity: .72; }
.uc-points-tasks__progress-bar {
height: 6px;
border-radius: 999px;
background: rgba(127,127,127,.16);
overflow: hidden;
}
.uc-points-tasks__progress-bar > span {
display: block;
height: 100%;
background: linear-gradient(90deg, #22c55e, #16a34a);
}