Commit e655fbbf by wangshuo

拉取代码

parent d669b678
...@@ -24,7 +24,6 @@ class Captcha extends Component { ...@@ -24,7 +24,6 @@ class Captcha extends Component {
width: 'auto', width: 'auto',
onReady: function (instance) { onReady: function (instance) {
// 验证码一切准备就绪,此时可正常使用验证码的相关功能 // 验证码一切准备就绪,此时可正常使用验证码的相关功能
console.log(_this);
_this.setState({ _this.setState({
isReady: true isReady: true
}); });
......
...@@ -634,7 +634,6 @@ ...@@ -634,7 +634,6 @@
background-color: #F3F4F8; background-color: #F3F4F8;
} }
.index-box ~ .year19-index { .index-box ~ .year19-index {
display: none; display: none;
} }
\ No newline at end of file
...@@ -107,6 +107,7 @@ class OutLine extends Component { ...@@ -107,6 +107,7 @@ class OutLine extends Component {
4-已购买直播中 4-已购买直播中
5-可试听且有试听权限 5-可试听且有试听权限
6-可试听但无试听权限 6-可试听但无试听权限
7-新试听功能,点击试听跳转播放页
*/} */}
{ // 试听 { // 试听
!introduce.is_aist && (item.class_status === 6 || item.class_status === 5) && !introduce.is_aist && (item.class_status === 6 || item.class_status === 5) &&
...@@ -115,6 +116,14 @@ class OutLine extends Component { ...@@ -115,6 +116,14 @@ class OutLine extends Component {
<i className='iconfont iconcelluar'></i> <i className='iconfont iconcelluar'></i>
</span> </span>
} }
{ // 点击试听跳转播放页
!introduce.is_aist && item.class_status === 7 &&
<Link
to={`/play/video?id=${introduce.v_course_id + '&video_id=' + item.video_id}`}
className='btn-right-10 audition'> <i className='iconfont iconcelluar'></i>试听</Link>
}
{ // 未购买未开单集购买:上锁标志,点击提示购买 { // 未购买未开单集购买:上锁标志,点击提示购买
!introduce.is_aist && item.class_status === 0 && !introduce.is_aist && item.class_status === 0 &&
<i className='iconfont iconiconfront-74 icon-right-22'></i> <i className='iconfont iconiconfront-74 icon-right-22'></i>
......
...@@ -20,7 +20,7 @@ export default class Experience extends Component { ...@@ -20,7 +20,7 @@ export default class Experience extends Component {
</div> </div>
<img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/h5_python_class/r%402x.png" alt=""/> <img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/h5_python_class/r%402x.png" alt=""/>
</div> </div>
<div className={'btn'} onClick={tryLearn}>立即体验</div> <div className={'btn'} onClick={() => {tryLearn(1)}}>立即体验</div>
</> </>
) )
: ( : (
......
...@@ -12,7 +12,7 @@ import ShareRank from "@components/detail/shareRank" ...@@ -12,7 +12,7 @@ import ShareRank from "@components/detail/shareRank"
import { http, getParam, SendMessageToApp, } from '@/utils' import { http, getParam, SendMessageToApp, } from '@/utils'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import { Toast } from "antd-mobile" import { Toast } from "antd-mobile"
import {CallApp} from "@common/index" import { CallApp } from "@common/index"
@connect(state => ({ @connect(state => ({
user: state.user user: state.user
...@@ -35,6 +35,7 @@ class PythonDes extends Component { ...@@ -35,6 +35,7 @@ class PythonDes extends Component {
// 立即报名 // 立即报名
signUp = () => { signUp = () => {
this.statistics(3)
// 已登录 // 已登录
if (!this.props.user.hasError) { if (!this.props.user.hasError) {
this.toDetail() this.toDetail()
...@@ -44,7 +45,8 @@ class PythonDes extends Component { ...@@ -44,7 +45,8 @@ class PythonDes extends Component {
} }
// 立即体验、免费试学 // 立即体验、免费试学
tryLearn = () => { tryLearn = type => {
this.statistics(type)
// 已登录 // 已登录
if (!this.props.user.hasError) { if (!this.props.user.hasError) {
this.toLearn() this.toLearn()
...@@ -169,6 +171,11 @@ class PythonDes extends Component { ...@@ -169,6 +171,11 @@ class PythonDes extends Component {
} }
} }
// 统计
statistics = type => {
http.post(`${API.home}/web/it_click_num/${getParam('id')}`, {type})
}
shouldComponentUpdate(nextProps, nextState, nextContext) { shouldComponentUpdate(nextProps, nextState, nextContext) {
if (this.props.isAppUpdate !== nextProps.isAppUpdate) { if (this.props.isAppUpdate !== nextProps.isAppUpdate) {
...@@ -207,7 +214,10 @@ class PythonDes extends Component { ...@@ -207,7 +214,10 @@ class PythonDes extends Component {
</div> </div>
<div className={'btn__group'}> <div className={'btn__group'}>
<div className={'try__study'} onClick={this.tryLearn}>免费试学</div> <div className={'try__study'} onClick={() => {
this.tryLearn(2)
}}>免费试学
</div>
<div className={'sign__now'} onClick={this.signUp}>立即报名</div> <div className={'sign__now'} onClick={this.signUp}>立即报名</div>
</div> </div>
</div> </div>
......
...@@ -77,6 +77,10 @@ const formikConfig = { ...@@ -77,6 +77,10 @@ const formikConfig = {
username, password, redirect: from && window.location.origin + from.pathname + from.search + from.hash username, password, redirect: from && window.location.origin + from.pathname + from.search + from.hash
}).then(res => { }).then(res => {
if (res.hasError) { if (res.hasError) {
if(res.code === 4004){
history.push(`/passport/binding-tel?username=${username}`)
return
}
Toast.info(res.msg, 2, null, false) Toast.info(res.msg, 2, null, false)
} }
}) })
......
...@@ -39,7 +39,6 @@ class BindingTel extends Component { ...@@ -39,7 +39,6 @@ class BindingTel extends Component {
} }
} }
render() { render() {
const { const {
values, values,
...@@ -119,17 +118,52 @@ const formikConfig = { ...@@ -119,17 +118,52 @@ const formikConfig = {
return errors return errors
}, },
handleSubmit(values, {props}) { handleSubmit(values, {props}) {
http.post(`${API['passport-api']}/bind_mobile`, { const username = getParam('username')
if (username) {
//老账号绑定手机号
http.post(`${API["passport-api"]}/m/personal/bindMobile`, {
phone_num: values.tel,
code: values.veriCode,
type: 1,
area_code: '00' + props.country.num,
user_name: username
}).then(res => {
const {data, errno, msg} = res.data
if (errno === 200) {
props.setCurrentUser({
hasError: false,
data: {
username: data.user_name,
avatar: data.avatar_file,
isVip: parseInt(data.vip),
token: data.access_token,
uid: data.uid
}
})
const {from} = props.location.state || {from: {pathname: '/'}}
props.history.push(from)
} else {
Toast.info(msg, 2, null, false)
}
})
} else {
const uid = getParam('uid')
const params = {
phone_num: values.tel, phone_num: values.tel,
phone_code: values.veriCode, phone_code: values.veriCode,
mkey: getParam('mkey'), mkey: getParam('mkey'),
area_code: '00' + props.country.num, area_code: '00' + props.country.num,
plat: 5 plat: 5,
}).then(res => { type: uid ? 1 : 2
}
if (uid) {
params.uid = uid
}
http.post(`${API['passport-api']}/bind_mobile`, params).then(res => {
const data = res.data const data = res.data
if (data.errno == 200) { if (data.errno == 200) {
if (data.data['is_set_pwd']) {
const {history} = props const {history} = props
if (data.data['is_set_pwd']) {
history.replace(`/passport/set-password`, { history.replace(`/passport/set-password`, {
user: { user: {
hasError: false, hasError: false,
...@@ -141,8 +175,16 @@ const formikConfig = { ...@@ -141,8 +175,16 @@ const formikConfig = {
} }
}) })
} else { } else {
if (uid) {
const redirect = localStorage.getItem('binding_redirect')
if (redirect) {
localStorage.removeItem('binding_redirect')
history.replace(JSON.parse(redirect))
} else {
location.assign(data.data['jump_url']) location.assign(data.data['jump_url'])
} }
}
}
} else { } else {
...@@ -150,6 +192,8 @@ const formikConfig = { ...@@ -150,6 +192,8 @@ const formikConfig = {
} }
}) })
} }
}
} }
export default compose( export default compose(
connect( connect(
......
...@@ -67,7 +67,8 @@ const storeUser = (res, dispatch) => { ...@@ -67,7 +67,8 @@ const storeUser = (res, dispatch) => {
payload = { payload = {
hasError: true, hasError: true,
msg: data.msg, msg: data.msg,
data: {} data: {},
code: data.errno
} }
} }
dispatch(setCurrentUser(payload)) dispatch(setCurrentUser(payload))
......
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