完成分享

This commit is contained in:
2022-06-06 14:36:39 +08:00
parent 5ae2eb3541
commit c00ab572fb
14 changed files with 61 additions and 82 deletions
+17 -40
View File
@@ -11,21 +11,21 @@ import { useEffect, useMemo, useRef, useState } from 'react';
import {formatHashTag, formatImgUrl} from '@/common/fotmat'
import {GetProductDetailApi} from '@/api/material'
import useLogin from '@/use/useLogin';
import { useSelector } from '@/reducers/hooks';
import { AnalysisShortCodeApi, GetShortCodeApi } from '@/api/share';
import { AnalysisShortCodeApi, BindShortCodeApi, GetShortCodeApi } from '@/api/share';
import { SHARE_SCENE } from '@/common/enum';
import useUserInfo from '@/use/useUserInfo';
type item = {title:string, img:string, url:string, id:number}
type params = {
type Params = {
list?: item[]
swiperOnClick?: (val: item) => void,
style?: Object
}
export default (props:params) => {
export default (props:Params) => {
const {checkLogin, getPhoneNumber, userInfo} = useLogin()
//获取参数
//获取参数(有两种参数:1.商品id, 2.页面分享)
const router = useRouter()
const [params, setParams] = useState({id: '', share: null})
@@ -38,29 +38,24 @@ export default (props:params) => {
}
}
//解析短码参数(该请求不能校验token)
//解析短码参数
const {fetchData: fetchDataAnalysisShortCode} = AnalysisShortCodeApi()
const analysisShortCode = async () => {
let res = await fetchDataAnalysisShortCode({md5_key: router.params.share})
setParams({id: res.data.id, share: res.data})
console.log('res::::&&', res.data)
setParams({id: res.data.product_id, share: res.data})
}
useDidShow(() => {
checkLogin()
judgeParam()
})
useEffect(() => {
//先确保能拿到订单id才做其他请求
if(params.id) {
checkLogin()
getShortCode()
getProductDetail()
}
}, [params])
//获取数据
const [productInfo, setProductInfo] = useState<any>({})
const {fetchData} = GetProductDetailApi()
@@ -70,6 +65,11 @@ export default (props:params) => {
Taro.stopPullDownRefresh()
}
useEffect(() => {
if(productInfo.code) getShortCode()
}, [productInfo])
//面料名称
const productName = useMemo(() => {
return formatHashTag(productInfo.code, productInfo.name)
@@ -103,37 +103,14 @@ export default (props:params) => {
})
}
const userObj = useSelector(state => state.userInfo)
//获取分享转码
const {setSortCode, userInfo : userObj } = useUserInfo()
//详情页获取分享短码
const {ShareDetail} = SHARE_SCENE
const {fetchData: fetchDataShortCode} = GetShortCodeApi()
const sortCode = useRef('')
const getShortCode = async () => {
const {data: resDetail} = await fetchDataShortCode({"share_user_id": userObj.adminUserInfo.user_id, type:ShareDetail.value, id: params.id})
sortCode.current = resDetail.md5_key
const {data: resDetail} = await fetchDataShortCode({"share_user_id": userObj.adminUserInfo.user_id, type:ShareDetail.value, product_id: parseInt(params.id)})
setSortCode({... userObj.sort_code, shareShortDetail: {title: productName as string, code: resDetail.md5_key, img:''}})
}
//转发分享
useShareAppMessage(res => {
let path = ''
let title = ''
let imageUrl = ''
if (res.from === 'button') {
path = `/pages/details/index?share=${sortCode.current}`
title = productName as string
// imageUrl =
} else {
path = `/pages/index/index?share=${sortCode.current}`
title = '陆盈电子商城'
}
return {
title,
path,
imageUrl,
}
})
//开始下单
const placeOrder = async (e:any) => {