├── src ├── assets │ ├── theme.less │ ├── images │ │ └── avatar.png │ └── common.less ├── layouts │ ├── BlankLayout.js │ ├── BasicLayout.less │ ├── PageHeaderLayout.less │ ├── PageHeaderLayout.js │ ├── GlobalFooter │ │ ├── index.less │ │ └── index.js │ ├── UserLayout.less │ ├── GlobalSider │ │ └── index.less │ ├── Layout.js │ ├── UserLayout.js │ ├── GlobalHeader │ │ └── index.less │ └── BasicLayout.js ├── modules │ ├── Exception │ │ ├── style.less │ │ ├── 403.js │ │ ├── 404.js │ │ ├── 500.js │ │ └── triggerException.js │ ├── User │ │ ├── UserLogin.less │ │ ├── RegisterResult.less │ │ ├── Login.less │ │ ├── Register.less │ │ ├── RegisterResult.js │ │ ├── Login.js │ │ ├── UserLogin.js │ │ ├── UserLogin.test.js │ │ └── UserRegister.js │ ├── Valid │ │ └── List.js │ ├── Page │ │ ├── Template.js │ │ └── List.js │ ├── Template │ │ └── List.js │ ├── Component │ │ └── List.js │ ├── Scaffold │ │ └── List.js │ ├── Layout │ │ └── List.js │ ├── Inter │ │ └── List.js │ ├── About │ │ └── About.js │ └── Preview │ │ ├── testPreview.js │ │ └── Preview.js ├── components │ ├── CodeArea │ │ ├── index.js │ │ ├── monaco.less │ │ ├── index.scss │ │ └── Monaco.js │ ├── utils │ │ ├── pathTools.js │ │ └── pathTools.test.js │ ├── Exception │ │ ├── demo │ │ │ ├── 404.md │ │ │ ├── 500.md │ │ │ └── 403.md │ │ ├── index.d.ts │ │ ├── typeConfig.js │ │ ├── index.zh-CN.md │ │ ├── index.md │ │ ├── index.en-US.md │ │ ├── index.js │ │ ├── index.css │ │ ├── index.scss │ │ └── index.less │ ├── HeaderSearch │ │ ├── index.d.ts │ │ ├── index.md │ │ ├── index.less │ │ ├── demo │ │ │ └── basic.md │ │ └── index.js │ ├── PageHeader │ │ ├── demo │ │ │ ├── simple.md │ │ │ ├── structure.md │ │ │ ├── image.md │ │ │ └── standard.md │ │ ├── index.d.ts │ │ ├── index.md │ │ ├── index.test.js │ │ └── index.less │ ├── ExtraFieldConfig │ │ └── index.less │ ├── package │ │ ├── schema.js │ │ ├── index.less │ │ ├── index.css │ │ ├── index.js │ │ ├── components │ │ │ ├── SchemaComponents │ │ │ │ ├── FieldInput.js │ │ │ │ └── schemaJson.css │ │ │ ├── MockSelect │ │ │ │ └── index.js │ │ │ └── LocalProvider │ │ │ │ └── index.js │ │ └── utils.js │ ├── SiderMenu │ │ ├── index.less │ │ ├── index.js │ │ ├── SiderMenu.test.js │ │ └── SiderMenu.js │ ├── SimpleTable │ │ └── index.js │ ├── FileTree │ │ └── index.js │ └── MonacoEditor │ │ └── index.js ├── setupProxy.js ├── e2e │ ├── home.e2e.js │ └── login.e2e.js ├── defaultSettings.js ├── App.js ├── utils │ ├── formLayout.js │ ├── jsonp.js │ └── native.js ├── models │ ├── preview.js │ ├── global.js │ ├── valid.js │ ├── interApp.js │ ├── layout.js │ ├── user.js │ ├── inter.js │ ├── component.js │ ├── template.js │ └── app.js ├── index.js ├── common │ ├── urlMaps.js │ └── menu.js └── logo.svg ├── public ├── config.js ├── favicon.png └── manifest.json ├── config ├── jest │ ├── jest-puppeteer.config.js │ ├── cssTransform.js │ └── fileTransform.js ├── deploy.js ├── paths.js └── env.js ├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── .npmrc ├── scripts ├── test.js └── start.js ├── LICENSE ├── .stylelintrc ├── README.md └── .eslintrc /src/assets/theme.less: -------------------------------------------------------------------------------- 1 | @import '~antd/lib/style/themes/default.less'; 2 | -------------------------------------------------------------------------------- /public/config.js: -------------------------------------------------------------------------------- 1 | var appName = 'xxx' 2 | var baseUrl = 'http://127.0.0.0:8361' 3 | -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/genany/gen/HEAD/public/favicon.png -------------------------------------------------------------------------------- /src/assets/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/genany/gen/HEAD/src/assets/images/avatar.png -------------------------------------------------------------------------------- /src/layouts/BlankLayout.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export default props =>
; 4 | -------------------------------------------------------------------------------- /config/jest/jest-puppeteer.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | server: { 3 | command: 'node server.js', 4 | port: 4444 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/layouts/BasicLayout.less: -------------------------------------------------------------------------------- 1 | .main-content { 2 | margin: 24px; 3 | } 4 | 5 | .screen-xs { 6 | .main-content { 7 | margin: 24px; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/modules/Exception/style.less: -------------------------------------------------------------------------------- 1 | .trigger { 2 | background: "red"; 3 | :global(.ant-btn) { 4 | margin-right: 8px; 5 | margin-bottom: 12px; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/components/CodeArea/index.js: -------------------------------------------------------------------------------- 1 | // import CodeArea from './CodeArea' 2 | import Monaco from './Monaco'; 3 | 4 | // export { CodeArea, Monaco as default } 5 | export { Monaco as default }; 6 | -------------------------------------------------------------------------------- /src/modules/User/UserLogin.less: -------------------------------------------------------------------------------- 1 | .login-form { 2 | margin: 0 auto; 3 | max-width: 300px; 4 | } 5 | 6 | .login-form-forgot { 7 | float: right; 8 | } 9 | 10 | .login-form-button { 11 | width: 100%; 12 | } 13 | -------------------------------------------------------------------------------- /src/layouts/PageHeaderLayout.less: -------------------------------------------------------------------------------- 1 | @import '../assets/theme'; 2 | .content { 3 | margin: 24px 24px 0; 4 | } 5 | 6 | @media screen and (max-width: @screen-sm) { 7 | .content { 8 | margin: 24px 0 0; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/components/utils/pathTools.js: -------------------------------------------------------------------------------- 1 | // /userinfo/2144/id => ['/userinfo','/useinfo/2144,'/userindo/2144/id'] 2 | export function urlToList(url) { 3 | const urllist = url.split('/').filter(i => i); 4 | return urllist.map((urlItem, index) => { 5 | return `/${urllist.slice(0, index + 1).join('/')}`; 6 | }); 7 | } 8 | -------------------------------------------------------------------------------- /src/modules/Exception/403.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Link } from 'dva/router'; 3 | import Exception from '../../components/Exception'; 4 | 5 | export default () => ( 6 |