优化首页返回定位与发布在线时间表单

移动端首页用列表缓存和内部滚动恢复浏览位置;发布页在线时间改为全天+起止时间单行布局。
This commit is contained in:
yml2213
2026-07-12 23:02:01 +08:00
parent 42b250cd2c
commit acd9d9b7f1
11 changed files with 359 additions and 327 deletions
@@ -18,7 +18,6 @@ import GuideImage from '@/components/GuideImage.vue'
import tencentSecurityGuide from '@/assets/tencent-security-guide.webp'
const {
commonOnlineTimes,
dailyLossOptions,
formatNumber,
loading,
@@ -39,8 +38,6 @@ const {
requiredScreenshotCount,
isEditMode,
submitButtonText,
disabledOnlineStartOptions,
disabledOnlineEndOptions,
serverOptions,
faceOptions,
rankOptions,
@@ -85,8 +82,6 @@ const {
getScreenshotLimitHint,
isAllDayOnline,
selectAllDayOnline,
selectOnlineStart,
selectOnlineEnd,
handleOnlineStartChange,
handleOnlineEndChange,
handleFireLevelInput,
@@ -344,81 +339,51 @@ function selectDailyLoss(value: string | number) {
/>
</div>
<div class="time-preset-panel">
<div class="time-preset-row">
<strong>在线开始<span>*</span></strong>
<div class="time-preset-content">
<div class="field-row panel-field-row online-time-row">
<label>在线时间<span>*</span></label>
<div class="online-time-controls">
<button
type="button"
class="time-chip"
:class="{ active: isAllDayOnline() }"
@click="selectAllDayOnline"
>
全天
</button>
<div class="online-time-range">
<el-time-picker
v-model="form.online_start"
value-format="HH:mm"
format="HH:mm"
placeholder="开始时间"
placeholder="开始"
class="time-input"
@change="handleOnlineStartChange"
/>
<div class="time-preset-actions">
<button
type="button"
class="time-chip"
:class="{ active: isAllDayOnline() }"
@click="selectAllDayOnline"
>
全天
</button>
<OptionChips
:options="commonOnlineTimes"
:model-value="isAllDayOnline() ? '' : form.online_start"
:disabled-values="disabledOnlineStartOptions"
key-prefix="start-"
@select="selectOnlineStart"
/>
</div>
</div>
</div>
<div class="time-preset-row">
<strong>在线结束<span>*</span></strong>
<div class="time-preset-content">
<span class="online-time-sep">至</span>
<el-time-picker
v-model="form.online_end"
value-format="HH:mm"
format="HH:mm"
placeholder="结束时间"
placeholder="结束"
class="time-input"
@change="handleOnlineEndChange"
/>
<div class="time-preset-actions">
<button
type="button"
class="time-chip"
:class="{ active: isAllDayOnline() }"
@click="selectAllDayOnline"
>
全天
</button>
<OptionChips
:options="commonOnlineTimes"
:model-value="isAllDayOnline() ? '' : form.online_end"
:disabled-values="disabledOnlineEndOptions"
key-prefix="end-"
@select="selectOnlineEnd"
/>
</div>
</div>
</div>
<p class="field-hint">请填写能稳定联系上您的时间,便于扫码、冻结人脸和订单交接。</p>
</div>
<p class="field-hint">请填写能稳定联系上您的时间,便于扫码、冻结人脸和订单交接。</p>
<div v-if="banRecordOptions.length" class="field-row">
<div v-if="banRecordOptions.length" class="field-row panel-field-row">
<label>封禁记录<span>*</span></label>
<OptionChips
:options="banRecordOptions"
:model-value="form.ban_record"
@select="form.ban_record = String($event)"
/>
<p v-if="showBanRecordRiskHint" class="field-hint">
刚出租结算完的账号需冷号七天才可再次出租,IP频繁变动会导致封号。
</p>
</div>
<p v-if="showBanRecordRiskHint && banRecordOptions.length" class="field-hint">
刚出租结算完的账号需冷号七天才可再次出租,IP频繁变动会导致封号。
</p>
<div v-if="regionOptions.length" class="region-panel login-region-panel">
<div class="region-title">