parent
dfc92dd7dd
commit
7a34076558
4 changed files with 171 additions and 26 deletions
@ -0,0 +1,66 @@ |
||||
.store_modal { |
||||
position: fixed; |
||||
top: 50%; |
||||
left: 50%; |
||||
transform: translate(-50%, -50%); |
||||
width: 17rem; |
||||
background: #fff; |
||||
border-radius: 1rem; |
||||
display: flex; |
||||
flex-direction: column; |
||||
padding: 0 .5rem .8rem; |
||||
z-index: 1000; |
||||
|
||||
.store_modal_close { |
||||
width: 1.5rem; |
||||
height: 1.5rem; |
||||
margin: 1rem 1rem auto auto; |
||||
background-image: url(https://oss.jm-kid.com/wx_5colorflower/close.png); |
||||
background-repeat: no-repeat; |
||||
background-size: cover; |
||||
} |
||||
|
||||
.store_modal_title { |
||||
font-size: 1rem; |
||||
font-weight: 600; |
||||
text-align: center; |
||||
} |
||||
|
||||
.store_modal_context { |
||||
font-size: .875rem; |
||||
font-weight: 600; |
||||
text-align: center; |
||||
margin: .5rem 0 .8rem; |
||||
} |
||||
|
||||
.store_modal_container { |
||||
|
||||
width: 10rem; |
||||
height: 2rem; |
||||
display: flex; |
||||
flex-direction: row; |
||||
background: #07c160; |
||||
border-radius: 1rem; |
||||
margin: auto; |
||||
gap: 1rem; |
||||
|
||||
.store_modal_title { |
||||
font-size: 1rem; |
||||
font-weight: 600; |
||||
height: 1.125rem; |
||||
color: #fff; |
||||
text-align: center; |
||||
margin: auto; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.store_overlay { |
||||
position: fixed; |
||||
top: 0; |
||||
left: 0; |
||||
width: 100%; |
||||
height: 100%; |
||||
background-color: rgba(0, 0, 0, 0.5); |
||||
z-index: 999; |
||||
} |
@ -0,0 +1,76 @@ |
||||
import { View, Text } from '@tarojs/components' |
||||
import { useState } from 'react'; |
||||
import Taro from '@tarojs/taro'; |
||||
import './index.less' |
||||
|
||||
|
||||
export default function GoToStoreModal({ visible, onClose, type}) { |
||||
|
||||
//管理关闭动画状态
|
||||
const [isAnimationOpen, setisAnimationOpen] = useState(false) |
||||
|
||||
if(!visible){ |
||||
return null |
||||
} |
||||
|
||||
const handleOverlayClick = (event: any) => { |
||||
// 点击蒙层时关闭弹窗
|
||||
setisAnimationOpen(true) |
||||
setTimeout(() =>{ |
||||
setisAnimationOpen(false) |
||||
onClose(); |
||||
}, 0) |
||||
}; |
||||
|
||||
const handleNavigateToMiniProgram = () => { |
||||
Taro.navigateToMiniProgram({ |
||||
appId: 'wxbd3d383851fea776', |
||||
path: '', |
||||
success: (res) => { |
||||
console.log('打开成功=>',res) |
||||
}, |
||||
fail: (res) => { |
||||
console.log('打开失败=>',res) |
||||
} |
||||
}) |
||||
|
||||
handleOverlayClick(null) |
||||
} |
||||
|
||||
return ( |
||||
<> |
||||
<View |
||||
className='store_overlay' |
||||
onClick={handleOverlayClick} |
||||
style={ |
||||
!isAnimationOpen ? { opacity: 1, transition: 'opacity 1s ease-in-out' } |
||||
: { opacity: 0 } |
||||
} |
||||
/> |
||||
<View |
||||
className='store_modal' |
||||
style={ |
||||
!isAnimationOpen ? { opacity: 1, transition: 'opacity 1s ease-in-out' } |
||||
: { opacity: 0 } |
||||
} |
||||
> |
||||
<View className='store_modal_close' onClick={handleOverlayClick}></View> |
||||
<View className='store_modal_title'>专辑播放</View> |
||||
<Text className='store_modal_context'> |
||||
你的会员{type === -1 ? '已过期' : '未开通'},请前往商城购买VIP会员解锁全部专辑 |
||||
</Text> |
||||
<View |
||||
className='store_modal_container' |
||||
onClick={handleNavigateToMiniProgram} |
||||
> |
||||
<View |
||||
className='store_modal_title' |
||||
> |
||||
去选购 |
||||
</View> |
||||
</View> |
||||
</View> |
||||
</> |
||||
|
||||
) |
||||
} |
Loading…
Reference in new issue