From 88e639c9ea99dbf049e89277edae990175bfe54f Mon Sep 17 00:00:00 2001 From: yujialong <479214531@qq.com> Date: Tue, 5 Nov 2024 14:28:25 +0800 Subject: [PATCH] fix --- src/components/UserExchangeModal/index.tsx | 39 +++++++------- .../UserExchangeSuccessModal/index.less | 10 ++-- .../UserExchangeSuccessModal/index.tsx | 53 +++++++++++-------- src/pages/Home/index.tsx | 21 ++++---- src/pages/UserHome/UserSubscribe/index.tsx | 12 ++--- src/pages/Vip/index.tsx | 15 +++++- 6 files changed, 82 insertions(+), 68 deletions(-) diff --git a/src/components/UserExchangeModal/index.tsx b/src/components/UserExchangeModal/index.tsx index 259c06b..f9a6c9f 100644 --- a/src/components/UserExchangeModal/index.tsx +++ b/src/components/UserExchangeModal/index.tsx @@ -25,6 +25,9 @@ export default function UserExchangeModal({ isOpen, setIsOpen }: Props) { // 兑换成功弹窗 const [isUserExchangeSuccessModalOpen, setisUserExchangeSuccessModalOpen] = useState(false) + // 兑换接口返回的state + const [exchangeState, setExchangeState] = useState('') + // 兑换成功的商品名称字符串 const [prdtNames, setPrdtNames] = useState('') @@ -51,19 +54,16 @@ export default function UserExchangeModal({ isOpen, setIsOpen }: Props) { change_code: res.path.slice(-8) }, success: (s_res: any) => { - console.log('兑换成功=>', s_res.data) - if (s_res.data.state === '200') { - const list = s_res.data.data.Subscribed + const { state, data } = s_res.data + setExchangeState(state) + // 有返回商品名称,则显示;否则只显示提示语 + if(data && data.Subscribed){ + const list = data.Subscribed setPrdtNames(list.map((e: any) => e.PrdtTitle).join(';')) setPrdtList(list) - setIsOpen(false) - setisUserExchangeSuccessModalOpen(true) - }else if(s_res.data.state === '207'){ - Taro.showToast({ - title: '兑换码已使用', - icon: 'error' - }) } + setIsOpen(false) + setisUserExchangeSuccessModalOpen(true) }, fail: (err: any) => { console.log('兑换失败=>', err) @@ -88,19 +88,16 @@ export default function UserExchangeModal({ isOpen, setIsOpen }: Props) { change_code: inputValue }, success: (res: any) => { - if(res.data.state === '200'){ - const list = res.data.data.Subscribed - console.log('兑换成功=>', list) + const { state, data } = res.data + setExchangeState(state) + // 有返回商品名称,则显示;否则只显示提示语 + if(data && data.Subscribed){ + const list = data.Subscribed setPrdtNames(list.map((e: any) => e.PrdtTitle).join(';')) setPrdtList(list) - setIsOpen(false) - setisUserExchangeSuccessModalOpen(true) - }else if(res.data.state === '207'){ - Taro.showToast({ - title: '兑换码已使用', - icon: 'error' - }) } + setIsOpen(false) + setisUserExchangeSuccessModalOpen(true) }, fail: (err: any) => { console.log('兑换失败=>', err) @@ -159,7 +156,7 @@ export default function UserExchangeModal({ isOpen, setIsOpen }: Props) { )} - + ) } diff --git a/src/components/UserExchangeSuccessModal/index.less b/src/components/UserExchangeSuccessModal/index.less index 5a08479..227d894 100644 --- a/src/components/UserExchangeSuccessModal/index.less +++ b/src/components/UserExchangeSuccessModal/index.less @@ -23,14 +23,16 @@ gap: .5rem; .exchange_header { + position: relative; width: 100%; - height: 1.625rem; - display: flex; + text-align: center; .exchange_close { + position: absolute; + top: 0; + right: 0; width: 1.5rem; height: 1.5rem; - margin: auto 0 auto auto; background-image: url(https://oss.jm-kid.com/wx_5colorflower/close.png); background-size: cover; background-repeat: no-repeat; @@ -39,7 +41,7 @@ .exchange_content { display: flex; - margin-bottom: 1rem; + margin: .5rem 0; } .exchange_suc { font-size: .9rem; diff --git a/src/components/UserExchangeSuccessModal/index.tsx b/src/components/UserExchangeSuccessModal/index.tsx index 46450b9..692b8d5 100644 --- a/src/components/UserExchangeSuccessModal/index.tsx +++ b/src/components/UserExchangeSuccessModal/index.tsx @@ -5,22 +5,27 @@ import './index.less' interface Props{ isOpen: boolean, setIsOpen: (isOpen: boolean) => void, + exchangeState: string, prdtNames: string, prdtList: any[] } -export default function UserExchangeModal({ isOpen, setIsOpen, prdtNames, prdtList }: Props) { +export default function UserExchangeModal({ isOpen, setIsOpen, exchangeState, prdtNames, prdtList }: Props) { const handleExchange = () => { - if (prdtList[0].PrdtType === '03') { + if (prdtList.length) { + if (prdtList[0].PrdtType === '03') { + setIsOpen(false) + Taro.navigateTo({ + url: '/pages/ListenDetail/index?prdtId=' + prdtList[0].PrdtId + }) + }else if(prdtList[0].PrdtType === '05'){ + setIsOpen(false) + Taro.navigateTo({ + url: '/pages/CollectionDetail/index?id=' + prdtList[0].PrdtId + }) + } + } else { setIsOpen(false) - Taro.navigateTo({ - url: '/pages/ListenDetail/index?prdtId=' + prdtList[0].PrdtId - }) - }else if(prdtList[0].PrdtType === '05'){ - setIsOpen(false) - Taro.navigateTo({ - url: '/pages/CollectionDetail/index?id=' + prdtList[0].PrdtId - }) } } @@ -36,29 +41,33 @@ export default function UserExchangeModal({ isOpen, setIsOpen, prdtNames, prdtLi > - + 兑换{exchangeState === '200' ? '成功' : '失败'} setIsOpen(false)} > - { - prdtList.length ? - - 兑换成功: - {prdtNames} - : - null - } + + { + exchangeState === '207' ? + '该兑换码已被使用,请核对后再来兑换' : + exchangeState === '205' ? + '兑换码/二维码有误,请核对后再来兑换' : + exchangeState === '206' ? + '兑换码已过有效期' : + exchangeState === '217' ? + '该兑换码你已兑换过,兑换商品:' : + '兑换商品:' + } + {prdtNames !== '' && {prdtNames}} + - 立即阅读 + {prdtList.length ? '立即查看' : '我知道了'} diff --git a/src/pages/Home/index.tsx b/src/pages/Home/index.tsx index d489546..59698dc 100644 --- a/src/pages/Home/index.tsx +++ b/src/pages/Home/index.tsx @@ -60,18 +60,15 @@ export default function Home() { change_code: userCode }, success: (s_res: any) => { - console.log('兑换成功=>', s_res.data) - if(s_res.data.state === '200'){ - const list = s_res.data.data.Subscribed + const { state, data } = s_res.data + setExchangeState(state) + // 有返回商品名称,则显示;否则只显示提示语 + if(data && data.Subscribed){ + const list = data.Subscribed setPrdtNames(list.map((e: any) => e.PrdtTitle).join(';')) setPrdtList(list) - setisUserExchangeSuccessModalOpen(true) - }else if(s_res.data.state === '207'){ - Taro.showToast({ - title: '兑换码已使用', - icon: 'error' - }) } + setisUserExchangeSuccessModalOpen(true) }, fail: (err: any) => { console.log('兑换失败=>', err) @@ -106,6 +103,9 @@ export default function Home() { // 兑换成功弹窗 const [isUserExchangeSuccessModalOpen, setisUserExchangeSuccessModalOpen] = useState(false) + // 兑换接口返回的state + const [exchangeState, setExchangeState] = useState('') + // 兑换成功的商品名称字符串 const [prdtNames, setPrdtNames] = useState('') @@ -402,8 +402,7 @@ export default function Home() { - - + { - // const searchSingle = searchValue ? userSubuscribed.filter(( item:any ) => item.PrdtTitle.includes(searchValue)) : [] - // console.log('searchSingle=>', searchSingle) - // setSearchSingleResults(searchSingle) - }; - useEffect(() => { clearTimeout(timer) - setTimer(setTimeout(handleSearch, 300)) + setTimer(setTimeout(getList, 300)) }, [searchValue]) //跳转详情页 diff --git a/src/pages/Vip/index.tsx b/src/pages/Vip/index.tsx index 360804b..34ab1a7 100644 --- a/src/pages/Vip/index.tsx +++ b/src/pages/Vip/index.tsx @@ -21,6 +21,19 @@ export default function Share() { // 开通记录 const [records, setRecords] = useState() + const handleNavigateToMiniProgram = () => { + Taro.navigateToMiniProgram({ + appId: 'wxbd3d383851fea776', + path: '', + success: (res) => { + console.log('打开成功=>',res) + }, + fail: (res) => { + console.log('打开失败=>',res) + } + }) + } + useLoad(()=> { setuserAvator(Taro.getStorageSync('UserAvatar')) setuserNickName(Taro.getStorageSync('UserNickName')) @@ -55,7 +68,7 @@ export default function Share() { {userNickName} {info?.SubscribedState ? info?.PrdtDeadline.split(' ')[0] + '日到期' : '未开通'} - 立即{info?.SubscribedState ? '续费' : '开通'} + 立即{info?.SubscribedState ? '续费' : '开通'} {