├── src
├── main
│ ├── resources
│ │ ├── material
│ │ │ ├── 1.png
│ │ │ ├── 2.png
│ │ │ ├── 3.png
│ │ │ ├── 4.png
│ │ │ ├── 5.png
│ │ │ ├── 6.png
│ │ │ ├── 7.png
│ │ │ ├── 8.png
│ │ │ └── 9.jpg
│ │ ├── static
│ │ │ ├── images
│ │ │ │ ├── bg.jpg
│ │ │ │ ├── home.png
│ │ │ │ ├── logo.png
│ │ │ │ ├── captcha.jpg
│ │ │ │ ├── favicon.ico
│ │ │ │ ├── loginbg.png
│ │ │ │ ├── icon-login.png
│ │ │ │ └── donate_qrcode.png
│ │ │ ├── lib
│ │ │ │ ├── eleTree
│ │ │ │ │ ├── images
│ │ │ │ │ │ ├── fold.jpg
│ │ │ │ │ │ ├── fold.png
│ │ │ │ │ │ ├── leaf.jpg
│ │ │ │ │ │ ├── leaf.png
│ │ │ │ │ │ ├── checkFull.png
│ │ │ │ │ │ ├── checkHalf.png
│ │ │ │ │ │ ├── checkNone.png
│ │ │ │ │ │ ├── dropdownOff.png
│ │ │ │ │ │ ├── dropdownOn.png
│ │ │ │ │ │ ├── radioCheck.png
│ │ │ │ │ │ └── radioCheckNone.png
│ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── eletree_icon.ttf
│ │ │ │ │ │ └── eletree_icon.woff
│ │ │ │ ├── layui-v2.5.5
│ │ │ │ │ ├── font
│ │ │ │ │ │ ├── iconfont.ttf
│ │ │ │ │ │ ├── iconfont.woff
│ │ │ │ │ │ └── iconfont.woff2
│ │ │ │ │ ├── images
│ │ │ │ │ │ └── face
│ │ │ │ │ │ │ ├── 0.gif
│ │ │ │ │ │ │ ├── 1.gif
│ │ │ │ │ │ │ ├── 2.gif
│ │ │ │ │ │ │ ├── 3.gif
│ │ │ │ │ │ │ ├── 4.gif
│ │ │ │ │ │ │ ├── 5.gif
│ │ │ │ │ │ │ ├── 6.gif
│ │ │ │ │ │ │ ├── 7.gif
│ │ │ │ │ │ │ ├── 8.gif
│ │ │ │ │ │ │ ├── 9.gif
│ │ │ │ │ │ │ ├── 10.gif
│ │ │ │ │ │ │ ├── 11.gif
│ │ │ │ │ │ │ ├── 12.gif
│ │ │ │ │ │ │ ├── 13.gif
│ │ │ │ │ │ │ ├── 14.gif
│ │ │ │ │ │ │ ├── 15.gif
│ │ │ │ │ │ │ ├── 16.gif
│ │ │ │ │ │ │ ├── 17.gif
│ │ │ │ │ │ │ ├── 18.gif
│ │ │ │ │ │ │ ├── 19.gif
│ │ │ │ │ │ │ ├── 20.gif
│ │ │ │ │ │ │ ├── 21.gif
│ │ │ │ │ │ │ ├── 22.gif
│ │ │ │ │ │ │ ├── 23.gif
│ │ │ │ │ │ │ ├── 24.gif
│ │ │ │ │ │ │ ├── 25.gif
│ │ │ │ │ │ │ ├── 26.gif
│ │ │ │ │ │ │ ├── 27.gif
│ │ │ │ │ │ │ ├── 28.gif
│ │ │ │ │ │ │ ├── 29.gif
│ │ │ │ │ │ │ ├── 30.gif
│ │ │ │ │ │ │ ├── 31.gif
│ │ │ │ │ │ │ ├── 32.gif
│ │ │ │ │ │ │ ├── 33.gif
│ │ │ │ │ │ │ ├── 34.gif
│ │ │ │ │ │ │ ├── 35.gif
│ │ │ │ │ │ │ ├── 36.gif
│ │ │ │ │ │ │ ├── 37.gif
│ │ │ │ │ │ │ ├── 38.gif
│ │ │ │ │ │ │ ├── 39.gif
│ │ │ │ │ │ │ ├── 40.gif
│ │ │ │ │ │ │ ├── 41.gif
│ │ │ │ │ │ │ ├── 42.gif
│ │ │ │ │ │ │ ├── 43.gif
│ │ │ │ │ │ │ ├── 44.gif
│ │ │ │ │ │ │ ├── 45.gif
│ │ │ │ │ │ │ ├── 46.gif
│ │ │ │ │ │ │ ├── 47.gif
│ │ │ │ │ │ │ ├── 48.gif
│ │ │ │ │ │ │ ├── 49.gif
│ │ │ │ │ │ │ ├── 50.gif
│ │ │ │ │ │ │ ├── 51.gif
│ │ │ │ │ │ │ ├── 52.gif
│ │ │ │ │ │ │ ├── 53.gif
│ │ │ │ │ │ │ ├── 54.gif
│ │ │ │ │ │ │ ├── 55.gif
│ │ │ │ │ │ │ ├── 56.gif
│ │ │ │ │ │ │ ├── 57.gif
│ │ │ │ │ │ │ ├── 58.gif
│ │ │ │ │ │ │ ├── 59.gif
│ │ │ │ │ │ │ ├── 60.gif
│ │ │ │ │ │ │ ├── 61.gif
│ │ │ │ │ │ │ ├── 62.gif
│ │ │ │ │ │ │ ├── 63.gif
│ │ │ │ │ │ │ ├── 64.gif
│ │ │ │ │ │ │ ├── 65.gif
│ │ │ │ │ │ │ ├── 66.gif
│ │ │ │ │ │ │ ├── 67.gif
│ │ │ │ │ │ │ ├── 68.gif
│ │ │ │ │ │ │ ├── 69.gif
│ │ │ │ │ │ │ ├── 70.gif
│ │ │ │ │ │ │ └── 71.gif
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── modules
│ │ │ │ │ │ │ ├── layer
│ │ │ │ │ │ │ └── default
│ │ │ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ │ │ ├── icon-ext.png
│ │ │ │ │ │ │ │ ├── loading-0.gif
│ │ │ │ │ │ │ │ ├── loading-1.gif
│ │ │ │ │ │ │ │ └── loading-2.gif
│ │ │ │ │ │ │ └── code.css
│ │ │ │ │ └── lay
│ │ │ │ │ │ └── modules
│ │ │ │ │ │ ├── code.js
│ │ │ │ │ │ ├── laytpl.js
│ │ │ │ │ │ └── flow.js
│ │ │ │ ├── codemirror
│ │ │ │ │ ├── theme
│ │ │ │ │ │ ├── ambiance-mobile.css
│ │ │ │ │ │ ├── neat.css
│ │ │ │ │ │ ├── elegant.css
│ │ │ │ │ │ ├── neo.css
│ │ │ │ │ │ ├── eclipse.css
│ │ │ │ │ │ ├── bespin.css
│ │ │ │ │ │ ├── isotope.css
│ │ │ │ │ │ ├── hopscotch.css
│ │ │ │ │ │ ├── railscasts.css
│ │ │ │ │ │ ├── colorforth.css
│ │ │ │ │ │ ├── cobalt.css
│ │ │ │ │ │ ├── night.css
│ │ │ │ │ │ ├── rubyblue.css
│ │ │ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ │ │ ├── blackboard.css
│ │ │ │ │ │ ├── the-matrix.css
│ │ │ │ │ │ ├── yeti.css
│ │ │ │ │ │ ├── monokai.css
│ │ │ │ │ │ ├── abcdef.css
│ │ │ │ │ │ ├── zenburn.css
│ │ │ │ │ │ ├── 3024-day.css
│ │ │ │ │ │ ├── seti.css
│ │ │ │ │ │ ├── panda-syntax.css
│ │ │ │ │ │ ├── dracula.css
│ │ │ │ │ │ ├── midnight.css
│ │ │ │ │ │ ├── 3024-night.css
│ │ │ │ │ │ ├── paraiso-dark.css
│ │ │ │ │ │ └── paraiso-light.css
│ │ │ │ │ └── addon
│ │ │ │ │ │ ├── display
│ │ │ │ │ │ ├── fullscreen.css
│ │ │ │ │ │ ├── fullscreen.js
│ │ │ │ │ │ ├── autorefresh.js
│ │ │ │ │ │ └── rulers.js
│ │ │ │ │ │ ├── search
│ │ │ │ │ │ ├── matchesonscrollbar.css
│ │ │ │ │ │ └── jump-to-line.js
│ │ │ │ │ │ ├── fold
│ │ │ │ │ │ ├── foldgutter.css
│ │ │ │ │ │ ├── markdown-fold.js
│ │ │ │ │ │ └── indent-fold.js
│ │ │ │ │ │ ├── dialog
│ │ │ │ │ │ └── dialog.css
│ │ │ │ │ │ ├── hint
│ │ │ │ │ │ ├── show-hint.css
│ │ │ │ │ │ └── anyword-hint.js
│ │ │ │ │ │ ├── mode
│ │ │ │ │ │ └── multiplex_test.js
│ │ │ │ │ │ ├── edit
│ │ │ │ │ │ ├── trailingspace.js
│ │ │ │ │ │ └── continuelist.js
│ │ │ │ │ │ ├── lint
│ │ │ │ │ │ ├── json-lint.js
│ │ │ │ │ │ ├── yaml-lint.js
│ │ │ │ │ │ ├── css-lint.js
│ │ │ │ │ │ ├── coffeescript-lint.js
│ │ │ │ │ │ └── html-lint.js
│ │ │ │ │ │ ├── tern
│ │ │ │ │ │ └── worker.js
│ │ │ │ │ │ ├── runmode
│ │ │ │ │ │ └── colorize.js
│ │ │ │ │ │ └── scroll
│ │ │ │ │ │ ├── simplescrollbars.css
│ │ │ │ │ │ └── scrollpastend.js
│ │ │ │ └── font-awesome-4.7.0
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ │ └── fontawesome-webfont.woff2
│ │ │ │ │ ├── less
│ │ │ │ │ ├── fixed-width.less
│ │ │ │ │ ├── screen-reader.less
│ │ │ │ │ ├── larger.less
│ │ │ │ │ ├── list.less
│ │ │ │ │ ├── core.less
│ │ │ │ │ ├── stacked.less
│ │ │ │ │ ├── font-awesome.less
│ │ │ │ │ ├── bordered-pulled.less
│ │ │ │ │ ├── rotated-flipped.less
│ │ │ │ │ ├── path.less
│ │ │ │ │ ├── animated.less
│ │ │ │ │ └── mixins.less
│ │ │ │ │ ├── scss
│ │ │ │ │ ├── _fixed-width.scss
│ │ │ │ │ ├── _screen-reader.scss
│ │ │ │ │ ├── _larger.scss
│ │ │ │ │ ├── _list.scss
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── font-awesome.scss
│ │ │ │ │ ├── _stacked.scss
│ │ │ │ │ ├── _bordered-pulled.scss
│ │ │ │ │ ├── _rotated-flipped.scss
│ │ │ │ │ ├── _path.scss
│ │ │ │ │ ├── _animated.scss
│ │ │ │ │ └── _mixins.scss
│ │ │ │ │ └── HELP-US-OUT.txt
│ │ │ ├── js
│ │ │ │ ├── lay-module
│ │ │ │ │ ├── wangEditor
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ │ └── w-e-icon.woff
│ │ │ │ │ ├── treetable-lay
│ │ │ │ │ │ └── treetable.css
│ │ │ │ │ ├── layuimini
│ │ │ │ │ │ └── miniTongji.js
│ │ │ │ │ └── step-lay
│ │ │ │ │ │ └── step.css
│ │ │ │ └── lay-config.js
│ │ │ ├── api
│ │ │ │ └── init.json
│ │ │ └── css
│ │ │ │ └── public.css
│ │ ├── mapper
│ │ │ ├── ProjectMapper.xml
│ │ │ ├── TemplateMapper.xml
│ │ │ ├── ProjectTemplateMapper.xml
│ │ │ ├── AdminMapper.xml
│ │ │ └── DatabaseMapper.xml
│ │ └── application.properties
│ └── java
│ │ └── com
│ │ └── dwj
│ │ └── generator
│ │ ├── common
│ │ ├── enums
│ │ │ ├── DatabaseType.java
│ │ │ ├── OrderType.java
│ │ │ ├── ProjectType.java
│ │ │ ├── ConditionType.java
│ │ │ └── TemplateType.java
│ │ ├── annotation
│ │ │ ├── Order.java
│ │ │ └── Condition.java
│ │ ├── response
│ │ │ ├── ResultEnum.java
│ │ │ └── PageResponse.java
│ │ └── utils
│ │ │ ├── JSONResponseUtils.java
│ │ │ ├── SpringUtil.java
│ │ │ ├── ConnectionTestHelper.java
│ │ │ └── ConvertUtil.java
│ │ ├── model
│ │ ├── admin
│ │ │ ├── LoginForm.java
│ │ │ ├── UpdateForm.java
│ │ │ └── LoginVo.java
│ │ ├── database
│ │ │ ├── TableRequest.java
│ │ │ ├── DbTable.java
│ │ │ ├── DatabaseForm.java
│ │ │ ├── DatabaseVo.java
│ │ │ └── DatabaseRequest.java
│ │ ├── template
│ │ │ ├── TemplateForm.java
│ │ │ ├── TemplateVo.java
│ │ │ └── TemplateRequest.java
│ │ ├── project
│ │ │ ├── ProTemplateDto.java
│ │ │ ├── ProjectListVo.java
│ │ │ ├── ProjectTemplateDto.java
│ │ │ ├── ProjectRequest.java
│ │ │ ├── ProjectForm.java
│ │ │ ├── ProjectDetail.java
│ │ │ └── ProjectDetailVo.java
│ │ └── file
│ │ │ └── PathNode.java
│ │ ├── service
│ │ ├── IAdminService.java
│ │ ├── IProjectTemplateService.java
│ │ ├── impl
│ │ │ ├── AdminServiceImpl.java
│ │ │ ├── ProjectTemplateServiceImpl.java
│ │ │ └── TemplateServiceImpl.java
│ │ ├── ITemplateService.java
│ │ ├── IProjectService.java
│ │ └── IDatabaseService.java
│ │ ├── dao
│ │ ├── mapper
│ │ │ ├── AdminMapper.java
│ │ │ ├── ProjectMapper.java
│ │ │ ├── TemplateMapper.java
│ │ │ ├── ProjectTemplateMapper.java
│ │ │ └── DatabaseMapper.java
│ │ └── entity
│ │ │ ├── Admin.java
│ │ │ ├── Database.java
│ │ │ ├── ProjectTemplate.java
│ │ │ ├── Template.java
│ │ │ └── Project.java
│ │ ├── controller
│ │ └── ProjectTemplateController.java
│ │ ├── config
│ │ ├── mybatis
│ │ │ └── plus
│ │ │ │ ├── CommonMapper.java
│ │ │ │ ├── CustomerSqlInjector.java
│ │ │ │ ├── MybatisPlusConfig.java
│ │ │ │ ├── SelectVoPage.java
│ │ │ │ └── CommonServiceImpl.java
│ │ ├── datasource
│ │ │ └── DataSourceRouteHolder.java
│ │ ├── admin
│ │ │ └── AdminContextHolder.java
│ │ ├── exception
│ │ │ └── BusinessException.java
│ │ ├── web
│ │ │ └── ErrorPageConfig.java
│ │ └── interceptor
│ │ │ └── AbstractInterceptor.java
│ │ └── GeneratorApplication.java
└── test
│ └── java
│ └── com
│ └── dwj
│ └── generator
│ └── GeneratorApplicationTests.java
└── .gitignore
/src/main/resources/material/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/1.png
--------------------------------------------------------------------------------
/src/main/resources/material/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/2.png
--------------------------------------------------------------------------------
/src/main/resources/material/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/3.png
--------------------------------------------------------------------------------
/src/main/resources/material/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/4.png
--------------------------------------------------------------------------------
/src/main/resources/material/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/5.png
--------------------------------------------------------------------------------
/src/main/resources/material/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/6.png
--------------------------------------------------------------------------------
/src/main/resources/material/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/7.png
--------------------------------------------------------------------------------
/src/main/resources/material/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/8.png
--------------------------------------------------------------------------------
/src/main/resources/material/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/material/9.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/bg.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/images/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/home.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/logo.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/captcha.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/captcha.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/favicon.ico
--------------------------------------------------------------------------------
/src/main/resources/static/images/loginbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/loginbg.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/icon-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/icon-login.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/donate_qrcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/images/donate_qrcode.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/fold.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/fold.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/fold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/fold.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/leaf.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/leaf.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/leaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/leaf.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/checkFull.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/checkFull.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/checkHalf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/checkHalf.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/checkNone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/checkNone.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/fonts/eletree_icon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/fonts/eletree_icon.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/dropdownOff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/dropdownOff.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/dropdownOn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/dropdownOn.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/radioCheck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/radioCheck.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/font/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/font/iconfont.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/0.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/1.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/2.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/3.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/4.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/5.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/6.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/7.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/7.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/8.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/8.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/9.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/9.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/fonts/eletree_icon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/fonts/eletree_icon.woff
--------------------------------------------------------------------------------
/src/main/resources/static/lib/eleTree/images/radioCheckNone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/eleTree/images/radioCheckNone.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/font/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/font/iconfont.woff
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/font/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/font/iconfont.woff2
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/10.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/11.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/12.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/13.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/13.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/14.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/15.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/15.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/16.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/17.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/17.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/18.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/18.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/19.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/19.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/20.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/20.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/21.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/21.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/22.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/22.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/23.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/23.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/24.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/24.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/25.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/25.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/26.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/26.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/27.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/27.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/28.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/28.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/29.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/29.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/30.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/30.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/31.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/31.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/32.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/32.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/33.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/33.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/34.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/34.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/35.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/35.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/36.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/36.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/37.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/37.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/38.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/38.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/39.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/39.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/40.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/40.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/41.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/41.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/42.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/42.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/43.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/43.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/44.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/44.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/45.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/45.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/46.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/46.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/47.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/47.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/48.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/48.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/49.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/49.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/50.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/50.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/51.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/51.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/52.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/52.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/53.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/53.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/54.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/54.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/55.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/55.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/56.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/56.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/57.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/57.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/58.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/58.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/59.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/59.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/60.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/60.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/61.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/61.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/62.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/62.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/63.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/63.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/64.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/64.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/65.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/65.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/66.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/66.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/67.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/67.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/68.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/68.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/69.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/69.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/70.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/70.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/images/face/71.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/images/face/71.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/ambiance-mobile.css:
--------------------------------------------------------------------------------
1 | .cm-s-ambiance.CodeMirror {
2 | -webkit-box-shadow: none;
3 | -moz-box-shadow: none;
4 | box-shadow: none;
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/lay-module/wangEditor/fonts/w-e-icon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/js/lay-module/wangEditor/fonts/w-e-icon.woff
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/font-awesome-4.7.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/display/fullscreen.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-fullscreen {
2 | position: fixed;
3 | top: 0; left: 0; right: 0; bottom: 0;
4 | height: auto;
5 | z-index: 9;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/screen-reader.less:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { .sr-only(); }
5 | .sr-only-focusable { .sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/icon.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { @include sr-only(); }
5 | .sr-only-focusable { @include sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/icon-ext.png
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/loading-0.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/loading-1.gif
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dangweijian/easy-generator/HEAD/src/main/resources/static/lib/layui-v2.5.5/css/modules/layer/default/loading-2.gif
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/enums/DatabaseType.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.enums;
2 |
3 | /**
4 | * @author: dangweijian
5 | * @description:
6 | * @create: 2021-03-17 14:42
7 | **/
8 | public enum DatabaseType {
9 | MYSQL
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/enums/OrderType.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.enums;
2 |
3 | /**
4 | * @author: dangweijian
5 | * @description: 排序类型
6 | * @create: 2020-01-14 17:33
7 | **/
8 | public enum OrderType {
9 | DESC,ASC;
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/enums/ProjectType.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.enums;
2 |
3 | /**
4 | * @author: dangweijian
5 | * @description:
6 | * @create: 2021-03-26 14:38
7 | **/
8 | public enum ProjectType {
9 | SPRING_BOOT,SPRING_MVC
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/ProjectMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/TemplateMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/enums/ConditionType.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.enums;
2 |
3 | /**
4 | * @author: dangweijian
5 | * @description: 分页条件类型
6 | * @create: 2020-01-14 17:33
7 | **/
8 | public enum ConditionType {
9 | EQ,LIKE;
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/search/matchesonscrollbar.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-search-match {
2 | background: gold;
3 | border-top: 1px solid orange;
4 | border-bottom: 1px solid orange;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | opacity: .5;
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/ProjectTemplateMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/enums/TemplateType.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.enums;
2 |
3 | /**
4 | * @author: dangweijian
5 | * @description:
6 | * @create: 2021-03-26 14:38
7 | **/
8 | public enum TemplateType {
9 | CONTROLLER,SERVICE,SERVICE_IMPL,MAPPER,MAPPER_IMPL,ENTITY,MAPPER_XML
10 | }
11 |
--------------------------------------------------------------------------------
/src/test/java/com/dwj/generator/GeneratorApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class GeneratorApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/admin/LoginForm.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.admin;
2 |
3 | import lombok.Data;
4 |
5 | /**
6 | * @author: dangweijian
7 | * @description:
8 | * @create: 2021-04-08 9:55
9 | **/
10 | @Data
11 | public class LoginForm {
12 |
13 | private String username;
14 |
15 | private String password;
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/IAdminService.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dwj.generator.dao.entity.Admin;
5 |
6 | /**
7 | * 管理员表 服务类
8 | *
9 | * @author easy-generator
10 | * @since 2021-04-08
11 | */
12 | public interface IAdminService extends IService {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/mapper/AdminMapper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.mapper;
2 |
3 | import com.dwj.generator.config.mybatis.plus.CommonMapper;
4 | import com.dwj.generator.dao.entity.Admin;
5 |
6 | /**
7 | * 管理员表 Mapper 接口
8 | *
9 | * @author easy-generator
10 | * @since 2021-04-08
11 | */
12 | public interface AdminMapper extends CommonMapper {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/HELP-US-OUT.txt:
--------------------------------------------------------------------------------
1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3 | comprehensive icon sets or copy and paste your own.
4 |
5 | Please. Check it out.
6 |
7 | -Dave Gandy
8 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/admin/UpdateForm.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.admin;
2 |
3 | import lombok.Data;
4 |
5 | /**
6 | * @author: dangweijian
7 | * @description:
8 | * @create: 2021-04-08 14:25
9 | **/
10 | @Data
11 | public class UpdateForm {
12 |
13 | private String oldPassword;
14 |
15 | private String newPassword;
16 |
17 | private String againPassword;
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/mapper/ProjectMapper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.mapper;
2 |
3 | import com.dwj.generator.config.mybatis.plus.CommonMapper;
4 | import com.dwj.generator.dao.entity.Project;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author dwjian
12 | * @since 2021-03-18
13 | */
14 | public interface ProjectMapper extends CommonMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/mapper/TemplateMapper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.mapper;
2 |
3 | import com.dwj.generator.config.mybatis.plus.CommonMapper;
4 | import com.dwj.generator.dao.entity.Template;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author dwjian
12 | * @since 2021-03-26
13 | */
14 | public interface TemplateMapper extends CommonMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/IProjectTemplateService.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dwj.generator.dao.entity.ProjectTemplate;
5 |
6 | /**
7 | *
8 | * 服务类
9 | *
10 | *
11 | * @author dwjian
12 | * @since 2021-03-25
13 | */
14 | public interface IProjectTemplateService extends IService {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/lay-module/treetable-lay/treetable.css:
--------------------------------------------------------------------------------
1 | .treeTable-empty {
2 | width: 20px;
3 | display: inline-block;
4 | }
5 |
6 | .treeTable-icon {
7 | cursor: pointer;
8 | }
9 |
10 | .treeTable-icon .layui-icon-triangle-d:before {
11 | content: "\e623";
12 | }
13 |
14 | .treeTable-icon.open .layui-icon-triangle-d:before {
15 | content: "\e625";
16 | background-color: transparent;
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/mapper/ProjectTemplateMapper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dwj.generator.dao.entity.ProjectTemplate;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author dwjian
12 | * @since 2021-03-25
13 | */
14 | public interface ProjectTemplateMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/controller/ProjectTemplateController.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.controller;
2 |
3 |
4 | import org.springframework.web.bind.annotation.RequestMapping;
5 | import org.springframework.web.bind.annotation.RestController;
6 |
7 | /**
8 | *
9 | * 前端控制器
10 | *
11 | *
12 | * @author dwjian
13 | * @since 2021-03-25
14 | */
15 | @RestController
16 | @RequestMapping("/project-template")
17 | public class ProjectTemplateController {
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/database/TableRequest.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.database;
2 |
3 | import com.dwj.generator.config.mybatis.plus.QueryCriteria;
4 | import lombok.Data;
5 |
6 | /**
7 | * @author: dangweijian
8 | * @description:
9 | * @create: 2021-04-01 17:33
10 | **/
11 | @Data
12 | public class TableRequest extends QueryCriteria {
13 |
14 | private Long projectId;
15 |
16 | private Long databaseId;
17 |
18 | private String tableName;
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/admin/LoginVo.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.admin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | import java.io.Serializable;
8 |
9 | /**
10 | * @author: dangweijian
11 | * @description:
12 | * @create: 2021-04-08 9:53
13 | **/
14 | @Data
15 | @NoArgsConstructor
16 | @AllArgsConstructor
17 | public class LoginVo implements Serializable {
18 |
19 | private String username;
20 |
21 | private String token;
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 | @import "screen-reader";
19 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/mybatis/plus/CommonMapper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.mybatis.plus;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.baomidou.mybatisplus.core.metadata.IPage;
6 | import com.baomidou.mybatisplus.core.toolkit.Constants;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | public interface CommonMapper extends BaseMapper {
10 |
11 | IPage voPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
12 | }
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/fold/foldgutter.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-foldmarker {
2 | color: blue;
3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
4 | font-family: arial;
5 | line-height: .3;
6 | cursor: pointer;
7 | }
8 | .CodeMirror-foldgutter {
9 | width: .7em;
10 | }
11 | .CodeMirror-foldgutter-open,
12 | .CodeMirror-foldgutter-folded {
13 | cursor: pointer;
14 | }
15 | .CodeMirror-foldgutter-open:after {
16 | content: "\25BE";
17 | }
18 | .CodeMirror-foldgutter-folded:after {
19 | content: "\25B8";
20 | }
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**/target/
5 | !**/src/test/**/target/
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 |
22 | ### NetBeans ###
23 | /nbproject/private/
24 | /nbbuild/
25 | /dist/
26 | /nbdist/
27 | /.nb-gradle/
28 | build/
29 | !**/src/main/**/build/
30 | !**/src/test/**/build/
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
35 | .mvn/
36 | mvnw
37 | mvnw.cmd
38 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/impl/AdminServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service.impl;
2 |
3 | import com.dwj.generator.config.mybatis.plus.CommonServiceImpl;
4 | import com.dwj.generator.dao.entity.Admin;
5 | import com.dwj.generator.dao.mapper.AdminMapper;
6 | import com.dwj.generator.service.IAdminService;
7 | import org.springframework.stereotype.Service;
8 |
9 | /**
10 | * 管理员表 服务实现类
11 | *
12 | * @author easy-generator
13 | * @since 2021-04-08
14 | */
15 | @Service
16 | public class AdminServiceImpl extends CommonServiceImpl implements IAdminService {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/template/TemplateForm.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.template;
2 |
3 | import com.dwj.generator.common.enums.TemplateType;
4 | import lombok.Data;
5 |
6 | /**
7 | * @author: dangweijian
8 | * @description:
9 | * @create: 2021-03-29 10:40
10 | **/
11 | @Data
12 | public class TemplateForm {
13 |
14 | private Long id;
15 |
16 | private String templateName;
17 |
18 | private TemplateType templateType;
19 |
20 | private String templateContent;
21 |
22 | private String filePrefix;
23 |
24 | private String fileSuffix;
25 |
26 | private String remark;
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 | @import "screen-reader.less";
19 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/database/DbTable.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.database;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * @author: dangweijian
10 | * @description:
11 | * @create: 2021-03-31 20:16
12 | **/
13 | @Data
14 | public class DbTable implements Serializable {
15 | private static final long serialVersionUID = 1L;
16 |
17 | private Long projectId;
18 |
19 | private String dbName;
20 |
21 | private String engine;
22 |
23 | private String tableName;
24 |
25 | private String remark;
26 |
27 | private Date createDate;
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProTemplateDto.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import com.dwj.generator.common.enums.TemplateType;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 |
8 | /**
9 | * @author: dangweijian
10 | * @description:
11 | * @create: 2021-03-25 11:10
12 | **/
13 | @Data
14 | public class ProTemplateDto implements Serializable {
15 |
16 | private Long projectId;
17 |
18 | private Long templateId;
19 |
20 | private String templateName;
21 |
22 | private TemplateType templateType;
23 |
24 | private String packageName;
25 |
26 | private String outputPath;
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/database/DatabaseForm.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.database;
2 |
3 | import com.dwj.generator.common.enums.DatabaseType;
4 | import lombok.Data;
5 |
6 | /**
7 | * @author: dangweijian
8 | * @description:
9 | * @create: 2021-03-17 18:06
10 | **/
11 | @Data
12 | public class DatabaseForm {
13 |
14 | private Long id;
15 |
16 | private DatabaseType dbType;
17 |
18 | private String dbName;
19 |
20 | private String host;
21 |
22 | private String port;
23 |
24 | private String drive;
25 |
26 | private String username;
27 |
28 | private String password;
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/template/TemplateVo.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.template;
2 |
3 | import com.dwj.generator.common.enums.TemplateType;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 | import java.util.Date;
8 |
9 | /**
10 | * @author: dangweijian
11 | * @description:
12 | * @create: 2021-03-26 14:41
13 | **/
14 | @Data
15 | public class TemplateVo implements Serializable {
16 |
17 | private Long id;
18 |
19 | private String templateName;
20 |
21 | private TemplateType templateType;
22 |
23 | private String remark;
24 |
25 | private Date createDate;
26 |
27 | private Date updateDate;
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/datasource/DataSourceRouteHolder.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.datasource;
2 |
3 | /**
4 | * @author: dangweijian
5 | * @description:
6 | * @create: 2021-04-01 15:31
7 | **/
8 | public class DataSourceRouteHolder {
9 |
10 | private static final ThreadLocal routeHolder = new ThreadLocal<>();
11 |
12 | public static void setDataSourceKey(String key) {
13 | routeHolder.set(key);
14 | }
15 |
16 | public static String getDataSourceKey() {
17 | return routeHolder.get();
18 | }
19 |
20 | public static void clearDataSourceKey() {
21 | routeHolder.remove();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/annotation/Order.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.annotation;
2 |
3 | import com.dwj.generator.common.enums.OrderType;
4 |
5 | import java.lang.annotation.Documented;
6 | import java.lang.annotation.ElementType;
7 | import java.lang.annotation.Retention;
8 | import java.lang.annotation.RetentionPolicy;
9 | import java.lang.annotation.Target;
10 |
11 | /**
12 | * @author: dangweijian
13 | * @description: 排序注解
14 | * @create: 2020-01-16 13:24
15 | **/
16 | @Documented
17 | @Target(ElementType.FIELD)
18 | @Retention(RetentionPolicy.RUNTIME)
19 | public @interface Order {
20 | OrderType order() default OrderType.DESC;
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/impl/ProjectTemplateServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.dwj.generator.dao.entity.ProjectTemplate;
5 | import com.dwj.generator.dao.mapper.ProjectTemplateMapper;
6 | import com.dwj.generator.service.IProjectTemplateService;
7 | import org.springframework.stereotype.Service;
8 |
9 | /**
10 | *
11 | * 服务实现类
12 | *
13 | *
14 | * @author dwjian
15 | * @since 2021-03-25
16 | */
17 | @Service
18 | public class ProjectTemplateServiceImpl extends ServiceImpl implements IProjectTemplateService {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/AdminMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/dialog/dialog.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-dialog {
2 | position: absolute;
3 | left: 0; right: 0;
4 | background: inherit;
5 | z-index: 15;
6 | padding: .1em .8em;
7 | overflow: hidden;
8 | color: inherit;
9 | }
10 |
11 | .CodeMirror-dialog-top {
12 | border-bottom: 1px solid #eee;
13 | top: 0;
14 | }
15 |
16 | .CodeMirror-dialog-bottom {
17 | border-top: 1px solid #eee;
18 | bottom: 0;
19 | }
20 |
21 | .CodeMirror-dialog input {
22 | border: none;
23 | outline: none;
24 | background: transparent;
25 | width: 20em;
26 | color: inherit;
27 | font-family: monospace;
28 | }
29 |
30 | .CodeMirror-dialog button {
31 | font-size: 70%;
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/annotation/Condition.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.annotation;
2 |
3 | import com.dwj.generator.common.enums.ConditionType;
4 |
5 | import java.lang.annotation.Documented;
6 | import java.lang.annotation.ElementType;
7 | import java.lang.annotation.Retention;
8 | import java.lang.annotation.RetentionPolicy;
9 | import java.lang.annotation.Target;
10 |
11 | /**
12 | * @author: dangweijian
13 | * @description: 条件注解
14 | * @create: 2020-01-15 17:24
15 | **/
16 | @Documented
17 | @Target(ElementType.FIELD)
18 | @Retention(RetentionPolicy.RUNTIME)
19 | public @interface Condition {
20 | ConditionType type() default ConditionType.EQ;
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/admin/AdminContextHolder.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.admin;
2 |
3 | import com.dwj.generator.dao.entity.Admin;
4 |
5 | /**
6 | * @author: dangweijian
7 | * @description:
8 | * @create: 2021-04-08 14:28
9 | **/
10 | public class AdminContextHolder {
11 |
12 | private static final ThreadLocal contextHolder = new ThreadLocal<>();
13 |
14 | public static void setAdminContext(Admin admin) {
15 | contextHolder.set(admin);
16 | }
17 |
18 | public static Admin getAdminContext() {
19 | return contextHolder.get();
20 | }
21 |
22 | public static void clearAdminContext() {
23 | contextHolder.remove();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/mybatis/plus/CustomerSqlInjector.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.mybatis.plus;
2 |
3 | import com.baomidou.mybatisplus.core.injector.AbstractMethod;
4 | import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
5 | import org.springframework.context.annotation.Configuration;
6 |
7 | import java.util.List;
8 |
9 | @Configuration
10 | public class CustomerSqlInjector extends DefaultSqlInjector {
11 |
12 | @Override
13 | public List getMethodList(Class> mapperClass) {
14 | List methodList = super.getMethodList(mapperClass);
15 | methodList.add(new SelectVoPage());
16 | return methodList;
17 | }
18 | }
--------------------------------------------------------------------------------
/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8888
2 | server.servlet.context-path=/easy-generator
3 | spring.interceptor.loginInterceptor=true
4 |
5 | #datasource
6 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
7 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
8 | spring.datasource.url=jdbc:mysql://localhost:3306/easy_generator?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
9 | spring.datasource.username=root
10 | spring.datasource.password=123456
11 |
12 | #mybatis
13 | mybatis-plus.global-config.banner=false
14 | mybatis-plus.mapper-locations=classpath:mapper/*Mapper.xml
15 | mybatis-plus.configuration.log-impl= org.apache.ibatis.logging.stdout.StdOutImpl
16 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/template/TemplateRequest.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.template;
2 |
3 | import com.dwj.generator.common.annotation.Condition;
4 | import com.dwj.generator.common.enums.ConditionType;
5 | import com.dwj.generator.config.mybatis.plus.QueryCriteria;
6 | import com.dwj.generator.dao.entity.Template;
7 | import lombok.Data;
8 |
9 | /**
10 | * @author: dangweijian
11 | * @description:
12 | * @create: 2021-03-26 14:41
13 | **/
14 | @Data
15 | public class TemplateRequest extends QueryCriteria {
16 |
17 | @Condition(type = ConditionType.LIKE)
18 | private String templateName;
19 |
20 | protected Class getVoClass(){
21 | return TemplateVo.class;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/mybatis/plus/MybatisPlusConfig.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.mybatis.plus;
2 |
3 | import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
4 | import org.mybatis.spring.annotation.MapperScan;
5 | import org.springframework.context.annotation.Bean;
6 | import org.springframework.context.annotation.Configuration;
7 | import org.springframework.transaction.annotation.EnableTransactionManagement;
8 |
9 | @Configuration
10 | @EnableTransactionManagement
11 | @MapperScan("com.dwj.auto.comment.dao.mapper")
12 | public class MybatisPlusConfig {
13 |
14 | @Bean
15 | public PaginationInterceptor paginationInterceptor() {
16 | return new PaginationInterceptor();
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/neat.css:
--------------------------------------------------------------------------------
1 | .cm-s-neat span.cm-comment { color: #a86; }
2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; }
3 | .cm-s-neat span.cm-string { color: #a22; }
4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; }
5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; }
6 | .cm-s-neat span.cm-variable { color: black; }
7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
8 | .cm-s-neat span.cm-meta { color: #555; }
9 | .cm-s-neat span.cm-link { color: #3a3; }
10 |
11 | .cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; }
12 | .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
13 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/file/PathNode.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.file;
2 |
3 | import lombok.Data;
4 | import lombok.NoArgsConstructor;
5 |
6 | import java.io.Serializable;
7 | import java.util.List;
8 |
9 | /**
10 | * @ClassName PathNode
11 | * @Description
12 | * @Author dwjian
13 | * @Date 2021/3/23 21:42
14 | */
15 | @Data
16 | @NoArgsConstructor
17 | public class PathNode implements Serializable {
18 | private String id;
19 | private String label;
20 | private Boolean isLeaf;
21 | private Boolean isOpen = false;
22 | private List children;
23 |
24 | public PathNode(String id, String label, Boolean isLeaf) {
25 | this.id = id;
26 | this.label = label;
27 | this.isLeaf = isLeaf;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProjectListVo.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * @author: dangweijian
10 | * @description:
11 | * @create: 2021-03-18 16:52
12 | **/
13 | @Data
14 | public class ProjectListVo implements Serializable {
15 |
16 | private static final long serialVersionUID = 1L;
17 |
18 | private Long id;
19 |
20 | private String projectName;
21 |
22 | private Long databaseId;
23 |
24 | private String dbName;
25 |
26 | private String rootPath;
27 |
28 | private String author;
29 |
30 | private String description;
31 |
32 | private Date createDate;
33 |
34 | private Date updateDate;
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProjectTemplateDto.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import com.dwj.generator.common.enums.TemplateType;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 |
8 | /**
9 | * @author: dangweijian
10 | * @description:
11 | * @create: 2021-03-30 14:17
12 | **/
13 | @Data
14 | public class ProjectTemplateDto implements Serializable {
15 |
16 | private Long projectId;
17 |
18 | private Long templateId;
19 |
20 | private String templateName;
21 |
22 | private String templateContent;
23 |
24 | private TemplateType templateType;
25 |
26 | private String filePrefix;
27 |
28 | private String fileSuffix;
29 |
30 | private String packageName;
31 |
32 | private String outputPath;
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/GeneratorApplication.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator;
2 |
3 | import com.dwj.generator.config.datasource.DynamicDataSourceRegister;
4 | import org.mybatis.spring.annotation.MapperScan;
5 | import org.springframework.boot.SpringApplication;
6 | import org.springframework.boot.autoconfigure.SpringBootApplication;
7 | import org.springframework.boot.web.servlet.ServletComponentScan;
8 | import org.springframework.context.annotation.Import;
9 |
10 | @ServletComponentScan
11 | @SpringBootApplication
12 | @MapperScan("com.dwj.generator.dao.mapper")
13 | @Import(DynamicDataSourceRegister.class)
14 | public class GeneratorApplication {
15 |
16 | public static void main(String[] args) {
17 | SpringApplication.run(GeneratorApplication.class, args);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/mapper/DatabaseMapper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 | import com.dwj.generator.config.mybatis.plus.CommonMapper;
6 | import com.dwj.generator.dao.entity.Database;
7 | import com.dwj.generator.model.database.DbTable;
8 | import com.dwj.generator.model.database.TableRequest;
9 | import org.apache.ibatis.annotations.Param;
10 |
11 | /**
12 | * @author: dangweijian
13 | * @description:
14 | * @create: 2021-03-17 14:52
15 | **/
16 | public interface DatabaseMapper extends CommonMapper {
17 |
18 | IPage getTableList(Page tPage, @Param("criteria") TableRequest criteria);
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProjectRequest.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import com.dwj.generator.common.annotation.Condition;
4 | import com.dwj.generator.common.enums.ConditionType;
5 | import com.dwj.generator.config.mybatis.plus.QueryCriteria;
6 | import com.dwj.generator.dao.entity.Project;
7 | import lombok.Data;
8 |
9 | /**
10 | * @author: dangweijian
11 | * @description:
12 | * @create: 2021-03-18 16:53
13 | **/
14 | @Data
15 | public class ProjectRequest extends QueryCriteria {
16 |
17 | @Condition(type = ConditionType.EQ)
18 | private Long id;
19 |
20 | @Condition(type = ConditionType.LIKE)
21 | private String projectName;
22 |
23 | public Class getVoClass(){
24 | return ProjectListVo.class;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/hint/show-hint.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-hints {
2 | position: absolute;
3 | z-index: 10;
4 | overflow: hidden;
5 | list-style: none;
6 |
7 | margin: 0;
8 | padding: 2px;
9 |
10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2);
13 | border-radius: 3px;
14 | border: 1px solid silver;
15 |
16 | background: white;
17 | font-size: 90%;
18 | font-family: monospace;
19 |
20 | max-height: 20em;
21 | overflow-y: auto;
22 | }
23 |
24 | .CodeMirror-hint {
25 | margin: 0;
26 | padding: 0 4px;
27 | border-radius: 2px;
28 | white-space: pre;
29 | color: black;
30 | cursor: pointer;
31 | }
32 |
33 | li.CodeMirror-hint-active {
34 | background: #08f;
35 | color: white;
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/elegant.css:
--------------------------------------------------------------------------------
1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }
2 | .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; }
3 | .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; }
4 | .cm-s-elegant span.cm-variable { color: black; }
5 | .cm-s-elegant span.cm-variable-2 { color: #b11; }
6 | .cm-s-elegant span.cm-qualifier { color: #555; }
7 | .cm-s-elegant span.cm-keyword { color: #730; }
8 | .cm-s-elegant span.cm-builtin { color: #30a; }
9 | .cm-s-elegant span.cm-link { color: #762; }
10 | .cm-s-elegant span.cm-error { background-color: #fdd; }
11 |
12 | .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; }
13 | .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
14 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/DatabaseMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.exception;
2 |
3 | import com.dwj.generator.common.response.ResultEnum;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 | /**
8 | * @author: dangweijian
9 | * @description: 业务异常
10 | * @create: 2020-01-01 17:24
11 | **/
12 | @Data
13 | @EqualsAndHashCode(callSuper = true)
14 | public class BusinessException extends RuntimeException {
15 |
16 | private Integer code;
17 | private String msg;
18 |
19 | public BusinessException(ResultEnum resultEnum){
20 | super(resultEnum.getMsg());
21 | this.code = resultEnum.getCode();
22 | this.msg = resultEnum.getMsg();
23 | }
24 |
25 | public BusinessException(String msg) {
26 | super(msg);
27 | this.code = ResultEnum.FAIL.getCode();
28 | this.msg = ResultEnum.FAIL.getMsg();
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProjectForm.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import com.dwj.generator.common.enums.ProjectType;
4 | import lombok.Data;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | * @author: dangweijian
10 | * @description:
11 | * @create: 2021-03-18 16:57
12 | **/
13 | @Data
14 | public class ProjectForm {
15 |
16 | private Long id;
17 |
18 | private String projectName;
19 |
20 | private String rootPath;
21 |
22 | private Long databaseId;
23 |
24 | private String tablePrefix;
25 |
26 | private String columnPrefix;
27 |
28 | private String tableNameStyle;
29 |
30 | private String columnNameStyle;
31 |
32 | private ProjectType projectType;
33 |
34 | private boolean useLombok;
35 |
36 | private String description;
37 |
38 | private String author;
39 |
40 | private List templates;
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/ITemplateService.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.baomidou.mybatisplus.extension.service.IService;
5 | import com.dwj.generator.dao.entity.Template;
6 | import com.dwj.generator.model.template.TemplateForm;
7 | import com.dwj.generator.model.template.TemplateRequest;
8 | import com.dwj.generator.model.template.TemplateVo;
9 |
10 | import java.util.List;
11 |
12 | /**
13 | *
14 | * 服务类
15 | *
16 | *
17 | * @author dwjian
18 | * @since 2021-03-26
19 | */
20 | public interface ITemplateService extends IService {
21 |
22 | IPage list(TemplateRequest templateRequest);
23 |
24 | boolean save(TemplateForm templateForm);
25 |
26 | Template detail(Long id);
27 |
28 | boolean delete(Long id);
29 |
30 | boolean batchDelete(List ids);
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/web/ErrorPageConfig.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.web;
2 |
3 | import org.springframework.boot.web.server.ErrorPage;
4 | import org.springframework.boot.web.server.ErrorPageRegistrar;
5 | import org.springframework.boot.web.server.ErrorPageRegistry;
6 | import org.springframework.context.annotation.Configuration;
7 | import org.springframework.http.HttpStatus;
8 |
9 | @Configuration
10 | public class ErrorPageConfig implements ErrorPageRegistrar {
11 |
12 | @Override
13 | public void registerErrorPages(ErrorPageRegistry registry) {
14 | ErrorPage e404 = new ErrorPage(HttpStatus.NOT_FOUND, "/page/404.html");
15 | ErrorPage e500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/page/500.html");
16 | ErrorPage e400 = new ErrorPage(HttpStatus.BAD_REQUEST, "/page/404.html");
17 | registry.addErrorPages(e400 ,e404, e500);
18 | }
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/database/DatabaseVo.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.database;
2 |
3 | import com.dwj.generator.common.enums.DatabaseType;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 | import java.util.Date;
8 |
9 | /**
10 | * @author: dangweijian
11 | * @description:
12 | * @create: 2021-03-17 14:37
13 | **/
14 | @Data
15 | public class DatabaseVo implements Serializable {
16 |
17 | private static final long serialVersionUID = 1L;
18 |
19 | private Long id;
20 |
21 | private DatabaseType dbType;
22 |
23 | private String dbName;
24 |
25 | private String host;
26 |
27 | private String port;
28 |
29 | private String drive;
30 |
31 | private String username;
32 |
33 | private boolean showStatus;
34 |
35 | private Boolean status;
36 |
37 | private Date createDate;
38 |
39 | private Date updateDate;
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/entity/Admin.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.TableName;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 | import lombok.experimental.Accessors;
7 |
8 | import java.io.Serializable;
9 | import java.util.Date;
10 |
11 | /**
12 | * 管理员表Admin
13 | *
14 | * @author easy-generator
15 | * @since 2021-04-08
16 | */
17 | @Data
18 | @EqualsAndHashCode(callSuper = false)
19 | @Accessors(chain = true)
20 | @TableName("t_admin")
21 | public class Admin implements Serializable {
22 |
23 | private static final long serialVersionUID = 1L;
24 |
25 | private Long id;
26 |
27 | /**
28 | * 用户名
29 | */
30 | private String username;
31 |
32 | /**
33 | * 密码
34 | */
35 | private String password;
36 |
37 | /**
38 | * 最后登录时间
39 | */
40 | private Date lastLoginDate;
41 |
42 | /**
43 | * 创建时间
44 | */
45 | private Date createDate;
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/database/DatabaseRequest.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.database;
2 |
3 | import com.dwj.generator.common.annotation.Condition;
4 | import com.dwj.generator.common.enums.ConditionType;
5 | import com.dwj.generator.config.mybatis.plus.QueryCriteria;
6 | import com.dwj.generator.dao.entity.Database;
7 | import lombok.Data;
8 |
9 | /**
10 | * @author: dangweijian
11 | * @description:
12 | * @create: 2021-03-17 14:35
13 | **/
14 | @Data
15 | public class DatabaseRequest extends QueryCriteria {
16 |
17 | @Condition(type = ConditionType.LIKE)
18 | private String dbName;
19 |
20 | private boolean showStatus;
21 |
22 | protected Class getVoClass(){
23 | return DatabaseVo.class;
24 | }
25 |
26 | public DatabaseRequest() {
27 | }
28 |
29 | public DatabaseRequest(long page, long limit) {
30 | super.setPage(page);
31 | super.setLimit(limit);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/mode/multiplex_test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function() {
5 | CodeMirror.defineMode("markdown_with_stex", function(){
6 | var inner = CodeMirror.getMode({}, "stex");
7 | var outer = CodeMirror.getMode({}, "markdown");
8 |
9 | var innerOptions = {
10 | open: '$',
11 | close: '$',
12 | mode: inner,
13 | delimStyle: 'delim',
14 | innerStyle: 'inner'
15 | };
16 |
17 | return CodeMirror.multiplexingMode(outer, innerOptions);
18 | });
19 |
20 | var mode = CodeMirror.getMode({}, "markdown_with_stex");
21 |
22 | function MT(name) {
23 | test.mode(
24 | name,
25 | mode,
26 | Array.prototype.slice.call(arguments, 1),
27 | 'multiplexing');
28 | }
29 |
30 | MT(
31 | "stexInsideMarkdown",
32 | "[strong **Equation:**] [delim&delim-open $][inner&tag \\pi][delim&delim-close $]");
33 | })();
34 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/interceptor/AbstractInterceptor.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.interceptor;
2 |
3 | import com.dwj.generator.dao.entity.Admin;
4 | import com.dwj.generator.service.IAdminService;
5 |
6 | import javax.annotation.Resource;
7 | import java.util.HashMap;
8 | import java.util.Map;
9 | import java.util.Set;
10 |
11 | /**
12 | * @author: dangweijian
13 | * @description: 抽象拦截器
14 | * @create: 2020-01-19 16:26
15 | **/
16 | public abstract class AbstractInterceptor {
17 |
18 | protected final static Map adminCache = new HashMap<>();
19 |
20 | @Resource
21 | protected IAdminService adminService;
22 |
23 | /**
24 | * 拦截根目录
25 | * @return
26 | */
27 | public abstract String pathPatterns();
28 |
29 | /**
30 | * 排除路径,不会进入拦截器
31 | * @return
32 | */
33 | public abstract Set excludePathPatterns();
34 |
35 | /**
36 | * 拦截器顺序,从小到大
37 | * @return
38 | */
39 | public abstract int order();
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/css/modules/code.css:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProjectDetail.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import com.dwj.generator.common.enums.ProjectType;
4 | import com.dwj.generator.dao.entity.Database;
5 | import lombok.Data;
6 |
7 | import java.io.Serializable;
8 | import java.util.List;
9 |
10 | /**
11 | * @author: dangweijian
12 | * @description:
13 | * @create: 2021-03-18 16:52
14 | **/
15 | @Data
16 | public class ProjectDetail implements Serializable {
17 |
18 | private static final long serialVersionUID = 1L;
19 |
20 | private Long id;
21 |
22 | private String projectName;
23 |
24 | private String rootPath;
25 |
26 | private String author;
27 |
28 | private String description;
29 |
30 | private String tablePrefix;
31 |
32 | private String columnPrefix;
33 |
34 | private String tableNameStyle;
35 |
36 | private String columnNameStyle;
37 |
38 | private ProjectType projectType;
39 |
40 | private boolean useLombok;
41 |
42 | private Database database;
43 |
44 | private List projectTemplates;
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/model/project/ProjectDetailVo.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.model.project;
2 |
3 | import com.dwj.generator.common.enums.ProjectType;
4 | import com.dwj.generator.model.database.DatabaseVo;
5 | import lombok.Data;
6 |
7 | import java.io.Serializable;
8 | import java.util.List;
9 |
10 | /**
11 | * @author: dangweijian
12 | * @description:
13 | * @create: 2021-03-18 16:52
14 | **/
15 | @Data
16 | public class ProjectDetailVo implements Serializable {
17 |
18 | private static final long serialVersionUID = 1L;
19 |
20 | private Long id;
21 |
22 | private String projectName;
23 |
24 | private String rootPath;
25 |
26 | private String author;
27 |
28 | private String description;
29 |
30 | private String tablePrefix;
31 |
32 | private String columnPrefix;
33 |
34 | private String tableNameStyle;
35 |
36 | private String columnNameStyle;
37 |
38 | private ProjectType projectType;
39 |
40 | private boolean useLombok;
41 |
42 | private DatabaseVo database;
43 |
44 | private List templates;
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/IProjectService.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.baomidou.mybatisplus.extension.service.IService;
5 | import com.dwj.generator.dao.entity.Project;
6 | import com.dwj.generator.model.project.ProjectDetail;
7 | import com.dwj.generator.model.project.ProjectDetailVo;
8 | import com.dwj.generator.model.project.ProjectForm;
9 | import com.dwj.generator.model.project.ProjectListVo;
10 | import com.dwj.generator.model.project.ProjectRequest;
11 |
12 | import java.util.List;
13 |
14 | /**
15 | *
16 | * 服务类
17 | *
18 | *
19 | * @author dwjian
20 | * @since 2021-03-18
21 | */
22 | public interface IProjectService extends IService {
23 |
24 | IPage list(ProjectRequest projectRequest);
25 |
26 | boolean save(ProjectForm projectForm);
27 |
28 | boolean delete(Long id);
29 |
30 | boolean batchDelete(List ids);
31 |
32 | ProjectDetailVo voDetail(Long id);
33 |
34 | ProjectDetail detail(Long id);
35 |
36 | IPage option(ProjectRequest projectRequest);
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/edit/trailingspace.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) {
13 | if (prev == CodeMirror.Init) prev = false;
14 | if (prev && !val)
15 | cm.removeOverlay("trailingspace");
16 | else if (!prev && val)
17 | cm.addOverlay({
18 | token: function(stream) {
19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {}
20 | if (i > stream.pos) { stream.pos = i; return null; }
21 | stream.pos = l;
22 | return "trailingspace";
23 | },
24 | name: "trailingspace"
25 | });
26 | });
27 | });
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/neo.css:
--------------------------------------------------------------------------------
1 | /* neo theme for codemirror */
2 |
3 | /* Color scheme */
4 |
5 | .cm-s-neo.CodeMirror {
6 | background-color:#ffffff;
7 | color:#2e383c;
8 | line-height:1.4375;
9 | }
10 | .cm-s-neo .cm-comment { color:#75787b; }
11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }
12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; }
13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; }
14 | .cm-s-neo .cm-string { color:#b35e14; }
15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; }
16 |
17 |
18 | /* Editor styling */
19 |
20 | .cm-s-neo pre {
21 | padding:0;
22 | }
23 |
24 | .cm-s-neo .CodeMirror-gutters {
25 | border:none;
26 | border-right:10px solid transparent;
27 | background-color:transparent;
28 | }
29 |
30 | .cm-s-neo .CodeMirror-linenumber {
31 | padding:0;
32 | color:#e0e2e5;
33 | }
34 |
35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }
36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }
37 |
38 | .cm-s-neo .CodeMirror-cursor {
39 | width: auto;
40 | border: 0;
41 | background: rgba(155,157,162,0.37);
42 | z-index: 1;
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/IDatabaseService.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.baomidou.mybatisplus.extension.service.IService;
5 | import com.dwj.generator.dao.entity.Database;
6 | import com.dwj.generator.model.database.DatabaseForm;
7 | import com.dwj.generator.model.database.DatabaseRequest;
8 | import com.dwj.generator.model.database.DatabaseVo;
9 | import com.dwj.generator.model.database.DbTable;
10 | import com.dwj.generator.model.database.TableRequest;
11 |
12 | import java.util.List;
13 |
14 | /**
15 | * @author: dangweijian
16 | * @description:
17 | * @create: 2021-03-17 14:32
18 | **/
19 | public interface IDatabaseService extends IService {
20 |
21 | IPage list(DatabaseRequest databaseRequest);
22 |
23 | boolean save(DatabaseForm databaseForm);
24 |
25 | Database detail(Long id);
26 |
27 | boolean delete(Long id);
28 |
29 | boolean batchDelete(List ids);
30 |
31 | IPage option(DatabaseRequest databaseRequest);
32 |
33 | IPage getTableList(TableRequest tableRequest);
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/lay/modules/code.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('- '+o.replace(/[\r\t\n]+/g,"
- ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend(''+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"
");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss");
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/mybatis/plus/SelectVoPage.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.mybatis.plus;
2 |
3 | import com.baomidou.mybatisplus.core.enums.SqlMethod;
4 | import com.baomidou.mybatisplus.core.injector.AbstractMethod;
5 | import com.baomidou.mybatisplus.core.metadata.TableInfo;
6 | import org.apache.ibatis.mapping.MappedStatement;
7 | import org.apache.ibatis.mapping.SqlSource;
8 |
9 | public class SelectVoPage extends AbstractMethod {
10 |
11 | /**
12 | * mapper 对应的方法名
13 | */
14 | private static final String MAPPER_METHOD = "voPage";
15 |
16 | @Override
17 | public MappedStatement injectMappedStatement(Class> mapperClass, Class> modelClass, TableInfo tableInfo) {
18 | SqlMethod sqlMethod = SqlMethod.SELECT_PAGE;
19 | String sql = String.format(sqlMethod.getSql(), sqlSelectColumns(tableInfo, true),
20 | tableInfo.getTableName(), sqlWhereEntityWrapper(true, tableInfo),
21 | sqlComment());
22 | SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
23 | return this.addSelectMappedStatementForTable(mapperClass, MAPPER_METHOD, sqlSource, tableInfo);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/resources/static/api/init.json:
--------------------------------------------------------------------------------
1 | {
2 | "homeInfo": {
3 | "title": "首页",
4 | "href": "page/generate/generate-list.html"
5 | },
6 | "logoInfo": {
7 | "title": "GENERATOR",
8 | "image": "images/logo.png",
9 | "href": ""
10 | },
11 | "menuInfo": [
12 | {
13 | "title": "常规配置",
14 | "icon": "fa fa-address-book",
15 | "href": "",
16 | "target": "_self",
17 | "child": [
18 | {
19 | "title": "一键生成",
20 | "href": "page/generate/generate-list.html",
21 | "icon": "fa fa-cloud-download",
22 | "target": "_self"
23 | },
24 | {
25 | "title": "连接配置",
26 | "href": "page/database/database-list.html",
27 | "icon": "fa fa-sitemap",
28 | "target": "_self"
29 | },
30 | {
31 | "title": "项目模板",
32 | "href": "page/project/project-list.html",
33 | "icon": "fa fa-folder-open",
34 | "target": "_self"
35 | },
36 | {
37 | "title": "代码模板",
38 | "href": "page/template/template-list.html",
39 | "icon": "fa fa-file-code-o",
40 | "target": "_self"
41 | }
42 | ]
43 | }
44 | ]
45 | }
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/response/ResultEnum.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.response;
2 |
3 | /**
4 | * @ClassName ResultEnum
5 | * @Description 响应结果枚举
6 | * @Author dwjian
7 | * @Date 2019/9/8 21:58
8 | */
9 | public enum ResultEnum {
10 |
11 | SUCCESS(true, 0, "SUCCESS"),
12 | FAIL(false, -1, "FAIL"),
13 | ERROR(false, -1, "系统异常"),
14 |
15 | NO_LOGIN(false,-100,"用户未登录"),
16 | NO_PERMISSION(false,-200,"无权限访问"),
17 | ACCOUNT_LOCK(false,-300,"账号已冻结");
18 |
19 | private int code;
20 | private String msg;
21 | private boolean isOK;
22 |
23 |
24 |
25 | ResultEnum(boolean isOK, int code, String msg){
26 | this.isOK = isOK;
27 | this.code = code;
28 | this.msg = msg;
29 | }
30 |
31 | public int getCode() {
32 | return code;
33 | }
34 |
35 | public void setCode(int code) {
36 | this.code = code;
37 | }
38 |
39 | public String getMsg() {
40 | return msg;
41 | }
42 |
43 | public void setMsg(String msg) {
44 | this.msg = msg;
45 | }
46 |
47 | public boolean isOK() {
48 | return isOK;
49 | }
50 |
51 | public void setOK(boolean OK) {
52 | isOK = OK;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/lay-config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * date:2019/08/16
3 | * author:Mr.Chung
4 | * description:此处放layui自定义扩展
5 | * version:2.0.4
6 | */
7 |
8 | window.rootPath = (function (src) {
9 | src = document.scripts[document.scripts.length - 1].src;
10 | return src.substring(0, src.lastIndexOf("/") + 1);
11 | })();
12 |
13 | layui.config({
14 | base: rootPath + "lay-module/",
15 | version: true
16 | }).extend({
17 | miniAdmin: "layuimini/miniAdmin", // layuimini后台扩展
18 | miniMenu: "layuimini/miniMenu", // layuimini菜单扩展
19 | miniTab: "layuimini/miniTab", // layuimini tab扩展
20 | miniTheme: "layuimini/miniTheme", // layuimini 主题扩展
21 | miniTongji: "layuimini/miniTongji", // layuimini 统计扩展
22 | step: 'step-lay/step', // 分步表单扩展
23 | treetable: 'treetable-lay/treetable', //table树形扩展
24 | tableSelect: 'tableSelect/tableSelect', // table选择扩展
25 | iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展
26 | echarts: 'echarts/echarts', // echarts图表扩展
27 | echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展
28 | wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展
29 | layarea: 'layarea/layarea', // 省市县区三级联动下拉选择器
30 | eleTree: 'eleTree/eleTree', // 文件树选择
31 | cookie: 'cookie/cookie', // cookie
32 | });
33 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/utils/JSONResponseUtils.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.utils;
2 |
3 | import com.alibaba.fastjson.JSON;
4 | import com.dwj.generator.common.response.Response;
5 | import lombok.extern.slf4j.Slf4j;
6 |
7 | import javax.servlet.ServletResponse;
8 | import java.io.PrintWriter;
9 |
10 |
11 | /**
12 | * @author: dangweijian
13 | * @description: 构造JSON响应工具类
14 | * @Author dwjian
15 | * @Date 2020/7/10 15:51
16 | **/
17 | @Slf4j
18 | public class JSONResponseUtils {
19 |
20 | /**
21 | * 使用response输出JSON
22 | *
23 | * @param servletResponse
24 | * @param response
25 | */
26 | public static void build(ServletResponse servletResponse, Response> response) {
27 | PrintWriter out = null;
28 | try {
29 | servletResponse.setCharacterEncoding("UTF-8");
30 | servletResponse.setContentType("application/json");
31 | out = servletResponse.getWriter();
32 | out.println(JSON.toJSONString(response));
33 | } catch (Exception e) {
34 | log.error(e + "输出JSON出错");
35 | } finally {
36 | if (out != null) {
37 | out.flush();
38 | out.close();
39 | }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/eclipse.css:
--------------------------------------------------------------------------------
1 | .cm-s-eclipse span.cm-meta { color: #FF1717; }
2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
3 | .cm-s-eclipse span.cm-atom { color: #219; }
4 | .cm-s-eclipse span.cm-number { color: #164; }
5 | .cm-s-eclipse span.cm-def { color: #00f; }
6 | .cm-s-eclipse span.cm-variable { color: black; }
7 | .cm-s-eclipse span.cm-variable-2 { color: #0000C0; }
8 | .cm-s-eclipse span.cm-variable-3, .cm-s-eclipse span.cm-type { color: #0000C0; }
9 | .cm-s-eclipse span.cm-property { color: black; }
10 | .cm-s-eclipse span.cm-operator { color: black; }
11 | .cm-s-eclipse span.cm-comment { color: #3F7F5F; }
12 | .cm-s-eclipse span.cm-string { color: #2A00FF; }
13 | .cm-s-eclipse span.cm-string-2 { color: #f50; }
14 | .cm-s-eclipse span.cm-qualifier { color: #555; }
15 | .cm-s-eclipse span.cm-builtin { color: #30a; }
16 | .cm-s-eclipse span.cm-bracket { color: #cc7; }
17 | .cm-s-eclipse span.cm-tag { color: #170; }
18 | .cm-s-eclipse span.cm-attribute { color: #00c; }
19 | .cm-s-eclipse span.cm-link { color: #219; }
20 | .cm-s-eclipse span.cm-error { color: #f00; }
21 |
22 | .cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; }
23 | .cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
24 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/lay-module/layuimini/miniTongji.js:
--------------------------------------------------------------------------------
1 | /**
2 | * date:2020/03/01
3 | * author:Mr.Chung
4 | * version:2.0
5 | * description:layuimini 统计框架扩展
6 | */
7 | layui.define(["jquery"], function (exports) {
8 | var $ = layui.$;
9 |
10 | var miniTongji = {
11 |
12 | /**
13 | * 初始化
14 | * @param options
15 | */
16 | render: function (options) {
17 | options.specific = options.specific || false;
18 | options.domains = options.domains || [];
19 | var domain = window.location.hostname;
20 | if (options.specific === false || (options.specific === true && options.domains.indexOf(domain) >=0)) {
21 | miniTongji.listen();
22 | }
23 | },
24 |
25 | /**
26 | * 监听统计代码
27 | */
28 | listen: function () {
29 | var _hmt = _hmt || [];
30 | (function () {
31 | var hm = document.createElement("script");
32 | hm.src = "https://hm.baidu.com/hm.js?d97abf6d61c21d773f97835defbdef4e";
33 | var s = document.getElementsByTagName("script")[0];
34 | s.parentNode.insertBefore(hm, s);
35 | })();
36 | }
37 | };
38 |
39 | exports("miniTongji", miniTongji);
40 | });
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/entity/Database.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import com.dwj.generator.common.enums.DatabaseType;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 | /**
15 | * @author: dangweijian
16 | * @description:
17 | * @create: 2021-03-17 14:37
18 | **/
19 | @Data
20 | @EqualsAndHashCode(callSuper = false)
21 | @Accessors(chain = true)
22 | @TableName("t_database")
23 | public class Database implements Serializable {
24 |
25 | private static final long serialVersionUID = 1L;
26 |
27 | @TableId(value = "id", type = IdType.AUTO)
28 | private Long id;
29 |
30 | private DatabaseType dbType;
31 |
32 | private String dbName;
33 |
34 | private String host;
35 |
36 | private String port;
37 |
38 | private String drive;
39 |
40 | private String username;
41 |
42 | private String password;
43 |
44 | private Boolean status;
45 |
46 | private Date createDate;
47 |
48 | private Date updateDate;
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/response/PageResponse.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.response;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import lombok.Data;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | * @ClassName PageResponse
10 | * @Description 分页响应
11 | * @Author dwjian
12 | * @Date 2020/1/13 0:26
13 | */
14 | @Data
15 | public class PageResponse extends Response> {
16 | private long pages;//总页数
17 | private long limit;//每页条数
18 | private long count;//总记录数
19 |
20 | private PageResponse(Response> response, long pages, long limit, long count) {
21 | super(response);
22 | this.pages = pages;
23 | this.limit = limit;
24 | this.count = count;
25 | }
26 |
27 | public static PageResponse success(IPage page){
28 | Response> response = success(ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMsg(), page.getRecords());
29 | return new PageResponse<>(response, page.getPages(), page.getSize(), page.getTotal());
30 | }
31 |
32 | public static PageResponse fail(String msg , List data) {
33 | Response> fail = fail(ResultEnum.FAIL.getCode(), msg, data);
34 | return new PageResponse<>(fail, 0, 0, 0);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/lint/json-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Depends on jsonlint.js from https://github.com/zaach/jsonlint
5 |
6 | // declare global: jsonlint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "json", function(text) {
19 | var found = [];
20 | if (!window.jsonlint) {
21 | if (window.console) {
22 | window.console.error("Error: window.jsonlint not defined, CodeMirror JSON linting cannot run.");
23 | }
24 | return found;
25 | }
26 | jsonlint.parseError = function(str, hash) {
27 | var loc = hash.loc;
28 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column),
29 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column),
30 | message: str});
31 | };
32 | try { jsonlint.parse(text); }
33 | catch(e) {}
34 | return found;
35 | });
36 |
37 | });
38 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/entity/ProjectTemplate.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.experimental.Accessors;
9 |
10 | import java.io.Serializable;
11 | import java.util.Date;
12 |
13 | /**
14 | *
15 | *
16 | *
17 | *
18 | * @author dwjian
19 | * @since 2021-03-25
20 | */
21 | @Data
22 | @EqualsAndHashCode(callSuper = false)
23 | @Accessors(chain = true)
24 | @TableName("t_project_template")
25 | public class ProjectTemplate implements Serializable {
26 |
27 | private static final long serialVersionUID = 1L;
28 |
29 | /**
30 | * 主键
31 | */
32 | @TableId(value = "id", type = IdType.AUTO)
33 | private Long id;
34 |
35 | /**
36 | * 项目ID
37 | */
38 | private Long projectId;
39 |
40 | /**
41 | * 代码模板
42 | */
43 | private Long templateId;
44 |
45 | /**
46 | * 包名
47 | */
48 | private String packageName;
49 |
50 | /**
51 | * 输出路径
52 | */
53 | private String outputPath;
54 |
55 | /**
56 | * 创建时间
57 | */
58 | private Date createDate;
59 |
60 | /**
61 | * 更新时间
62 | */
63 | private Date updateDate;
64 |
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/tern/worker.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // declare global: tern, server
5 |
6 | var server;
7 |
8 | this.onmessage = function(e) {
9 | var data = e.data;
10 | switch (data.type) {
11 | case "init": return startServer(data.defs, data.plugins, data.scripts);
12 | case "add": return server.addFile(data.name, data.text);
13 | case "del": return server.delFile(data.name);
14 | case "req": return server.request(data.body, function(err, reqData) {
15 | postMessage({id: data.id, body: reqData, err: err && String(err)});
16 | });
17 | case "getFile":
18 | var c = pending[data.id];
19 | delete pending[data.id];
20 | return c(data.err, data.text);
21 | default: throw new Error("Unknown message type: " + data.type);
22 | }
23 | };
24 |
25 | var nextId = 0, pending = {};
26 | function getFile(file, c) {
27 | postMessage({type: "getFile", name: file, id: ++nextId});
28 | pending[nextId] = c;
29 | }
30 |
31 | function startServer(defs, plugins, scripts) {
32 | if (scripts) importScripts.apply(null, scripts);
33 |
34 | server = new tern.Server({
35 | getFile: getFile,
36 | async: true,
37 | defs: defs,
38 | plugins: plugins
39 | });
40 | }
41 |
42 | this.console = {
43 | log: function(v) { postMessage({type: "debug", message: v}); }
44 | };
45 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/lint/yaml-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | // Depends on js-yaml.js from https://github.com/nodeca/js-yaml
15 |
16 | // declare global: jsyaml
17 |
18 | CodeMirror.registerHelper("lint", "yaml", function(text) {
19 | var found = [];
20 | if (!window.jsyaml) {
21 | if (window.console) {
22 | window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run.");
23 | }
24 | return found;
25 | }
26 | try { jsyaml.load(text); }
27 | catch(e) {
28 | var loc = e.mark,
29 | // js-yaml YAMLException doesn't always provide an accurate lineno
30 | // e.g., when there are multiple yaml docs
31 | // ---
32 | // ---
33 | // foo:bar
34 | from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0),
35 | to = from;
36 | found.push({ from: from, to: to, message: e.message });
37 | }
38 | return found;
39 | });
40 |
41 | });
42 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/lint/css-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Depends on csslint.js from https://github.com/stubbornella/csslint
5 |
6 | // declare global: CSSLint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "css", function(text, options) {
19 | var found = [];
20 | if (!window.CSSLint) {
21 | if (window.console) {
22 | window.console.error("Error: window.CSSLint not defined, CodeMirror CSS linting cannot run.");
23 | }
24 | return found;
25 | }
26 | var results = CSSLint.verify(text, options), messages = results.messages, message = null;
27 | for ( var i = 0; i < messages.length; i++) {
28 | message = messages[i];
29 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col;
30 | found.push({
31 | from: CodeMirror.Pos(startLine, startCol),
32 | to: CodeMirror.Pos(endLine, endCol),
33 | message: message.message,
34 | severity : message.type
35 | });
36 | }
37 | return found;
38 | });
39 |
40 | });
41 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/runmode/colorize.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"), require("./runmode"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror", "./runmode"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/;
15 |
16 | function textContent(node, out) {
17 | if (node.nodeType == 3) return out.push(node.nodeValue);
18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) {
19 | textContent(ch, out);
20 | if (isBlock.test(node.nodeType)) out.push("\n");
21 | }
22 | }
23 |
24 | CodeMirror.colorize = function(collection, defaultMode) {
25 | if (!collection) collection = document.body.getElementsByTagName("pre");
26 |
27 | for (var i = 0; i < collection.length; ++i) {
28 | var node = collection[i];
29 | var mode = node.getAttribute("data-lang") || defaultMode;
30 | if (!mode) continue;
31 |
32 | var text = [];
33 | textContent(node, text);
34 | node.innerHTML = "";
35 | CodeMirror.runMode(text.join(""), mode, node);
36 |
37 | node.className += " cm-s-default";
38 | }
39 | };
40 | });
41 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/utils/SpringUtil.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.utils;
2 |
3 | import org.springframework.beans.BeansException;
4 | import org.springframework.context.ApplicationContext;
5 | import org.springframework.context.ApplicationContextAware;
6 | import org.springframework.stereotype.Component;
7 |
8 | import java.util.Map;
9 |
10 | /**
11 | * @ClassName SpringUtils
12 | * @Description springBean工具
13 | * @Author dwjian
14 | * @Date 2020/1/15 17:10
15 | */
16 | @Component
17 | public class SpringUtil implements ApplicationContextAware {
18 |
19 | private static ApplicationContext applicationContext;
20 |
21 | public static T getBean(Class clazz) {
22 | return applicationContext.getBean(clazz);
23 | }
24 |
25 | public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
26 | SpringUtil.applicationContext = applicationContext;
27 | }
28 |
29 | public static T getBean(String beanName) {
30 | if(applicationContext.containsBean(beanName)){
31 | return (T) applicationContext.getBean(beanName);
32 | }else{
33 | return null;
34 | }
35 | }
36 |
37 | public static Map getBeansOfType(Class baseType){
38 | return applicationContext.getBeansOfType(baseType);
39 | }
40 |
41 | public static ApplicationContext getApplicationContext(){
42 | return applicationContext;
43 | }
44 | }
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/utils/ConnectionTestHelper.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.utils;
2 |
3 | import com.alibaba.druid.pool.DruidPooledConnection;
4 | import com.dwj.generator.config.datasource.DynamicDataSource;
5 | import com.dwj.generator.dao.entity.Database;
6 | import com.dwj.generator.service.IDatabaseService;
7 | import lombok.extern.slf4j.Slf4j;
8 | import org.springframework.stereotype.Component;
9 |
10 | import javax.annotation.Resource;
11 | import java.sql.SQLException;
12 |
13 | /**
14 | * @author: dangweijian
15 | * @description:
16 | * @create: 2021-03-17 18:57
17 | **/
18 | @Slf4j
19 | @Component
20 | public class ConnectionTestHelper {
21 |
22 | @Resource
23 | private IDatabaseService databaseService;
24 |
25 | public boolean connect(Database database, boolean cache){
26 | DruidPooledConnection connection = null;
27 | try {
28 | connection = DynamicDataSource.getConnection(database, cache);
29 | return connection != null;
30 | }finally {
31 | if(connection != null){
32 | try {
33 | connection.close();
34 | } catch (SQLException e) {
35 | log.error("释放连接异常", e);
36 | }
37 | }else {
38 | if(cache && database.getId() != null){
39 | databaseService.lambdaUpdate().eq(Database::getId, database.getId()).set(Database::getStatus, 0).update();
40 | }
41 | }
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/bespin.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Bespin
4 | Author: Mozilla / Jan T. Sott
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-bespin.CodeMirror {background: #28211c; color: #9d9b97;}
12 | .cm-s-bespin div.CodeMirror-selected {background: #36312e !important;}
13 | .cm-s-bespin .CodeMirror-gutters {background: #28211c; border-right: 0px;}
14 | .cm-s-bespin .CodeMirror-linenumber {color: #666666;}
15 | .cm-s-bespin .CodeMirror-cursor {border-left: 1px solid #797977 !important;}
16 |
17 | .cm-s-bespin span.cm-comment {color: #937121;}
18 | .cm-s-bespin span.cm-atom {color: #9b859d;}
19 | .cm-s-bespin span.cm-number {color: #9b859d;}
20 |
21 | .cm-s-bespin span.cm-property, .cm-s-bespin span.cm-attribute {color: #54be0d;}
22 | .cm-s-bespin span.cm-keyword {color: #cf6a4c;}
23 | .cm-s-bespin span.cm-string {color: #f9ee98;}
24 |
25 | .cm-s-bespin span.cm-variable {color: #54be0d;}
26 | .cm-s-bespin span.cm-variable-2 {color: #5ea6ea;}
27 | .cm-s-bespin span.cm-def {color: #cf7d34;}
28 | .cm-s-bespin span.cm-error {background: #cf6a4c; color: #797977;}
29 | .cm-s-bespin span.cm-bracket {color: #9d9b97;}
30 | .cm-s-bespin span.cm-tag {color: #cf6a4c;}
31 | .cm-s-bespin span.cm-link {color: #9b859d;}
32 |
33 | .cm-s-bespin .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-bespin .CodeMirror-activeline-background { background: #404040; }
35 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/isotope.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Isotope
4 | Author: David Desandro / Jan T. Sott
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-isotope.CodeMirror {background: #000000; color: #e0e0e0;}
12 | .cm-s-isotope div.CodeMirror-selected {background: #404040 !important;}
13 | .cm-s-isotope .CodeMirror-gutters {background: #000000; border-right: 0px;}
14 | .cm-s-isotope .CodeMirror-linenumber {color: #808080;}
15 | .cm-s-isotope .CodeMirror-cursor {border-left: 1px solid #c0c0c0 !important;}
16 |
17 | .cm-s-isotope span.cm-comment {color: #3300ff;}
18 | .cm-s-isotope span.cm-atom {color: #cc00ff;}
19 | .cm-s-isotope span.cm-number {color: #cc00ff;}
20 |
21 | .cm-s-isotope span.cm-property, .cm-s-isotope span.cm-attribute {color: #33ff00;}
22 | .cm-s-isotope span.cm-keyword {color: #ff0000;}
23 | .cm-s-isotope span.cm-string {color: #ff0099;}
24 |
25 | .cm-s-isotope span.cm-variable {color: #33ff00;}
26 | .cm-s-isotope span.cm-variable-2 {color: #0066ff;}
27 | .cm-s-isotope span.cm-def {color: #ff9900;}
28 | .cm-s-isotope span.cm-error {background: #ff0000; color: #c0c0c0;}
29 | .cm-s-isotope span.cm-bracket {color: #e0e0e0;}
30 | .cm-s-isotope span.cm-tag {color: #ff0000;}
31 | .cm-s-isotope span.cm-link {color: #cc00ff;}
32 |
33 | .cm-s-isotope .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-isotope .CodeMirror-activeline-background { background: #202020; }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/entity/Template.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import com.dwj.generator.common.enums.TemplateType;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 | /**
15 | *
16 | *
17 | *
18 | *
19 | * @author dwjian
20 | * @since 2021-03-26
21 | */
22 | @Data
23 | @EqualsAndHashCode(callSuper = false)
24 | @Accessors(chain = true)
25 | @TableName("t_template")
26 | public class Template implements Serializable {
27 |
28 | private static final long serialVersionUID = 1L;
29 |
30 | /**
31 | * 主键
32 | */
33 | @TableId(value = "id", type = IdType.AUTO)
34 | private Long id;
35 |
36 | /**
37 | * 模板名称
38 | */
39 | private String templateName;
40 |
41 | /**
42 | * 模板类型
43 | */
44 | private TemplateType templateType;
45 |
46 | /**
47 | * 模板内容
48 | */
49 | private String templateContent;
50 |
51 | /**
52 | * 生成文件的前缀
53 | */
54 | private String filePrefix;
55 |
56 | /**
57 | * 生成文件的后缀
58 | */
59 | private String fileSuffix;
60 |
61 | /**
62 | * 备注
63 | */
64 | private String remark;
65 |
66 | /**
67 | * 创建时间
68 | */
69 | private Date createDate;
70 |
71 | /**
72 | * 更新时间
73 | */
74 | private Date updateDate;
75 |
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/hopscotch.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Hopscotch
4 | Author: Jan T. Sott
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;}
12 | .cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;}
13 | .cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;}
14 | .cm-s-hopscotch .CodeMirror-linenumber {color: #797379;}
15 | .cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;}
16 |
17 | .cm-s-hopscotch span.cm-comment {color: #b33508;}
18 | .cm-s-hopscotch span.cm-atom {color: #c85e7c;}
19 | .cm-s-hopscotch span.cm-number {color: #c85e7c;}
20 |
21 | .cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;}
22 | .cm-s-hopscotch span.cm-keyword {color: #dd464c;}
23 | .cm-s-hopscotch span.cm-string {color: #fdcc59;}
24 |
25 | .cm-s-hopscotch span.cm-variable {color: #8fc13e;}
26 | .cm-s-hopscotch span.cm-variable-2 {color: #1290bf;}
27 | .cm-s-hopscotch span.cm-def {color: #fd8b19;}
28 | .cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;}
29 | .cm-s-hopscotch span.cm-bracket {color: #d5d3d5;}
30 | .cm-s-hopscotch span.cm-tag {color: #dd464c;}
31 | .cm-s-hopscotch span.cm-link {color: #c85e7c;}
32 |
33 | .cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; }
35 |
--------------------------------------------------------------------------------
/src/main/resources/static/css/public.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 15px 15px 15px 15px;
3 | background: #f2f2f2;
4 | }
5 |
6 | .layuimini-container {
7 | border: 1px solid #f2f2f2;
8 | border-radius: 5px;
9 | background-color: #ffffff
10 | }
11 |
12 | .layuimini-main {
13 | margin: 10px 10px 10px 10px;
14 | }
15 |
16 | /**必填红点 */
17 | .layuimini-form > .layui-form-item > .required:after {
18 | content: '*';
19 | color: red;
20 | position: absolute;
21 | margin-left: 4px;
22 | font-weight: bold;
23 | line-height: 1.8em;
24 | top: 6px;
25 | right: 5px;
26 | }
27 |
28 | .layuimini-form > .layui-form-item > .layui-form-label {
29 | width: 120px !important;
30 | }
31 |
32 | .layuimini-form > .layui-form-item > .layui-input-block {
33 | margin-left: 150px !important;
34 | }
35 |
36 | .layuimini-form > .layui-form-item > .layui-input-block > tip {
37 | display: inline-block;
38 | margin-top: 10px;
39 | line-height: 10px;
40 | font-size: 10px;
41 | color: #a29c9c;
42 | }
43 |
44 | /**搜索框*/
45 | .layuimini-container .table-search-fieldset {
46 | margin: 0;
47 | border: 1px solid #e6e6e6;
48 | padding: 10px 20px 5px 20px;
49 | color: #6b6b6b;
50 | }
51 |
52 | /**自定义滚动条样式 */
53 | ::-webkit-scrollbar {
54 | width: 6px;
55 | height: 6px
56 | }
57 |
58 | ::-webkit-scrollbar-track {
59 | background-color: transparent;
60 | -webkit-border-radius: 2em;
61 | -moz-border-radius: 2em;
62 | border-radius: 2em;
63 | }
64 |
65 | ::-webkit-scrollbar-thumb {
66 | background-color: #9c9da0;
67 | -webkit-border-radius: 2em;
68 | -moz-border-radius: 2em;
69 | border-radius: 2em
70 | }
71 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/railscasts.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Railscasts
4 | Author: Ryan Bates (http://railscasts.com)
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-railscasts.CodeMirror {background: #2b2b2b; color: #f4f1ed;}
12 | .cm-s-railscasts div.CodeMirror-selected {background: #272935 !important;}
13 | .cm-s-railscasts .CodeMirror-gutters {background: #2b2b2b; border-right: 0px;}
14 | .cm-s-railscasts .CodeMirror-linenumber {color: #5a647e;}
15 | .cm-s-railscasts .CodeMirror-cursor {border-left: 1px solid #d4cfc9 !important;}
16 |
17 | .cm-s-railscasts span.cm-comment {color: #bc9458;}
18 | .cm-s-railscasts span.cm-atom {color: #b6b3eb;}
19 | .cm-s-railscasts span.cm-number {color: #b6b3eb;}
20 |
21 | .cm-s-railscasts span.cm-property, .cm-s-railscasts span.cm-attribute {color: #a5c261;}
22 | .cm-s-railscasts span.cm-keyword {color: #da4939;}
23 | .cm-s-railscasts span.cm-string {color: #ffc66d;}
24 |
25 | .cm-s-railscasts span.cm-variable {color: #a5c261;}
26 | .cm-s-railscasts span.cm-variable-2 {color: #6d9cbe;}
27 | .cm-s-railscasts span.cm-def {color: #cc7833;}
28 | .cm-s-railscasts span.cm-error {background: #da4939; color: #d4cfc9;}
29 | .cm-s-railscasts span.cm-bracket {color: #f4f1ed;}
30 | .cm-s-railscasts span.cm-tag {color: #da4939;}
31 | .cm-s-railscasts span.cm-link {color: #b6b3eb;}
32 |
33 | .cm-s-railscasts .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-railscasts .CodeMirror-activeline-background { background: #303040; }
35 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/scroll/simplescrollbars.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div {
2 | position: absolute;
3 | background: #ccc;
4 | -moz-box-sizing: border-box;
5 | box-sizing: border-box;
6 | border: 1px solid #bbb;
7 | border-radius: 2px;
8 | }
9 |
10 | .CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical {
11 | position: absolute;
12 | z-index: 6;
13 | background: #eee;
14 | }
15 |
16 | .CodeMirror-simplescroll-horizontal {
17 | bottom: 0; left: 0;
18 | height: 8px;
19 | }
20 | .CodeMirror-simplescroll-horizontal div {
21 | bottom: 0;
22 | height: 100%;
23 | }
24 |
25 | .CodeMirror-simplescroll-vertical {
26 | right: 0; top: 0;
27 | width: 8px;
28 | }
29 | .CodeMirror-simplescroll-vertical div {
30 | right: 0;
31 | width: 100%;
32 | }
33 |
34 |
35 | .CodeMirror-overlayscroll .CodeMirror-scrollbar-filler, .CodeMirror-overlayscroll .CodeMirror-gutter-filler {
36 | display: none;
37 | }
38 |
39 | .CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div {
40 | position: absolute;
41 | background: #bcd;
42 | border-radius: 3px;
43 | }
44 |
45 | .CodeMirror-overlayscroll-horizontal, .CodeMirror-overlayscroll-vertical {
46 | position: absolute;
47 | z-index: 6;
48 | }
49 |
50 | .CodeMirror-overlayscroll-horizontal {
51 | bottom: 0; left: 0;
52 | height: 6px;
53 | }
54 | .CodeMirror-overlayscroll-horizontal div {
55 | bottom: 0;
56 | height: 100%;
57 | }
58 |
59 | .CodeMirror-overlayscroll-vertical {
60 | right: 0; top: 0;
61 | width: 6px;
62 | }
63 | .CodeMirror-overlayscroll-vertical div {
64 | right: 0;
65 | width: 100%;
66 | }
67 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/lay-module/step-lay/step.css:
--------------------------------------------------------------------------------
1 | .lay-step {
2 | font-size: 0;
3 | width: 400px;
4 | margin: 0 auto;
5 | max-width: 100%;
6 | padding-left: 200px;
7 | }
8 |
9 | .step-item {
10 | display: inline-block;
11 | line-height: 26px;
12 | position: relative;
13 | font-size: 14px;
14 | }
15 |
16 | .step-item-tail {
17 | width: 100%;
18 | padding: 0 10px;
19 | position: absolute;
20 | left: 0;
21 | top: 13px;
22 | }
23 |
24 | .step-item-tail i {
25 | display: inline-block;
26 | width: 100%;
27 | height: 1px;
28 | vertical-align: top;
29 | background: #c2c2c2;
30 | position: relative;
31 | }
32 |
33 | .step-item-tail .step-item-tail-done {
34 | background: #009688;
35 | }
36 |
37 | .step-item-head {
38 | position: relative;
39 | display: inline-block;
40 | height: 26px;
41 | width: 26px;
42 | text-align: center;
43 | vertical-align: top;
44 | color: #009688;
45 | border: 1px solid #009688;
46 | border-radius: 50%;
47 | background: #ffffff;
48 | }
49 |
50 | .step-item-head.step-item-head-active {
51 | background: #009688;
52 | color: #ffffff;
53 | }
54 |
55 | .step-item-main {
56 | display: block;
57 | position: relative;
58 | margin-left: -50%;
59 | margin-right: 50%;
60 | padding-left: 26px;
61 | text-align: center;
62 | }
63 |
64 | .step-item-main-title {
65 | font-weight: bolder;
66 | color: #555555;
67 | }
68 |
69 | .step-item-main-desc {
70 | color: #aaaaaa;
71 | }
72 |
73 | .lay-step + [carousel-item]:before {
74 | display: none;
75 | }
76 |
77 | .lay-step + [carousel-item] > * {
78 | background-color: transparent;
79 | }
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/display/fullscreen.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("fullScreen", false, function(cm, val, old) {
15 | if (old == CodeMirror.Init) old = false;
16 | if (!old == !val) return;
17 | if (val) setFullscreen(cm);
18 | else setNormal(cm);
19 | });
20 |
21 | function setFullscreen(cm) {
22 | var wrap = cm.getWrapperElement();
23 | cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset,
24 | width: wrap.style.width, height: wrap.style.height};
25 | wrap.style.width = "";
26 | wrap.style.height = "auto";
27 | wrap.className += " CodeMirror-fullscreen";
28 | document.documentElement.style.overflow = "hidden";
29 | cm.refresh();
30 | }
31 |
32 | function setNormal(cm) {
33 | var wrap = cm.getWrapperElement();
34 | wrap.className = wrap.className.replace(/\s*CodeMirror-fullscreen\b/, "");
35 | document.documentElement.style.overflow = "";
36 | var info = cm.state.fullScreenRestore;
37 | wrap.style.width = info.width; wrap.style.height = info.height;
38 | window.scrollTo(info.scrollLeft, info.scrollTop);
39 | cm.refresh();
40 | }
41 | });
42 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/lint/coffeescript-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js
5 |
6 | // declare global: coffeelint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "coffeescript", function(text) {
19 | var found = [];
20 | if (!window.coffeelint) {
21 | if (window.console) {
22 | window.console.error("Error: window.coffeelint not defined, CodeMirror CoffeeScript linting cannot run.");
23 | }
24 | return found;
25 | }
26 | var parseError = function(err) {
27 | var loc = err.lineNumber;
28 | found.push({from: CodeMirror.Pos(loc-1, 0),
29 | to: CodeMirror.Pos(loc, 0),
30 | severity: err.level,
31 | message: err.message});
32 | };
33 | try {
34 | var res = coffeelint.lint(text);
35 | for(var i = 0; i < res.length; i++) {
36 | parseError(res[i]);
37 | }
38 | } catch(e) {
39 | found.push({from: CodeMirror.Pos(e.location.first_line, 0),
40 | to: CodeMirror.Pos(e.location.last_line, e.location.last_column),
41 | severity: 'error',
42 | message: e.message});
43 | }
44 | return found;
45 | });
46 |
47 | });
48 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/config/mybatis/plus/CommonServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.config.mybatis.plus;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 | import lombok.extern.slf4j.Slf4j;
7 | import org.springframework.beans.BeanUtils;
8 |
9 | import java.util.Objects;
10 |
11 |
12 | @Slf4j
13 | public class CommonServiceImpl, T> extends ServiceImpl {
14 |
15 | public IPage voPage(QueryCriteria criteria) {
16 | IPage tPage = baseMapper.voPage(new Page<>(criteria.getPage(), criteria.getLimit()), criteria.simpleWrapper());
17 | if(criteria.getVoClass() != null){
18 | return convert(tPage, criteria.getVoClass());
19 | }
20 | return new Page<>();
21 | }
22 |
23 | public IPage convert(IPage page, Class clazz){
24 | if(clazz != null){
25 | IPage voPage = page.convert(t -> {
26 | E instance = null;
27 | try {
28 | instance = clazz.newInstance();
29 | } catch (InstantiationException | IllegalAccessException e) {
30 | log.error("vo转换异常", e);
31 | }
32 | if (Objects.nonNull(instance)) {
33 | BeanUtils.copyProperties(t, instance);
34 | }
35 | return instance;
36 | });
37 | if(voPage != null){
38 | return voPage;
39 | }
40 | }
41 | return new Page<>();
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/service/impl/TemplateServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.service.impl;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.dwj.generator.config.mybatis.plus.CommonServiceImpl;
5 | import com.dwj.generator.dao.entity.Template;
6 | import com.dwj.generator.dao.mapper.TemplateMapper;
7 | import com.dwj.generator.model.template.TemplateForm;
8 | import com.dwj.generator.model.template.TemplateRequest;
9 | import com.dwj.generator.model.template.TemplateVo;
10 | import com.dwj.generator.service.ITemplateService;
11 | import org.springframework.beans.BeanUtils;
12 | import org.springframework.stereotype.Service;
13 |
14 | import java.util.List;
15 |
16 | /**
17 | *
18 | * 服务实现类
19 | *
20 | *
21 | * @author dwjian
22 | * @since 2021-03-26
23 | */
24 | @Service
25 | public class TemplateServiceImpl extends CommonServiceImpl implements ITemplateService {
26 |
27 | @Override
28 | public IPage list(TemplateRequest templateRequest) {
29 | return this.voPage(templateRequest);
30 | }
31 |
32 | @Override
33 | public boolean save(TemplateForm templateForm) {
34 | Template template = new Template();
35 | BeanUtils.copyProperties(templateForm, template);
36 | return this.saveOrUpdate(template);
37 | }
38 |
39 | @Override
40 | public Template detail(Long id) {
41 | return this.lambdaQuery().eq(Template::getId, id).one();
42 | }
43 |
44 | @Override
45 | public boolean delete(Long id) {
46 | return this.removeById(id);
47 | }
48 |
49 | @Override
50 | public boolean batchDelete(List ids) {
51 | return this.removeByIds(ids);
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/display/autorefresh.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"))
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod)
9 | else // Plain browser env
10 | mod(CodeMirror)
11 | })(function(CodeMirror) {
12 | "use strict"
13 |
14 | CodeMirror.defineOption("autoRefresh", false, function(cm, val) {
15 | if (cm.state.autoRefresh) {
16 | stopListening(cm, cm.state.autoRefresh)
17 | cm.state.autoRefresh = null
18 | }
19 | if (val && cm.display.wrapper.offsetHeight == 0)
20 | startListening(cm, cm.state.autoRefresh = {delay: val.delay || 250})
21 | })
22 |
23 | function startListening(cm, state) {
24 | function check() {
25 | if (cm.display.wrapper.offsetHeight) {
26 | stopListening(cm, state)
27 | if (cm.display.lastWrapHeight != cm.display.wrapper.clientHeight)
28 | cm.refresh()
29 | } else {
30 | state.timeout = setTimeout(check, state.delay)
31 | }
32 | }
33 | state.timeout = setTimeout(check, state.delay)
34 | state.hurry = function() {
35 | clearTimeout(state.timeout)
36 | state.timeout = setTimeout(check, 50)
37 | }
38 | CodeMirror.on(window, "mouseup", state.hurry)
39 | CodeMirror.on(window, "keyup", state.hurry)
40 | }
41 |
42 | function stopListening(_cm, state) {
43 | clearTimeout(state.timeout)
44 | CodeMirror.off(window, "mouseup", state.hurry)
45 | CodeMirror.off(window, "keyup", state.hurry)
46 | }
47 | });
48 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/scroll/scrollpastend.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("scrollPastEnd", false, function(cm, val, old) {
15 | if (old && old != CodeMirror.Init) {
16 | cm.off("change", onChange);
17 | cm.off("refresh", updateBottomMargin);
18 | cm.display.lineSpace.parentNode.style.paddingBottom = "";
19 | cm.state.scrollPastEndPadding = null;
20 | }
21 | if (val) {
22 | cm.on("change", onChange);
23 | cm.on("refresh", updateBottomMargin);
24 | updateBottomMargin(cm);
25 | }
26 | });
27 |
28 | function onChange(cm, change) {
29 | if (CodeMirror.changeEnd(change).line == cm.lastLine())
30 | updateBottomMargin(cm);
31 | }
32 |
33 | function updateBottomMargin(cm) {
34 | var padding = "";
35 | if (cm.lineCount() > 1) {
36 | var totalH = cm.display.scroller.clientHeight - 30,
37 | lastLineH = cm.getLineHandle(cm.lastLine()).height;
38 | padding = (totalH - lastLineH) + "px";
39 | }
40 | if (cm.state.scrollPastEndPadding != padding) {
41 | cm.state.scrollPastEndPadding = padding;
42 | cm.display.lineSpace.parentNode.style.paddingBottom = padding;
43 | cm.off("refresh", updateBottomMargin);
44 | cm.setSize();
45 | cm.on("refresh", updateBottomMargin);
46 | }
47 | }
48 | });
49 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/lay/modules/laytpl.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/colorforth.css:
--------------------------------------------------------------------------------
1 | .cm-s-colorforth.CodeMirror { background: #000000; color: #f8f8f8; }
2 | .cm-s-colorforth .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
3 | .cm-s-colorforth .CodeMirror-guttermarker { color: #FFBD40; }
4 | .cm-s-colorforth .CodeMirror-guttermarker-subtle { color: #78846f; }
5 | .cm-s-colorforth .CodeMirror-linenumber { color: #bababa; }
6 | .cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white; }
7 |
8 | .cm-s-colorforth span.cm-comment { color: #ededed; }
9 | .cm-s-colorforth span.cm-def { color: #ff1c1c; font-weight:bold; }
10 | .cm-s-colorforth span.cm-keyword { color: #ffd900; }
11 | .cm-s-colorforth span.cm-builtin { color: #00d95a; }
12 | .cm-s-colorforth span.cm-variable { color: #73ff00; }
13 | .cm-s-colorforth span.cm-string { color: #007bff; }
14 | .cm-s-colorforth span.cm-number { color: #00c4ff; }
15 | .cm-s-colorforth span.cm-atom { color: #606060; }
16 |
17 | .cm-s-colorforth span.cm-variable-2 { color: #EEE; }
18 | .cm-s-colorforth span.cm-variable-3, .cm-s-colorforth span.cm-type { color: #DDD; }
19 | .cm-s-colorforth span.cm-property {}
20 | .cm-s-colorforth span.cm-operator {}
21 |
22 | .cm-s-colorforth span.cm-meta { color: yellow; }
23 | .cm-s-colorforth span.cm-qualifier { color: #FFF700; }
24 | .cm-s-colorforth span.cm-bracket { color: #cc7; }
25 | .cm-s-colorforth span.cm-tag { color: #FFBD40; }
26 | .cm-s-colorforth span.cm-attribute { color: #FFF700; }
27 | .cm-s-colorforth span.cm-error { color: #f00; }
28 |
29 | .cm-s-colorforth div.CodeMirror-selected { background: #333d53; }
30 |
31 | .cm-s-colorforth span.cm-compilation { background: rgba(255, 255, 255, 0.12); }
32 |
33 | .cm-s-colorforth .CodeMirror-activeline-background { background: #253540; }
34 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/cobalt.css:
--------------------------------------------------------------------------------
1 | .cm-s-cobalt.CodeMirror { background: #002240; color: white; }
2 | .cm-s-cobalt div.CodeMirror-selected { background: #b36539; }
3 | .cm-s-cobalt .CodeMirror-line::selection, .cm-s-cobalt .CodeMirror-line > span::selection, .cm-s-cobalt .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
4 | .cm-s-cobalt .CodeMirror-line::-moz-selection, .cm-s-cobalt .CodeMirror-line > span::-moz-selection, .cm-s-cobalt .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
5 | .cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
6 | .cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
7 | .cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
8 | .cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
9 | .cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white; }
10 |
11 | .cm-s-cobalt span.cm-comment { color: #08f; }
12 | .cm-s-cobalt span.cm-atom { color: #845dc4; }
13 | .cm-s-cobalt span.cm-number, .cm-s-cobalt span.cm-attribute { color: #ff80e1; }
14 | .cm-s-cobalt span.cm-keyword { color: #ffee80; }
15 | .cm-s-cobalt span.cm-string { color: #3ad900; }
16 | .cm-s-cobalt span.cm-meta { color: #ff9d00; }
17 | .cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
18 | .cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def, .cm-s-cobalt .cm-type { color: white; }
19 | .cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
20 | .cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
21 | .cm-s-cobalt span.cm-link { color: #845dc4; }
22 | .cm-s-cobalt span.cm-error { color: #9d1e15; }
23 |
24 | .cm-s-cobalt .CodeMirror-activeline-background { background: #002D57; }
25 | .cm-s-cobalt .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
26 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/fold/markdown-fold.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.registerHelper("fold", "markdown", function(cm, start) {
15 | var maxDepth = 100;
16 |
17 | function isHeader(lineNo) {
18 | var tokentype = cm.getTokenTypeAt(CodeMirror.Pos(lineNo, 0));
19 | return tokentype && /\bheader\b/.test(tokentype);
20 | }
21 |
22 | function headerLevel(lineNo, line, nextLine) {
23 | var match = line && line.match(/^#+/);
24 | if (match && isHeader(lineNo)) return match[0].length;
25 | match = nextLine && nextLine.match(/^[=\-]+\s*$/);
26 | if (match && isHeader(lineNo + 1)) return nextLine[0] == "=" ? 1 : 2;
27 | return maxDepth;
28 | }
29 |
30 | var firstLine = cm.getLine(start.line), nextLine = cm.getLine(start.line + 1);
31 | var level = headerLevel(start.line, firstLine, nextLine);
32 | if (level === maxDepth) return undefined;
33 |
34 | var lastLineNo = cm.lastLine();
35 | var end = start.line, nextNextLine = cm.getLine(end + 2);
36 | while (end < lastLineNo) {
37 | if (headerLevel(end + 1, nextLine, nextNextLine) <= level) break;
38 | ++end;
39 | nextLine = nextNextLine;
40 | nextNextLine = cm.getLine(end + 2);
41 | }
42 |
43 | return {
44 | from: CodeMirror.Pos(start.line, firstLine.length),
45 | to: CodeMirror.Pos(end, cm.getLine(end).length)
46 | };
47 | });
48 |
49 | });
50 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/night.css:
--------------------------------------------------------------------------------
1 | /* Loosely based on the Midnight Textmate theme */
2 |
3 | .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
4 | .cm-s-night div.CodeMirror-selected { background: #447; }
5 | .cm-s-night .CodeMirror-line::selection, .cm-s-night .CodeMirror-line > span::selection, .cm-s-night .CodeMirror-line > span > span::selection { background: rgba(68, 68, 119, .99); }
6 | .cm-s-night .CodeMirror-line::-moz-selection, .cm-s-night .CodeMirror-line > span::-moz-selection, .cm-s-night .CodeMirror-line > span > span::-moz-selection { background: rgba(68, 68, 119, .99); }
7 | .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
8 | .cm-s-night .CodeMirror-guttermarker { color: white; }
9 | .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
10 | .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
11 | .cm-s-night .CodeMirror-cursor { border-left: 1px solid white; }
12 |
13 | .cm-s-night span.cm-comment { color: #8900d1; }
14 | .cm-s-night span.cm-atom { color: #845dc4; }
15 | .cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; }
16 | .cm-s-night span.cm-keyword { color: #599eff; }
17 | .cm-s-night span.cm-string { color: #37f14a; }
18 | .cm-s-night span.cm-meta { color: #7678e2; }
19 | .cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; }
20 | .cm-s-night span.cm-variable-3, .cm-s-night span.cm-def, .cm-s-night span.cm-type { color: white; }
21 | .cm-s-night span.cm-bracket { color: #8da6ce; }
22 | .cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
23 | .cm-s-night span.cm-link { color: #845dc4; }
24 | .cm-s-night span.cm-error { color: #9d1e15; }
25 |
26 | .cm-s-night .CodeMirror-activeline-background { background: #1C005A; }
27 | .cm-s-night .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/hint/anyword-hint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | var WORD = /[\w$]+/, RANGE = 500;
15 |
16 | CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
17 | var word = options && options.word || WORD;
18 | var range = options && options.range || RANGE;
19 | var cur = editor.getCursor(), curLine = editor.getLine(cur.line);
20 | var end = cur.ch, start = end;
21 | while (start && word.test(curLine.charAt(start - 1))) --start;
22 | var curWord = start != end && curLine.slice(start, end);
23 |
24 | var list = options && options.list || [], seen = {};
25 | var re = new RegExp(word.source, "g");
26 | for (var dir = -1; dir <= 1; dir += 2) {
27 | var line = cur.line, endLine = Math.min(Math.max(line + dir * range, editor.firstLine()), editor.lastLine()) + dir;
28 | for (; line != endLine; line += dir) {
29 | var text = editor.getLine(line), m;
30 | while (m = re.exec(text)) {
31 | if (line == cur.line && m[0] === curWord) continue;
32 | if ((!curWord || m[0].lastIndexOf(curWord, 0) == 0) && !Object.prototype.hasOwnProperty.call(seen, m[0])) {
33 | seen[m[0]] = true;
34 | list.push(m[0]);
35 | }
36 | }
37 | }
38 | }
39 | return {list: list, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
40 | });
41 | });
42 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | .sr-only() {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | .sr-only-focusable() {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/fold/indent-fold.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | function lineIndent(cm, lineNo) {
15 | var text = cm.getLine(lineNo)
16 | var spaceTo = text.search(/\S/)
17 | if (spaceTo == -1 || /\bcomment\b/.test(cm.getTokenTypeAt(CodeMirror.Pos(lineNo, spaceTo + 1))))
18 | return -1
19 | return CodeMirror.countColumn(text, null, cm.getOption("tabSize"))
20 | }
21 |
22 | CodeMirror.registerHelper("fold", "indent", function(cm, start) {
23 | var myIndent = lineIndent(cm, start.line)
24 | if (myIndent < 0) return
25 | var lastLineInFold = null
26 |
27 | // Go through lines until we find a line that definitely doesn't belong in
28 | // the block we're folding, or to the end.
29 | for (var i = start.line + 1, end = cm.lastLine(); i <= end; ++i) {
30 | var indent = lineIndent(cm, i)
31 | if (indent == -1) {
32 | } else if (indent > myIndent) {
33 | // Lines with a greater indent are considered part of the block.
34 | lastLineInFold = i;
35 | } else {
36 | // If this line has non-space, non-comment content, and is
37 | // indented less or equal to the start line, it is the start of
38 | // another block.
39 | break;
40 | }
41 | }
42 | if (lastLineInFold) return {
43 | from: CodeMirror.Pos(start.line, cm.getLine(start.line).length),
44 | to: CodeMirror.Pos(lastLineInFold, cm.getLine(lastLineInFold).length)
45 | };
46 | });
47 |
48 | });
49 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/rubyblue.css:
--------------------------------------------------------------------------------
1 | .cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
2 | .cm-s-rubyblue div.CodeMirror-selected { background: #38566F; }
3 | .cm-s-rubyblue .CodeMirror-line::selection, .cm-s-rubyblue .CodeMirror-line > span::selection, .cm-s-rubyblue .CodeMirror-line > span > span::selection { background: rgba(56, 86, 111, 0.99); }
4 | .cm-s-rubyblue .CodeMirror-line::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 86, 111, 0.99); }
5 | .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
6 | .cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
7 | .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
8 | .cm-s-rubyblue .CodeMirror-linenumber { color: white; }
9 | .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white; }
10 |
11 | .cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; }
12 | .cm-s-rubyblue span.cm-atom { color: #F4C20B; }
13 | .cm-s-rubyblue span.cm-number, .cm-s-rubyblue span.cm-attribute { color: #82C6E0; }
14 | .cm-s-rubyblue span.cm-keyword { color: #F0F; }
15 | .cm-s-rubyblue span.cm-string { color: #F08047; }
16 | .cm-s-rubyblue span.cm-meta { color: #F0F; }
17 | .cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; }
18 | .cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def, .cm-s-rubyblue span.cm-type { color: white; }
19 | .cm-s-rubyblue span.cm-bracket { color: #F0F; }
20 | .cm-s-rubyblue span.cm-link { color: #F4C20B; }
21 | .cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
22 | .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
23 | .cm-s-rubyblue span.cm-error { color: #AF2018; }
24 |
25 | .cm-s-rubyblue .CodeMirror-activeline-background { background: #173047; }
26 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/font-awesome-4.7.0/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | @mixin sr-only {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | @mixin sr-only-focusable {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/tomorrow-night-bright.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Tomorrow Night - Bright
4 | Author: Chris Kempson
5 |
6 | Port done by Gerard Braad
7 |
8 | */
9 |
10 | .cm-s-tomorrow-night-bright.CodeMirror { background: #000000; color: #eaeaea; }
11 | .cm-s-tomorrow-night-bright div.CodeMirror-selected { background: #424242; }
12 | .cm-s-tomorrow-night-bright .CodeMirror-gutters { background: #000000; border-right: 0px; }
13 | .cm-s-tomorrow-night-bright .CodeMirror-guttermarker { color: #e78c45; }
14 | .cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle { color: #777; }
15 | .cm-s-tomorrow-night-bright .CodeMirror-linenumber { color: #424242; }
16 | .cm-s-tomorrow-night-bright .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
17 |
18 | .cm-s-tomorrow-night-bright span.cm-comment { color: #d27b53; }
19 | .cm-s-tomorrow-night-bright span.cm-atom { color: #a16a94; }
20 | .cm-s-tomorrow-night-bright span.cm-number { color: #a16a94; }
21 |
22 | .cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute { color: #99cc99; }
23 | .cm-s-tomorrow-night-bright span.cm-keyword { color: #d54e53; }
24 | .cm-s-tomorrow-night-bright span.cm-string { color: #e7c547; }
25 |
26 | .cm-s-tomorrow-night-bright span.cm-variable { color: #b9ca4a; }
27 | .cm-s-tomorrow-night-bright span.cm-variable-2 { color: #7aa6da; }
28 | .cm-s-tomorrow-night-bright span.cm-def { color: #e78c45; }
29 | .cm-s-tomorrow-night-bright span.cm-bracket { color: #eaeaea; }
30 | .cm-s-tomorrow-night-bright span.cm-tag { color: #d54e53; }
31 | .cm-s-tomorrow-night-bright span.cm-link { color: #a16a94; }
32 | .cm-s-tomorrow-night-bright span.cm-error { background: #d54e53; color: #6A6A6A; }
33 |
34 | .cm-s-tomorrow-night-bright .CodeMirror-activeline-background { background: #2a2a2a; }
35 | .cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
36 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/layui-v2.5.5/lay/modules/flow.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/blackboard.css:
--------------------------------------------------------------------------------
1 | /* Port of TextMate's Blackboard theme */
2 |
3 | .cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
4 | .cm-s-blackboard div.CodeMirror-selected { background: #253B76; }
5 | .cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }
6 | .cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }
7 | .cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
8 | .cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
9 | .cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
10 | .cm-s-blackboard .CodeMirror-linenumber { color: #888; }
11 | .cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
12 |
13 | .cm-s-blackboard .cm-keyword { color: #FBDE2D; }
14 | .cm-s-blackboard .cm-atom { color: #D8FA3C; }
15 | .cm-s-blackboard .cm-number { color: #D8FA3C; }
16 | .cm-s-blackboard .cm-def { color: #8DA6CE; }
17 | .cm-s-blackboard .cm-variable { color: #FF6400; }
18 | .cm-s-blackboard .cm-operator { color: #FBDE2D; }
19 | .cm-s-blackboard .cm-comment { color: #AEAEAE; }
20 | .cm-s-blackboard .cm-string { color: #61CE3C; }
21 | .cm-s-blackboard .cm-string-2 { color: #61CE3C; }
22 | .cm-s-blackboard .cm-meta { color: #D8FA3C; }
23 | .cm-s-blackboard .cm-builtin { color: #8DA6CE; }
24 | .cm-s-blackboard .cm-tag { color: #8DA6CE; }
25 | .cm-s-blackboard .cm-attribute { color: #8DA6CE; }
26 | .cm-s-blackboard .cm-header { color: #FF6400; }
27 | .cm-s-blackboard .cm-hr { color: #AEAEAE; }
28 | .cm-s-blackboard .cm-link { color: #8DA6CE; }
29 | .cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }
30 |
31 | .cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }
32 | .cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/the-matrix.css:
--------------------------------------------------------------------------------
1 | .cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
2 | .cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; }
3 | .cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
4 | .cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
5 | .cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
6 | .cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; }
7 | .cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; }
8 | .cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
9 | .cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; }
10 |
11 | .cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; }
12 | .cm-s-the-matrix span.cm-atom { color: #3FF; }
13 | .cm-s-the-matrix span.cm-number { color: #FFB94F; }
14 | .cm-s-the-matrix span.cm-def { color: #99C; }
15 | .cm-s-the-matrix span.cm-variable { color: #F6C; }
16 | .cm-s-the-matrix span.cm-variable-2 { color: #C6F; }
17 | .cm-s-the-matrix span.cm-variable-3, .cm-s-the-matrix span.cm-type { color: #96F; }
18 | .cm-s-the-matrix span.cm-property { color: #62FFA0; }
19 | .cm-s-the-matrix span.cm-operator { color: #999; }
20 | .cm-s-the-matrix span.cm-comment { color: #CCCCCC; }
21 | .cm-s-the-matrix span.cm-string { color: #39C; }
22 | .cm-s-the-matrix span.cm-meta { color: #C9F; }
23 | .cm-s-the-matrix span.cm-qualifier { color: #FFF700; }
24 | .cm-s-the-matrix span.cm-builtin { color: #30a; }
25 | .cm-s-the-matrix span.cm-bracket { color: #cc7; }
26 | .cm-s-the-matrix span.cm-tag { color: #FFBD40; }
27 | .cm-s-the-matrix span.cm-attribute { color: #FFF700; }
28 | .cm-s-the-matrix span.cm-error { color: #FF0000; }
29 |
30 | .cm-s-the-matrix .CodeMirror-activeline-background { background: #040; }
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/yeti.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: yeti
4 | Author: Michael Kaminsky (http://github.com/mkaminsky11)
5 |
6 | Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax)
7 |
8 | */
9 |
10 |
11 | .cm-s-yeti.CodeMirror {
12 | background-color: #ECEAE8 !important;
13 | color: #d1c9c0 !important;
14 | border: none;
15 | }
16 |
17 | .cm-s-yeti .CodeMirror-gutters {
18 | color: #adaba6;
19 | background-color: #E5E1DB;
20 | border: none;
21 | }
22 | .cm-s-yeti .CodeMirror-cursor { border-left: solid thin #d1c9c0; }
23 | .cm-s-yeti .CodeMirror-linenumber { color: #adaba6; }
24 | .cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; }
25 | .cm-s-yeti .CodeMirror-line::selection, .cm-s-yeti .CodeMirror-line > span::selection, .cm-s-yeti .CodeMirror-line > span > span::selection { background: #DCD8D2; }
26 | .cm-s-yeti .CodeMirror-line::-moz-selection, .cm-s-yeti .CodeMirror-line > span::-moz-selection, .cm-s-yeti .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; }
27 | .cm-s-yeti span.cm-comment { color: #d4c8be; }
28 | .cm-s-yeti span.cm-string, .cm-s-yeti span.cm-string-2 { color: #96c0d8; }
29 | .cm-s-yeti span.cm-number { color: #a074c4; }
30 | .cm-s-yeti span.cm-variable { color: #55b5db; }
31 | .cm-s-yeti span.cm-variable-2 { color: #a074c4; }
32 | .cm-s-yeti span.cm-def { color: #55b5db; }
33 | .cm-s-yeti span.cm-operator { color: #9fb96e; }
34 | .cm-s-yeti span.cm-keyword { color: #9fb96e; }
35 | .cm-s-yeti span.cm-atom { color: #a074c4; }
36 | .cm-s-yeti span.cm-meta { color: #96c0d8; }
37 | .cm-s-yeti span.cm-tag { color: #96c0d8; }
38 | .cm-s-yeti span.cm-attribute { color: #9fb96e; }
39 | .cm-s-yeti span.cm-qualifier { color: #96c0d8; }
40 | .cm-s-yeti span.cm-property { color: #a074c4; }
41 | .cm-s-yeti span.cm-builtin { color: #a074c4; }
42 | .cm-s-yeti span.cm-variable-3, .cm-s-yeti span.cm-type { color: #96c0d8; }
43 | .cm-s-yeti .CodeMirror-activeline-background { background: #E7E4E0; }
44 | .cm-s-yeti .CodeMirror-matchingbracket { text-decoration: underline; }
45 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/common/utils/ConvertUtil.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.common.utils;
2 |
3 | import cn.hutool.core.util.StrUtil;
4 |
5 | import java.util.regex.Matcher;
6 | import java.util.regex.Pattern;
7 |
8 | /**
9 | * @author: dangweijian
10 | * @description: 驼峰下划线处理工具
11 | * @create: 2020-01-02 22:33
12 | **/
13 | public class ConvertUtil {
14 |
15 | private static Pattern linePattern = Pattern.compile("_(\\w)");
16 |
17 | /**
18 | * 下划线转驼峰
19 | */
20 | public static String lineToHump(String str) {
21 | str = str.toLowerCase();
22 | Matcher matcher = linePattern.matcher(str);
23 | StringBuffer sb = new StringBuffer();
24 | while (matcher.find()) {
25 | matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
26 |
27 | }
28 | matcher.appendTail(sb);
29 | return sb.toString();
30 |
31 | }
32 |
33 | /**
34 | * 驼峰转下划线(简单写法,效率低于{@link #humpToLine2(String)})
35 | */
36 | public static String humpToLine(String str) {
37 | return str.replaceAll("[A-Z]", "_$0").toLowerCase();
38 |
39 | }
40 |
41 |
42 | private static Pattern humpPattern = Pattern.compile("[A-Z]");
43 |
44 | /**
45 | * 驼峰转下划线,效率比上面高
46 | */
47 | public static String humpToLine2(String str) {
48 | Matcher matcher = humpPattern.matcher(str);
49 | StringBuffer sb = new StringBuffer();
50 | while (matcher.find()) {
51 | matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
52 | }
53 | matcher.appendTail(sb);
54 | return sb.toString();
55 | }
56 |
57 | public static String lowerCaseFirstLetter(String str){
58 | if(StrUtil.isNotBlank(str)){
59 | str = str.trim();
60 | String result = str.substring(0, 1).toLowerCase();
61 | if(str.length() > 1){
62 | result += str.substring(1);
63 | }
64 | return result;
65 | }
66 | return null;
67 | }
68 | }
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/monokai.css:
--------------------------------------------------------------------------------
1 | /* Based on Sublime Text's Monokai theme */
2 |
3 | .cm-s-monokai.CodeMirror { background: #272822; color: #f8f8f2; }
4 | .cm-s-monokai div.CodeMirror-selected { background: #49483E; }
5 | .cm-s-monokai .CodeMirror-line::selection, .cm-s-monokai .CodeMirror-line > span::selection, .cm-s-monokai .CodeMirror-line > span > span::selection { background: rgba(73, 72, 62, .99); }
6 | .cm-s-monokai .CodeMirror-line::-moz-selection, .cm-s-monokai .CodeMirror-line > span::-moz-selection, .cm-s-monokai .CodeMirror-line > span > span::-moz-selection { background: rgba(73, 72, 62, .99); }
7 | .cm-s-monokai .CodeMirror-gutters { background: #272822; border-right: 0px; }
8 | .cm-s-monokai .CodeMirror-guttermarker { color: white; }
9 | .cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
10 | .cm-s-monokai .CodeMirror-linenumber { color: #d0d0d0; }
11 | .cm-s-monokai .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
12 |
13 | .cm-s-monokai span.cm-comment { color: #75715e; }
14 | .cm-s-monokai span.cm-atom { color: #ae81ff; }
15 | .cm-s-monokai span.cm-number { color: #ae81ff; }
16 |
17 | .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute { color: #a6e22e; }
18 | .cm-s-monokai span.cm-keyword { color: #f92672; }
19 | .cm-s-monokai span.cm-builtin { color: #66d9ef; }
20 | .cm-s-monokai span.cm-string { color: #e6db74; }
21 |
22 | .cm-s-monokai span.cm-variable { color: #f8f8f2; }
23 | .cm-s-monokai span.cm-variable-2 { color: #9effff; }
24 | .cm-s-monokai span.cm-variable-3, .cm-s-monokai span.cm-type { color: #66d9ef; }
25 | .cm-s-monokai span.cm-def { color: #fd971f; }
26 | .cm-s-monokai span.cm-bracket { color: #f8f8f2; }
27 | .cm-s-monokai span.cm-tag { color: #f92672; }
28 | .cm-s-monokai span.cm-header { color: #ae81ff; }
29 | .cm-s-monokai span.cm-link { color: #ae81ff; }
30 | .cm-s-monokai span.cm-error { background: #f92672; color: #f8f8f0; }
31 |
32 | .cm-s-monokai .CodeMirror-activeline-background { background: #373831; }
33 | .cm-s-monokai .CodeMirror-matchingbracket {
34 | text-decoration: underline;
35 | color: white !important;
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/abcdef.css:
--------------------------------------------------------------------------------
1 | .cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }
2 | .cm-s-abcdef div.CodeMirror-selected { background: #515151; }
3 | .cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); }
4 | .cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); }
5 | .cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; }
6 | .cm-s-abcdef .CodeMirror-guttermarker { color: #222; }
7 | .cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; }
8 | .cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; }
9 | .cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; }
10 |
11 | .cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; }
12 | .cm-s-abcdef span.cm-atom { color: #77F; }
13 | .cm-s-abcdef span.cm-number { color: violet; }
14 | .cm-s-abcdef span.cm-def { color: #fffabc; }
15 | .cm-s-abcdef span.cm-variable { color: #abcdef; }
16 | .cm-s-abcdef span.cm-variable-2 { color: #cacbcc; }
17 | .cm-s-abcdef span.cm-variable-3, .cm-s-abcdef span.cm-type { color: #def; }
18 | .cm-s-abcdef span.cm-property { color: #fedcba; }
19 | .cm-s-abcdef span.cm-operator { color: #ff0; }
20 | .cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;}
21 | .cm-s-abcdef span.cm-string { color: #2b4; }
22 | .cm-s-abcdef span.cm-meta { color: #C9F; }
23 | .cm-s-abcdef span.cm-qualifier { color: #FFF700; }
24 | .cm-s-abcdef span.cm-builtin { color: #30aabc; }
25 | .cm-s-abcdef span.cm-bracket { color: #8a8a8a; }
26 | .cm-s-abcdef span.cm-tag { color: #FFDD44; }
27 | .cm-s-abcdef span.cm-attribute { color: #DDFF00; }
28 | .cm-s-abcdef span.cm-error { color: #FF0000; }
29 | .cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; }
30 | .cm-s-abcdef span.cm-link { color: blueviolet; }
31 |
32 | .cm-s-abcdef .CodeMirror-activeline-background { background: #314151; }
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/lint/html-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Depends on htmlhint.js from http://htmlhint.com/js/htmlhint.js
5 |
6 | // declare global: HTMLHint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"), require("htmlhint"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror", "htmlhint"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror, window.HTMLHint);
15 | })(function(CodeMirror, HTMLHint) {
16 | "use strict";
17 |
18 | var defaultRules = {
19 | "tagname-lowercase": true,
20 | "attr-lowercase": true,
21 | "attr-value-double-quotes": true,
22 | "doctype-first": false,
23 | "tag-pair": true,
24 | "spec-char-escape": true,
25 | "id-unique": true,
26 | "src-not-empty": true,
27 | "attr-no-duplication": true
28 | };
29 |
30 | CodeMirror.registerHelper("lint", "html", function(text, options) {
31 | var found = [];
32 | if (HTMLHint && !HTMLHint.verify) HTMLHint = HTMLHint.HTMLHint;
33 | if (!HTMLHint) HTMLHint = window.HTMLHint;
34 | if (!HTMLHint) {
35 | if (window.console) {
36 | window.console.error("Error: HTMLHint not found, not defined on window, or not available through define/require, CodeMirror HTML linting cannot run.");
37 | }
38 | return found;
39 | }
40 | var messages = HTMLHint.verify(text, options && options.rules || defaultRules);
41 | for (var i = 0; i < messages.length; i++) {
42 | var message = messages[i];
43 | var startLine = message.line - 1, endLine = message.line - 1, startCol = message.col - 1, endCol = message.col;
44 | found.push({
45 | from: CodeMirror.Pos(startLine, startCol),
46 | to: CodeMirror.Pos(endLine, endCol),
47 | message: message.message,
48 | severity : message.type
49 | });
50 | }
51 | return found;
52 | });
53 | });
54 |
--------------------------------------------------------------------------------
/src/main/java/com/dwj/generator/dao/entity/Project.java:
--------------------------------------------------------------------------------
1 | package com.dwj.generator.dao.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import com.dwj.generator.common.enums.ProjectType;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 | /**
15 | *
16 | *
17 | *
18 | *
19 | * @author dwjian
20 | * @since 2021-03-18
21 | */
22 | @Data
23 | @EqualsAndHashCode(callSuper = false)
24 | @Accessors(chain = true)
25 | @TableName("t_project")
26 | public class Project implements Serializable {
27 |
28 | private static final long serialVersionUID = 1L;
29 |
30 | /**
31 | * 主键
32 | */
33 | @TableId(value = "id", type = IdType.AUTO)
34 | private Long id;
35 |
36 | /**
37 | * 项目名称
38 | */
39 | private String projectName;
40 |
41 | /**
42 | * 项目根路径
43 | */
44 | private String rootPath;
45 |
46 | /**
47 | * 数据库连接ID
48 | */
49 | private Long databaseId;
50 |
51 | /**
52 | * 表前缀
53 | */
54 | private String tablePrefix;
55 |
56 | /**
57 | * 字段前缀
58 | */
59 | private String columnPrefix;
60 |
61 | /**
62 | * 表名映射策略
63 | */
64 | private String tableNameStyle;
65 |
66 | /**
67 | * 字段名映射策略
68 | */
69 | private String columnNameStyle;
70 |
71 | /**
72 | * 项目类型
73 | */
74 | private ProjectType projectType;
75 |
76 | /**
77 | * 使用Lombok
78 | */
79 | private boolean useLombok;
80 |
81 | /**
82 | * 描述
83 | */
84 | private String description;
85 |
86 | /**
87 | * 作者
88 | */
89 | private String author;
90 |
91 | /**
92 | * 创建时间
93 | */
94 | private Date createDate;
95 |
96 | /**
97 | * 更新时间
98 | */
99 | private Date updateDate;
100 |
101 |
102 | }
103 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/display/rulers.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("rulers", false, function(cm, val) {
15 | if (cm.state.rulerDiv) {
16 | cm.state.rulerDiv.parentElement.removeChild(cm.state.rulerDiv)
17 | cm.state.rulerDiv = null
18 | cm.off("refresh", drawRulers)
19 | }
20 | if (val && val.length) {
21 | cm.state.rulerDiv = cm.display.lineSpace.parentElement.insertBefore(document.createElement("div"), cm.display.lineSpace)
22 | cm.state.rulerDiv.className = "CodeMirror-rulers"
23 | drawRulers(cm)
24 | cm.on("refresh", drawRulers)
25 | }
26 | });
27 |
28 | function drawRulers(cm) {
29 | cm.state.rulerDiv.textContent = ""
30 | var val = cm.getOption("rulers");
31 | var cw = cm.defaultCharWidth();
32 | var left = cm.charCoords(CodeMirror.Pos(cm.firstLine(), 0), "div").left;
33 | cm.state.rulerDiv.style.minHeight = (cm.display.scroller.offsetHeight + 30) + "px";
34 | for (var i = 0; i < val.length; i++) {
35 | var elt = document.createElement("div");
36 | elt.className = "CodeMirror-ruler";
37 | var col, conf = val[i];
38 | if (typeof conf == "number") {
39 | col = conf;
40 | } else {
41 | col = conf.column;
42 | if (conf.className) elt.className += " " + conf.className;
43 | if (conf.color) elt.style.borderColor = conf.color;
44 | if (conf.lineStyle) elt.style.borderLeftStyle = conf.lineStyle;
45 | if (conf.width) elt.style.borderLeftWidth = conf.width;
46 | }
47 | elt.style.left = (left + col * cw) + "px";
48 | cm.state.rulerDiv.appendChild(elt)
49 | }
50 | }
51 | });
52 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/zenburn.css:
--------------------------------------------------------------------------------
1 | /**
2 | * "
3 | * Using Zenburn color palette from the Emacs Zenburn Theme
4 | * https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el
5 | *
6 | * Also using parts of https://github.com/xavi/coderay-lighttable-theme
7 | * "
8 | * From: https://github.com/wisenomad/zenburn-lighttable-theme/blob/master/zenburn.css
9 | */
10 |
11 | .cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; }
12 | .cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; }
13 | .cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; }
14 | .cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; }
15 | .cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; }
16 | .cm-s-zenburn span.cm-comment { color: #7f9f7f; }
17 | .cm-s-zenburn span.cm-keyword { color: #f0dfaf; font-weight: bold; }
18 | .cm-s-zenburn span.cm-atom { color: #bfebbf; }
19 | .cm-s-zenburn span.cm-def { color: #dcdccc; }
20 | .cm-s-zenburn span.cm-variable { color: #dfaf8f; }
21 | .cm-s-zenburn span.cm-variable-2 { color: #dcdccc; }
22 | .cm-s-zenburn span.cm-string { color: #cc9393; }
23 | .cm-s-zenburn span.cm-string-2 { color: #cc9393; }
24 | .cm-s-zenburn span.cm-number { color: #dcdccc; }
25 | .cm-s-zenburn span.cm-tag { color: #93e0e3; }
26 | .cm-s-zenburn span.cm-property { color: #dfaf8f; }
27 | .cm-s-zenburn span.cm-attribute { color: #dfaf8f; }
28 | .cm-s-zenburn span.cm-qualifier { color: #7cb8bb; }
29 | .cm-s-zenburn span.cm-meta { color: #f0dfaf; }
30 | .cm-s-zenburn span.cm-header { color: #f0efd0; }
31 | .cm-s-zenburn span.cm-operator { color: #f0efd0; }
32 | .cm-s-zenburn span.CodeMirror-matchingbracket { box-sizing: border-box; background: transparent; border-bottom: 1px solid; }
33 | .cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; }
34 | .cm-s-zenburn .CodeMirror-activeline { background: #000000; }
35 | .cm-s-zenburn .CodeMirror-activeline-background { background: #000000; }
36 | .cm-s-zenburn div.CodeMirror-selected { background: #545454; }
37 | .cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; }
38 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/3024-day.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: 3024 day
4 | Author: Jan T. Sott (http://github.com/idleberg)
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; }
12 | .cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; }
13 |
14 | .cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; }
15 | .cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; }
16 |
17 | .cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; }
18 | .cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
19 | .cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
20 | .cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; }
21 |
22 | .cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; }
23 |
24 | .cm-s-3024-day span.cm-comment { color: #cdab53; }
25 | .cm-s-3024-day span.cm-atom { color: #a16a94; }
26 | .cm-s-3024-day span.cm-number { color: #a16a94; }
27 |
28 | .cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; }
29 | .cm-s-3024-day span.cm-keyword { color: #db2d20; }
30 | .cm-s-3024-day span.cm-string { color: #fded02; }
31 |
32 | .cm-s-3024-day span.cm-variable { color: #01a252; }
33 | .cm-s-3024-day span.cm-variable-2 { color: #01a0e4; }
34 | .cm-s-3024-day span.cm-def { color: #e8bbd0; }
35 | .cm-s-3024-day span.cm-bracket { color: #3a3432; }
36 | .cm-s-3024-day span.cm-tag { color: #db2d20; }
37 | .cm-s-3024-day span.cm-link { color: #a16a94; }
38 | .cm-s-3024-day span.cm-error { background: #db2d20; color: #5c5855; }
39 |
40 | .cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; }
41 | .cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; }
42 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/edit/continuelist.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,
15 | emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,
16 | unorderedListRE = /[*+-]\s/;
17 |
18 | CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {
19 | if (cm.getOption("disableInput")) return CodeMirror.Pass;
20 | var ranges = cm.listSelections(), replacements = [];
21 | for (var i = 0; i < ranges.length; i++) {
22 | var pos = ranges[i].head;
23 | var eolState = cm.getStateAfter(pos.line);
24 | var inList = eolState.list !== false;
25 | var inQuote = eolState.quote !== 0;
26 |
27 | var line = cm.getLine(pos.line), match = listRE.exec(line);
28 | var cursorBeforeBullet = /^\s*$/.test(line.slice(0, pos.ch));
29 | if (!ranges[i].empty() || (!inList && !inQuote) || !match || cursorBeforeBullet) {
30 | cm.execCommand("newlineAndIndent");
31 | return;
32 | }
33 | if (emptyListRE.test(line)) {
34 | if (!/>\s*$/.test(line)) cm.replaceRange("", {
35 | line: pos.line, ch: 0
36 | }, {
37 | line: pos.line, ch: pos.ch + 1
38 | });
39 | replacements[i] = "\n";
40 | } else {
41 | var indent = match[1], after = match[5];
42 | var bullet = unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0
43 | ? match[2].replace("x", " ")
44 | : (parseInt(match[3], 10) + 1) + match[4];
45 |
46 | replacements[i] = "\n" + indent + bullet + after;
47 | }
48 | }
49 |
50 | cm.replaceSelections(replacements);
51 | };
52 | });
53 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/addon/search/jump-to-line.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
3 |
4 | // Defines jumpToLine command. Uses dialog.js if present.
5 |
6 | (function(mod) {
7 | if (typeof exports == "object" && typeof module == "object") // CommonJS
8 | mod(require("../../lib/codemirror"), require("../dialog/dialog"));
9 | else if (typeof define == "function" && define.amd) // AMD
10 | define(["../../lib/codemirror", "../dialog/dialog"], mod);
11 | else // Plain browser env
12 | mod(CodeMirror);
13 | })(function(CodeMirror) {
14 | "use strict";
15 |
16 | function dialog(cm, text, shortText, deflt, f) {
17 | if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true});
18 | else f(prompt(shortText, deflt));
19 | }
20 |
21 | var jumpDialog =
22 | 'Jump to line: (Use line:column or scroll% syntax)';
23 |
24 | function interpretLine(cm, string) {
25 | var num = Number(string)
26 | if (/^[-+]/.test(string)) return cm.getCursor().line + num
27 | else return num - 1
28 | }
29 |
30 | CodeMirror.commands.jumpToLine = function(cm) {
31 | var cur = cm.getCursor();
32 | dialog(cm, jumpDialog, "Jump to line:", (cur.line + 1) + ":" + cur.ch, function(posStr) {
33 | if (!posStr) return;
34 |
35 | var match;
36 | if (match = /^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(posStr)) {
37 | cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))
38 | } else if (match = /^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(posStr)) {
39 | var line = Math.round(cm.lineCount() * Number(match[1]) / 100);
40 | if (/^[-+]/.test(match[1])) line = cur.line + line + 1;
41 | cm.setCursor(line - 1, cur.ch);
42 | } else if (match = /^\s*\:?\s*([\+\-]?\d+)\s*/.exec(posStr)) {
43 | cm.setCursor(interpretLine(cm, match[1]), cur.ch);
44 | }
45 | });
46 | };
47 |
48 | CodeMirror.keyMap["default"]["Alt-G"] = "jumpToLine";
49 | });
50 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/seti.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: seti
4 | Author: Michael Kaminsky (http://github.com/mkaminsky11)
5 |
6 | Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax)
7 |
8 | */
9 |
10 |
11 | .cm-s-seti.CodeMirror {
12 | background-color: #151718 !important;
13 | color: #CFD2D1 !important;
14 | border: none;
15 | }
16 | .cm-s-seti .CodeMirror-gutters {
17 | color: #404b53;
18 | background-color: #0E1112;
19 | border: none;
20 | }
21 | .cm-s-seti .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
22 | .cm-s-seti .CodeMirror-linenumber { color: #6D8A88; }
23 | .cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
24 | .cm-s-seti .CodeMirror-line::selection, .cm-s-seti .CodeMirror-line > span::selection, .cm-s-seti .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
25 | .cm-s-seti .CodeMirror-line::-moz-selection, .cm-s-seti .CodeMirror-line > span::-moz-selection, .cm-s-seti .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
26 | .cm-s-seti span.cm-comment { color: #41535b; }
27 | .cm-s-seti span.cm-string, .cm-s-seti span.cm-string-2 { color: #55b5db; }
28 | .cm-s-seti span.cm-number { color: #cd3f45; }
29 | .cm-s-seti span.cm-variable { color: #55b5db; }
30 | .cm-s-seti span.cm-variable-2 { color: #a074c4; }
31 | .cm-s-seti span.cm-def { color: #55b5db; }
32 | .cm-s-seti span.cm-keyword { color: #ff79c6; }
33 | .cm-s-seti span.cm-operator { color: #9fca56; }
34 | .cm-s-seti span.cm-keyword { color: #e6cd69; }
35 | .cm-s-seti span.cm-atom { color: #cd3f45; }
36 | .cm-s-seti span.cm-meta { color: #55b5db; }
37 | .cm-s-seti span.cm-tag { color: #55b5db; }
38 | .cm-s-seti span.cm-attribute { color: #9fca56; }
39 | .cm-s-seti span.cm-qualifier { color: #9fca56; }
40 | .cm-s-seti span.cm-property { color: #a074c4; }
41 | .cm-s-seti span.cm-variable-3, .cm-s-seti span.cm-type { color: #9fca56; }
42 | .cm-s-seti span.cm-builtin { color: #9fca56; }
43 | .cm-s-seti .CodeMirror-activeline-background { background: #101213; }
44 | .cm-s-seti .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
45 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/panda-syntax.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Panda Syntax
3 | Author: Siamak Mokhtari (http://github.com/siamak/)
4 | CodeMirror template by Siamak Mokhtari (https://github.com/siamak/atom-panda-syntax)
5 | */
6 | .cm-s-panda-syntax {
7 | background: #292A2B;
8 | color: #E6E6E6;
9 | line-height: 1.5;
10 | font-family: 'Operator Mono', 'Source Sans Pro', Menlo, Monaco, Consolas, Courier New, monospace;
11 | }
12 | .cm-s-panda-syntax .CodeMirror-cursor { border-color: #ff2c6d; }
13 | .cm-s-panda-syntax .CodeMirror-activeline-background {
14 | background: rgba(99, 123, 156, 0.1);
15 | }
16 | .cm-s-panda-syntax .CodeMirror-selected {
17 | background: #FFF;
18 | }
19 | .cm-s-panda-syntax .cm-comment {
20 | font-style: italic;
21 | color: #676B79;
22 | }
23 | .cm-s-panda-syntax .cm-operator {
24 | color: #f3f3f3;
25 | }
26 | .cm-s-panda-syntax .cm-string {
27 | color: #19F9D8;
28 | }
29 | .cm-s-panda-syntax .cm-string-2 {
30 | color: #FFB86C;
31 | }
32 |
33 | .cm-s-panda-syntax .cm-tag {
34 | color: #ff2c6d;
35 | }
36 | .cm-s-panda-syntax .cm-meta {
37 | color: #b084eb;
38 | }
39 |
40 | .cm-s-panda-syntax .cm-number {
41 | color: #FFB86C;
42 | }
43 | .cm-s-panda-syntax .cm-atom {
44 | color: #ff2c6d;
45 | }
46 | .cm-s-panda-syntax .cm-keyword {
47 | color: #FF75B5;
48 | }
49 | .cm-s-panda-syntax .cm-variable {
50 | color: #ffb86c;
51 | }
52 | .cm-s-panda-syntax .cm-variable-2 {
53 | color: #ff9ac1;
54 | }
55 | .cm-s-panda-syntax .cm-variable-3, .cm-s-panda-syntax .cm-type {
56 | color: #ff9ac1;
57 | }
58 |
59 | .cm-s-panda-syntax .cm-def {
60 | color: #e6e6e6;
61 | }
62 | .cm-s-panda-syntax .cm-property {
63 | color: #f3f3f3;
64 | }
65 | .cm-s-panda-syntax .cm-unit {
66 | color: #ffb86c;
67 | }
68 |
69 | .cm-s-panda-syntax .cm-attribute {
70 | color: #ffb86c;
71 | }
72 |
73 | .cm-s-panda-syntax .CodeMirror-matchingbracket {
74 | border-bottom: 1px dotted #19F9D8;
75 | padding-bottom: 2px;
76 | color: #e6e6e6;
77 | }
78 | .cm-s-panda-syntax .CodeMirror-gutters {
79 | background: #292a2b;
80 | border-right-color: rgba(255, 255, 255, 0.1);
81 | }
82 | .cm-s-panda-syntax .CodeMirror-linenumber {
83 | color: #e6e6e6;
84 | opacity: 0.6;
85 | }
86 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/dracula.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: dracula
4 | Author: Michael Kaminsky (http://github.com/mkaminsky11)
5 |
6 | Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)
7 |
8 | */
9 |
10 |
11 | .cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
12 | background-color: #282a36 !important;
13 | color: #f8f8f2 !important;
14 | border: none;
15 | }
16 | .cm-s-dracula .CodeMirror-gutters { color: #282a36; }
17 | .cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
18 | .cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
19 | .cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
20 | .cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
21 | .cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
22 | .cm-s-dracula span.cm-comment { color: #6272a4; }
23 | .cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
24 | .cm-s-dracula span.cm-number { color: #bd93f9; }
25 | .cm-s-dracula span.cm-variable { color: #50fa7b; }
26 | .cm-s-dracula span.cm-variable-2 { color: white; }
27 | .cm-s-dracula span.cm-def { color: #50fa7b; }
28 | .cm-s-dracula span.cm-operator { color: #ff79c6; }
29 | .cm-s-dracula span.cm-keyword { color: #ff79c6; }
30 | .cm-s-dracula span.cm-atom { color: #bd93f9; }
31 | .cm-s-dracula span.cm-meta { color: #f8f8f2; }
32 | .cm-s-dracula span.cm-tag { color: #ff79c6; }
33 | .cm-s-dracula span.cm-attribute { color: #50fa7b; }
34 | .cm-s-dracula span.cm-qualifier { color: #50fa7b; }
35 | .cm-s-dracula span.cm-property { color: #66d9ef; }
36 | .cm-s-dracula span.cm-builtin { color: #50fa7b; }
37 | .cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }
38 |
39 | .cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
40 | .cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
41 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/midnight.css:
--------------------------------------------------------------------------------
1 | /* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */
2 |
3 | /**/
4 | .cm-s-midnight span.CodeMirror-matchhighlight { background: #494949; }
5 | .cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; }
6 |
7 | /**/
8 | .cm-s-midnight .CodeMirror-activeline-background { background: #253540; }
9 |
10 | .cm-s-midnight.CodeMirror {
11 | background: #0F192A;
12 | color: #D1EDFF;
13 | }
14 |
15 | .cm-s-midnight div.CodeMirror-selected { background: #314D67; }
16 | .cm-s-midnight .CodeMirror-line::selection, .cm-s-midnight .CodeMirror-line > span::selection, .cm-s-midnight .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); }
17 | .cm-s-midnight .CodeMirror-line::-moz-selection, .cm-s-midnight .CodeMirror-line > span::-moz-selection, .cm-s-midnight .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); }
18 | .cm-s-midnight .CodeMirror-gutters { background: #0F192A; border-right: 1px solid; }
19 | .cm-s-midnight .CodeMirror-guttermarker { color: white; }
20 | .cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
21 | .cm-s-midnight .CodeMirror-linenumber { color: #D0D0D0; }
22 | .cm-s-midnight .CodeMirror-cursor { border-left: 1px solid #F8F8F0; }
23 |
24 | .cm-s-midnight span.cm-comment { color: #428BDD; }
25 | .cm-s-midnight span.cm-atom { color: #AE81FF; }
26 | .cm-s-midnight span.cm-number { color: #D1EDFF; }
27 |
28 | .cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute { color: #A6E22E; }
29 | .cm-s-midnight span.cm-keyword { color: #E83737; }
30 | .cm-s-midnight span.cm-string { color: #1DC116; }
31 |
32 | .cm-s-midnight span.cm-variable { color: #FFAA3E; }
33 | .cm-s-midnight span.cm-variable-2 { color: #FFAA3E; }
34 | .cm-s-midnight span.cm-def { color: #4DD; }
35 | .cm-s-midnight span.cm-bracket { color: #D1EDFF; }
36 | .cm-s-midnight span.cm-tag { color: #449; }
37 | .cm-s-midnight span.cm-link { color: #AE81FF; }
38 | .cm-s-midnight span.cm-error { background: #F92672; color: #F8F8F0; }
39 |
40 | .cm-s-midnight .CodeMirror-matchingbracket {
41 | text-decoration: underline;
42 | color: white !important;
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/3024-night.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: 3024 night
4 | Author: Jan T. Sott (http://github.com/idleberg)
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-3024-night.CodeMirror { background: #090300; color: #d6d5d4; }
12 | .cm-s-3024-night div.CodeMirror-selected { background: #3a3432; }
13 | .cm-s-3024-night .CodeMirror-line::selection, .cm-s-3024-night .CodeMirror-line > span::selection, .cm-s-3024-night .CodeMirror-line > span > span::selection { background: rgba(58, 52, 50, .99); }
14 | .cm-s-3024-night .CodeMirror-line::-moz-selection, .cm-s-3024-night .CodeMirror-line > span::-moz-selection, .cm-s-3024-night .CodeMirror-line > span > span::-moz-selection { background: rgba(58, 52, 50, .99); }
15 | .cm-s-3024-night .CodeMirror-gutters { background: #090300; border-right: 0px; }
16 | .cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; }
17 | .cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; }
18 | .cm-s-3024-night .CodeMirror-linenumber { color: #5c5855; }
19 |
20 | .cm-s-3024-night .CodeMirror-cursor { border-left: 1px solid #807d7c; }
21 |
22 | .cm-s-3024-night span.cm-comment { color: #cdab53; }
23 | .cm-s-3024-night span.cm-atom { color: #a16a94; }
24 | .cm-s-3024-night span.cm-number { color: #a16a94; }
25 |
26 | .cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute { color: #01a252; }
27 | .cm-s-3024-night span.cm-keyword { color: #db2d20; }
28 | .cm-s-3024-night span.cm-string { color: #fded02; }
29 |
30 | .cm-s-3024-night span.cm-variable { color: #01a252; }
31 | .cm-s-3024-night span.cm-variable-2 { color: #01a0e4; }
32 | .cm-s-3024-night span.cm-def { color: #e8bbd0; }
33 | .cm-s-3024-night span.cm-bracket { color: #d6d5d4; }
34 | .cm-s-3024-night span.cm-tag { color: #db2d20; }
35 | .cm-s-3024-night span.cm-link { color: #a16a94; }
36 | .cm-s-3024-night span.cm-error { background: #db2d20; color: #807d7c; }
37 |
38 | .cm-s-3024-night .CodeMirror-activeline-background { background: #2F2F2F; }
39 | .cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
40 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/paraiso-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Paraíso (Dark)
4 | Author: Jan T. Sott
5 |
6 | Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
7 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
8 |
9 | */
10 |
11 | .cm-s-paraiso-dark.CodeMirror { background: #2f1e2e; color: #b9b6b0; }
12 | .cm-s-paraiso-dark div.CodeMirror-selected { background: #41323f; }
13 | .cm-s-paraiso-dark .CodeMirror-line::selection, .cm-s-paraiso-dark .CodeMirror-line > span::selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::selection { background: rgba(65, 50, 63, .99); }
14 | .cm-s-paraiso-dark .CodeMirror-line::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(65, 50, 63, .99); }
15 | .cm-s-paraiso-dark .CodeMirror-gutters { background: #2f1e2e; border-right: 0px; }
16 | .cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; }
17 | .cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; }
18 | .cm-s-paraiso-dark .CodeMirror-linenumber { color: #776e71; }
19 | .cm-s-paraiso-dark .CodeMirror-cursor { border-left: 1px solid #8d8687; }
20 |
21 | .cm-s-paraiso-dark span.cm-comment { color: #e96ba8; }
22 | .cm-s-paraiso-dark span.cm-atom { color: #815ba4; }
23 | .cm-s-paraiso-dark span.cm-number { color: #815ba4; }
24 |
25 | .cm-s-paraiso-dark span.cm-property, .cm-s-paraiso-dark span.cm-attribute { color: #48b685; }
26 | .cm-s-paraiso-dark span.cm-keyword { color: #ef6155; }
27 | .cm-s-paraiso-dark span.cm-string { color: #fec418; }
28 |
29 | .cm-s-paraiso-dark span.cm-variable { color: #48b685; }
30 | .cm-s-paraiso-dark span.cm-variable-2 { color: #06b6ef; }
31 | .cm-s-paraiso-dark span.cm-def { color: #f99b15; }
32 | .cm-s-paraiso-dark span.cm-bracket { color: #b9b6b0; }
33 | .cm-s-paraiso-dark span.cm-tag { color: #ef6155; }
34 | .cm-s-paraiso-dark span.cm-link { color: #815ba4; }
35 | .cm-s-paraiso-dark span.cm-error { background: #ef6155; color: #8d8687; }
36 |
37 | .cm-s-paraiso-dark .CodeMirror-activeline-background { background: #4D344A; }
38 | .cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
39 |
--------------------------------------------------------------------------------
/src/main/resources/static/lib/codemirror/theme/paraiso-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Paraíso (Light)
4 | Author: Jan T. Sott
5 |
6 | Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
7 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
8 |
9 | */
10 |
11 | .cm-s-paraiso-light.CodeMirror { background: #e7e9db; color: #41323f; }
12 | .cm-s-paraiso-light div.CodeMirror-selected { background: #b9b6b0; }
13 | .cm-s-paraiso-light .CodeMirror-line::selection, .cm-s-paraiso-light .CodeMirror-line > span::selection, .cm-s-paraiso-light .CodeMirror-line > span > span::selection { background: #b9b6b0; }
14 | .cm-s-paraiso-light .CodeMirror-line::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span > span::-moz-selection { background: #b9b6b0; }
15 | .cm-s-paraiso-light .CodeMirror-gutters { background: #e7e9db; border-right: 0px; }
16 | .cm-s-paraiso-light .CodeMirror-guttermarker { color: black; }
17 | .cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; }
18 | .cm-s-paraiso-light .CodeMirror-linenumber { color: #8d8687; }
19 | .cm-s-paraiso-light .CodeMirror-cursor { border-left: 1px solid #776e71; }
20 |
21 | .cm-s-paraiso-light span.cm-comment { color: #e96ba8; }
22 | .cm-s-paraiso-light span.cm-atom { color: #815ba4; }
23 | .cm-s-paraiso-light span.cm-number { color: #815ba4; }
24 |
25 | .cm-s-paraiso-light span.cm-property, .cm-s-paraiso-light span.cm-attribute { color: #48b685; }
26 | .cm-s-paraiso-light span.cm-keyword { color: #ef6155; }
27 | .cm-s-paraiso-light span.cm-string { color: #fec418; }
28 |
29 | .cm-s-paraiso-light span.cm-variable { color: #48b685; }
30 | .cm-s-paraiso-light span.cm-variable-2 { color: #06b6ef; }
31 | .cm-s-paraiso-light span.cm-def { color: #f99b15; }
32 | .cm-s-paraiso-light span.cm-bracket { color: #41323f; }
33 | .cm-s-paraiso-light span.cm-tag { color: #ef6155; }
34 | .cm-s-paraiso-light span.cm-link { color: #815ba4; }
35 | .cm-s-paraiso-light span.cm-error { background: #ef6155; color: #776e71; }
36 |
37 | .cm-s-paraiso-light .CodeMirror-activeline-background { background: #CFD1C4; }
38 | .cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
39 |
--------------------------------------------------------------------------------