优化发布页默认输入与在线时间校验

This commit is contained in:
yml2213
2026-06-08 07:12:26 +08:00
parent 04f42e5a96
commit ff2aa2df9d
6 changed files with 203 additions and 55 deletions
@@ -23,6 +23,8 @@ const {
quantityValues,
quantityModes,
selectedSkins,
disabledOnlineStartOptions,
disabledOnlineEndOptions,
serverOptions,
faceOptions,
rankOptions,
@@ -61,6 +63,14 @@ const {
isMultiScreenshotSlot,
canAddScreenshot,
getScreenshotLimitHint,
isAllDayOnline,
isOnlineStartPresetActive,
isOnlineEndPresetActive,
selectAllDayOnline,
selectOnlineStart,
selectOnlineEnd,
handleOnlineStartChange,
handleOnlineEndChange,
handleFireLevelInput,
handleAcceleratedSaleRatioInput,
useRecommendedDeposit,
@@ -100,31 +110,6 @@ function openPublishAgreement(agreement: AgreementContent) {
function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
setter(value)
}
function isAllDayOnline() {
return form.online_start === '00:00' && form.online_end === '23:59'
}
function isOnlineStartPresetActive(value: string) {
return !isAllDayOnline() && form.online_start === value
}
function isOnlineEndPresetActive(value: string) {
return !isAllDayOnline() && form.online_end === value
}
function selectAllDayOnline() {
form.online_start = '00:00'
form.online_end = '23:59'
}
function selectOnlineStart(value: string) {
form.online_start = value
}
function selectOnlineEnd(value: string) {
form.online_end = value
}
</script>
<template>
@@ -373,6 +358,7 @@ function selectOnlineEnd(value: string) {
label="在线开始"
type="time"
class="publish-field time-field"
@update:model-value="handleOnlineStartChange"
/>
<div class="radio-group small time-preset-chips">
<button
@@ -388,7 +374,11 @@ function selectOnlineEnd(value: string) {
:key="`start-${opt}`"
type="button"
class="radio-btn"
:class="{ active: isOnlineStartPresetActive(opt) }"
:class="{
active: isOnlineStartPresetActive(opt),
disabled: disabledOnlineStartOptions.includes(opt),
}"
:disabled="disabledOnlineStartOptions.includes(opt)"
@click="selectOnlineStart(opt)"
>
{{ opt }}
@@ -401,6 +391,7 @@ function selectOnlineEnd(value: string) {
label="在线结束"
type="time"
class="publish-field time-field"
@update:model-value="handleOnlineEndChange"
/>
<div class="radio-group small time-preset-chips">
<button
@@ -416,7 +407,11 @@ function selectOnlineEnd(value: string) {
:key="`end-${opt}`"
type="button"
class="radio-btn"
:class="{ active: isOnlineEndPresetActive(opt) }"
:class="{
active: isOnlineEndPresetActive(opt),
disabled: disabledOnlineEndOptions.includes(opt),
}"
:disabled="disabledOnlineEndOptions.includes(opt)"
@click="selectOnlineEnd(opt)"
>
{{ opt }}