import React, {Component} from 'react';
import {Input, Button, Spin, Icon} from 'antd';
import {ADD_USER, GET_USER, SEARCH_USER} from "../gql";
import {Mutation} from "react-apollo";
import axios from 'axios';
import {request} from 'graphql-request'
import gql from "graphql-tag";
// todo: _.debounce 的引入
import _ from 'lodash';
import {setCookie} from "../cookie";
axios.defaults.withCredentials = true;
const idGen = (kind) => {
return kind + '_' + Date.now() + '_' + Math.random().toString().slice(-8);
};
class LoginInput extends Component {
constructor() {
super();
this.state = {
userID: '',
hasLogin: false,
hasRegister: false,
nickname: 'its a default nickname',
avatar: '',
register_username: '',
register_password: '',
register_nickname: '',
login_username: '',
login_password: '',
login_url: 'http://123.206.193.98:8999/login',
register_url: 'http://123.206.193.98:8999/resetpassword',
getID_url: 'http://123.206.193.98:8999/getuserid',
loginStatus: '',
loginOnce: true,
usernameTip: false
}
}
login = () => {
let _this = this;
axios.post(this.state.login_url, {
'user-name': this.state.login_username,
password: this.state.login_password
})
.then((res) => {
_this.setState({
userID: res.data,
loginStatus: 'logined',
loginOnce: false
});
setCookie("user_id", res.data);
_this.props.getUserId(res.data);
request('http://123.206.193.98:3000/graphql', GET_USER, {id: res.data}).then(data => {
this.setState({
avatar: data.user_by_id.avatar,
nickname: data.user_by_id.nickname
})
}
)
})
.catch((err) => {
_this.setState({
loginStatus: 'failed',
loginOnce: false
});
});
};
register = () => {
return (