Commit d14a6e9e by xuzhenghua

pull

parent 9783df22
...@@ -166,7 +166,7 @@ class App extends Component { ...@@ -166,7 +166,7 @@ class App extends Component {
return return
} }
http.get(`${API['home']}/m/wx_loginInfo/code/${code}?redirect=${encodeURIComponent(window.location.href)}`) http.get(`${API["passport-api"]}/m/wx_loginInfo/code/${code}?redirect=${encodeURIComponent(window.location.href)}`)
.then(res => { .then(res => {
let data = res.data let data = res.data
if (data.errno == 200) { if (data.errno == 200) {
...@@ -277,12 +277,7 @@ class App extends Component { ...@@ -277,12 +277,7 @@ class App extends Component {
} }
render() { render() {
return <> return <Routes/>
<Routes/>
<Link className={'year19-index'} to="/year/yearindex">
<img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/gift-package.png" alt=""/>
</Link>
</>
} }
} }
......
...@@ -512,18 +512,3 @@ input[type="radio"]:checked:before { ...@@ -512,18 +512,3 @@ input[type="radio"]:checked:before {
color: #333; color: #333;
font-size: 15px; font-size: 15px;
} }
.year19-index {
display: block;
width: 58px;
height: 70px;
position: fixed;
top: 50%;
right: 0;
margin-top: -35px;
z-index: 9;
img {
width: 100%;
height: 100%;
}
}
\ No newline at end of file
...@@ -38,6 +38,7 @@ class Landing extends Component { ...@@ -38,6 +38,7 @@ class Landing extends Component {
} }
componentDidMount() { componentDidMount() {
this.getStage();
this.fetchPageData() this.fetchPageData()
window.showFollowAlert = this.remind.bind(this, 'create') window.showFollowAlert = this.remind.bind(this, 'create')
document.title = '七月在线年终大回馈,幸运宝箱随你开,100%有奖!' document.title = '七月在线年终大回馈,幸运宝箱随你开,100%有奖!'
...@@ -64,8 +65,23 @@ class Landing extends Component { ...@@ -64,8 +65,23 @@ class Landing extends Component {
this.shareTipPopup && this.shareTipPopup.remove() this.shareTipPopup && this.shareTipPopup.remove()
} }
createMeta = (title, dec, imgname) => { // 获取活动以及宝箱的阶段
let meta = document.createElement('meta') getStage = () => {
http.get(`${API.home}/activity/stage`).then(res => {
const {code, data, msg} = res.data
if (code === 200) {
if(Number(data.activity_stage) === 0) {
this.props.history.push('/');
return;
}
} else {
Toast.info(msg, 2)
}
})
}
createMeta = (title,dec,imgname) => {
let meta = document.createElement('meta');
meta.setAttribute('name', 'description') meta.setAttribute('name', 'description')
meta.setAttribute('itemprop', 'description') meta.setAttribute('itemprop', 'description')
meta.setAttribute('content', dec) meta.setAttribute('content', dec)
......
...@@ -51,6 +51,8 @@ class MyTreasure extends Component { ...@@ -51,6 +51,8 @@ class MyTreasure extends Component {
const {userInfo} = nextProp const {userInfo} = nextProp
if (!userInfo.uid) { if (!userInfo.uid) {
history.push('/passport') history.push('/passport')
}else {
this.fetchMyTreasure();
} }
} }
...@@ -307,6 +309,10 @@ class MyTreasure extends Component { ...@@ -307,6 +309,10 @@ class MyTreasure extends Component {
http.get(`${API.home}/activity/stage`).then(res => { http.get(`${API.home}/activity/stage`).then(res => {
const {code, data} = res.data const {code, data} = res.data
if (code === 200) { if (code === 200) {
if(Number(data.activity_stage) === 0) {
this.props.history.push('/');
return;
}
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内 // treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
if (data.treasure_stage === 0) { if (data.treasure_stage === 0) {
this.startCountDown() this.startCountDown()
......
...@@ -66,7 +66,7 @@ class LiveRoom extends Component { ...@@ -66,7 +66,7 @@ class LiveRoom extends Component {
} }
}); });
} }
} }
// 已预约 给提示 // 已预约 给提示
tip = () => { tip = () => {
...@@ -88,7 +88,7 @@ class LiveRoom extends Component { ...@@ -88,7 +88,7 @@ class LiveRoom extends Component {
this.toLogin(); this.toLogin();
}else{ }else{
const vCourseId = url.split('/')[0]; const vCourseId = url.split('/')[0];
history.push(`/play/video?id=${vCourseId}`) window.location.href = `/play/video?id=${vCourseId}`
} }
} }
// 关闭弹框 // 关闭弹框
...@@ -140,7 +140,7 @@ class LiveRoom extends Component { ...@@ -140,7 +140,7 @@ class LiveRoom extends Component {
</CommonPopup> </CommonPopup>
) )
} }
<CommonContainer title='大咖直播' id="year-live"> <CommonContainer title='大咖直播' id="year-live">
<ul className='live__list'> <ul className='live__list'>
{ {
...@@ -177,7 +177,7 @@ class LiveRoom extends Component { ...@@ -177,7 +177,7 @@ class LiveRoom extends Component {
item.on_live == 0 && item.is_end == 0 && item.is_subscribe == 1 && ( item.on_live == 0 && item.is_end == 0 && item.is_subscribe == 1 && (
<span onClick={this.tip} className="order__btn subscribed">已预约</span> <span onClick={this.tip} className="order__btn subscribed">已预约</span>
) )
} }
{ {
item.on_live == 1 && item.is_end == 0 && ( item.on_live == 1 && item.is_end == 0 && (
<span onClick={()=>this.toLivingRoom(item.room_url)} className="order__btn living">正在直播</span> <span onClick={()=>this.toLivingRoom(item.room_url)} className="order__btn living">正在直播</span>
......
...@@ -605,27 +605,46 @@ class YearCourse extends Component { ...@@ -605,27 +605,46 @@ class YearCourse extends Component {
removable, removable,
sum, sum,
} = this.state } = this.state
const { stage } = this.props const { stage,treasureStage } = this.props
return ( return (
<div className={'year-index-course'}> <div className={'year-index-course'}>
{/*浮框*/} {/*浮框*/}
<div className='nav-right'> {
<span onClick={this.toBoxList} className='nav-right__link'> Number(treasureStage) === 1 &&
<div className='nav-right'>
<span onClick={this.toBoxList} className='nav-right__link'>
未开宝箱 未开宝箱
{ {
removable > 0 && removable > 0 &&
<i className="nav-right__number">{removable}</i> <i className="nav-right__number">{removable}</i>
} }
</span> </span>
<a onClick={() => this.toYearWish()} className='nav-right__link'> <a onClick={() => this.toYearWish()} className='nav-right__link'>
心愿单 心愿单
{ {
sum > 0 && sum > 0 &&
<i className="nav-right__number">{sum}</i> <i className="nav-right__number">{sum}</i>
} }
</a> </a>
</div> </div>
}
{
Number(treasureStage) === 0 &&
<div className='nav-right-wish nav-right'>
<a onClick={() => this.toYearWish()} className='nav-right__link'>
心愿单
{
sum > 0 &&
<i className="nav-right__number">{sum}</i>
}
</a>
</div>
}
{/* 重磅好课 */} {/* 重磅好课 */}
<CommonContainer title='重磅好课' id='year-course'> <CommonContainer title='重磅好课' id='year-course'>
...@@ -673,57 +692,60 @@ class YearCourse extends Component { ...@@ -673,57 +692,60 @@ class YearCourse extends Component {
</CommonContainer> </CommonContainer>
{/* 人气好课免费学 */} {/* 人气好课免费学 */}
<CommonContainer title='人气好课免费学' id='year-free'> {
<a className='boss__add' href="/active/givecourse?activename=shuangdan">更有42本技术书籍免费送</a> Number(stage) !== 3 &&
{ <CommonContainer title='人气好课免费学' id='year-free'>
(freecourse.course && freecourse.course.length > 0) && <a className='boss__add' href="/active/givecourse?activename=shuangdan">更有42本技术书籍免费送</a>
<> {
<div className='freecourse course-box'> (freecourse.course && freecourse.course.length > 0) &&
<>
<div className='freecourse course-box'>
{
freecourse.course.map(item => (
<CourseItem
image={item.image_name}
key={item.course_id}
id={item.course_id}
toCourse={this.toCourse}
>
<div className="coupon-course__footer">
{
item.is_buy == 1 &&
<a
onClick={() => this.toCourse(item.course_id)}
className="btn to-study"
>开始学习</a>
}
{
item.is_buy == 0 &&
<a
onClick={() => this.freeStudy()}
className="btn free-study"
>点击免费学</a>
}
<p className="free-course-num">
已送出<span>{item.act_num}</span>个课
</p>
</div>
</CourseItem>
))
}
</div>
{ {
freecourse.course.map(item => ( (freecourse.courseList && freecourse.courseList.length > 4) &&
<CourseItem <button
image={item.image_name} className="more-button"
key={item.course_id} onClick={() => this.handleToMore('freecourse')}
id={item.course_id} >{freecourse.isMore ? '查看更多' : '收起'}</button>
toCourse={this.toCourse}
>
<div className="coupon-course__footer">
{
item.is_buy == 1 &&
<a
onClick={() => this.toCourse(item.course_id)}
className="btn to-study"
>开始学习</a>
}
{
item.is_buy == 0 &&
<a
onClick={() => this.freeStudy()}
className="btn free-study"
>点击免费学</a>
}
<p className="free-course-num">
已送出<span>{item.act_num}</span>个课
</p>
</div>
</CourseItem>
))
} }
</div> </>
{ }
(freecourse.courseList && freecourse.courseList.length > 4) && </CommonContainer>
<button }
className="more-button"
onClick={() => this.handleToMore('freecourse')}
>{freecourse.isMore ? '查看更多' : '收起'}</button>
}
</>
}
</CommonContainer>
{/* stage,活动阶段 0-不在活动时间 1-预热 2-正式 3-返场 */} {/* stage,活动阶段 0-不在活动时间 1-预热 2-正式 3-返场 */}
{ {
Number(stage) === 2 && Number(stage) !== 1 &&
<> <>
{/* 精品好课1分开抢 */} {/* 精品好课1分开抢 */}
<CommonContainer title='精品好课1分开抢' id='year-group'> <CommonContainer title='精品好课1分开抢' id='year-group'>
...@@ -998,7 +1020,7 @@ class YearCourse extends Component { ...@@ -998,7 +1020,7 @@ class YearCourse extends Component {
</> </>
} }
{ {
Number(stage) !== 2 && Number(stage) === 1 &&
<> <>
{/* 精品好课1分开抢 */} {/* 精品好课1分开抢 */}
<CommonContainer title='精品好课1分开抢' id='year-group'> <CommonContainer title='精品好课1分开抢' id='year-group'>
......
...@@ -296,7 +296,7 @@ ...@@ -296,7 +296,7 @@
.groupcourse[data-stage="2"] .course-container { .groupcourse[data-stage="2"] .course-container {
height: 215px; height: 215px;
} }
.progree-and-sale { .progree-and-sale {
display: flex; display: flex;
...@@ -416,5 +416,12 @@ ...@@ -416,5 +416,12 @@
line-height: 14px; line-height: 14px;
} }
} }
.nav-right-wish {
background-image: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/fanc-bx.png");
.nav-right__link{
top: 60px;
left: 10px;
}
}
} }
\ No newline at end of file
...@@ -110,11 +110,25 @@ export default class index extends Component { ...@@ -110,11 +110,25 @@ export default class index extends Component {
http.get(`${API.home}/activity/stage`).then(res => { http.get(`${API.home}/activity/stage`).then(res => {
const {code, data, msg} = res.data const {code, data, msg} = res.data
if (code === 200) { if (code === 200) {
if(Number(data.activity_stage) === 0) {
this.props.history.push('/');
return;
}
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内 // treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
this.setState({ this.setState({
activity_stage: data.activity_stage, activity_stage: data.activity_stage,
treasure_stage: data.treasure_stage treasure_stage: data.treasure_stage
}) })
if(data.activity_stage == 3){
this.setState({
banner: 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/m_banner_fc.png',
})
} else {
this.setState({
banner: 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/m_banner_bj%402x.png',
})
}
} else { } else {
Toast.info(msg, 2) Toast.info(msg, 2)
} }
...@@ -123,8 +137,8 @@ export default class index extends Component { ...@@ -123,8 +137,8 @@ export default class index extends Component {
render() { render() {
const { const {
banner, banner,
activity_stage, activity_stage,
treasure_stage, treasure_stage,
} = this.state } = this.state
return ( return (
...@@ -133,7 +147,7 @@ export default class index extends Component { ...@@ -133,7 +147,7 @@ export default class index extends Component {
<div id="banner" className="banner-treasure__header" <div id="banner" className="banner-treasure__header"
style={{backgroundImage: `url(${banner})`}}></div> style={{backgroundImage: `url(${banner})`}}></div>
<div className="banner-treasure__nav"> <div className="banner-treasure__nav">
<TreasureNav id="banner" treasure_stage={treasure_stage}/> <TreasureNav id="banner" treasure_stage={treasure_stage} activeStage={activity_stage}/>
</div> </div>
<div className="banner-treasure__decorate"></div> <div className="banner-treasure__decorate"></div>
</div> </div>
...@@ -143,12 +157,12 @@ export default class index extends Component { ...@@ -143,12 +157,12 @@ export default class index extends Component {
{/* 组队开宝箱 */} {/* 组队开宝箱 */}
{ {
treasure_stage === 1 && treasure_stage === 1 &&
<TreasureBox isAppUpdate={this.state.isAppUpdate} getRemovable={this.getRemovable}/> <TreasureBox isAppUpdate={this.state.isAppUpdate} getRemovable={this.getRemovable}/>
} }
{/* 课程 */} {/* 课程 */}
<YearCourse stage={activity_stage} isAppUpdate={this.state.isAppUpdate} /> <YearCourse stage={activity_stage} treasureStage={treasure_stage} isAppUpdate={this.state.isAppUpdate} />
{/*好友加入队伍提醒;获得宝箱提醒;开售提醒弹窗,需要自取,注意修改文案*/} {/*好友加入队伍提醒;获得宝箱提醒;开售提醒弹窗,需要自取,注意修改文案*/}
{ {
...@@ -181,6 +195,9 @@ export default class index extends Component { ...@@ -181,6 +195,9 @@ export default class index extends Component {
</div> </div>
</CommonPopup> </CommonPopup>
} }
<div className={'btm-rule'}>* 本活动解释权归北京七月在线科技有限公司所有 *</div>
</div> </div>
) )
} }
......
...@@ -59,6 +59,12 @@ ...@@ -59,6 +59,12 @@
} }
} }
.btm-rule {
color: #fff;
font-size: 12px;
width: 100%;
text-align: center;
}
} }
.year-index + .year19-index { .year-index + .year19-index {
......
...@@ -48,21 +48,22 @@ class TreasureNav extends Component { ...@@ -48,21 +48,22 @@ class TreasureNav extends Component {
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
this.initNav(nextProps.treasure_stage); this.initNav(nextProps.treasure_stage,nextProps.activeStage);
} }
initNav = (treasure_stage) => { initNav = (treasure_stage,activeStage) => {
let {navs} = this.state; let {navs} = this.state;
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内 // treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
let data = this.state.navs
if(treasure_stage === 0) { if(treasure_stage === 0) {
this.setState({ data = navs.filter(item => item.id !== 'year-treasure')
formatNavs: navs.filter(item => item.id !== 'year-treasure') }
}); if(activeStage === 3) {
}else { data = data.filter(item => item.id !== 'year-free')
this.setState({
formatNavs: navs
})
} }
this.setState({
formatNavs: data
})
} }
calcNavActive = () => { calcNavActive = () => {
...@@ -108,9 +109,9 @@ class TreasureNav extends Component { ...@@ -108,9 +109,9 @@ class TreasureNav extends Component {
<div className={classnames("treasure-nav", {'fixed': isFixed})} data-skip="nav"> <div className={classnames("treasure-nav", {'fixed': isFixed})} data-skip="nav">
{ {
formatNavs.map((item, index) => ( formatNavs.map((item, index) => (
<a <a
href={`#${item.id}`} href={`#${item.id}`}
className={classnames("treasure-nav__item", {'active': index === curIndex})} className={classnames("treasure-nav__item", {'active': index === curIndex})}
key={item.id} key={item.id}
onClick={() => this.selectToNav(index)} onClick={() => this.selectToNav(index)}
>{item.name}</a> >{item.name}</a>
......
...@@ -46,6 +46,11 @@ class YarnWish extends Component { ...@@ -46,6 +46,11 @@ class YarnWish extends Component {
http.get(`${API.home}/activity/stage`).then(res => { http.get(`${API.home}/activity/stage`).then(res => {
const {code, data} = res.data const {code, data} = res.data
if (code === 200) { if (code === 200) {
if(Number(data.activity_stage) === 0) {
this.props.history.push('/');
return;
}
this.setState({ this.setState({
activityStage: data.activity_stage // 0-不在活动时间 1-预热 2-正式 3-返场 activityStage: data.activity_stage // 0-不在活动时间 1-预热 2-正式 3-返场
}) })
...@@ -149,25 +154,25 @@ class YarnWish extends Component { ...@@ -149,25 +154,25 @@ class YarnWish extends Component {
list.length > 0 list.length > 0
? <> ? <>
{ {
activityStage === 2 && activityStage !== 1 &&
<> <>
<CommonContainer> <CommonContainer>
<div className='groupcourse course-box'> <div className='groupcourse course-box'>
{ {
list.map(item => ( list.map(item => (
<CourseItem <CourseItem
image={item.image_name} image={item.image_name}
key={item.course_id} key={item.course_id}
id={item.course_id} id={item.course_id}
time={item.type === 2 || item.type === 7? item.end_time : ''} time={item.type === 2 || item.type === 7? item.end_time : ''}
toCourse={this.toCourse} toCourse={this.toCourse}
> >
{/* {/*
* 拼团,正常:未开团1 已开2;一分:未开团5 已开7 * 拼团,正常:未开团1 已开2;一分:未开团5 已开7
* type 1 立即参团 2 已参团 3 我要砍价 4 已参加砍价 可以继续砍价 5 马上抢 6 开始学习 7 已参加一分钱拼团 8 砍价待支付 * type 1 立即参团 2 已参团 3 我要砍价 4 已参加砍价 可以继续砍价 5 马上抢 6 开始学习 7 已参加一分钱拼团 8 砍价待支付
*/} */}
<div className="coupon-course__footer"> <div className="coupon-course__footer">
{ {
...@@ -306,7 +311,7 @@ class YarnWish extends Component { ...@@ -306,7 +311,7 @@ class YarnWish extends Component {
} }
{ {
item.type === 6 && item.type === 6 &&
<a <a
onClick={() => this.toCourse(item.course_id)} onClick={() => this.toCourse(item.course_id)}
className="btn to-group" className="btn to-group"
data-status="study" data-status="study"
...@@ -322,15 +327,15 @@ class YarnWish extends Component { ...@@ -322,15 +327,15 @@ class YarnWish extends Component {
</> </>
} }
{ {
activityStage !== 2 && activityStage === 1 &&
<> <>
<CommonContainer> <CommonContainer>
<div className='groupcourse course-box'> <div className='groupcourse course-box'>
{ {
list.map(item => ( list.map(item => (
<CourseItem <CourseItem
image={item.image_name} image={item.image_name}
key={item.course_id} key={item.course_id}
id={item.course_id} id={item.course_id}
toCourse={this.toCourse} toCourse={this.toCourse}
> >
...@@ -343,7 +348,7 @@ class YarnWish extends Component { ...@@ -343,7 +348,7 @@ class YarnWish extends Component {
item.is_buy == 1 && item.is_buy == 1 &&
<> <>
<p className={'course-title text-overflow-1'}>{item.course_title}</p> <p className={'course-title text-overflow-1'}>{item.course_title}</p>
<a <a
onClick={() => this.toCourse(item.course_id)} onClick={() => this.toCourse(item.course_id)}
className="btn to-study" className="btn to-study"
>开始学习</a> >开始学习</a>
...@@ -382,7 +387,7 @@ class YarnWish extends Component { ...@@ -382,7 +387,7 @@ class YarnWish extends Component {
<span className="old-price">{item.type == 2 ? '' : '现价:'}<s>¥{item.price1}</s></span> <span className="old-price">{item.type == 2 ? '' : '现价:'}<s>¥{item.price1}</s></span>
</div> </div>
<div className="status"> <div className="status">
<a <a
onClick={() => this.toCourse(item.course_id)} onClick={() => this.toCourse(item.course_id)}
className="status-btn to-buy" className="status-btn to-buy"
>直接购买</a> >直接购买</a>
...@@ -425,7 +430,7 @@ class YarnWish extends Component { ...@@ -425,7 +430,7 @@ class YarnWish extends Component {
<div className="notData"> <div className="notData">
<img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/icon-empty.png" alt=""/> <img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/icon-empty.png" alt=""/>
{ {
activityStage == 1 activityStage == 1
? <p>你的心愿单目前空空如也,<br/>快去挑选更多优惠课程吧~</p> ? <p>你的心愿单目前空空如也,<br/>快去挑选更多优惠课程吧~</p>
: <p>你的心愿单没有课程哦,<br/>感兴趣的课程可在双旦主会场直接购买!</p> : <p>你的心愿单没有课程哦,<br/>感兴趣的课程可在双旦主会场直接购买!</p>
} }
......
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