diff --git a/frontend/src/assets/share-menu-icon.png b/frontend/src/assets/share-menu-icon.png new file mode 100644 index 0000000..b6de6fb Binary files /dev/null and b/frontend/src/assets/share-menu-icon.png differ diff --git a/frontend/src/features/guide/views/MobileAddHomeGuideView.vue b/frontend/src/features/guide/views/MobileAddHomeGuideView.vue new file mode 100644 index 0000000..206d6f9 --- /dev/null +++ b/frontend/src/features/guide/views/MobileAddHomeGuideView.vue @@ -0,0 +1,455 @@ + + + + + diff --git a/frontend/src/features/listings/views/MobileHomeView.css b/frontend/src/features/listings/views/MobileHomeView.css index ddd5bda..a09ac97 100644 --- a/frontend/src/features/listings/views/MobileHomeView.css +++ b/frontend/src/features/listings/views/MobileHomeView.css @@ -82,6 +82,76 @@ font-weight: 700; } +.add-home-strip { + display: flex; + align-items: center; + gap: 9px; + min-height: 50px; + margin-top: 10px; + padding: 8px 10px; + border: 1px solid #fed7aa; + border-radius: 8px; + background: #fff7ed; + color: #7c2d12; + text-decoration: none; +} + +.add-home-mark { + display: grid; + flex: 0 0 auto; + width: 34px; + height: 34px; + place-items: center; + border-radius: 8px; + background: linear-gradient(135deg, #ff7a1a, #ef4444); + color: #fff; + box-shadow: 0 8px 18px rgba(239, 68, 68, 0.2); +} + +.add-home-copy { + display: grid; + flex: 1; + min-width: 0; + gap: 2px; +} + +.add-home-copy strong, +.add-home-copy small { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.add-home-copy strong { + color: #7c2d12; + font-size: 14px; + font-weight: 900; +} + +.add-home-copy small { + color: #c2410c; + font-size: 11px; + font-weight: 700; +} + +.add-home-cta { + display: grid; + flex: 0 0 auto; + min-width: 64px; + height: 32px; + place-items: center; + border-radius: 8px; + background: #ef4444; + color: #fff; + font-size: 13px; + font-weight: 900; + box-shadow: 0 8px 18px rgba(239, 68, 68, 0.18); +} + +.add-home-strip:active { + transform: translateY(1px); +} + .fraud-tip { display: flex; align-items: center; diff --git a/frontend/src/features/listings/views/MobileHomeView.vue b/frontend/src/features/listings/views/MobileHomeView.vue index 2805898..7e83ae5 100644 --- a/frontend/src/features/listings/views/MobileHomeView.vue +++ b/frontend/src/features/listings/views/MobileHomeView.vue @@ -610,6 +610,16 @@ syncMobileHomeQuery() {{ supportLoading ? '接入中' : '客服' }} + + + + + + 添加到手机桌面 + 下次像 App 一样快速打开 + + 去添加 + import('@/features/listings/views/MobileListingDetailView.vue'), meta: { layout: 'blank' }, }, + { + path: '/m/add-home-guide', + name: 'mobile-add-home-guide', + component: () => import('@/features/guide/views/MobileAddHomeGuideView.vue'), + meta: { layout: 'blank' }, + }, { path: '/m/login', name: 'mobile-login',