Commit bf513c26 by zhanghaozhe

周年庆

parent 5fcc8bf1
......@@ -872,7 +872,8 @@
}
}
td:nth-of-type(2) {
td:nth-of-type(2), td:nth-of-type(4) {
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
......@@ -1116,4 +1117,20 @@
}
}
}
}
.follow {
.tip {
margin-bottom: 15px;
}
.qrcode {
text-align: center;
}
img {
width: 120px;
height: 120px;
margin-bottom: 10px;
}
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ class Anniversary2020Entry extends Component {
const match = this.props.match
return (
<Switch>
<Route path={`${match.path}/question/:assistId?`}
<Route path={`${match.path}/question/:isPractice?`}
render={routeProps => (<Question {...routeProps}></Question>)}></Route>
<Route path={`${match.path}/invitation`} render={routeProps => (<Invitation {...routeProps}/>)}></Route>
<Route path={'/anniversary_2020'}
......
......@@ -4,9 +4,10 @@ import { WithFullSize } from "@/HOCs"
import { connect } from "react-redux";
import { compose } from "redux";
import { HeaderBar } from "@common/index"
import { getParam, http, browser } from "@/utils"
import { getParam, http, browser, wxShare } from "@/utils"
import { Toast } from "antd-mobile";
import { CopyToClipboard } from "react-copy-to-clipboard";
import { Link } from 'react-router-dom'
class Invitation extends Component {
......@@ -75,6 +76,7 @@ class Invitation extends Component {
if (code === 200) {
this.setState({
teamInfo: data,
isMaster: data.is_captain || !getParam('team_code'),
});
} else {
Toast.info(msg)
......@@ -100,7 +102,7 @@ class Invitation extends Component {
.then(res => {
const {code, msg} = res.data
if (code === 200) {
Toast.info('加入成功')
Toast.info('加入成功', 2, null, false)
this.setState((state, props) => {
return {
teamInfo: {...state.teamInfo, ...{status: 2}},
......@@ -117,11 +119,23 @@ class Invitation extends Component {
})
}
setupWechatShare = () => {
wxShare({
title: '答题抽华为P40 Pro+',
desc: '这道题你会吗?答题抽奖,100%有奖的,能不能拿华为P40 Pro+,看你自己了--七月在线',
link: `${API.m}${location.pathname}?team_code=${this.state.invitationInfo.team_code || getParam('team_code')}`,
imgUrl: '',
})
this.setState({
isShowGuide: true,
});
}
// 答题抽奖
drawQuestions=()=>{
const {history,user} = this.props
history.push(`/anniversary_2020/question/${user.data.uid}`)
}
drawQuestions = () => {
const {history} = this.props
history.push(`/anniversary_2020/question/${0}`)
}
render() {
const {prizes, invitationInfo, isShowGuide, teamInfo, isMaster, isActivityEnd} = this.state
......@@ -129,7 +143,9 @@ class Invitation extends Component {
return (
<div id={'invitation'}>
<HeaderBar title={'答题抽奖'} arrow={true}/>
<HeaderBar title={'答题抽奖'} arrow={true} goBack={() => {
this.props.history.push('/anniversary_2020')
}}/>
{
isMaster
? <div className="banner"></div>
......@@ -166,15 +182,12 @@ class Invitation extends Component {
<div className="tip">再有{invitationInfo.invite_num}位队员答对即可获得{invitationInfo.draw_chance}次抽奖机会</div>
{
browser.isWeixin
? <button className={'btn'} onClick={() => {
this.setState({
isShowGuide: true,
});
}}>立即邀请</button>
: <CopyToClipboard text={`${API.m}${location.pathname}?team_code=${invitationInfo.team_code}`}
onCopy={() => {
Toast.info('链接已复制,快去粘贴发给好友吧')
}}>
? <button className={'btn'} onClick={this.setupWechatShare}>立即邀请</button>
: <CopyToClipboard
text={`${API.m}${location.pathname}?team_code=${invitationInfo.team_code || getParam('team_code')}`}
onCopy={() => {
Toast.info('链接已复制,快去粘贴发给好友吧')
}}>
<button className={'btn'}>立即邀请</button>
</CopyToClipboard>
}
......@@ -183,17 +196,12 @@ class Invitation extends Component {
{
teamInfo.status !== 1 && <div className={'tip'}>
{
teamInfo.status === 2 ? '已加入当前队伍' : teamInfo === 3 ? '已加入其他队伍' : null
teamInfo.status === 2 ? '已加入当前队伍' : teamInfo.status === 3 ? '已加入其他队伍' : null
}
</div>
}
{
isActivityEnd
? <button className={'activity-end'}>活动结束</button>
: teamInfo.status === 1
? <button className={'btn'} onClick={this.joinTeam}>加入队伍</button>
: <button className={'btn'} onClick={this.drawQuestions}>答题抽奖</button>
}
<BottomButton isActivityEnd={isActivityEnd} joinTeam={this.joinTeam} status={teamInfo.status}
drawQuestions={this.drawQuestions} isAnswered={teamInfo.is_answer}/>
</>
}
......@@ -214,6 +222,19 @@ class Invitation extends Component {
}
}
function BottomButton({status, isActivityEnd, isAnswered, joinTeam, drawQuestions}) {
if (isActivityEnd) {
return <button className={'activity-end'}>活动结束</button>
}
if (isAnswered) {
return <Link to={`/anniversary_2020#lottery`}>
<button className={'btn'}>去抽奖</button>
</Link>
}
return status === 1 ? <button className={'btn'} onClick={joinTeam}>加入队伍</button> :
<button className={'btn'} onClick={drawQuestions}>答题抽奖</button>
}
export default compose(
WithFullSize,
connect(
......
......@@ -145,7 +145,7 @@ export {
browser,
isLogin,
dateCountDown,
isValidUrl
isValidUrl,
}
export {
default as SendMessageToApp,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment