mock平台

Setting.js 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import React, { PureComponent as Component } from 'react';
  2. import { Tabs } from 'antd';
  3. import PropTypes from 'prop-types';
  4. import ProjectMessage from './ProjectMessage/ProjectMessage.js';
  5. import ProjectEnv from './ProjectEnv/index.js';
  6. import ProjectRequest from './ProjectRequest/ProjectRequest';
  7. import ProjectToken from './ProjectToken/ProjectToken';
  8. import ProjectMock from './ProjectMock/index.js';
  9. import { connect } from 'react-redux';
  10. const TabPane = Tabs.TabPane;
  11. const plugin = require('client/plugin.js');
  12. const routers = {}
  13. import './Setting.scss';
  14. @connect(state => {
  15. return {
  16. curProjectRole: state.project.currProject.role
  17. };
  18. })
  19. class Setting extends Component {
  20. static propTypes = {
  21. match: PropTypes.object,
  22. curProjectRole: PropTypes.string
  23. };
  24. render() {
  25. const id = this.props.match.params.id;
  26. plugin.emitHook('sub_setting_nav', routers);
  27. return (
  28. <div className="g-row">
  29. <Tabs type="card" className="has-affix-footer tabs-large">
  30. <TabPane tab="项目配置" key="1">
  31. <ProjectMessage projectId={+id} />
  32. </TabPane>
  33. <TabPane tab="环境配置" key="2">
  34. <ProjectEnv projectId={+id} />
  35. </TabPane>
  36. <TabPane tab="请求配置" key="3">
  37. <ProjectRequest projectId={+id} />
  38. </TabPane>
  39. {this.props.curProjectRole !== 'guest' ? (
  40. <TabPane tab="token配置" key="4">
  41. <ProjectToken projectId={+id} curProjectRole={this.props.curProjectRole} />
  42. </TabPane>
  43. ) : null}
  44. <TabPane tab="全局mock脚本" key="5">
  45. <ProjectMock projectId={+id} />
  46. </TabPane>
  47. {Object.keys(routers).map(key=>{
  48. const C = routers[key].component;
  49. return <TabPane tab={routers[key].name} key={routers[key].name}>
  50. <C projectId={+id} />
  51. </TabPane>
  52. })}
  53. </Tabs>
  54. </div>
  55. );
  56. }
  57. }
  58. export default Setting;