nyx_server
Version:
Node内容发布
62 lines (57 loc) • 1.71 kB
JavaScript
import React from 'react';
import { Row, Col} from 'antd';
import ProjectsContainer from './ProjectsContainer';
import UserinfoContainer from './UserinfoContainer';
import store from '../store';
import { getProjectsAsync,
getProjectAsync,
setCurrentProject,
getTemplatesDataIds,
getChipsDataIds,
setUserinfo
} from '../actions/Project';
const getDatefromLocalStorage = function (id) {
if (window.localStorage) {
return JSON.parse(window.localStorage.getItem(id) || '{}');
} else {
return {};
}
};
const getProjectName = function () {
var path = window.location.pathname;
if (path.indexOf('/manage/server/project/') >=0 && path.split('/').length >= 6) {
return path.split('/')[4];
} else {
return null;
}
};
export default class Layout extends React.Component {
componentDidMount() {
store.dispatch(getProjectsAsync());
var projectName = getProjectName();
if (projectName) {
store.dispatch(getProjectAsync(projectName));
store.dispatch(setCurrentProject(projectName));
}
store.dispatch(getTemplatesDataIds(getDatefromLocalStorage('nyxTemplatesDataIds')));
store.dispatch(getChipsDataIds(getDatefromLocalStorage('nyxChipsDataIds')));
}
render() {
return (
<div>
<header className='nyx-header'>
<h1>NYX 服务端管理系统</h1>
<div><UserinfoContainer /></div>
</header>
<div className="nyx-layout-wrapper">
<aside className="nyx-layout-aside">
<ProjectsContainer />
</aside>
<section className="nyx-layout-main">
{this.props.children}
</section>
</div>
</div>
);
}
}