import React, {Component} from 'react'; import {Layout, Menu, Input, Modal, Button, Spin, Breadcrumb, Icon, Radio, LocaleProvider} from 'antd'; import {BrowserRouter as Router, Route, Link, Switch, Redirect} from "react-router-dom"; import {Mutation, Query} from "react-apollo"; import gql from "graphql-tag"; import moment from 'moment'; import 'moment/locale/zh-cn'; import {FormattedMessage} from 'react-intl'; import zhCN from 'antd/lib/locale-provider/zh_CN'; import WechatService from "../wechatService/WechatService"; import QuantService from "../quantService/QuantService"; import TrialCase from "../trialCase/TrialCase"; import Login from "../login/Login"; import Table from '../common/schema/Table'; import '../common/graphql/index.css'; import './index.css' import Create from "../common/schema/Create"; import {SHOW_ALL_SCHEMA} from "../gql"; import axios from 'axios'; import {getCookie} from "../cookie"; import Schema from "../common/schema/Schema"; axios.defaults.withCredentials = true; 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: "graphql-service", sideBar: "e-commerce", collapsed: false, inlineCollapsed: false, locale: undefined, language: sessionStorage.getItem("language"), visible: false, userID: '' }; } onCollapse = (collapsed) => { // console.log(collapsed); this.setState({collapsed}); }; switchMenu = (menuName, e) => { // console.log('menuName', menuName, 'e', e); this.setState({ [menuName]: e.key, }); }; switchMenuLevel = (menuName, value) => { this.setState({ [menuName]: value, }); }; showModal = () => { this.setState({ visible: true, }); }; hideModal = () => { this.setState({ visible: false, }); }; changeLocale = (e) => { e.stopPropagation(); let language = sessionStorage.getItem("language"); // console.log('app language',language); let local = language === "中文" ? zhCN : undefined; // console.log('app local',local); let changeLanguage = language === "中文" ? "English" : "中文"; // console.log('app changeLanguage',changeLanguage); let nowLanguage = language === "中文" ? 'zh' : 'en'; // console.log('app nowLanguage',nowLanguage); sessionStorage.setItem("language", changeLanguage); this.props.changeLanguage(nowLanguage); this.setState({ language: changeLanguage, locale: local }); if (!local) { moment.locale('en'); } else { moment.locale('zh-cn'); } }; render() { const {locale, language, visible} = this.state; return ( this.switchMenuLevel('menuLevel1', "graphql-service")}> this.switchMenu('menuLevel1', e)} > this.switchMenuLevel('menuLevel1','user')} >Login this.changeLocale(e)}>{language} {(() => { switch (this.state.menuLevel1) { case 'graphql-service': return ( ); case 'wechat-service': return ( this.switchMenu('sideBar', e)} selectedKeys={[this.state.sideBar]} style={{ borderRight: 0, overflow: 'auto', height: '100vh', left: '0', width: '200px', position: 'fixed' }} > Trial Case}> wechat case My Create}> my wechat ); case 'quantization-service': return ( this.switchMenu('sideBar', e)} selectedKeys={[this.state.sideBar]} style={{ borderRight: 0, overflow: 'auto', height: '100vh', left: '0', width: '200px', position: 'fixed' }} > Trial Case}> quant case My Create}> my quant ); case 'user': return ( this.switchMenu('sideBar', e)} selectedKeys={[this.state.sideBar]} style={{ borderRight: 0, overflow: 'auto', height: '100vh', left: '0', width: '200px', position: 'fixed' }} > Account center Cloud settings ); default: return ( ); } })()} ); } } export default App; class GraphqlSidebar extends Component { constructor(props) { super(props); this.state = { // getID_url: 'http://123.206.193.98:8999/getuserid', userID: getCookie('user_id'), show: false } } // componentWillMount() { // let _this = this; // axios.get(this.state.getID_url) // .then((res) => { // if (res.data !== '') { // _this.setState({ // userID: res.data, // show: true // }) // } else { // _this.setState({ // show: true // }) // } // }) // .catch((err) => { // console.log(err); // }); // } render() { return ( { ({loading, error, data}) => { // console.log('user schema data',data); if (loading) return ; if (error) return 'error!'; return ( this.props.switchMenu('sideBar', e)} selectedKeys={[this.props.sideBar]} style={{ borderRight: 0, overflow: 'auto', height: '100vh', left: '0', width: '200px', position: 'fixed' }} > Trial Case}> { data.caseSchema.map((schema) => {schema.schemaName} ) } Create My Create}> { data.userSchema.map((schema) => {schema.schemaName} ) } ) } } ) } } // this.state.show ? // :''