取消vip门槛
This commit is contained in:
parent
cf60f9ce2c
commit
ef90b9ed27
@ -108,9 +108,9 @@ function normalizeLevel(item: RawLevel): VipLevelDto {
|
||||
durationMs: numberValue(item.durationMs ?? item.duration_ms),
|
||||
rewardResourceGroupId: numberValue(item.rewardResourceGroupId ?? item.reward_resource_group_id),
|
||||
sortOrder: numberValue(item.sortOrder ?? item.sort_order),
|
||||
rechargeGateRequired: Boolean(item.rechargeGateRequired ?? item.recharge_gate_required ?? level >= 6),
|
||||
requiredRechargeCoinAmount: numberValue(item.requiredRechargeCoinAmount ?? item.required_recharge_coin_amount),
|
||||
userRechargeCoinAmount: numberValue(item.userRechargeCoinAmount ?? item.user_recharge_coin_amount),
|
||||
rechargeGateRequired: false,
|
||||
requiredRechargeCoinAmount: 0,
|
||||
userRechargeCoinAmount: 0,
|
||||
purchaseLockedReason: stringValue(item.purchaseLockedReason ?? item.purchase_locked_reason),
|
||||
createdAtMs: numberValue(item.createdAtMs ?? item.created_at_ms),
|
||||
updatedAtMs: numberValue(item.updatedAtMs ?? item.updated_at_ms),
|
||||
|
||||
@ -174,7 +174,7 @@ function defaultLevels() {
|
||||
durationMs: defaultDurationMs,
|
||||
rewardResourceGroupId: 0,
|
||||
requiredRechargeCoinAmount: 0,
|
||||
rechargeGateRequired: level >= 6,
|
||||
rechargeGateRequired: false,
|
||||
sortOrder: level * 10,
|
||||
};
|
||||
});
|
||||
@ -216,7 +216,6 @@ function payloadFromForm(form) {
|
||||
const priceCoin = Number(level.priceCoin || 0);
|
||||
const durationDays = Number(level.durationDays || 0);
|
||||
const rewardResourceGroupId = Number(level.rewardResourceGroupId || 0);
|
||||
const requiredRechargeCoinAmount = level.level >= 6 ? Number(level.requiredRechargeCoinAmount || 0) : 0;
|
||||
const sortOrder = Number(level.sortOrder || level.level * 10);
|
||||
const status = level.status === "active" ? "active" : "disabled";
|
||||
if (!String(level.name || "").trim()) {
|
||||
@ -234,9 +233,6 @@ function payloadFromForm(form) {
|
||||
if (status === "active" && rewardResourceGroupId <= 0) {
|
||||
throw new Error(`VIP${level.level} 启用时必须选择奖励资源组`);
|
||||
}
|
||||
if (status === "active" && level.level >= 6 && requiredRechargeCoinAmount <= 0) {
|
||||
throw new Error(`VIP${level.level} 启用时必须配置累计充值门槛`);
|
||||
}
|
||||
return {
|
||||
level: Number(level.level),
|
||||
name: String(level.name || "").trim(),
|
||||
@ -244,7 +240,7 @@ function payloadFromForm(form) {
|
||||
priceCoin,
|
||||
durationMs: durationDays * 86400000,
|
||||
rewardResourceGroupId,
|
||||
requiredRechargeCoinAmount,
|
||||
requiredRechargeCoinAmount: 0,
|
||||
sortOrder,
|
||||
};
|
||||
});
|
||||
|
||||
@ -28,9 +28,7 @@ export function VipConfigPage() {
|
||||
<div className={styles.summaryItems}>
|
||||
<SummaryItem label="总等级">{levels.length || 10}</SummaryItem>
|
||||
<SummaryItem label="启用等级">{page.activeCount}</SummaryItem>
|
||||
<SummaryItem label="高阶门槛">
|
||||
{levels.filter((level) => level.level >= 6 && level.status === "active").length}
|
||||
</SummaryItem>
|
||||
<SummaryItem label="购买门槛">无</SummaryItem>
|
||||
</div>
|
||||
<div className={styles.summaryActions}>
|
||||
<Button
|
||||
@ -202,22 +200,6 @@ function VipConfigDrawer({ page }) {
|
||||
page.updateLevel(level.level, { rewardResourceGroupId: value })
|
||||
}
|
||||
/>
|
||||
{level.level >= 6 ? (
|
||||
<TextField
|
||||
disabled={disabled}
|
||||
inputProps={{ min: 0, step: 1 }}
|
||||
label="累计充值门槛"
|
||||
type="number"
|
||||
value={level.requiredRechargeCoinAmount}
|
||||
onChange={(event) =>
|
||||
page.updateLevel(level.level, {
|
||||
requiredRechargeCoinAmount: event.target.value,
|
||||
})
|
||||
}
|
||||
/>
|
||||
) : (
|
||||
<TextField disabled label="购买门槛" value="直接购买" />
|
||||
)}
|
||||
<TextField
|
||||
disabled={disabled}
|
||||
inputProps={{ min: 0, step: 1 }}
|
||||
@ -283,8 +265,7 @@ function vipColumns(resourceLabels) {
|
||||
{
|
||||
key: "gate",
|
||||
label: "购买门槛",
|
||||
render: (item) =>
|
||||
item.level >= 6 ? `${formatNumber(item.requiredRechargeCoinAmount)} 累充金币` : "直接购买",
|
||||
render: () => "直接购买",
|
||||
width: "minmax(180px, 0.8fr)",
|
||||
},
|
||||
{
|
||||
|
||||
@ -86,11 +86,6 @@
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.directLabel {
|
||||
color: var(--color-text-muted);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@media (max-width: 760px) {
|
||||
.summaryPanel {
|
||||
align-items: stretch;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user