diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 1bbeec5..92bd16a 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -62,6 +62,7 @@ declare module 'vue' { ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] + GuideImage: typeof import('./src/components/GuideImage.vue')['default'] InAppBrowserPrompt: typeof import('./src/components/InAppBrowserPrompt.vue')['default'] MobileBottomNav: typeof import('./src/components/MobileBottomNav.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] diff --git a/frontend/src/assets/tencent-security-guide.webp b/frontend/src/assets/tencent-security-guide.webp new file mode 100644 index 0000000..6c778d9 Binary files /dev/null and b/frontend/src/assets/tencent-security-guide.webp differ diff --git a/frontend/src/components/GuideImage.vue b/frontend/src/components/GuideImage.vue new file mode 100644 index 0000000..7dfd0cd --- /dev/null +++ b/frontend/src/components/GuideImage.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/frontend/src/features/seller/composables/usePublishDraft.ts b/frontend/src/features/seller/composables/usePublishDraft.ts index 5f38b59..303ce33 100644 --- a/frontend/src/features/seller/composables/usePublishDraft.ts +++ b/frontend/src/features/seller/composables/usePublishDraft.ts @@ -17,6 +17,7 @@ export function defaultPublishForm(): PublishForm { login_method: '', online_start: '', online_end: '', + unlock_said: '', ban_record: '', common_regions: [], depositAmountYuan: '', diff --git a/frontend/src/features/seller/composables/usePublishForm.ts b/frontend/src/features/seller/composables/usePublishForm.ts index 5c0ff32..3cc7f05 100644 --- a/frontend/src/features/seller/composables/usePublishForm.ts +++ b/frontend/src/features/seller/composables/usePublishForm.ts @@ -285,6 +285,7 @@ export function usePublishForm(options: UsePublishFormOptions) { login_method: listing.login_platform || '', online_start: stringValue(onlineTime.start), online_end: stringValue(onlineTime.end), + unlock_said: stringValue(summary.unlock_said), ban_record: stringValue(summary.ban_record), common_regions: stringArray(summary.common_regions), depositAmountYuan: listing.deposit_amount_cent > 0 ? listing.deposit_amount_cent / 100 : '', @@ -730,6 +731,7 @@ export function usePublishForm(options: UsePublishFormOptions) { } } if (pricing.banRecordOptions.value.length && !form.ban_record) return '请选择封禁记录' + if (!form.unlock_said) return '请选择是否解锁赛伊德' if (form.depositAmountYuan === '' || Number(form.depositAmountYuan) < 0) return '请填写押金' if (!Number.isFinite(Number(form.depositAmountYuan))) return '押金格式不正确' if ( @@ -825,6 +827,7 @@ export function usePublishForm(options: UsePublishFormOptions) { start: form.online_start, end: form.online_end, }, + unlock_said: form.unlock_said, ban_record: form.ban_record, common_regions: form.common_regions, remark: form.remark, diff --git a/frontend/src/features/seller/views/MobileSellerListingCreateView.vue b/frontend/src/features/seller/views/MobileSellerListingCreateView.vue index 961d6a0..a6263b7 100644 --- a/frontend/src/features/seller/views/MobileSellerListingCreateView.vue +++ b/frontend/src/features/seller/views/MobileSellerListingCreateView.vue @@ -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(value: T, setter: (value: T) => void) { setter(value) } + +const unlockSaidOptions = ['是', '否'] + +// 截图槽位的指导示例图(仅展示、点击放大,不占用上传数量) +const screenshotGuides: Record = { + tencentSecurity: tencentSecurityGuide, +}