import { Button, CustomWrapper, Image, RichText, ScrollView, Swiper, SwiperItem, Text, View } from '@tarojs/components' import Taro, { useDidShow, usePullDownRefresh, useRouter, useShareAppMessage } from '@tarojs/taro'; import classnames from "classnames"; import DesSwiper from './components/swiper'; import OrderCount from './components/orderCount'; import ShopCart from '@/components/shopCart'; import Preview,{colorItem} from './components/preview'; import styles from './index.module.scss' import { useEffect, useMemo, useState } from 'react'; import {formatHashTag} from '@/common/fotmat' import useManualPullDownRefresh from '@/use/useManualPullDownRefresh'; import { goLink } from '@/common/common'; import useUserInfo from '@/use/useUserInfo'; import {GetProductDetailApi} from '@/api/material' import useLogin from '@/use/useLogin'; type item = {title:string, img:string, url:string, id:number} type params = { list?: item[] swiperOnClick?: (val: item) => void, style?: Object } export default (props:params) => { const {checkLogin, getPhoneNumber, userInfo} = useLogin() useDidShow(() => { checkLogin() }) const router = useRouter() //获取数据 const [productInfo, setProductInfo] = useState({}) const {fetchData} = GetProductDetailApi() useEffect(() => { getProductDetail() }, []) const getProductDetail = async () => { let {data} = await fetchData({id: router.params.id}) setProductInfo(data) Taro.stopPullDownRefresh() } //面料名称 const productName = useMemo(() => { return formatHashTag(productInfo.code, productInfo.name) },[productInfo]) const [showCart, setShowCart] = useState(false) const [showOrderCount, setShowOrderCount] = useState(false) const html = ` ` const [colorInfo, setColorInfo] = useState() const [showPreview, setShowPreview] = useState(false) const getColorItem = (item) => { setColorInfo({ title: item.code, img: item.texture_url, }) setShowPreview(true) } const [collectStatus, setCollectStatus] = useState(false) const changeCollect = () => { setCollectStatus(!collectStatus) Taro.showToast({ title: '收藏成功', icon: 'success', duration: 2000 }) } useShareAppMessage(res => { if (res.from === 'button') { // 来自页面内转发按钮 console.log(res.target) } return { title: '自定义转发标题', path: '/pages/details/index?id=10', imageUrl: '' } }) //开始下单 const placeOrder = async (e:any) => { try { await getPhoneNumber(e.detail.code) } catch(msg) { Taro.showToast({ icon:"none", title: msg }) return false } setShowOrderCount(true) } //页面下拉刷新 usePullDownRefresh(() => { getProductDetail() }) return ( {productName} {productInfo.describe} 分享 changeCollect()}> 收藏 详情参数 编号:{productInfo.code} 幅宽:{productInfo.width} 克重:{productInfo.weight_density} 成分:{productInfo.component} 色号 (10) {productInfo?.product_color_list?.map(item => { return getColorItem(item)}> {item.code} })} setShowCart(true)}> 购物车 { !userInfo.adminUserInfo?.is_authorize_phone&& 开始下单 || placeOrder(e)}>开始下单 } setShowOrderCount(false)} title={productName} productId={productInfo.id}/> setShowCart(false)}/> setShowPreview(false)}/> ) }