微信分享

This commit is contained in:
2026-07-09 17:14:00 +08:00
parent 3d3588babb
commit 3f60c37265
9 changed files with 180 additions and 3 deletions
+6 -1
View File
@@ -3,8 +3,10 @@ import { Link, useNavigate, useParams } from 'react-router-dom';
import { useEffect, useState } from 'react';
import AppImage from '@dukang/shared-ui/AppImage';
import ProductCarousel from '../components/ProductCarousel';
import AppToast from '../components/AppToast';
import { request } from '../lib/api';
import { track } from '../lib/analytics';
import { handleShareButtonClick } from '../lib/wechat-share';
import { getProductCarouselImages, getProductDetailImages } from '../lib/product-images';
import type { ProductImageSource } from '../lib/product-images';
@@ -21,6 +23,7 @@ export default function ProductDetailPage() {
const navigate = useNavigate();
const [product, setProduct] = useState<Product | null>(null);
const [headerSolid, setHeaderSolid] = useState(false);
const [toast, setToast] = useState('');
useEffect(() => {
if (id) request<Product>('USER_H5', `/catalog/products/${id}`).then(setProduct);
@@ -66,12 +69,14 @@ export default function ProductDetailPage() {
type="button"
className="product-detail-header-btn"
aria-label="分享"
onClick={() => {}}
onClick={() => handleShareButtonClick(setToast)}
>
<span className="material-symbols-outlined">share</span>
</button>
</header>
<AppToast message={toast} />
<main className="product-detail-main">
<section className="product-detail-hero">
<ProductCarousel images={carouselImages} alt={product.name} variant="detail" />