/** * Created by FANGlh on 2019/1/16 14:18. * Desc: 更换手机号 */ import React,{Component} from 'react'; import {connect} from 'react-redux'; import { Result, Icon, WhiteSpace } from 'antd-mobile'; import './ChangePhoneNumber.css'; import {Input,Button} from 'antd'; import {Toast} from 'antd-mobile'; import {fetchPost,fetchGet,fetchGetNoSession} from '../../../utils/fetchRequest'; import {API,_baseURL} from '../../../configs/api.config'; let mSeconds = 0; class ChangePhoneNumber extends Component{ constructor(props){ super(props); this.state = { phoneNumber:null, vCode:null, changeSuccess:false, //修改成功后显示视图 sendCodeSuccess:false, //已点击过发送验证吗 obtainText: '重新发送(59)', } } render(){ return(
{ this.state.changeSuccess == false ?
+86
{ this.state.sendCodeSuccess == false ?
发送验证码
:
{this.state.obtainText}
}
:
更换手机号成功
} { this.state.changeSuccess == false ? : '' }
) } doBindPhone = ()=>{ console.log('state',this.state) if(this.state.phoneNumber == null || this.state.phoneNumber.trim().length < 11){ Toast.show("请输入正确的手机号码") return } if(this.state.vCode == null || this.state.vCode.trim().length == 0){ Toast.show("请输入验证码") return } var params = { userPhone:this.state.phoneNumber, openid:this.props.userInfo.user.userOpenid, code:this.state.vCode, } fetchPost(API.updatePhone,params,{}) .then((response)=>{ console.log('response',response) if(response.success){ Toast.show("绑定成功") this.setState({ changeSuccess:true },function () { // this.props.history.push('/homepage/') this.props.history.goBack() }) }else { Toast.show("绑定失败") } }) .catch((error) =>{ console.log('error',error) Toast.show(error) }) } getvCode = () =>{ if(this.state.phoneNumber == null || this.state.phoneNumber.trim().length < 11){ Toast.show("请输入正确的手机号码") return } Toast.loading('验证码获取中...', 0) this.setState({ obtainText: '获取中' }) var params = { userPhone:this.state.phoneNumber.trim(), openid: this.props.userInfo.user.userOpenid, schoolId:this.props.userInfo.user.schoolId } fetchGet(API.SEND_CODEUPDATE, params).then(response => { Toast.hide() if (response.success){ Toast.success('验证码已发送,请注意查收', 2) mSeconds = 60 this.setState({ sendCodeSuccess:true, obtainText: '重新发送(' + mSeconds + ')' }) this.countdown() }else { Toast.fail(response.data.message, 2) } }).catch(error => { Toast.hide() this.setState({ obtainText: '获取验证码' }) Toast.fail(error || '获取验证码失败', 2) }) } countdown = () => { setTimeout(() => { if (mSeconds > 0) { mSeconds-- this.setState({ obtainText: '重新发送(' + mSeconds + ')' }) this.countdown() } else { this.setState({ sendCodeSuccess:false, obtainText: '重新发送(59)' }) } }, 1000) } handelValueCom = (event) => { //获取手机号 let phoneNumber = this.refs.phoneNumber.value; //获得验证码 let vCode = this.refs.vCode.value; this.setState({ phoneNumber: phoneNumber, vCode:vCode }) } componentWillMount() { document.title='更换手机号码' } componentDidMount() { } } let mapStateToProps = (state) => ({ userInfo: {...state.redUserInfo} }) let mapDispatchToProps = (dispatch) => ({}) export default connect(mapStateToProps, mapDispatchToProps)(ChangePhoneNumber)