import React, {Component} from 'react'; import {Layout, Menu, Input, Button, Spin, Breadcrumb, Icon, Radio, LocaleProvider} from 'antd'; import {BrowserRouter as Router, Route, Link, Switch, Redirect} from "react-router-dom"; import gql from "graphql-tag"; import {Query} from "react-apollo"; import moment from 'moment'; import 'moment/locale/zh-cn'; import { FormattedMessage } from 'react-intl'; import CloudFunction from '../cloudFunction/CloudFunction'; import MonitorNotify from '../monitorNotify/MonitorNotify'; import DataAnalysis from '../dataAnalysis/DataAnalysis'; import DataStorage from '../dataStorage/DataStorage'; import zhCN from 'antd/lib/locale-provider/zh_CN'; import '../common/graphql/index.css'; import './index.css' import TrialCase from "../trialCase/TrialCase"; const {SubMenu} = Menu; const {Header, Sider} = Layout; moment.locale('en'); class App extends Component { constructor(props) { super(props); sessionStorage.setItem("language","English"); this.state = { menuLevel1: "trail", sideBar: "e-commerce", userID: '', hasLogin: false, user: { nickname: '', avatar: '' }, collapsed: false, inlineCollapsed: false, locale: undefined, language: sessionStorage.getItem("language") }; } onCollapse = (collapsed) => { console.log(collapsed); this.setState({collapsed}); }; switchMenu = (menuName, e) => { console.log('menuName', menuName, 'e', e); this.setState({ [menuName]: e.key, }); }; changeLocale = (e) => { e.stopPropagation(); let language = sessionStorage.getItem("language"); console.log('now language',language); let local = language === "中文" ? zhCN : undefined; console.log('local',local); let changeLanguage = language === "中文" ? "English" : "中文"; console.log('changeLanguage',changeLanguage); sessionStorage.setItem("language",changeLanguage); this.props.changeLanguage(changeLanguage); this.setState({ language:changeLanguage, locale:local }); if (!local) { moment.locale('en'); } else { moment.locale('zh-cn'); } }; login = (id) => { const GET_USER = gql` query USER($id: ID!) { user_by_id(id: $id) { avatar, nickname } } `; return ( { ({loading, error, data}) => { if (loading) { return } if (error) { return 'error!'; } if (data.user_by_id === null) return (
no such person
); else { // 不可使用 this.setState, 会报错。 // Warning: Cannot update during an existing state transition (such as within `render`). // Render methods should be a pure function of props and state. this.state.user = { avatar: data.user_by_id.avatar, nickname: data.user_by_id.nickname }; console.log(data); return (
welcome, {data.user_by_id.nickname}
); } } }
) }; render() { const { locale,language } = this.state; console.log('locale1',locale); return (
this.switchMenu('menuLevel1', e)} >
{/*
*/} {/*{*/} {/*this.state.hasLogin ?*/} {/*this.login(this.state.userID)*/} {/*:*/} {/*
*/} {/*login:*/} {/* {*/} {/*// antd 获取不到 target,百度来的下面这句代码*/} {/*e.persist();*/} {/*this.setState({userID: e.target.value});*/} {/*}}*/} {/*onPressEnter={() => {*/} {/*this.setState({hasLogin: true})*/} {/*}}*/} {/*style={{width: 200}}*/} {/*/>*/} {/*
*/} {/*}*/} {/*
*/}
this.switchMenu('sideBar', e)} selectedKeys={[this.state.sideBar]} style={{ borderRight: 0, overflow: 'auto', height: '100vh', left: '0', width: '200px', position: 'fixed' }} > Trial Case}> e-commerce keep accounts appointment {(() => { switch (this.state.menuLevel1) { case 'cloud-function': return ( Cloud Function}> wechat-service graphql-service quantization-service ); case 'data-storage': return ( Data Storage}> snbl-mongo ); case 'data-analysis': return ( data Analysis}> metabase ); case 'monitor-notification': return ( Monitor Notification}> monitor graphql-events stock-signal ); default: return ( Cloud Function}> wechat-service graphql-service quantization-service ); } })()} My Create}> option9
); } } export default App;