|
|
@ -4,37 +4,20 @@ import {
|
|
|
|
Button,
|
|
|
|
Button,
|
|
|
|
Divider,
|
|
|
|
Divider,
|
|
|
|
Layout,
|
|
|
|
Layout,
|
|
|
|
Spin
|
|
|
|
Spin,
|
|
|
|
|
|
|
|
Tabs
|
|
|
|
} from "antd";
|
|
|
|
} from "antd";
|
|
|
|
import axios from 'axios';
|
|
|
|
import axios from 'axios';
|
|
|
|
import moment from 'moment';
|
|
|
|
import moment from 'moment';
|
|
|
|
import { getImageUrl } from 'educoder'
|
|
|
|
import { getImageUrl } from 'educoder'
|
|
|
|
|
|
|
|
import LoginRegisterComponent from '../user/LoginRegisterComponent';
|
|
|
|
import '../courses/css/members.css';
|
|
|
|
import '../courses/css/members.css';
|
|
|
|
import "../courses/common/formCommon.css"
|
|
|
|
import "../courses/common/formCommon.css"
|
|
|
|
import '../courses/css/Courses.css';
|
|
|
|
import '../courses/css/Courses.css';
|
|
|
|
import beijintulogontwo from '../../../src/images/login/beijintulogontwo.png';
|
|
|
|
import './Otherlogin.css';
|
|
|
|
const { Header, Footer, Sider, Content } = Layout;
|
|
|
|
const { Header, Footer, Sider, Content } = Layout;
|
|
|
|
//educoder登入页面
|
|
|
|
|
|
|
|
var sectionStyle = {
|
|
|
|
|
|
|
|
"height": "100%",
|
|
|
|
|
|
|
|
"width": "100%",
|
|
|
|
|
|
|
|
"min-width": "1000px",
|
|
|
|
|
|
|
|
// makesure here is String确保这里是一个字符串,以下是es6写法
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
var imgback = {
|
|
|
|
|
|
|
|
" background-size":"cover",
|
|
|
|
|
|
|
|
"background-repeat":"no-repeat",
|
|
|
|
|
|
|
|
backgroundImage: `url(${beijintulogontwo})`,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var imgmian ={
|
|
|
|
|
|
|
|
width: "100%",
|
|
|
|
|
|
|
|
background: `url(${beijintulogontwo})`,
|
|
|
|
|
|
|
|
position: "relative",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var newContainer={
|
|
|
|
var newContainer={
|
|
|
|
// background: `url(${beijintulogontwo})`,
|
|
|
|
// background: `url(${beijintulogontwo})`,
|
|
|
|
backgroundPosition: "center" ,
|
|
|
|
backgroundPosition: "center" ,
|
|
|
@ -47,7 +30,6 @@ var newContainer={
|
|
|
|
top: "0px",
|
|
|
|
top: "0px",
|
|
|
|
bottom: "0px",
|
|
|
|
bottom: "0px",
|
|
|
|
minHeight: "100%",
|
|
|
|
minHeight: "100%",
|
|
|
|
paddingTop: "40px",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class Otherlogin extends Component {
|
|
|
|
class Otherlogin extends Component {
|
|
|
@ -58,7 +40,13 @@ class Otherlogin extends Component {
|
|
|
|
password:undefined,
|
|
|
|
password:undefined,
|
|
|
|
data:undefined,
|
|
|
|
data:undefined,
|
|
|
|
logintypes:undefined,
|
|
|
|
logintypes:undefined,
|
|
|
|
spinnings:true
|
|
|
|
spinnings:true,
|
|
|
|
|
|
|
|
setbuttontypes:0,
|
|
|
|
|
|
|
|
showbool: 1,
|
|
|
|
|
|
|
|
loginstatus:false,
|
|
|
|
|
|
|
|
logini:2,
|
|
|
|
|
|
|
|
namezh:"",
|
|
|
|
|
|
|
|
passmm:"",
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -149,10 +137,20 @@ class Otherlogin extends Component {
|
|
|
|
console.log(error)
|
|
|
|
console.log(error)
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setbuttontype=(type)=>{
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
setbuttontypes:type
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gotohome=()=>{
|
|
|
|
|
|
|
|
this.props.history.replace("/");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
render() {
|
|
|
|
render() {
|
|
|
|
let {data,logintypes,spinnings} = this.state;
|
|
|
|
let {data,setbuttontypes,spinnings} = this.state;
|
|
|
|
|
|
|
|
|
|
|
|
console.log(logintypes)
|
|
|
|
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<div style={newContainer} className=" clearfix" >
|
|
|
|
<div style={newContainer} className=" clearfix" >
|
|
|
|
<Spin size="large" spinning={spinnings} >
|
|
|
|
<Spin size="large" spinning={spinnings} >
|
|
|
@ -170,25 +168,7 @@ class Otherlogin extends Component {
|
|
|
|
<div style={{
|
|
|
|
<div style={{
|
|
|
|
"width": "100%"
|
|
|
|
"width": "100%"
|
|
|
|
}}>
|
|
|
|
}}>
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
`
|
|
|
|
|
|
|
|
.ottherimg{
|
|
|
|
|
|
|
|
width: 106px;
|
|
|
|
|
|
|
|
height: 106px;
|
|
|
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
`
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<div className={"textcenter"} >
|
|
|
|
|
|
|
|
{data===undefined?"":data.image_url===undefined||data.image_url===null||data.image_url===""?"":<img className={"ottherimg"} src={getImageUrl(`images/${data&&data.image_url}`)}/>}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div className={"textcenter wechatloginfont"}>
|
|
|
|
|
|
|
|
为了更好的为您服务,请关联一个EduCoder账号
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"educontent clearfix wechatdiv"}>
|
|
|
|
<div className={"educontent clearfix wechatdiv"}>
|
|
|
|
<style>
|
|
|
|
<style>
|
|
|
@ -218,69 +198,70 @@ class Otherlogin extends Component {
|
|
|
|
background:rgba(25,144,255,1);
|
|
|
|
background:rgba(25,144,255,1);
|
|
|
|
border-radius:4px;
|
|
|
|
border-radius:4px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ant-divider-horizontal{
|
|
|
|
|
|
|
|
margin: 0px 0 30px 0px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.ant-divider{
|
|
|
|
|
|
|
|
background: #EEEEEE;
|
|
|
|
|
|
|
|
}
|
|
|
|
`
|
|
|
|
`
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<Content className={"wexinconter"}>
|
|
|
|
|
|
|
|
<div className={"fl "}>
|
|
|
|
|
|
|
|
<img alt="高校智能化教学与实训平台" className="logoimg"
|
|
|
|
|
|
|
|
src={getImageUrl("images/avatars/LaboratorySetting/1nav")} />
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div className={"fr wexinconterfr"} onClick={()=>this.gotohome()}>
|
|
|
|
|
|
|
|
返回首页
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</Content>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
<Layout>
|
|
|
|
<div className={setbuttontypes===0?"wexintitle fl":"selectwexintitle fl"} onClick={()=>this.setbuttontype(0)}>
|
|
|
|
<Sider>
|
|
|
|
<i className={"iconfont icon-bangding font-25 mr10"}></i>已有EduCoder账号,请绑定
|
|
|
|
<div className={"wechatnewchat"}>
|
|
|
|
</div>
|
|
|
|
新用户
|
|
|
|
<div className={setbuttontypes===1?"wexintitle fl":"selectwexintitle fl"} onClick={()=>this.setbuttontype(1)}>
|
|
|
|
|
|
|
|
<i className={"iconfont icon-bianji4 font-20 mr10"}></i>没有EduCoder账号,使用手机号注册并绑定
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</Sider>
|
|
|
|
|
|
|
|
<Layout>
|
|
|
|
|
|
|
|
<Header>欢迎来到EduCoder,新用户登录EduCoder可以到“账号管理-安全设置”中绑定手机/邮箱,以后可以用绑定的手机/邮箱,设置的密码登录EduCoder了。</Header>
|
|
|
|
|
|
|
|
<Content className={"wechatContent"}>立即体验表示您已经同意我们的 <span><a href="https://forge.educoder.net/help?index=4" target="_blank" className={"color-blue"}> 服务协议条款</a></span></Content>
|
|
|
|
|
|
|
|
<Footer>
|
|
|
|
|
|
|
|
<Button className="login_btn font-16 wechattiyan" type="primary" style={{height:"46px"}} onClick={() => this.postwechatlogin(true)}
|
|
|
|
|
|
|
|
size={"large"}>立即体验</Button>
|
|
|
|
|
|
|
|
</Footer>
|
|
|
|
|
|
|
|
</Layout>
|
|
|
|
|
|
|
|
</Layout>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<Divider />
|
|
|
|
<Divider />
|
|
|
|
<p>
|
|
|
|
{setbuttontypes===0?<p>
|
|
|
|
<Layout>
|
|
|
|
<Layout>
|
|
|
|
<Sider>
|
|
|
|
|
|
|
|
<div className={"wechatweoldchat"}>
|
|
|
|
|
|
|
|
老用户
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</Sider>
|
|
|
|
|
|
|
|
<Layout>
|
|
|
|
<Layout>
|
|
|
|
<Header>已有EduCoder账号,可以输入您的账号和密码,将您的微信账号与EduCoder账号进行绑定。</Header>
|
|
|
|
<Header className={"wexinHeader"}>为了更好的为您服务,请输入您的账号和密码,将您的微信账号与Educoder账号进行绑定</Header>
|
|
|
|
<Content className={"wechatContent"}>
|
|
|
|
<Content className={"wechatContent mt50"}>
|
|
|
|
|
|
|
|
|
|
|
|
<Input placeholder="请输入手机号/邮箱/登录名"
|
|
|
|
<Input placeholder="请输入手机号/邮箱/登录名"
|
|
|
|
value={this.state.login}
|
|
|
|
value={this.state.login}
|
|
|
|
onInput={this.loginInputonChange}
|
|
|
|
onInput={this.loginInputonChange}
|
|
|
|
className={this.state.logintypes==="username"?"bor-red mb20 wechatpass":" mb20 wechatpass"}
|
|
|
|
className={this.state.logintypes==="username"?"bor-red mb20 wechatpass":" mb20 wechatpass"}
|
|
|
|
></Input>
|
|
|
|
></Input>
|
|
|
|
|
|
|
|
</Content>
|
|
|
|
|
|
|
|
<Content className={"wechatContent"}>
|
|
|
|
<Input.Password value={this.state.password}
|
|
|
|
<Input.Password value={this.state.password}
|
|
|
|
autoComplete="new-password"
|
|
|
|
autoComplete="new-password"
|
|
|
|
onInput={this.passwordonChange}
|
|
|
|
onInput={this.passwordonChange}
|
|
|
|
className={this.state.logintypes==="password"?"bor-red wechatpass":" wechatpass"}
|
|
|
|
className={this.state.logintypes==="password"?"bor-red wechatpass":" wechatpass"}
|
|
|
|
placeholder="请输入密码"
|
|
|
|
placeholder="输入密码,注意区分大小写"
|
|
|
|
></Input.Password>
|
|
|
|
></Input.Password>
|
|
|
|
</Content>
|
|
|
|
</Content>
|
|
|
|
{this.state.logintypes==="username"?<span className={"color-red ml50"}>请填写账号</span>:this.state.logintypes==="password"?<span className={"color-red ml50"}>请填写密码</span>:""}
|
|
|
|
{this.state.logintypes==="username"?<span className={"color-red ml50"}>请填写账号</span>:this.state.logintypes==="password"?<span className={"color-red ml50"}>请填写密码</span>:""}
|
|
|
|
<Footer>
|
|
|
|
<Footer className={"weixinfooter mt30"}>
|
|
|
|
<Button className="login_btn font-16 wechattiyan" type="primary" style={{height:"46px"}} onClick={() => this.postwechatlogin(false,this.state.login,this.state.password)}
|
|
|
|
<Button className="login_btn font-16 wechattiyan" type="primary" style={{height:"46px"}} onClick={() => this.postwechatlogin(false,this.state.login,this.state.password)}
|
|
|
|
size={"large"}>绑定</Button>
|
|
|
|
size={"large"}>绑定</Button>
|
|
|
|
</Footer>
|
|
|
|
</Footer>
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
|
|
|
</p>
|
|
|
|
</p>:<p className={"weixinnelogin"}>
|
|
|
|
</div>
|
|
|
|
<LoginRegisterComponent {...this.props} {...this.state}
|
|
|
|
|
|
|
|
weixinlogin={true}
|
|
|
|
|
|
|
|
Setshowbool={(e)=>this.Setshowbool(e)} ></LoginRegisterComponent>
|
|
|
|
|
|
|
|
</p>}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div style={{
|
|
|
|
|
|
|
|
display: "flex",
|
|
|
|
|
|
|
|
justifyContent: "center",
|
|
|
|
|
|
|
|
width: "100%",
|
|
|
|
|
|
|
|
}}>
|
|
|
|
|
|
|
|
<div className="font-14 color-grey-9 " style={{marginTop:"20px"}}><span className="font-18">©</span> {moment().year()} EduCoder<span className="ml15 mr15">湘ICP备17009477号</span><a href="https://team.trustie.net" style={{"color":"#888"}} target="_blank">Trustie</a> & IntelliDE inside.</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</Spin>
|
|
|
|
</Spin>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|