发布流程增加解锁赛伊德与腾讯安全中心截图教程
- 解锁赛伊德:皮肤与交接分区新增是/否必选项,存入 asset_summary, 仅当号主选「是」时在买家端列表/详情展示「解锁赛伊德:是」 - 腾讯安全中心截图:新增可复用 GuideImage 组件(缩略图 + 点击全屏放大), 在该截图槽位展示处罚截图教程图,仅提示用途、不占用上传数量 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
a88008f783
commit
f336957391
@@ -6,6 +6,8 @@ import MobileBottomNav from '@/components/MobileBottomNav.vue'
|
||||
import { usePublishForm } from '@/features/seller/composables/usePublishForm'
|
||||
import { formatMoney } from '@/shared/utils/money'
|
||||
import type { AgreementContent } from '@/features/listings/api/listingOptions'
|
||||
import GuideImage from '@/components/GuideImage.vue'
|
||||
import tencentSecurityGuide from '@/assets/tencent-security-guide.webp'
|
||||
|
||||
const {
|
||||
commonOnlineTimes,
|
||||
@@ -115,6 +117,13 @@ function openPublishAgreement(agreement: AgreementContent) {
|
||||
function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
|
||||
setter(value)
|
||||
}
|
||||
|
||||
const unlockSaidOptions = ['是', '否']
|
||||
|
||||
// 截图槽位的指导示例图(仅展示、点击放大,不占用上传数量)
|
||||
const screenshotGuides: Record<string, string> = {
|
||||
tencentSecurity: tencentSecurityGuide,
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -356,6 +365,23 @@ function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
|
||||
优先推荐【账密登录】,出售速度约为扫码的数倍,两种方式安全性一致,账密登录更便捷,请自行衡量
|
||||
</p>
|
||||
|
||||
<van-field label="解锁赛伊德" required class="publish-field">
|
||||
<template #input>
|
||||
<div class="radio-group">
|
||||
<button
|
||||
v-for="opt in unlockSaidOptions"
|
||||
:key="opt"
|
||||
type="button"
|
||||
class="radio-btn"
|
||||
:class="{ active: form.unlock_said === opt }"
|
||||
@click="selectRadio(opt, value => (form.unlock_said = value))"
|
||||
>
|
||||
{{ opt }}
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<div class="time-row">
|
||||
<div class="time-field-group">
|
||||
<van-field
|
||||
@@ -487,6 +513,11 @@ function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
|
||||
<small v-if="getScreenshotLimitHint(slot.key)">{{
|
||||
getScreenshotLimitHint(slot.key)
|
||||
}}</small>
|
||||
<GuideImage
|
||||
v-if="screenshotGuides[slot.key]"
|
||||
:src="screenshotGuides[slot.key] || ''"
|
||||
label="点击查看处罚截图教程"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="getScreenshotCount(slot.key)" class="upload-preview-list">
|
||||
<div
|
||||
|
||||
Reference in New Issue
Block a user