import React, {Component} from 'react';
import {FormattedMessage} from 'react-intl';
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 {idGen} from "../func";
import {setCookie} from "../cookie";
import {loginUrl, registerUrl, getIdUrl} from '../config'
import {graphqlUrl} from "../config";
axios.defaults.withCredentials = true;
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: '',
loginStatus: '',
loginOnce: true,
usernameTip: false
}
}
login = () => {
let _this = this;
// let loginUrl = `http://localhost:8999/login`;
if (this.state.login_username !== '' && this.state.login_password !== '') {
axios.post(loginUrl, {
'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(graphqlUrl, 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 (