Commit 47114801 by xuzhenghua

测试

parent 18053bb6
import React, { Component } from 'react' import React, { Component } from 'react'
import {connect} from "react-redux"; import {connect} from "react-redux";
import { http, getParam } from '@/utils'; import { http, getParam } from '@/utils';
import cookie from 'js-cookie'
import './index.scss'; import './index.scss';
import {Toast} from "antd-mobile"; import {Toast} from "antd-mobile";
import jsCookie from 'js-cookie'; import jsCookie from 'js-cookie';
...@@ -8,11 +9,19 @@ import jsCookie from 'js-cookie'; ...@@ -8,11 +9,19 @@ import jsCookie from 'js-cookie';
class Activity extends Component { class Activity extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = {
'butText': '立即领取'
}
} }
componentWillMount() { componentWillMount() {
jsCookie.set('blessing_invite_uid', getParam('shareuid'), {domain: '.julyedu.com'}); jsCookie.set('blessing_invite_uid', getParam('shareuid'), {domain: '.julyedu.com', expires: 30});
jsCookie.set('blessing_invite_code', getParam('inviteCode'), {domain: '.julyedu.com'}); jsCookie.set('blessing_invite_code', getParam('inviteCode'), {domain: '.julyedu.com', expires: 30});
if(cookie.get('uid')) {
this.setState(()=>({
butText: '已领取'
}));
}
} }
getGift = () => { getGift = () => {
...@@ -20,15 +29,17 @@ class Activity extends Component { ...@@ -20,15 +29,17 @@ class Activity extends Component {
this.props.history.push('/passport'); this.props.history.push('/passport');
} else { } else {
Toast.info('领取成功,你可前往七月在线官网/APP进行查看', 2); Toast.info('领取成功,你可前往七月在线官网/APP进行查看', 2);
localStorage.setItem('lingqu', 1);
} }
} }
render() { render() {
const {butText} = this.state;
return ( return (
<div className="activity__con"> <div className="activity__con">
<div className='banner__con'></div> <div className='banner__con'></div>
<div className='content__con'> <div className='content__con'>
<div className="button__get" onClick={this.getGift}>立即领取</div> <div className="button__get" onClick={this.getGift}>{butText}</div>
</div> </div>
</div> </div>
) )
......
...@@ -119,6 +119,7 @@ class Invite extends Component { ...@@ -119,6 +119,7 @@ class Invite extends Component {
history.push('/passport'); history.push('/passport');
}else { }else {
if(is_weixin()) { if(is_weixin()) {
history.push(`/invite?shareuid=${jsCookie.get('uid')}&new=1&inviteCode=${inviteCode}`);
wxShare({ wxShare({
title: 'AI充电节,积福气享1折秒课,超10万元奖品来就送!!', title: 'AI充电节,积福气享1折秒课,超10万元奖品来就送!!',
desc: '把这门超5万人报名的【Python基础入门 升级版】课程送给你,附200元红包,请笑纳!--七月在线', desc: '把这门超5万人报名的【Python基础入门 升级版】课程送给你,附200元红包,请笑纳!--七月在线',
...@@ -200,8 +201,8 @@ class Invite extends Component { ...@@ -200,8 +201,8 @@ class Invite extends Component {
return ( return (
<div className="user__item-info item__con-only" key={index}> <div className="user__item-info item__con-only" key={index}>
<div className="item__con"> <div className="item__con">
<img className="user_avatar" src={item.avatar} /> <img className="user_avatar" src={item.head_image} />
<div className="user_name">{item.name}</div> <div className="user_name">{item.user_name}</div>
</div> </div>
</div> </div>
) )
...@@ -213,8 +214,8 @@ class Invite extends Component { ...@@ -213,8 +214,8 @@ class Invite extends Component {
return ( return (
<div className="user__item-info" key={index}> <div className="user__item-info" key={index}>
<div className="item__con"> <div className="item__con">
<img className="user_avatar" src={item.avatar} /> <img className="user_avatar" src={item.head_image} />
<div className="user_name">{item.name}</div> <div className="user_name">{item.user_name}</div>
</div> </div>
</div> </div>
) )
......
...@@ -55,8 +55,7 @@ class CollectBlessing extends Component { ...@@ -55,8 +55,7 @@ class CollectBlessing extends Component {
}; };
} }
qqToShare = (e) => { qqToShare = () => {
e.preventDefault();
const { uid, history } = this.props; const { uid, history } = this.props;
if(getParam('version')) { if(getParam('version')) {
if(!uid) { if(!uid) {
...@@ -132,12 +131,13 @@ class CollectBlessing extends Component { ...@@ -132,12 +131,13 @@ class CollectBlessing extends Component {
} }
fetchUserBlessing(key, cb) { fetchUserBlessing(key, cb) {
const { handleToShowShare, handleToHideShare } = this.props; const { handleToShowShare } = this.props;
let { seconds } = this.state; let { seconds } = this.state;
http.get(`${API.home}/sys/user/blessing`).then(res => { http.get(`${API.home}/sys/user/blessing`).then(res => {
const { code, data } = res.data; const { code, data } = res.data;
if(code === 200) { if(code === 200) {
if(data.today_shared_platforms.some(item => item === key)) { if(data.today_shared_platforms.some(item => item === key)) {
handleToShowShare();
Toast.info('今日已分享,记得明天来~', 2, null, false); Toast.info('今日已分享,记得明天来~', 2, null, false);
}else { }else {
handleToShowShare(); handleToShowShare();
...@@ -149,7 +149,6 @@ class CollectBlessing extends Component { ...@@ -149,7 +149,6 @@ class CollectBlessing extends Component {
() => { () => {
if (seconds === 0) { if (seconds === 0) {
typeof cb === 'function' && cb(); typeof cb === 'function' && cb();
handleToHideShare();
clearInterval(this.shareTimer); clearInterval(this.shareTimer);
} }
} }
...@@ -181,7 +180,11 @@ class CollectBlessing extends Component { ...@@ -181,7 +180,11 @@ class CollectBlessing extends Component {
history.push('/passport') history.push('/passport')
} }
}else { }else {
history.push('/invite') if(getParam('version')) {
history.push('/invite?version=' + getParam('version'))
} else {
history.push('/invite')
}
} }
} }
...@@ -192,7 +195,6 @@ class CollectBlessing extends Component { ...@@ -192,7 +195,6 @@ class CollectBlessing extends Component {
isLogin, isLogin,
handleToShowNotice, handleToShowNotice,
handleToShowList, handleToShowList,
handleToShow,
toLogin, toLogin,
toSection toSection
} = this.props; } = this.props;
...@@ -249,14 +251,14 @@ class CollectBlessing extends Component { ...@@ -249,14 +251,14 @@ class CollectBlessing extends Component {
{ {
(isLogin && isSign) (isLogin && isSign)
? ( ? (
<a className="collect-blessing__content" data-status="done"> <button className="collect-blessing__content" data-status="done">
+5<br/>福气值 +5<br/>福气值
</a> </button>
) )
: ( : (
<span onClick={toLogin} className="collect-blessing__content"> <button onClick={toLogin} className="collect-blessing__content">
点击<br/>签到 点击<br/>签到
</span> </button>
) )
} }
</> </>
...@@ -267,67 +269,64 @@ class CollectBlessing extends Component { ...@@ -267,67 +269,64 @@ class CollectBlessing extends Component {
{ {
isFollow === 1 isFollow === 1
? ( ? (
<a className="collect-blessing__content" data-status="done" onClick={handleToShowNotice}> <button className="collect-blessing__content" data-status="done" onClick={handleToShowNotice}>
已加30 已加30
</a> </button>
) )
: ( : (
<a className="collect-blessing__content" onClick={handleToShowNotice}> <button className="collect-blessing__content" onClick={handleToShowNotice}>
关注<br/>二维码 关注<br/>二维码
</a> </button>
) )
} }
</> </>
} }
{ {
index === 2 && index === 2 &&
<div className="collect-blessing__content" data-layout="column"> <div className="collect-blessing__content" data-layout="column">
<p className="collect-blessing__label">去分享</p> <p className="collect-blessing__label">去分享</p>
<div className="collect-blessing__share"> <div className="collect-blessing__share">
<a <button
className="collect-blessing__share-button" className="collect-blessing__share-button"
data-type="qq" data-type="qq"
onClick={(e) => this.qqToShare(e)} onClick={this.qqToShare}
></a> ></button>
<a <button
className="collect-blessing__share-button" className="collect-blessing__share-button"
data-type="wechat" data-type="wechat"
onClick={this.wechatToShare} onClick={this.wechatToShare}
></a> ></button>
<a <button
className="collect-blessing__share-button" className="collect-blessing__share-button"
data-type="weibo" data-type="weibo"
onClick={this.weiboToShare} onClick={this.weiboToShare}
></a> ></button>
</div> </div>
</div> </div>
} }
{ {
index === 3 && index === 3 &&
<a className="collect-blessing__content" onClick={handleToShowList}> <button className="collect-blessing__content" onClick={handleToShowList}>
浏览课程<br/>详情页 浏览课程<br/>详情页
</a> </button>
} }
{ {
index === 4 && index === 4 &&
<a className="collect-blessing__content" onClick={this.handleToInvite}> <button className="collect-blessing__content" onClick={this.handleToInvite}>
<span>邀请链接</span> <span>邀请链接</span>
{ {
inviteBlessing > 0 && <i>已加{inviteBlessing}</i> inviteBlessing > 0 && <i>已加{inviteBlessing}</i>
} }
</a> </button>
} }
{ {
index === 5 && index === 5 &&
<a <button className="collect-blessing__content" onClick={toSection}>
className="collect-blessing__content"
onClick={toSection}>
<span>去选课</span> <span>去选课</span>
{ {
buyBlessing > 0 && <i>已加{buyBlessing}</i> buyBlessing > 0 && <i>已加{buyBlessing}</i>
} }
</a> </button>
} }
</div> </div>
)) ))
......
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
justify-content: center; justify-content: center;
width: 64px; width: 64px;
height: 100%; height: 100%;
border-style: none;
border-radius: 5px; border-radius: 5px;
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
...@@ -81,6 +82,8 @@ ...@@ -81,6 +82,8 @@
display: block; display: block;
width: 20px; width: 20px;
height: 11px; height: 11px;
border-style: none;
background-color: transparent;
background-size: auto 100%; background-size: auto 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
......
...@@ -16,7 +16,6 @@ import LevelTest from './levelTest/index' ...@@ -16,7 +16,6 @@ import LevelTest from './levelTest/index'
import RankList from './rankList/index' import RankList from './rankList/index'
import './index.scss' import './index.scss'
import { Popup } from '@/common' import { Popup } from '@/common'
import { CopyToClipboard } from 'react-copy-to-clipboard'
import { Toast } from "antd-mobile" import { Toast } from "antd-mobile"
import Live from './live' import Live from './live'
import Banner from './banner' import Banner from './banner'
...@@ -82,7 +81,9 @@ class BlessingPreheat extends Component { ...@@ -82,7 +81,9 @@ class BlessingPreheat extends Component {
], ],
index: 0, index: 0,
userHasError: props.user.hasError, userHasError: props.user.hasError,
isApp: false isApp: false,
isClose: false,
testSum: 0,
} }
} }
...@@ -232,9 +233,11 @@ class BlessingPreheat extends Component { ...@@ -232,9 +233,11 @@ class BlessingPreheat extends Component {
http.get(`${API.home}/sys/user/blessing`).then(res => { http.get(`${API.home}/sys/user/blessing`).then(res => {
const {code, data} = res.data const {code, data} = res.data
if (code === 200) { if (code === 200) {
console.log(data.user_test_total);
this.setState({ this.setState({
isSign: !!data.today_signed, isSign: !!data.today_signed,
isFormal: data.is_activity, isFormal: data.is_activity,
testSum: parseInt(data.user_test_total, 10) || 0,
userInfo: Object.assign({}, userInfo, { userInfo: Object.assign({}, userInfo, {
isFollow: data.subscribed, isFollow: data.subscribed,
blessingVal: data.user_blessing_value, blessingVal: data.user_blessing_value,
...@@ -298,6 +301,16 @@ class BlessingPreheat extends Component { ...@@ -298,6 +301,16 @@ class BlessingPreheat extends Component {
if (isLogin && !isLoginnew) { if (isLogin && !isLoginnew) {
this.toLogin() this.toLogin()
} else { } else {
if(key === 'shareMark') {
this.setState({
isClose: false
});
setTimeout(() => {
this.setState({
isClose: true
});
}, 5000);
}
let obj = {} let obj = {}
obj[key] = true obj[key] = true
this.setState({ this.setState({
...@@ -308,7 +321,7 @@ class BlessingPreheat extends Component { ...@@ -308,7 +321,7 @@ class BlessingPreheat extends Component {
handleToShowNotice = () => { handleToShowNotice = () => {
http.get(`${API['base-api']}/sys/activity/create_blessing_qrcode`).then(res => { http.get(`${API['base-api']}/sys/activity/create_blessing_qrcode`).then(res => {
const {errno, data} = res.data const {errno, data, msg} = res.data;
if (errno === 200) { if (errno === 200) {
QRCode.toDataURL(data.url, { QRCode.toDataURL(data.url, {
width: 120, width: 120,
...@@ -326,6 +339,8 @@ class BlessingPreheat extends Component { ...@@ -326,6 +339,8 @@ class BlessingPreheat extends Component {
}) })
} else if (errno === 4030 || errno === 4040) { } else if (errno === 4030 || errno === 4040) {
this.toLogin() this.toLogin()
}else {
Toast.info(msg, 2, null, false);
} }
}) })
} }
...@@ -407,8 +422,11 @@ class BlessingPreheat extends Component { ...@@ -407,8 +422,11 @@ class BlessingPreheat extends Component {
showRecordList, showRecordList,
shareMark, shareMark,
index, index,
isApp isApp,
} = this.state isClose,
testSum
} = this.state;
console.log(testSum);
const {history} = this.props const {history} = this.props
const isLogin = !this.props.user.hasError const isLogin = !this.props.user.hasError
return ( return (
...@@ -432,10 +450,8 @@ class BlessingPreheat extends Component { ...@@ -432,10 +450,8 @@ class BlessingPreheat extends Component {
toSection={(e) => this.toSection(this.fetchMoudleId('best-courses'), e)} toSection={(e) => this.toSection(this.fetchMoudleId('best-courses'), e)}
handleToShowList={() => this.handleToShow('isCourse')} handleToShowList={() => this.handleToShow('isCourse')}
handleToShowNotice={this.handleToShowNotice} handleToShowNotice={this.handleToShowNotice}
handleToShow={this.handleToShow}
toLogin={this.toLogin} toLogin={this.toLogin}
handleToShowShare={() => this.handleToShow('shareMark')} handleToShowShare={() => this.handleToShow('shareMark')}
handleToHideShare={() => this.handleToHide('shareMark')}
/> />
{/* 幸运大抽奖--预热 */} {/* 幸运大抽奖--预热 */}
...@@ -478,7 +494,7 @@ class BlessingPreheat extends Component { ...@@ -478,7 +494,7 @@ class BlessingPreheat extends Component {
} }
{ {
shareMark && shareMark &&
<SharePopup/> <SharePopup isClose={isClose} toClose={() => this.handleToHide('shareMark')}/>
} }
{/* {/*
...@@ -514,7 +530,12 @@ class BlessingPreheat extends Component { ...@@ -514,7 +530,12 @@ class BlessingPreheat extends Component {
<div className="test__record" onClick={() => this.handleToShow('showRecordList', true)}> <div className="test__record" onClick={() => this.handleToShow('showRecordList', true)}>
测试记录> 测试记录>
</div> </div>
<LevelTest history={history} isLogin={isLogin} toLogin={this.toLogin}></LevelTest> <LevelTest
history={history}
testSum={testSum}
isLogin={isLogin}
toLogin={this.toLogin}
/>
<RankList></RankList> <RankList></RankList>
......
...@@ -7,7 +7,7 @@ class LevelTest extends Component { ...@@ -7,7 +7,7 @@ class LevelTest extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
testNumber: 12345, testNumber: '',
number: 1, number: 1,
prizeListUrl: [ prizeListUrl: [
{ {
...@@ -70,7 +70,7 @@ class LevelTest extends Component { ...@@ -70,7 +70,7 @@ class LevelTest extends Component {
number, number,
prizeListUrl, prizeListUrl,
} = this.state; } = this.state;
const {isLogin} = this.props; const {isLogin, testSum} = this.props;
return ( return (
<> <>
<div className="level__test_module"> <div className="level__test_module">
...@@ -83,7 +83,7 @@ class LevelTest extends Component { ...@@ -83,7 +83,7 @@ class LevelTest extends Component {
<div className='test__number'> <div className='test__number'>
已有 已有
<span className='number'> <span className='number'>
{testNumber} {testNumber || testSum}
</span> </span>
人参加测试 人参加测试
</div> </div>
......
...@@ -5,7 +5,11 @@ import './index.scss' ...@@ -5,7 +5,11 @@ import './index.scss'
export default class SharePopup extends Component { export default class SharePopup extends Component {
render() { render() {
return ( return (
<div className="share__container"> <div className="share__container" onClick={() => {
if(this.props.isClose) {
this.props.toClose();
}
}}>
{ {
browser.isWeixin && browser.isWeixin &&
<div className="share__row"> <div className="share__row">
......
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