import React, {Component} from 'react'; import {FormattedMessage} from 'react-intl'; import {Route, Link, Switch, Redirect} from "react-router-dom"; import {Layout, Menu, Button, Spin, Icon, LocaleProvider, Dropdown, Avatar, Badge} from 'antd'; import '../developVersion/index.css'; import CaseShow from "./caseShow/CaseShow"; import MyDeploy from "./myDeploy/MyDeploy"; import Communication from "./communication/Communication"; import CaseDetail from "./caseShow/CaseDetail"; import {logoutUrl} from "../../config"; import {getCookie, setCookie} from "../../cookie"; import {GET_USER} from "../../gql"; import {Query} from "react-apollo"; import gql from "graphql-tag"; import axios from 'axios'; import moment from 'moment'; import 'moment/locale/zh-cn'; import zhCN from 'antd/lib/locale-provider/zh_CN'; axios.defaults.withCredentials = true; const {Header, Content} = Layout; class BasicVersion extends Component { constructor(props) { super(props); this.state = { menuLevel1: "example", language: props.language, locale: props.language === "中文" ? zhCN : undefined, languageButton: props.language === "中文" ? "English" : "中文", userID: '', avatar: '' }; console.log(props); if(props.location) { switch(props.location.pathname) { case '/common/deploy': this.state.menuLevel1 = 'my-deploy'; break; case '/common/communication': this.state.menuLevel1 = 'communication'; break; default: this.state.menuLevel1 = 'example'; break; } } } switchMenuLevel = (menuName, value) => { this.setState({ [menuName]: value, }); }; switchMenuTab = (menuName, e) => { this.setState({ [menuName]: e.key, }); }; componentWillMount() { let userID = getCookie('user_id'); if (userID === undefined || '') { axios.get(this.state.getIdUrl) .then((res) => { if (res.data !== '') { setCookie("user_id", res.data); this.setState({ userID: res.data }) } }) .catch(function (err) { console.log(err); }); } else { this.setState({ userID }) } } changeLocale = (e) => { e.stopPropagation(); let {language} = this.state; // console.log('app language',language); let changeLanguage = language === "中文" ? "English" : "中文"; let local = language === "中文" ? undefined : zhCN; let languageButton = language === "中文" ? "中文" : "English"; sessionStorage.setItem("language", changeLanguage); this.props.changeLanguage(changeLanguage); this.setState({ language: changeLanguage, locale: local, languageButton: languageButton }); if (!local) { moment.locale('en'); } else { moment.locale('zh-cn'); } }; changeTabBar = (menu) => { this.setState({ menuLevel1: menu }) }; render() { let ownProps = { changeTabBar: this.changeTabBar }; let ownPropsUser = { changeLocale: this.changeLocale, languageButton: this.state.languageButton }; const PrivateRoute = ({component: Component, ownProps, ...rest}) => ( { return }}/> ); return (
this.switchMenuTab('menuLevel1', e)} > { !!this.state.userID? : '' } { this.state.userID === '' ? : }
) } } export default BasicVersion; class User extends Component { constructor(props) { super(props); this.state = { show: false } } logout = () => { axios.get(logoutUrl) .then((res) => { console.log('logout success',res); setCookie("user_id", ''); }) .catch((err) => { }); }; render() { return ( { ({loading, error, data}) => { if (loading) { return } if (error) { return 'error!'; } let user = data.user_by_id; if (user !== null) { const menu = (

{user.nickname}

{user.email}

{ e.preventDefault(); this.props.changeLocale(e) }}>{this.props.languageButton}
{ e.preventDefault(); this.logout(); }}>
); return (
{}}>
{/**/}
) } } }
) } }