Commit b0264eac by wangshuo

Merge branch '00' into dev

parents a2de889c d877e94e
......@@ -28,13 +28,20 @@ class Landing extends Component {
treasure_code: getParam('treasure_code'),
activityEnd: false,
notices: [],
rule: ''
rule: '',
isCaptain: sessionStorage.getItem('status')
}
componentDidMount() {
this.fetchPageData()
}
componentDidUpdate(prevProps) {
if(prevProps.user.hasError !== this.props.user.hasError && !this.props.user.hasError){
this.fetchPageData()
}
}
fetchPageData = ({origin = this.state.origin, treasure_code = this.state.treasure_code} = {}) => {
http.post(`${API.home}/sys/treasure/team`, {
......@@ -51,6 +58,7 @@ class Landing extends Component {
let searchParams = new URLSearchParams(window.location.search)
if (searchParams.get('origin') === '1' && !browser.isWeixin) {
sessionStorage.setItem('isCaptain', '1')
searchParams.set('origin', '2')
window.history.replaceState(null, '', `landing?${searchParams.toString()}`)
}
......@@ -157,7 +165,7 @@ class Landing extends Component {
wxShare({
title: `@${user.data.username} 邀您一起组队拿豪礼!`,
desc: `加我我的队伍,机械键盘,纸质书籍等超多奖品等你拿!`,
link: encodeURIComponent(`${window.location.origin}/${location.pathname}?treasure_code=${treasure_code}&origin=2`),
link: `${window.location.origin}/${location.pathname}?treasure_code=${treasure_code}&origin=2`,
imgUrl: 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newIndex/community/tou5_bj.png'
})
}
......@@ -334,7 +342,8 @@ class Landing extends Component {
prize_info,
my_team
},
activityEnd
activityEnd,
isCaptain
} = this.state
/*
......@@ -355,9 +364,10 @@ class Landing extends Component {
<img className='main-avatar'
src={head_img} alt=""/>
{
status === 1 && <div className="des">邀请好友加入队伍,开宝箱领取丰厚奖品~</div>
status === 1
? <div className="des">邀请好友加入队伍,开宝箱领取丰厚奖品~</div>
: <div className="des">加入我的<span>{team_num}</span>号队伍,一起开宝箱领取丰厚奖品~</div>
}
<div className="des">加入我的<span>{team_num}</span>号队伍,一起开宝箱领取丰厚奖品~</div>
<Prizes showSystemNotices={false}/>
<BulletScreen/>
<div className="group">
......@@ -465,7 +475,7 @@ class Landing extends Component {
</button>
}
{
prize_info && !activityEnd && <div className="certainly-prompt">
!isCaptain && prize_info && !activityEnd && <div className="certainly-prompt">
{prize_info.stage_no}次必中 {prize_info.name}
</div>
}
......@@ -481,7 +491,9 @@ class Landing extends Component {
</div>
</BoxContainer>
<WhiteSpace size={'xl'}/>
<YearCourse></YearCourse>
{
isCaptain && <YearCourse/>
}
</div>
)
}
......
......@@ -7,9 +7,10 @@ import TreasureNav from './nav'
import CommonPopup from './../common/commonPopup/index'
import cookie from "js-cookie"
import {setCurrentUser, startFetchUser} from "@/store/userAction"
import {SendMessageToApp, getParam} from '@/utils'
import {SendMessageToApp, getParam, http} from '@/utils'
import {addDays} from "date-fns"
import {connect} from "react-redux"
import { Toast } from 'antd-mobile';
@connect(state => ({
user: state.user
......@@ -19,6 +20,8 @@ export default class index extends Component {
state = {
removable: 0, // 未拆宝箱的数量
currentOpenId: 0, // 当前要拆的宝箱的队伍的ID
treasure_stage: 0, // 宝箱的活动阶段
active_stage: 0, // 整个活动的阶段
userInfoList: [],
userInfo: {},
isAppUpdate: false,
......@@ -32,6 +35,8 @@ export default class index extends Component {
window['loginInfo'] = result => {
_this.loginInfo(result)
}
_this.getStage();
}
// 获取app登录数据
......@@ -118,6 +123,21 @@ export default class index extends Component {
}
}
// 获取活动以及宝箱的阶段
getStage = () => {
http.get(`${API.home}/activity/stage`).then(res => {
const { code, data, msg } = res.data;
if(code === 200) {
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
this.setState({
treasure_stage: data.treasure_stage
})
}else{
Toast.info(msg, 2);
}
});
}
toYearWish = () => {
const isLogin = !this.props.user.hasError
if (isLogin) {
......@@ -139,14 +159,14 @@ export default class index extends Component {
}
render() {
const {banner, removable} = this.state
const {banner, removable, treasure_stage} = this.state
return (
<div className={'year-index'}>
<div className="banner-treasure">
<div id="banner" className="banner-treasure__header"
style={{backgroundImage: `url(${banner})`}}></div>
<div className="banner-treasure__nav">
<TreasureNav id="banner"/>
<TreasureNav id="banner" treasure_stage={treasure_stage}/>
</div>
<div className="banner-treasure__decorate"></div>
</div>
......@@ -165,7 +185,9 @@ export default class index extends Component {
<LiveRoom/>
{/* 组队开宝箱 */}
<TreasureBox getRemovable={this.getRemovable} />
{
treasure_stage === 1 && <TreasureBox getRemovable={this.getRemovable} />
}
{/*课程*/}
<YearCourse isAppUpdate={this.state.isAppUpdate} getSum={this.sonToPar.bind(this)}/>
......
......@@ -40,7 +40,6 @@ class TreasureNav extends Component {
}
componentDidMount() {
this.initNav();
window.addEventListener('scroll', this.calcNavActive)
}
......@@ -48,24 +47,22 @@ class TreasureNav extends Component {
window.removeEventListener('scroll', this.calcNavActive);
}
initNav = () => {
const { navs } = this.state;
http.get(`${API.home}/activity/stage`).then(res => {
const { code, data } = res.data;
if(code === 200) {
componentWillReceiveProps(nextProps) {
this.initNav(nextProps.treasure_stage);
}
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
if(data.treasure_stage === 0) {
this.setState({
formatNavs: navs.filter(item => item.id !== 'year-treasure')
});
}else {
this.setState({
formatNavs: navs
})
}
}
});
initNav = (treasure_stage) => {
let {navs} = this.state;
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
if(treasure_stage === 0) {
this.setState({
formatNavs: navs.filter(item => item.id !== 'year-treasure')
});
}else {
this.setState({
formatNavs: navs
})
}
}
calcNavActive = () => {
......
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