├── .gitignore ├── docs └── img │ ├── 15357025821.jpg │ ├── 15357026582.jpg │ ├── 15357026933.jpg │ ├── 15357027294.jpg │ ├── 15357027585.jpg │ ├── 1535707058(1).jpg │ ├── 1535707141(1).jpg │ └── 1535707191(1).jpg ├── .settings ├── org.springframework.ide.eclipse.prefs ├── org.eclipse.m2e.core.prefs ├── org.eclipse.core.resources.prefs └── org.eclipse.jdt.core.prefs ├── target └── classes │ ├── static │ ├── img │ │ ├── avatar.png │ │ ├── icons.png │ │ ├── photo1.png │ │ ├── photo2.png │ │ ├── photo3.jpg │ │ ├── photo4.jpg │ │ ├── avatar04.png │ │ ├── avatar2.png │ │ ├── avatar3.png │ │ ├── avatar5.png │ │ ├── boxed-bg.jpg │ │ ├── boxed-bg.png │ │ ├── favicon.ico │ │ ├── credit │ │ │ ├── visa.png │ │ │ ├── cirrus.png │ │ │ ├── mestro.png │ │ │ ├── paypal.png │ │ │ ├── paypal2.png │ │ │ ├── mastercard.png │ │ │ └── american-express.png │ │ ├── default-50x50.gif │ │ ├── user1-128x128.jpg │ │ ├── user2-160x160.jpg │ │ ├── user3-128x128.jpg │ │ ├── user4-128x128.jpg │ │ ├── user5-128x128.jpg │ │ ├── user6-128x128.jpg │ │ ├── user7-128x128.jpg │ │ └── user8-128x128.jpg │ ├── fonts │ │ ├── ionicons.eot │ │ ├── ionicons.ttf │ │ ├── ionicons.woff │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── css │ │ ├── iCheck │ │ │ ├── flat │ │ │ │ ├── aero.png │ │ │ │ ├── blue.png │ │ │ │ ├── flat.png │ │ │ │ ├── grey.png │ │ │ │ ├── pink.png │ │ │ │ ├── red.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── flat@2x.png │ │ │ │ ├── green.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── orange.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── yellow@2x.png │ │ │ │ ├── flat.css │ │ │ │ ├── red.css │ │ │ │ ├── aero.css │ │ │ │ ├── blue.css │ │ │ │ ├── grey.css │ │ │ │ ├── pink.css │ │ │ │ ├── green.css │ │ │ │ ├── orange.css │ │ │ │ ├── purple.css │ │ │ │ └── yellow.css │ │ │ ├── line │ │ │ │ ├── line.png │ │ │ │ └── line@2x.png │ │ │ ├── minimal │ │ │ │ ├── aero.png │ │ │ │ ├── blue.png │ │ │ │ ├── grey.png │ │ │ │ ├── pink.png │ │ │ │ ├── red.png │ │ │ │ ├── green.png │ │ │ │ ├── orange.png │ │ │ │ ├── purple.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── minimal.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── yellow@2x.png │ │ │ │ ├── minimal@2x.png │ │ │ │ ├── minimal.css │ │ │ │ └── red.css │ │ │ ├── square │ │ │ │ ├── aero.png │ │ │ │ ├── blue.png │ │ │ │ ├── green.png │ │ │ │ ├── grey.png │ │ │ │ ├── pink.png │ │ │ │ ├── red.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── orange.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── square.png │ │ │ │ ├── yellow.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── square@2x.png │ │ │ │ ├── yellow@2x.png │ │ │ │ ├── square.css │ │ │ │ ├── red.css │ │ │ │ ├── aero.css │ │ │ │ ├── blue.css │ │ │ │ ├── grey.css │ │ │ │ └── pink.css │ │ │ ├── futurico │ │ │ │ ├── futurico.png │ │ │ │ ├── futurico@2x.png │ │ │ │ └── futurico.css │ │ │ ├── polaris │ │ │ │ ├── polaris.png │ │ │ │ ├── polaris@2x.png │ │ │ │ └── polaris.css │ │ │ └── all.css │ │ ├── ztree │ │ │ └── metroStyle │ │ │ │ └── img │ │ │ │ ├── metro.gif │ │ │ │ ├── metro.png │ │ │ │ ├── loading.gif │ │ │ │ └── line_conn.png │ │ ├── admin.css │ │ ├── alt │ │ │ └── AdminLTE-fullcalendar.min.css │ │ └── pace.min.css │ └── js │ │ └── bootstrap-table-zh-CN.min.js │ ├── META-INF │ ├── spring-devtools.properties │ ├── maven │ │ └── com.springboot │ │ │ └── SpringbootCRM │ │ │ └── pom.properties │ └── MANIFEST.MF │ ├── templates │ ├── base │ │ ├── unauthorized.html │ │ ├── footer.html │ │ ├── content-wrapper.html │ │ └── blank.html │ └── system │ │ └── generator.html │ ├── application-prd.yml │ ├── application-dev.yml │ ├── application.yml │ ├── ehcache.xml │ └── generator │ └── generatorConfig.xml ├── src ├── main │ ├── resources │ │ ├── static │ │ │ ├── img │ │ │ │ ├── icons.png │ │ │ │ ├── avatar.png │ │ │ │ ├── avatar2.png │ │ │ │ ├── avatar3.png │ │ │ │ ├── avatar5.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── photo1.png │ │ │ │ ├── photo2.png │ │ │ │ ├── photo3.jpg │ │ │ │ ├── photo4.jpg │ │ │ │ ├── avatar04.png │ │ │ │ ├── boxed-bg.jpg │ │ │ │ ├── boxed-bg.png │ │ │ │ ├── credit │ │ │ │ │ ├── visa.png │ │ │ │ │ ├── cirrus.png │ │ │ │ │ ├── mestro.png │ │ │ │ │ ├── paypal.png │ │ │ │ │ ├── paypal2.png │ │ │ │ │ ├── mastercard.png │ │ │ │ │ └── american-express.png │ │ │ │ ├── default-50x50.gif │ │ │ │ ├── user1-128x128.jpg │ │ │ │ ├── user2-160x160.jpg │ │ │ │ ├── user3-128x128.jpg │ │ │ │ ├── user4-128x128.jpg │ │ │ │ ├── user5-128x128.jpg │ │ │ │ ├── user6-128x128.jpg │ │ │ │ ├── user7-128x128.jpg │ │ │ │ └── user8-128x128.jpg │ │ │ ├── fonts │ │ │ │ ├── ionicons.eot │ │ │ │ ├── ionicons.ttf │ │ │ │ ├── ionicons.woff │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── css │ │ │ │ ├── iCheck │ │ │ │ │ ├── flat │ │ │ │ │ │ ├── red.png │ │ │ │ │ │ ├── aero.png │ │ │ │ │ │ ├── blue.png │ │ │ │ │ │ ├── flat.png │ │ │ │ │ │ ├── green.png │ │ │ │ │ │ ├── grey.png │ │ │ │ │ │ ├── pink.png │ │ │ │ │ │ ├── aero@2x.png │ │ │ │ │ │ ├── blue@2x.png │ │ │ │ │ │ ├── flat@2x.png │ │ │ │ │ │ ├── green@2x.png │ │ │ │ │ │ ├── grey@2x.png │ │ │ │ │ │ ├── orange.png │ │ │ │ │ │ ├── pink@2x.png │ │ │ │ │ │ ├── purple.png │ │ │ │ │ │ ├── red@2x.png │ │ │ │ │ │ ├── yellow.png │ │ │ │ │ │ ├── orange@2x.png │ │ │ │ │ │ ├── purple@2x.png │ │ │ │ │ │ ├── yellow@2x.png │ │ │ │ │ │ ├── flat.css │ │ │ │ │ │ ├── red.css │ │ │ │ │ │ ├── aero.css │ │ │ │ │ │ ├── blue.css │ │ │ │ │ │ ├── grey.css │ │ │ │ │ │ ├── pink.css │ │ │ │ │ │ ├── green.css │ │ │ │ │ │ ├── orange.css │ │ │ │ │ │ ├── purple.css │ │ │ │ │ │ └── yellow.css │ │ │ │ │ ├── line │ │ │ │ │ │ ├── line.png │ │ │ │ │ │ └── line@2x.png │ │ │ │ │ ├── square │ │ │ │ │ │ ├── red.png │ │ │ │ │ │ ├── aero.png │ │ │ │ │ │ ├── blue.png │ │ │ │ │ │ ├── green.png │ │ │ │ │ │ ├── grey.png │ │ │ │ │ │ ├── orange.png │ │ │ │ │ │ ├── pink.png │ │ │ │ │ │ ├── purple.png │ │ │ │ │ │ ├── red@2x.png │ │ │ │ │ │ ├── square.png │ │ │ │ │ │ ├── yellow.png │ │ │ │ │ │ ├── aero@2x.png │ │ │ │ │ │ ├── blue@2x.png │ │ │ │ │ │ ├── green@2x.png │ │ │ │ │ │ ├── grey@2x.png │ │ │ │ │ │ ├── pink@2x.png │ │ │ │ │ │ ├── orange@2x.png │ │ │ │ │ │ ├── purple@2x.png │ │ │ │ │ │ ├── square@2x.png │ │ │ │ │ │ ├── yellow@2x.png │ │ │ │ │ │ ├── square.css │ │ │ │ │ │ ├── red.css │ │ │ │ │ │ └── aero.css │ │ │ │ │ ├── minimal │ │ │ │ │ │ ├── aero.png │ │ │ │ │ │ ├── blue.png │ │ │ │ │ │ ├── green.png │ │ │ │ │ │ ├── grey.png │ │ │ │ │ │ ├── pink.png │ │ │ │ │ │ ├── red.png │ │ │ │ │ │ ├── aero@2x.png │ │ │ │ │ │ ├── blue@2x.png │ │ │ │ │ │ ├── grey@2x.png │ │ │ │ │ │ ├── minimal.png │ │ │ │ │ │ ├── orange.png │ │ │ │ │ │ ├── pink@2x.png │ │ │ │ │ │ ├── purple.png │ │ │ │ │ │ ├── red@2x.png │ │ │ │ │ │ ├── yellow.png │ │ │ │ │ │ ├── green@2x.png │ │ │ │ │ │ ├── minimal@2x.png │ │ │ │ │ │ ├── orange@2x.png │ │ │ │ │ │ ├── purple@2x.png │ │ │ │ │ │ ├── yellow@2x.png │ │ │ │ │ │ ├── minimal.css │ │ │ │ │ │ └── red.css │ │ │ │ │ ├── polaris │ │ │ │ │ │ ├── polaris.png │ │ │ │ │ │ ├── polaris@2x.png │ │ │ │ │ │ └── polaris.css │ │ │ │ │ ├── futurico │ │ │ │ │ │ ├── futurico.png │ │ │ │ │ │ ├── futurico@2x.png │ │ │ │ │ │ └── futurico.css │ │ │ │ │ └── all.css │ │ │ │ ├── ztree │ │ │ │ │ └── metroStyle │ │ │ │ │ │ └── img │ │ │ │ │ │ ├── metro.gif │ │ │ │ │ │ ├── metro.png │ │ │ │ │ │ ├── line_conn.png │ │ │ │ │ │ └── loading.gif │ │ │ │ ├── admin.css │ │ │ │ ├── alt │ │ │ │ │ └── AdminLTE-fullcalendar.min.css │ │ │ │ └── pace.min.css │ │ │ └── js │ │ │ │ └── bootstrap-table-zh-CN.min.js │ │ ├── META-INF │ │ │ └── spring-devtools.properties │ │ ├── templates │ │ │ ├── base │ │ │ │ ├── unauthorized.html │ │ │ │ ├── footer.html │ │ │ │ ├── content-wrapper.html │ │ │ │ └── blank.html │ │ │ └── system │ │ │ │ └── generator.html │ │ ├── application.properties │ │ ├── application-prd.yml │ │ ├── application-dev.yml │ │ ├── application.yml │ │ ├── ehcache.xml │ │ └── generator │ │ │ └── generatorConfig.xml │ └── java │ │ └── com │ │ └── springboot │ │ ├── modules │ │ └── system │ │ │ ├── mapper │ │ │ ├── LogMapper.java │ │ │ ├── RoleMapper.java │ │ │ ├── UserMapper.java │ │ │ ├── GroupMapper.java │ │ │ ├── LogMapper.xml │ │ │ ├── ResourceMapper.java │ │ │ ├── RoleMapper.xml │ │ │ ├── GroupMapper.xml │ │ │ ├── UserMapper.xml │ │ │ ├── ResourceMapper.xml │ │ │ ├── OrganizationMapper.java │ │ │ └── OrganizationMapper.xml │ │ │ ├── enums │ │ │ ├── ResourceType.java │ │ │ └── GroupType.java │ │ │ ├── service │ │ │ ├── LogService.java │ │ │ ├── OrganizationService.java │ │ │ ├── RoleService.java │ │ │ ├── ResourceService.java │ │ │ ├── GroupService.java │ │ │ ├── UserService.java │ │ │ └── PasswordHelper.java │ │ │ ├── query │ │ │ ├── UserQuery.java │ │ │ ├── GroupQuery.java │ │ │ └── RoleQuery.java │ │ │ ├── dto │ │ │ └── TreeDto.java │ │ │ ├── web │ │ │ ├── LogController.java │ │ │ └── LoginController.java │ │ │ └── entity │ │ │ └── Group.java │ │ ├── config │ │ ├── MyBatisConfig.java │ │ ├── ThymeleafConfig.java │ │ ├── WebAppConfiguration.java │ │ ├── WebMvcConfig.java │ │ └── EhCacheConfig.java │ │ ├── utils │ │ ├── BaseController.java │ │ ├── Constants.java │ │ ├── PageResultSet.java │ │ ├── ResultCodeEnum.java │ │ ├── PropertiesUtil.java │ │ └── MyMapper.java │ │ ├── core │ │ ├── annotation │ │ │ └── SystemLog.java │ │ ├── exception │ │ │ └── CrmException.java │ │ ├── bind │ │ │ └── CustomObjectMapper.java │ │ └── shiro │ │ │ └── credentials │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ └── Application.java └── test │ └── java │ └── com │ └── springboot │ └── ApplicationTests.java ├── README.md ├── .project └── .classpath /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /docs/img/15357025821.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/15357025821.jpg -------------------------------------------------------------------------------- /docs/img/15357026582.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/15357026582.jpg -------------------------------------------------------------------------------- /docs/img/15357026933.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/15357026933.jpg -------------------------------------------------------------------------------- /docs/img/15357027294.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/15357027294.jpg -------------------------------------------------------------------------------- /docs/img/15357027585.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/15357027585.jpg -------------------------------------------------------------------------------- /docs/img/1535707058(1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/1535707058(1).jpg -------------------------------------------------------------------------------- /docs/img/1535707141(1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/1535707141(1).jpg -------------------------------------------------------------------------------- /docs/img/1535707191(1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/docs/img/1535707191(1).jpg -------------------------------------------------------------------------------- /.settings/org.springframework.ide.eclipse.prefs: -------------------------------------------------------------------------------- 1 | boot.validation.initialized=true 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /target/classes/static/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/avatar.png -------------------------------------------------------------------------------- /target/classes/static/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/icons.png -------------------------------------------------------------------------------- /target/classes/static/img/photo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/photo1.png -------------------------------------------------------------------------------- /target/classes/static/img/photo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/photo2.png -------------------------------------------------------------------------------- /target/classes/static/img/photo3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/photo3.jpg -------------------------------------------------------------------------------- /target/classes/static/img/photo4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/photo4.jpg -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /src/main/resources/static/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/icons.png -------------------------------------------------------------------------------- /target/classes/static/img/avatar04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/avatar04.png -------------------------------------------------------------------------------- /target/classes/static/img/avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/avatar2.png -------------------------------------------------------------------------------- /target/classes/static/img/avatar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/avatar3.png -------------------------------------------------------------------------------- /target/classes/static/img/avatar5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/avatar5.png -------------------------------------------------------------------------------- /target/classes/static/img/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/boxed-bg.jpg -------------------------------------------------------------------------------- /target/classes/static/img/boxed-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/boxed-bg.png -------------------------------------------------------------------------------- /target/classes/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/favicon.ico -------------------------------------------------------------------------------- /src/main/resources/static/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/avatar.png -------------------------------------------------------------------------------- /src/main/resources/static/img/avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/avatar2.png -------------------------------------------------------------------------------- /src/main/resources/static/img/avatar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/avatar3.png -------------------------------------------------------------------------------- /src/main/resources/static/img/avatar5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/avatar5.png -------------------------------------------------------------------------------- /src/main/resources/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/favicon.ico -------------------------------------------------------------------------------- /src/main/resources/static/img/photo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/photo1.png -------------------------------------------------------------------------------- /src/main/resources/static/img/photo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/photo2.png -------------------------------------------------------------------------------- /src/main/resources/static/img/photo3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/photo3.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/photo4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/photo4.jpg -------------------------------------------------------------------------------- /target/classes/static/fonts/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/ionicons.eot -------------------------------------------------------------------------------- /target/classes/static/fonts/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/ionicons.ttf -------------------------------------------------------------------------------- /target/classes/static/fonts/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/ionicons.woff -------------------------------------------------------------------------------- /target/classes/static/img/credit/visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/visa.png -------------------------------------------------------------------------------- /src/main/resources/static/fonts/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/ionicons.eot -------------------------------------------------------------------------------- /src/main/resources/static/fonts/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/ionicons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/img/avatar04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/avatar04.png -------------------------------------------------------------------------------- /src/main/resources/static/img/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/boxed-bg.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/boxed-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/boxed-bg.png -------------------------------------------------------------------------------- /target/classes/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /target/classes/static/img/credit/cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/cirrus.png -------------------------------------------------------------------------------- /target/classes/static/img/credit/mestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/mestro.png -------------------------------------------------------------------------------- /target/classes/static/img/credit/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/paypal.png -------------------------------------------------------------------------------- /target/classes/static/img/credit/paypal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/paypal2.png -------------------------------------------------------------------------------- /target/classes/static/img/default-50x50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/default-50x50.gif -------------------------------------------------------------------------------- /target/classes/static/img/user1-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user1-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user2-160x160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user2-160x160.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user3-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user3-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user4-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user4-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user5-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user5-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user6-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user6-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user7-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user7-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/img/user8-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/user8-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/fonts/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/ionicons.woff -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/visa.png -------------------------------------------------------------------------------- /target/classes/META-INF/spring-devtools.properties: -------------------------------------------------------------------------------- 1 | restart.include.mapper=/mapper-[\\w-\\.]+jar 2 | restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/aero.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/blue.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/flat.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/grey.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/pink.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/red.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/line/line.png -------------------------------------------------------------------------------- /src/main/resources/META-INF/spring-devtools.properties: -------------------------------------------------------------------------------- 1 | restart.include.mapper=/mapper-[\\w-\\.]+jar 2 | restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/red.png -------------------------------------------------------------------------------- /src/main/resources/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/cirrus.png -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/mestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/mestro.png -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/paypal.png -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/paypal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/paypal2.png -------------------------------------------------------------------------------- /src/main/resources/static/img/default-50x50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/default-50x50.gif -------------------------------------------------------------------------------- /src/main/resources/static/img/user1-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user1-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user2-160x160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user2-160x160.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user3-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user3-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user4-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user4-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user5-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user5-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user6-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user6-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user7-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user7-128x128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/img/user8-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/user8-128x128.jpg -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/aero@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/blue@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/flat@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/green.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/grey@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/orange.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/pink@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/purple.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/red@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/yellow.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/line/line@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/aero.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/blue.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/grey.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/pink.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/red.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/aero.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/blue.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/green.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/grey.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/pink.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/red.png -------------------------------------------------------------------------------- /target/classes/static/img/credit/mastercard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/mastercard.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/aero.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/blue.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/flat.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/green.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/grey.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/pink.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/line/line.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/red.png -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/mastercard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/mastercard.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/green@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/orange@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/purple@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/flat/yellow@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/green.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/orange.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/purple.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/red@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/yellow.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/aero@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/blue@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/grey@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/orange.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/pink@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/purple.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/red@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/square.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/yellow.png -------------------------------------------------------------------------------- /target/classes/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /target/classes/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/aero@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/blue@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/flat@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/green@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/grey@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/orange.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/pink@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/purple.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/red@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/yellow.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/line/line@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/aero.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/blue.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/green.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/grey.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/pink.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/red.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/aero.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/blue.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/green.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/grey.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/orange.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/pink.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/purple.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/red@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/square.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/yellow.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/futurico/futurico.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/aero@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/blue@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/green@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/grey@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/minimal.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/orange@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/pink@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/purple@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/yellow@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/polaris/polaris.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/green@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/orange@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/purple@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/square@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/square/yellow@2x.png -------------------------------------------------------------------------------- /target/classes/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /target/classes/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /target/classes/static/img/credit/american-express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/img/credit/american-express.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/orange@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/purple@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/flat/yellow@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/aero@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/blue@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/grey@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/minimal.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/orange.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/pink@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/purple.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/red@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/yellow.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/polaris/polaris.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/aero@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/blue@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/green@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/grey@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/pink@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/minimal/minimal@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/polaris/polaris@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/polaris/polaris@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/ztree/metroStyle/img/metro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/ztree/metroStyle/img/metro.gif -------------------------------------------------------------------------------- /target/classes/static/css/ztree/metroStyle/img/metro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/ztree/metroStyle/img/metro.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/futurico/futurico.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/green@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/minimal@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/orange@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/purple@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/minimal/yellow@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/polaris/polaris@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/polaris/polaris@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/orange@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/purple@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/square@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/square/yellow@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/img/credit/american-express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/img/credit/american-express.png -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/futurico/futurico@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/iCheck/futurico/futurico@2x.png -------------------------------------------------------------------------------- /target/classes/static/css/ztree/metroStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/ztree/metroStyle/img/loading.gif -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/futurico/futurico@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/iCheck/futurico/futurico@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/ztree/metroStyle/img/metro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/ztree/metroStyle/img/metro.gif -------------------------------------------------------------------------------- /src/main/resources/static/css/ztree/metroStyle/img/metro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/ztree/metroStyle/img/metro.png -------------------------------------------------------------------------------- /target/classes/static/css/ztree/metroStyle/img/line_conn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/css/ztree/metroStyle/img/line_conn.png -------------------------------------------------------------------------------- /target/classes/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /target/classes/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /target/classes/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/static/css/ztree/metroStyle/img/line_conn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/ztree/metroStyle/img/line_conn.png -------------------------------------------------------------------------------- /src/main/resources/static/css/ztree/metroStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/css/ztree/metroStyle/img/loading.gif -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /target/classes/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/target/classes/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenfengSAT/SpringbootCRM/HEAD/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/main/resources/application.properties=UTF-8 5 | encoding//src/test/java=UTF-8 6 | encoding/=UTF-8 7 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/LogMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.mapper; 2 | 3 | import com.springboot.modules.system.entity.Log; 4 | import com.springboot.utils.MyMapper; 5 | 6 | public interface LogMapper extends MyMapper { 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/RoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.mapper; 2 | 3 | import com.springboot.modules.system.entity.Role; 4 | import com.springboot.utils.MyMapper; 5 | 6 | public interface RoleMapper extends MyMapper { 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/UserMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.mapper; 2 | 3 | import com.springboot.modules.system.entity.User; 4 | import com.springboot.utils.MyMapper; 5 | 6 | public interface UserMapper extends MyMapper { 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/GroupMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.mapper; 2 | 3 | import com.springboot.modules.system.entity.Group; 4 | import com.springboot.utils.MyMapper; 5 | 6 | public interface GroupMapper extends MyMapper { 7 | 8 | } -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 3 | org.eclipse.jdt.core.compiler.compliance=1.8 4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 5 | org.eclipse.jdt.core.compiler.source=1.8 6 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/LogMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/ResourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.mapper; 2 | 3 | import com.springboot.modules.system.entity.Resource; 4 | import com.springboot.utils.MyMapper; 5 | 6 | public interface ResourceMapper extends MyMapper { 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/RoleMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/GroupMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/ResourceMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /target/classes/META-INF/maven/com.springboot/SpringbootCRM/pom.properties: -------------------------------------------------------------------------------- 1 | #Generated by Maven Integration for Eclipse 2 | #Thu Mar 14 12:14:32 CST 2019 3 | version=0.0.1-SNAPSHOT 4 | groupId=com.springboot 5 | m2e.projectName=SpringbootCRM 6 | m2e.projectLocation=D\:\\workplace\\618_workplace\\SpringbootCRM 7 | artifactId=SpringbootCRM 8 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/config/MyBatisConfig.java: -------------------------------------------------------------------------------- 1 | package com.springboot.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import tk.mybatis.spring.annotation.MapperScan; 5 | 6 | @Configuration 7 | @MapperScan(basePackages = "com.springboot.modules.*.mapper") 8 | public class MyBatisConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/utils/BaseController.java: -------------------------------------------------------------------------------- 1 | package com.springboot.utils; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | public class BaseController { 7 | 8 | protected Logger logger = LoggerFactory.getLogger(this.getClass()); 9 | 10 | 11 | public BaseController() { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /target/classes/templates/base/unauthorized.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 没有权限 6 | 7 | 8 | 9 | 10 |
对不起,您没有权限[${exception.message}]
11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/unauthorized.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 没有权限 6 | 7 | 8 | 9 | 10 |
对不起,您没有权限[${exception.message}]
11 | 12 | -------------------------------------------------------------------------------- /target/classes/static/css/admin.css: -------------------------------------------------------------------------------- 1 | .asterisk { 2 | font-style: normal; 3 | color: red; 4 | } 5 | .admin-hide { 6 | display: none; 7 | } 8 | .records { 9 | color: red; 10 | font-weight: bold; 11 | } 12 | [data-notify="container"] { 13 | width: auto; 14 | } 15 | [data-notify="message"] { 16 | padding-left:10px; 17 | padding-right:10px; 18 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/admin.css: -------------------------------------------------------------------------------- 1 | .asterisk { 2 | font-style: normal; 3 | color: red; 4 | } 5 | .admin-hide { 6 | display: none; 7 | } 8 | .records { 9 | color: red; 10 | font-weight: bold; 11 | } 12 | [data-notify="container"] { 13 | width: auto; 14 | } 15 | [data-notify="message"] { 16 | padding-left:10px; 17 | padding-right:10px; 18 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/OrganizationMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.mapper; 2 | 3 | import com.springboot.modules.system.entity.Organization; 4 | import com.springboot.utils.MyMapper; 5 | 6 | public interface OrganizationMapper extends MyMapper { 7 | 8 | int updateSalefParentIds(String makeSelfAsParentIds); 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/enums/ResourceType.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.enums; 2 | 3 | public enum ResourceType { 4 | MENU("菜单"), BUTTON("按钮"); 5 | 6 | private final String info; 7 | 8 | private ResourceType(String info) { 9 | this.info = info; 10 | } 11 | 12 | public String getInfo() { 13 | return info; 14 | } 15 | } -------------------------------------------------------------------------------- /target/classes/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Implementation-Title: SpringbootCRM 3 | Implementation-Version: 0.0.1-SNAPSHOT 4 | Built-By: uidq1456 5 | Implementation-Vendor-Id: com.springboot 6 | Build-Jdk: 1.8.0_121 7 | Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo 8 | ot-starter-parent/SpringbootCRM 9 | Created-By: Maven Integration for Eclipse 10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #Github上申请的appId 2 | github.appId=eff0d64563b0ec06f4e9 3 | #Github上申请的appSecret 4 | github.appSecret=42dd76388c5aea9dba9420de42ec84ce170e6ba5 5 | #Github登录成功之后的回调系统地址 6 | github.callbackUrl=http://127.0.0.1:8080/OAuth/callback/getOAuth 7 | #系统跳转到Github认证登录地址 8 | github.redrictUrl=https://github.com/login/oauth/authorize?client_id=eff0d64563b0ec06f4e9&scope=user,public_repo 9 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/config/ThymeleafConfig.java: -------------------------------------------------------------------------------- 1 | package com.springboot.config; 2 | 3 | import at.pollux.thymeleaf.shiro.dialect.ShiroDialect; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | @Configuration 8 | public class ThymeleafConfig { 9 | 10 | @Bean 11 | public ShiroDialect shiroDialect(){ 12 | return new ShiroDialect(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /target/classes/application-prd.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | level: 3 | root: info 4 | server: 5 | port: 8080 6 | servlet: 7 | context-path: / 8 | spring: 9 | datasource: 10 | driver-class-name: com.mysql.jdbc.Driver 11 | druid: 12 | initial-size: 1 13 | max-active: 20 14 | min-idle: 1 15 | stat-view-servlet: 16 | allow: true 17 | test-on-borrow: true 18 | password: 123456 19 | url: jdbc:mysql://localhost:3306/springboot_demo 20 | username: root 21 | thymeleaf: 22 | cache: true -------------------------------------------------------------------------------- /src/main/resources/application-prd.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | level: 3 | root: info 4 | server: 5 | port: 8080 6 | servlet: 7 | context-path: / 8 | spring: 9 | datasource: 10 | driver-class-name: com.mysql.jdbc.Driver 11 | druid: 12 | initial-size: 1 13 | max-active: 20 14 | min-idle: 1 15 | stat-view-servlet: 16 | allow: true 17 | test-on-borrow: true 18 | password: 123456 19 | url: jdbc:mysql://localhost:3306/springboot_demo 20 | username: root 21 | thymeleaf: 22 | cache: true -------------------------------------------------------------------------------- /target/classes/application-dev.yml: -------------------------------------------------------------------------------- 1 | debug: true 2 | logging: 3 | level: 4 | root: debug 5 | server: 6 | port: 8080 7 | servlet: 8 | context-path: / 9 | spring: 10 | datasource: 11 | driver-class-name: com.mysql.jdbc.Driver 12 | druid: 13 | initial-size: 1 14 | max-active: 20 15 | min-idle: 1 16 | stat-view-servlet: 17 | allow: true 18 | test-on-borrow: true 19 | password: 123456 20 | url: jdbc:mysql://localhost:3306/springboot_demo 21 | username: root 22 | thymeleaf: 23 | cache: false -------------------------------------------------------------------------------- /src/main/resources/application-dev.yml: -------------------------------------------------------------------------------- 1 | debug: true 2 | logging: 3 | level: 4 | root: debug 5 | server: 6 | port: 8080 7 | servlet: 8 | context-path: / 9 | spring: 10 | datasource: 11 | driver-class-name: com.mysql.jdbc.Driver 12 | druid: 13 | initial-size: 1 14 | max-active: 20 15 | min-idle: 1 16 | stat-view-servlet: 17 | allow: true 18 | test-on-borrow: true 19 | password: 123456 20 | url: jdbc:mysql://localhost:3306/springboot_demo 21 | username: root 22 | thymeleaf: 23 | cache: false -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/mapper/OrganizationMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | update sys_organization set parent_ids=concat(#{makeSelfAsParentIds}, substring(parent_ids, length(#{makeSelfAsParentIds}))) where parent_ids like #{makeSelfAsParentIds} + '%' 6 | 7 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/LogService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import com.springboot.modules.system.entity.Log; 4 | import com.springboot.modules.system.query.LogQuery; 5 | import com.springboot.utils.PageResultSet; 6 | 7 | public interface LogService { 8 | 9 | /** 10 | * 创建日志 11 | * @param log 12 | * @return 13 | */ 14 | void create(Log log); 15 | 16 | /** 17 | * 分页查询日志 18 | * @param log 19 | * @return 20 | */ 21 | PageResultSet findByPage(LogQuery log); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/springboot/ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.springboot; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | import com.springboot.modules.system.entity.User; 9 | 10 | import tk.mybatis.mapper.mapperhelper.EntityHelper; 11 | 12 | @RunWith(SpringRunner.class) 13 | @SpringBootTest 14 | public class ApplicationTests { 15 | 16 | @Test 17 | public void contextLoads() { 18 | EntityHelper.getOrderByClause(User.class); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /target/classes/templates/base/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | Springboot CRM 7 | 8 | 9 |
10 | 13 | Copyright © 2018 wenfengSAT 14 |
15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | Springboot CRM 7 | 8 | 9 |
10 | 13 | Copyright © 2018 wenfengSAT 14 |
15 | 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | - 创建数据库springboot_demo,数据库编码为UTF-8 2 | - 执行docs/sql/init.sql文件,初始化表 3 | - 执行docs/sql/data.sql文件,初始化数据 4 | - 运行Application类 5 | - 项目访问路径:http://localhost:8080/ 6 | - 账号密码:admin/123456 7 | 8 | ![image](https://github.com/wenfengSAT/SpringbootCRM/blob/master/docs/img/15357025821.jpg) 9 | 10 | ![image](https://github.com/wenfengSAT/SpringbootCRM/blob/master/docs/img/15357026582.jpg) 11 | 12 | ![image](https://github.com/wenfengSAT/SpringbootCRM/blob/master/docs/img/15357026933.jpg) 13 | 14 | ![image](https://github.com/wenfengSAT/SpringbootCRM/blob/master/docs/img/15357027294.jpg) 15 | 16 | ![image](https://github.com/wenfengSAT/SpringbootCRM/blob/master/docs/img/15357027585.jpg) 17 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/config/WebAppConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.springboot.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 6 | 7 | @SuppressWarnings("deprecation") 8 | @Configuration 9 | public class WebAppConfiguration extends WebMvcConfigurerAdapter { 10 | 11 | @Override 12 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 13 | registry.addResourceHandler("/static/**").addResourceLocations("file:/E:/static/"); 14 | super.addResourceHandlers(registry); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | mvc: 3 | view: # 视图相关 4 | prefix: /templates/ 5 | suffix: .html 6 | #output: 7 | # ansi: 8 | # enabled: ALWAYS # 输出带颜色的日志信息 9 | profiles: 10 | active: dev # 设置激活的环境 11 | 12 | mybatis: # mybatis 配置 13 | mapper-locations: classpath:com/springboot/modules/**/mapper/*.xml 14 | type-aliases-package: com.springboot.modules.*.po 15 | 16 | mapper: # 通用 Mapper 配置 17 | identity: MYSQL 18 | mappers: com.springboot.utils.MyMapper 19 | not-empty: false 20 | 21 | pagehelper: # 分页插件配置 22 | helperDialect: mysql 23 | params: count=countSql 24 | reasonable: true 25 | supportMethodsArguments: true 26 | 27 | password: #shiro 28 | algorithmName: md5 29 | hashIterations: 2 -------------------------------------------------------------------------------- /target/classes/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | mvc: 3 | view: # 视图相关 4 | prefix: /templates/ 5 | suffix: .html 6 | #output: 7 | # ansi: 8 | # enabled: ALWAYS # 输出带颜色的日志信息 9 | profiles: 10 | active: dev # 设置激活的环境 11 | 12 | mybatis: # mybatis 配置 13 | mapper-locations: classpath:com/springboot/modules/**/mapper/*.xml 14 | type-aliases-package: com.springboot.modules.*.po 15 | 16 | mapper: # 通用 Mapper 配置 17 | identity: MYSQL 18 | mappers: com.springboot.utils.MyMapper 19 | not-empty: false 20 | 21 | pagehelper: # 分页插件配置 22 | helperDialect: mysql 23 | params: count=countSql 24 | reasonable: true 25 | supportMethodsArguments: true 26 | 27 | password: #shiro 28 | algorithmName: md5 29 | hashIterations: 2 -------------------------------------------------------------------------------- /src/main/java/com/springboot/core/annotation/SystemLog.java: -------------------------------------------------------------------------------- 1 | package com.springboot.core.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 7 | * @Description:日志注解 拦截controller请求 8 | * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:27:11] 9 | * @Modified By: [修改人] on [修改日期] for [修改说明] 10 | * 11 | */ 12 | @Target({ElementType.PARAMETER, ElementType.METHOD}) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Documented 15 | public @interface SystemLog { 16 | 17 | // String module() default ""; //例:模块名称 系统管理-用户管理-列表页面 暂不需要 18 | 19 | /** 20 | * 日志描述
21 | * 例如:新增用户 22 | */ 23 | String value() default ""; 24 | 25 | /** 26 | * 日志描述
27 | * 例如:新增用户 28 | */ 29 | String desc() default ""; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/utils/Constants.java: -------------------------------------------------------------------------------- 1 | package com.springboot.utils; 2 | 3 | public class Constants { 4 | 5 | /** 6 | * 当前用户 7 | */ 8 | public static final String CURRENT_USER = "user"; 9 | 10 | /** 11 | * 权限集合 12 | */ 13 | public static final String PERMISSIONS = "permissions"; 14 | 15 | /** 16 | * 菜单根id 17 | */ 18 | public static final Long MENU_ROOT_ID = 1L; 19 | 20 | /** 21 | * 菜单树 22 | */ 23 | public static final String MENU_TREE = "menuTree"; 24 | 25 | public static final String SHARP = "#"; 26 | /** 27 | * 组织机构根id 28 | */ 29 | public static final Long ORG_ROOT_ID = 0L; 30 | 31 | 32 | /** 33 | * 构造函数私有化,避免被实例化 34 | */ 35 | private Constants() { 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/utils/PageResultSet.java: -------------------------------------------------------------------------------- 1 | package com.springboot.utils; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | /** 7 | * 通用分页返回结果集 8 | * 9 | */ 10 | public class PageResultSet implements Serializable { 11 | 12 | private static final long serialVersionUID = 1L; 13 | /** 14 | * 总数 15 | */ 16 | private long total; 17 | /** 18 | * 返回的行数 19 | */ 20 | private List rows; 21 | 22 | 23 | public long getTotal() { 24 | return total; 25 | } 26 | 27 | public void setTotal(long total) { 28 | this.total = total; 29 | } 30 | 31 | public List getRows() { 32 | return rows; 33 | } 34 | 35 | public void setRows(List rows) { 36 | this.rows = rows; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | SpringbootCRM 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | org.springframework.ide.eclipse.boot.validation.springbootbuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.jdt.core.javanature 26 | org.eclipse.m2e.core.maven2Nature 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/config/WebMvcConfig.java: -------------------------------------------------------------------------------- 1 | package com.springboot.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.context.request.RequestContextListener; 6 | import org.springframework.web.servlet.config.annotation.*; 7 | 8 | @Configuration 9 | @EnableWebMvc 10 | public class WebMvcConfig implements WebMvcConfigurer { 11 | 12 | @Override 13 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 14 | registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); 15 | } 16 | 17 | @Bean 18 | public RequestContextListener requestContextListener(){ 19 | return new RequestContextListener(); 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/query/UserQuery.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.query; 2 | 3 | import com.springboot.modules.system.entity.User; 4 | import com.springboot.utils.BaseQuery; 5 | 6 | public class UserQuery extends BaseQuery { 7 | 8 | /** 9 | * 10 | */ 11 | private static final long serialVersionUID = 1L; 12 | 13 | /** 14 | * 用户名 15 | */ 16 | private String username; 17 | 18 | private Boolean locked; 19 | 20 | 21 | public String getUsername() { 22 | return username; 23 | } 24 | 25 | public void setUsername(String username) { 26 | this.username = username; 27 | } 28 | 29 | public Boolean getLocked() { 30 | return locked; 31 | } 32 | 33 | public void setLocked(Boolean locked) { 34 | this.locked = locked; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/static/js/bootstrap-table-zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.12.1 - 2018-03-12 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2018 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";a.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候……"},formatRecordsPerPage:function(a){return"每页显示 "+a+" 条记录"},formatShowingRows:function(a,b,c){return"显示第 "+a+" 到第 "+b+" 条记录,总共 "+c+" 条记录"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatColumns:function(){return"列"},formatExport:function(){return"导出数据"},formatClearFilters:function(){return"清空过滤"}},a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales["zh-CN"])}(jQuery); -------------------------------------------------------------------------------- /target/classes/static/js/bootstrap-table-zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.12.1 - 2018-03-12 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2018 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";a.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候……"},formatRecordsPerPage:function(a){return"每页显示 "+a+" 条记录"},formatShowingRows:function(a,b,c){return"显示第 "+a+" 到第 "+b+" 条记录,总共 "+c+" 条记录"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatColumns:function(){return"列"},formatExport:function(){return"导出数据"},formatClearFilters:function(){return"清空过滤"}},a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales["zh-CN"])}(jQuery); -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/enums/GroupType.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.enums; 2 | 3 | public enum GroupType { 4 | GROUP_1, 5 | GROUP_2, 6 | GROUP_3 7 | /** 8 | * 1、用户User:最终操作人员,权限的最终受益者,控制权限控制权限实际上就是控制用户的权限,而不是角色或者用户组的权限 9 | * 2、用户组UserGroup:是相对垂直而言的。比如说采购部这个用户组实际上是由采购部的业务员(暂且定义都为用户)组成的,具有上下级的明确关系;采购部只能查看属于采购部的文档,销售部只能查看属于销售部的文档,带有强烈的部门(组)性质,但是采购部业务员虽然都是属于同一个部门,但是却不一定有着相同的权限,比如说经理和一般业务员的权限肯定存在差异 10 | * 3、角色Role:用户组是带有一种垂直既自上而下的性质,而角色的范围则没有带着那么浓厚的垂直关系,而是带有比较明显的水平(交叉)性质;比方说现定义一个角色:经理,这个经理包含了各个部门的经理,而不单单是采购部经理或者是销售部经理,很明显这个‘经理’角色显然同时具有各部门的经理的权限,也就是说这时候如果各部门经理们只是处于该‘经理’角色,那么采购部经理不但具有采购部经理的操作权限,同时也被赋予了其他各部门经理的权限,这个时候各个部门经理的权限是一致的,但是这样势必造成权限的拥堵或者混乱,此时刚才提到的第一个对象:用户就派上用场了,几个部门经理同属于‘经理’角色情况下又想他们之间的权限有区别,你只能对每个部门经理(身份为:用户)单独授权了,当然你也可以根据该用户身处的用户组和角色之间的关联关系或者排斥关系来确认用户的最终权限。 11 | */ 12 | //···相比用户角色管理,可以垂直粒度进行用户管理 13 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/query/GroupQuery.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.query; 2 | 3 | import com.springboot.modules.system.entity.Group; 4 | import com.springboot.utils.BaseQuery; 5 | 6 | public class GroupQuery extends BaseQuery { 7 | /** 8 | * 9 | */ 10 | private static final long serialVersionUID = 1L; 11 | 12 | /** 13 | * 组名称 14 | */ 15 | private String name; 16 | 17 | /** 18 | * 描述 19 | */ 20 | private String description; 21 | 22 | public String getName() { 23 | return name; 24 | } 25 | 26 | public void setName(String name) { 27 | this.name = name; 28 | } 29 | 30 | 31 | public String getDescription() { 32 | return description; 33 | } 34 | 35 | public void setDescription(String description) { 36 | this.description = description; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/query/RoleQuery.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.query; 2 | 3 | import com.springboot.modules.system.entity.Role; 4 | import com.springboot.utils.BaseQuery; 5 | 6 | public class RoleQuery extends BaseQuery { 7 | 8 | /** 9 | * 10 | */ 11 | private static final long serialVersionUID = 1L; 12 | /** 13 | * 角色标识 程序中判断使用,如"admin" 14 | */ 15 | private String role; 16 | /** 17 | * 角色描述,UI界面显示使用 18 | */ 19 | private String description; 20 | 21 | public String getRole() { 22 | return role; 23 | } 24 | 25 | public void setRole(String role) { 26 | this.role = role; 27 | } 28 | 29 | public String getDescription() { 30 | return description; 31 | } 32 | 33 | public void setDescription(String description) { 34 | this.description = description; 35 | } 36 | 37 | 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/OrganizationService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import tk.mybatis.mapper.weekend.Weekend; 4 | 5 | import java.util.List; 6 | 7 | import com.springboot.modules.system.dto.TreeDto; 8 | import com.springboot.modules.system.entity.Organization; 9 | 10 | public interface OrganizationService { 11 | 12 | void createOrganization(Organization organization); 13 | 14 | void updateOrganization(Organization organization); 15 | 16 | void deleteOrganization(Long organizationId); 17 | 18 | Organization findOne(Long organizationId); 19 | 20 | List find(Weekend example); 21 | 22 | List findOrgTree(Long pId); 23 | 24 | List findAll(); 25 | 26 | List findAllWithExclude(Organization excludeOraganization); 27 | 28 | void move(Organization source, Organization target); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/utils/ResultCodeEnum.java: -------------------------------------------------------------------------------- 1 | package com.springboot.utils; 2 | 3 | public enum ResultCodeEnum { 4 | 5 | OK("200", "处理成功"), 6 | BAD_REQUEST("400", "请求参数有误"), 7 | UNAUTHORIZED("401", "未授权"), 8 | PARAMS_MISS("483", "缺少接口中必填参数"), 9 | PARAM_ERROR("484", "参数非法"), 10 | FAILED_DEL_OWN("485", "不能删除自己"), 11 | FAILED_USER_ALREADY_EXIST("486", "该用户已存在"), 12 | INTERNAL_SERVER_ERROR("500", "服务器内部错误"), 13 | NOT_IMPLEMENTED("501", "业务异常"); 14 | 15 | private String code; 16 | private String msg; 17 | 18 | ResultCodeEnum(String code, String msg) { 19 | this.code = code; 20 | this.msg = msg; 21 | } 22 | 23 | public String getCode() { 24 | return code; 25 | } 26 | 27 | public void setCode(String code) { 28 | this.code = code; 29 | } 30 | 31 | public String getMsg() { 32 | return msg; 33 | } 34 | 35 | public void setMsg(String msg) { 36 | this.msg = msg; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/RoleService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import java.util.List; 4 | import java.util.Set; 5 | 6 | import com.springboot.modules.system.dto.RoleDto; 7 | import com.springboot.modules.system.entity.Role; 8 | import com.springboot.modules.system.query.RoleQuery; 9 | import com.springboot.utils.PageResultSet; 10 | 11 | public interface RoleService { 12 | 13 | PageResultSet findByPage(RoleQuery roleQuery); 14 | 15 | void createRole(Role role); 16 | 17 | void updateRole(Role role); 18 | 19 | void deleteRole(Long roleId); 20 | 21 | Role findOne(Long roleId); 22 | 23 | List findAll(); 24 | 25 | /** 26 | * 根据角色编号得到角色标识符列表 27 | * @param roleIds 28 | * @return 29 | */ 30 | Set findRoles(Long... roleIds); 31 | 32 | /** 33 | * 根据角色编号得到权限字符串列表 34 | * @param roleIds 35 | * @return 36 | */ 37 | Set findPermissions(Long[] roleIds); 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/utils/PropertiesUtil.java: -------------------------------------------------------------------------------- 1 | package com.springboot.utils; 2 | 3 | import java.io.IOException; 4 | import java.util.HashMap; 5 | import java.util.Map; 6 | import java.util.Properties; 7 | 8 | public class PropertiesUtil { 9 | private static PropertiesUtil util = null; 10 | private static Map props = null; 11 | private PropertiesUtil(){ 12 | 13 | } 14 | 15 | public static PropertiesUtil getInstance() { 16 | if(util==null) { 17 | props = new HashMap<>(); 18 | util = new PropertiesUtil(); 19 | } 20 | return util; 21 | } 22 | 23 | public Properties load(String name) { 24 | if(props.get(name)!=null) { 25 | return props.get(name); 26 | } else { 27 | Properties prop = new Properties(); 28 | try { 29 | prop.load(PropertiesUtil.class.getResourceAsStream("/"+name+".properties")); 30 | props.put(name, prop); 31 | return prop; 32 | } catch (IOException e) { 33 | e.printStackTrace(); 34 | } 35 | } 36 | return null; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/ResourceService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import tk.mybatis.mapper.weekend.Weekend; 4 | 5 | import java.util.List; 6 | import java.util.Set; 7 | 8 | import com.springboot.modules.system.dto.ResourceDto; 9 | import com.springboot.modules.system.entity.Resource; 10 | 11 | public interface ResourceService { 12 | 13 | void createResource(Resource resource); 14 | 15 | void updateResource(Resource resource); 16 | 17 | void deleteResource(Long resourceId); 18 | 19 | Resource findOne(Long resourceId); 20 | 21 | List find(Weekend example); 22 | 23 | List findAll(); 24 | 25 | /** 26 | * 得到资源对应的权限字符串 27 | * @param resourceIds 28 | * @return 29 | */ 30 | Set findPermissions(Set resourceIds); 31 | 32 | /** 33 | * 根据用户权限得到菜单 34 | * @param permissions 35 | * @return 36 | */ 37 | List findMenus(Set permissions); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/GroupService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import java.util.List; 4 | 5 | import com.springboot.modules.system.entity.Group; 6 | import com.springboot.modules.system.query.GroupQuery; 7 | import com.springboot.utils.PageResultSet; 8 | 9 | public interface GroupService { 10 | 11 | /** 12 | * 分页查询用户组 13 | * @param groupQuery 14 | * @return 15 | */ 16 | PageResultSet findByPage(GroupQuery groupQuery); 17 | 18 | /** 19 | * 查询所有 20 | * @return 21 | */ 22 | List findAll(); 23 | 24 | /** 25 | * 查询单个 26 | * @param groupId 27 | * @return 28 | */ 29 | Group findOne(Long groupId); 30 | 31 | /** 32 | * 创建用户组 33 | * @param group 34 | */ 35 | void createGroup(Group group); 36 | 37 | /** 38 | * 更新用户组 39 | * @param group 40 | */ 41 | void updateGroup(Group group); 42 | 43 | /** 44 | * 删除用户组 45 | * @param groupId 46 | */ 47 | void deleteGroup(Long groupId); 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/Application.java: -------------------------------------------------------------------------------- 1 | package com.springboot; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.boot.CommandLineRunner; 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration; 9 | import org.springframework.transaction.annotation.EnableTransactionManagement; 10 | 11 | /** 12 | * 13 | * @Description: 功能描述 14 | * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:25:02] 15 | * @Modified By: [修改人] on [修改日期] for [修改说明] 16 | * 17 | */ 18 | @SpringBootApplication(exclude = {QuartzAutoConfiguration.class}) 19 | @EnableTransactionManagement 20 | public class Application implements CommandLineRunner { 21 | 22 | private Logger logger = LoggerFactory.getLogger(Application.class); 23 | 24 | public static void main(String[] args) { 25 | SpringApplication.run(Application.class, args); 26 | } 27 | 28 | @Override 29 | public void run(String... args) throws Exception { 30 | logger.info("服务启动完成!"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/core/exception/CrmException.java: -------------------------------------------------------------------------------- 1 | package com.springboot.core.exception; 2 | 3 | import com.springboot.utils.ResultCodeEnum; 4 | 5 | public class CrmException extends RuntimeException { 6 | 7 | private static final long serialVersionUID = 1L; 8 | 9 | private String code; 10 | 11 | private String msg; 12 | 13 | public CrmException(String msg) { 14 | super(msg); 15 | } 16 | 17 | public CrmException(ResultCodeEnum resultCodeEnum) { 18 | this(resultCodeEnum.getCode(), resultCodeEnum.getMsg()); 19 | } 20 | 21 | public CrmException(ResultCodeEnum resultCodeEnum, String msg) { 22 | super(msg); 23 | this.code = resultCodeEnum.getCode(); 24 | this.msg = resultCodeEnum.getCode(); 25 | } 26 | 27 | public CrmException(String code, String msg) { 28 | super(msg); 29 | this.code = code; 30 | this.msg = msg; 31 | } 32 | 33 | public String getCode() { 34 | return code; 35 | } 36 | 37 | public void setCode(String code) { 38 | this.code = code; 39 | } 40 | 41 | public String getMsg() { 42 | return msg; 43 | } 44 | 45 | public void setMsg(String msg) { 46 | this.msg = msg; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /target/classes/ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 14 | 15 | 16 | 23 | 24 | 25 | 32 | 33 | 34 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 14 | 15 | 16 | 23 | 24 | 25 | 32 | 33 | 34 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/dto/TreeDto.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.dto; 2 | 3 | public class TreeDto { 4 | 5 | private Long id; 6 | private Long pId; 7 | private String name; 8 | private boolean parent; 9 | private Object obj; 10 | 11 | public Long getId() { 12 | return id; 13 | } 14 | 15 | public void setId(Long id) { 16 | this.id = id; 17 | } 18 | 19 | 20 | public String getName() { 21 | return name; 22 | } 23 | 24 | public void setName(String name) { 25 | this.name = name; 26 | } 27 | 28 | 29 | 30 | public Object getObj() { 31 | return obj; 32 | } 33 | 34 | public void setObj(Object obj) { 35 | this.obj = obj; 36 | } 37 | 38 | public TreeDto() { 39 | 40 | } 41 | 42 | public Long getPId() { 43 | return pId; 44 | } 45 | 46 | public void setPId(Long pId) { 47 | this.pId = pId; 48 | } 49 | 50 | public boolean getIsParent() { 51 | return parent; 52 | } 53 | 54 | public void setParent(boolean parent) { 55 | this.parent = parent; 56 | } 57 | 58 | public TreeDto(Long id, Long pId, String name, boolean parent, Object obj) { 59 | super(); 60 | this.id = id; 61 | this.pId = pId; 62 | this.name = name; 63 | this.parent = parent; 64 | this.obj = obj; 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/core/bind/CustomObjectMapper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.core.bind; 2 | 3 | import com.fasterxml.jackson.databind.*; 4 | import com.fasterxml.jackson.databind.module.SimpleModule; 5 | 6 | import javax.annotation.Resource; 7 | 8 | /** 9 | * 10 | * @Description: 自定义JSON转换器 11 | * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:27:50] 12 | * @Modified By: [修改人] on [修改日期] for [修改说明] 13 | * 14 | */ 15 | @Resource 16 | public class CustomObjectMapper extends ObjectMapper { 17 | 18 | private static final long serialVersionUID = 1L; 19 | 20 | public CustomObjectMapper() { 21 | super(); 22 | SimpleModule simpleModule = new SimpleModule(); 23 | // 所有Long类型转换String类型 24 | // simpleModule.addSerializer(Long.class, ToStringSerializer.instance); 25 | // simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance); 26 | // 禁用空对象转换json校验 27 | this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); 28 | this.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); 29 | this.registerModule(simpleModule); 30 | // 设置null转换"" 31 | // this.getSerializerProvider().setNullValueSerializer(new NullSerializer()); 32 | // 设置日期转换yyyy-MM-dd HH:mm:ss 33 | // setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); 34 | // 不显示为null的字段 35 | // this.setSerializationInclusion(JsonInclude.Include.NON_NULL); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import java.util.List; 4 | import java.util.Set; 5 | 6 | import com.springboot.core.exception.CrmException; 7 | import com.springboot.modules.system.dto.UserDto; 8 | import com.springboot.modules.system.entity.User; 9 | import com.springboot.modules.system.query.UserQuery; 10 | import com.springboot.utils.PageResultSet; 11 | 12 | public interface UserService { 13 | 14 | PageResultSet findByPage(UserQuery userQuery); 15 | 16 | /** 17 | * 创建用户 18 | * @param user 19 | */ 20 | void createUser(User user) throws CrmException; 21 | 22 | void updateUser(User user); 23 | 24 | void deleteUser(Long userId); 25 | 26 | /** 27 | * 修改密码 28 | * @param userId 29 | * @param newPassword 30 | */ 31 | void changePassword(Long userId, String newPassword); 32 | 33 | 34 | User findOne(Long userId); 35 | 36 | List findAll(); 37 | 38 | /** 39 | * 根据用户名查找用户 40 | * @param username 41 | * @return 42 | */ 43 | public User findByUsername(String username); 44 | 45 | /** 46 | * 根据用户名查找其角色 47 | * @param username 48 | * @return 49 | */ 50 | Set findRoles(String username); 51 | 52 | /** 53 | * 根据用户名查找其权限 54 | * @param username 55 | * @return 56 | */ 57 | Set findPermissions(String username); 58 | 59 | } -------------------------------------------------------------------------------- /target/classes/static/css/alt/AdminLTE-fullcalendar.min.css: -------------------------------------------------------------------------------- 1 | .fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd}.fc-button:hover,.fc-button:active,.fc-button.hover{background-color:#e9e9e9}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px}.fc-header-right{padding-right:10px}.fc-header-left{padding-left:10px}.fc-widget-header{background:#fafafa}.fc-grid{width:100%;border:0}.fc-widget-header:first-of-type,.fc-widget-content:first-of-type{border-left:0;border-right:0}.fc-widget-header:last-of-type,.fc-widget-content:last-of-type{border-right:0}.fc-toolbar{padding:10px;margin:0}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px}.fc-color-picker{list-style:none;margin:0;padding:0}.fc-color-picker>li{float:left;font-size:30px;margin-right:5px;line-height:30px}.fc-color-picker>li .fa{-webkit-transition:-webkit-transform linear .3s;-moz-transition:-moz-transform linear .3s;-o-transition:-o-transform linear .3s;transition:transform linear .3s}.fc-color-picker>li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}#add-new-event{-webkit-transition:all linear .3s;-o-transition:all linear .3s;transition:all linear .3s}.external-event{padding:5px 10px;font-weight:bold;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;cursor:move}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,0.2)} -------------------------------------------------------------------------------- /src/main/resources/static/css/alt/AdminLTE-fullcalendar.min.css: -------------------------------------------------------------------------------- 1 | .fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd}.fc-button:hover,.fc-button:active,.fc-button.hover{background-color:#e9e9e9}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px}.fc-header-right{padding-right:10px}.fc-header-left{padding-left:10px}.fc-widget-header{background:#fafafa}.fc-grid{width:100%;border:0}.fc-widget-header:first-of-type,.fc-widget-content:first-of-type{border-left:0;border-right:0}.fc-widget-header:last-of-type,.fc-widget-content:last-of-type{border-right:0}.fc-toolbar{padding:10px;margin:0}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px}.fc-color-picker{list-style:none;margin:0;padding:0}.fc-color-picker>li{float:left;font-size:30px;margin-right:5px;line-height:30px}.fc-color-picker>li .fa{-webkit-transition:-webkit-transform linear .3s;-moz-transition:-moz-transform linear .3s;-o-transition:-o-transform linear .3s;transition:transform linear .3s}.fc-color-picker>li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}#add-new-event{-webkit-transition:all linear .3s;-o-transition:all linear .3s;transition:all linear .3s}.external-event{padding:5px 10px;font-weight:bold;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;cursor:move}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,0.2)} -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/web/LogController.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.web; 2 | 3 | import org.apache.shiro.authz.annotation.RequiresPermissions; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.ui.Model; 7 | import org.springframework.web.bind.annotation.GetMapping; 8 | import org.springframework.web.bind.annotation.RequestMapping; 9 | import org.springframework.web.bind.annotation.ResponseBody; 10 | 11 | import com.springboot.modules.system.entity.Log; 12 | import com.springboot.modules.system.query.LogQuery; 13 | import com.springboot.modules.system.service.LogService; 14 | import com.springboot.utils.BaseController; 15 | import com.springboot.utils.PageResultSet; 16 | 17 | /** 18 | * 19 | * @Description: 日志 20 | * @author [ Wenfeng.Huang ] on [2018年8月31日上午10:39:37] 21 | * @Modified By: [修改人] on [修改日期] for [修改说明] 22 | * 23 | */ 24 | @Controller 25 | @RequestMapping("/log") 26 | public class LogController extends BaseController{ 27 | 28 | @Autowired 29 | private LogService logService; 30 | 31 | @RequiresPermissions("log:view") 32 | @GetMapping 33 | public String page(Model model) { 34 | return "system/log"; 35 | } 36 | 37 | @ResponseBody 38 | @RequestMapping("/list") 39 | @RequiresPermissions("log:view") 40 | public PageResultSet list(LogQuery log) { 41 | return logService.findByPage(log); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /target/classes/templates/system/generator.html: -------------------------------------------------------------------------------- 1 | 2 | 4 |
5 |

6 | 空页面 7 | 代码生成器功能开发中... 8 |

9 | 14 |
15 | 16 | 17 |
18 | 19 | 20 |
21 |
22 |

代码生成器功能开发中...

23 | 24 |
25 | 28 | 31 |
32 |
33 |
34 | 代码生成器功能开发中... 35 |
36 | 37 | 40 | 41 |
42 | 43 | 44 |
45 | 46 | -------------------------------------------------------------------------------- /src/main/resources/templates/system/generator.html: -------------------------------------------------------------------------------- 1 | 2 | 4 |
5 |

6 | 空页面 7 | 代码生成器功能开发中... 8 |

9 | 14 |
15 | 16 | 17 |
18 | 19 | 20 |
21 |
22 |

代码生成器功能开发中...

23 | 24 |
25 | 28 | 31 |
32 |
33 |
34 | 代码生成器功能开发中... 35 |
36 | 37 | 40 | 41 |
42 | 43 | 44 |
45 | 46 | -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/flat.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin flat skin, black 2 | ----------------------------------- */ 3 | .icheckbox_flat, 4 | .iradio_flat { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(flat.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat, 51 | .iradio_flat { 52 | background-image: url(flat@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/flat.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin flat skin, black 2 | ----------------------------------- */ 3 | .icheckbox_flat, 4 | .iradio_flat { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(flat.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat, 51 | .iradio_flat { 52 | background-image: url(flat@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, red 2 | ----------------------------------- */ 3 | .icheckbox_flat-red, 4 | .iradio_flat-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-red.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-red.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-red.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-red { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-red.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-red.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-red.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-red, 51 | .iradio_flat-red { 52 | background-image: url(red@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, red 2 | ----------------------------------- */ 3 | .icheckbox_flat-red, 4 | .iradio_flat-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-red.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-red.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-red.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-red { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-red.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-red.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-red.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-red, 51 | .iradio_flat-red { 52 | background-image: url(red@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_flat-aero, 4 | .iradio_flat-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-aero.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-aero.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-aero.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-aero { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-aero.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-aero.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-aero.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-aero, 51 | .iradio_flat-aero { 52 | background-image: url(aero@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_flat-blue, 4 | .iradio_flat-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-blue.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-blue.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-blue.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-blue { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-blue.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-blue.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-blue.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-blue, 51 | .iradio_flat-blue { 52 | background-image: url(blue@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_flat-grey, 4 | .iradio_flat-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-grey.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-grey.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-grey.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-grey { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-grey.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-grey.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-grey.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-grey, 51 | .iradio_flat-grey { 52 | background-image: url(grey@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_flat-pink, 4 | .iradio_flat-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-pink.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-pink.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-pink.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-pink { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-pink.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-pink.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-pink.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-pink, 51 | .iradio_flat-pink { 52 | background-image: url(pink@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/futurico/futurico.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Futurico skin 2 | ----------------------------------- */ 3 | .icheckbox_futurico, 4 | .iradio_futurico { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 16px; 11 | height: 17px; 12 | background: url(futurico.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_futurico { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_futurico.checked { 21 | background-position: -18px 0; 22 | } 23 | .icheckbox_futurico.disabled { 24 | background-position: -36px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_futurico.checked.disabled { 28 | background-position: -54px 0; 29 | } 30 | 31 | .iradio_futurico { 32 | background-position: -72px 0; 33 | } 34 | .iradio_futurico.checked { 35 | background-position: -90px 0; 36 | } 37 | .iradio_futurico.disabled { 38 | background-position: -108px 0; 39 | cursor: default; 40 | } 41 | .iradio_futurico.checked.disabled { 42 | background-position: -126px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_futurico, 51 | .iradio_futurico { 52 | background-image: url(futurico@2x.png); 53 | -webkit-background-size: 144px 19px; 54 | background-size: 144px 19px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/entity/Group.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.entity; 2 | 3 | import org.apache.ibatis.type.JdbcType; 4 | 5 | import com.springboot.modules.system.enums.GroupType; 6 | 7 | import tk.mybatis.mapper.annotation.ColumnType; 8 | 9 | import javax.persistence.*; 10 | import javax.validation.constraints.NotBlank; 11 | import javax.validation.constraints.NotNull; 12 | 13 | @Table(name = "sys_group") 14 | public class Group { 15 | 16 | /** 17 | * 编号 18 | */ 19 | @Id 20 | @Column(name = "id") 21 | @GeneratedValue(strategy = GenerationType.IDENTITY) 22 | private Long id; 23 | /** 24 | * 组名称 25 | */ 26 | @NotBlank(message = "组名称不能为空") 27 | private String name; 28 | 29 | /** 30 | * 组类型 31 | */ 32 | @NotNull(message = "组类型不能为空") 33 | @ColumnType(jdbcType = JdbcType.VARCHAR) 34 | private GroupType type; 35 | 36 | /** 37 | * 描述 38 | */ 39 | private String description; 40 | 41 | public Long getId() { 42 | return id; 43 | } 44 | 45 | public void setId(Long id) { 46 | this.id = id; 47 | } 48 | 49 | public String getName() { 50 | return name; 51 | } 52 | 53 | public void setName(String name) { 54 | this.name = name; 55 | } 56 | 57 | public GroupType getType() { 58 | return type; 59 | } 60 | 61 | public void setType(GroupType type) { 62 | this.type = type; 63 | } 64 | 65 | public String getDescription() { 66 | return description; 67 | } 68 | 69 | public void setDescription(String description) { 70 | this.description = description; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/service/PasswordHelper.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.service; 2 | 3 | import org.apache.shiro.crypto.RandomNumberGenerator; 4 | import org.apache.shiro.crypto.SecureRandomNumberGenerator; 5 | import org.apache.shiro.crypto.hash.SimpleHash; 6 | import org.apache.shiro.util.ByteSource; 7 | import org.springframework.beans.factory.annotation.Value; 8 | import org.springframework.stereotype.Service; 9 | 10 | import com.springboot.modules.system.entity.User; 11 | 12 | @Service 13 | public class PasswordHelper { 14 | 15 | private RandomNumberGenerator randomNumberGenerator = new SecureRandomNumberGenerator(); 16 | 17 | @Value("${password.algorithmName}") 18 | private String algorithmName = "md5"; 19 | @Value("${password.hashIterations}") 20 | private int hashIterations = 2; 21 | 22 | public void setRandomNumberGenerator(RandomNumberGenerator randomNumberGenerator) { 23 | this.randomNumberGenerator = randomNumberGenerator; 24 | } 25 | 26 | public void setAlgorithmName(String algorithmName) { 27 | this.algorithmName = algorithmName; 28 | } 29 | 30 | public void setHashIterations(int hashIterations) { 31 | this.hashIterations = hashIterations; 32 | } 33 | 34 | public void encryptPassword(User user) { 35 | 36 | user.setSalt(randomNumberGenerator.nextBytes().toHex()); 37 | 38 | String newPassword = new SimpleHash( 39 | algorithmName, 40 | user.getPassword(), 41 | ByteSource.Util.bytes(user.getCredentialsSalt()), 42 | hashIterations).toHex(); 43 | 44 | user.setPassword(newPassword); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_flat-aero, 4 | .iradio_flat-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-aero.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-aero.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-aero.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-aero { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-aero.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-aero.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-aero.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-aero, 51 | .iradio_flat-aero { 52 | background-image: url(aero@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_flat-blue, 4 | .iradio_flat-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-blue.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-blue.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-blue.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-blue { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-blue.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-blue.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-blue.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-blue, 51 | .iradio_flat-blue { 52 | background-image: url(blue@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_flat-grey, 4 | .iradio_flat-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-grey.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-grey.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-grey.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-grey { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-grey.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-grey.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-grey.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-grey, 51 | .iradio_flat-grey { 52 | background-image: url(grey@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_flat-pink, 4 | .iradio_flat-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-pink.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-pink.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-pink.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-pink { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-pink.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-pink.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-pink.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-pink, 51 | .iradio_flat-pink { 52 | background-image: url(pink@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/futurico/futurico.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Futurico skin 2 | ----------------------------------- */ 3 | .icheckbox_futurico, 4 | .iradio_futurico { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 16px; 11 | height: 17px; 12 | background: url(futurico.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_futurico { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_futurico.checked { 21 | background-position: -18px 0; 22 | } 23 | .icheckbox_futurico.disabled { 24 | background-position: -36px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_futurico.checked.disabled { 28 | background-position: -54px 0; 29 | } 30 | 31 | .iradio_futurico { 32 | background-position: -72px 0; 33 | } 34 | .iradio_futurico.checked { 35 | background-position: -90px 0; 36 | } 37 | .iradio_futurico.disabled { 38 | background-position: -108px 0; 39 | cursor: default; 40 | } 41 | .iradio_futurico.checked.disabled { 42 | background-position: -126px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_futurico, 51 | .iradio_futurico { 52 | background-image: url(futurico@2x.png); 53 | -webkit-background-size: 144px 19px; 54 | background-size: 144px 19px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, green 2 | ----------------------------------- */ 3 | .icheckbox_flat-green, 4 | .iradio_flat-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-green.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-green.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-green.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-green { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-green.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-green.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-green.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-green, 51 | .iradio_flat-green { 52 | background-image: url(green@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, green 2 | ----------------------------------- */ 3 | .icheckbox_flat-green, 4 | .iradio_flat-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-green.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-green.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-green.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-green { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-green.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-green.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-green.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-green, 51 | .iradio_flat-green { 52 | background-image: url(green@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/utils/MyMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2014-2016 abel533@gmail.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | */ 24 | 25 | package com.springboot.utils; 26 | 27 | import tk.mybatis.mapper.common.Mapper; 28 | import tk.mybatis.mapper.common.MySqlMapper; 29 | 30 | /** 31 | * 32 | * @Description: 继承自己的MyMapper 33 | * @author [ Wenfeng.Huang ] on [2018年8月30日下午7:30:06] 34 | * @Modified By: [修改人] on [修改日期] for [修改说明] 35 | * 36 | */ 37 | public interface MyMapper extends Mapper, MySqlMapper { 38 | //TODO 39 | //FIXME 特别注意,该接口不能被扫描到,否则会出错 40 | } 41 | -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_flat-orange, 4 | .iradio_flat-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-orange.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-orange.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-orange.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-orange { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-orange.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-orange.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-orange.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-orange, 51 | .iradio_flat-orange { 52 | background-image: url(orange@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_flat-purple, 4 | .iradio_flat-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-purple.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-purple.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-purple.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-purple { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-purple.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-purple.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-purple.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-purple, 51 | .iradio_flat-purple { 52 | background-image: url(purple@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/flat/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_flat-yellow, 4 | .iradio_flat-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-yellow.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-yellow.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-yellow.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-yellow { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-yellow.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-yellow.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-yellow.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-yellow, 51 | .iradio_flat-yellow { 52 | background-image: url(yellow@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_flat-orange, 4 | .iradio_flat-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-orange.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-orange.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-orange.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-orange { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-orange.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-orange.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-orange.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-orange, 51 | .iradio_flat-orange { 52 | background-image: url(orange@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_flat-purple, 4 | .iradio_flat-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-purple.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-purple.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-purple.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-purple { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-purple.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-purple.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-purple.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-purple, 51 | .iradio_flat-purple { 52 | background-image: url(purple@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/flat/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_flat-yellow, 4 | .iradio_flat-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-yellow.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-yellow.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-yellow.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-yellow { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-yellow.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-yellow.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-yellow.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-yellow, 51 | .iradio_flat-yellow { 52 | background-image: url(yellow@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /target/classes/templates/base/content-wrapper.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 空页面 7 | 8 | 9 | 10 |
11 |

12 | 首页 13 | 一切都从这里开始 14 |

15 | 20 |
21 | 22 | 23 |
24 | 25 | 26 |
27 |
28 |

标题

29 | 30 |
31 | 34 | 37 |
38 |
39 |
40 | 开始创建你的精彩应用! 41 |
42 | 43 | 46 | 47 |
48 | 49 | 50 |
51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/content-wrapper.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 空页面 7 | 8 | 9 | 10 |
11 |

12 | 首页 13 | 一切都从这里开始 14 |

15 | 20 |
21 | 22 | 23 |
24 | 25 | 26 |
27 |
28 |

标题

29 | 30 |
31 | 34 | 37 |
38 |
39 |
40 | 开始创建你的精彩应用! 41 |
42 | 43 | 46 | 47 |
48 | 49 | 50 |
51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/blank.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 |
6 |

7 | 大标题 8 | 小标题 9 |

10 | 15 |
16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |

标题

24 | 25 |
26 | 29 | 32 |
33 |
34 |
35 | 开始创建你的精彩应用! 36 |
37 | 38 | 41 | 42 |
43 | 44 | 45 |
46 | 47 | -------------------------------------------------------------------------------- /target/classes/templates/base/blank.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 |
6 |

7 | 大标题 8 | 小标题 9 |

10 | 15 |
16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |

标题

24 | 25 |
26 | 29 | 32 |
33 |
34 |
35 | 开始创建你的精彩应用! 36 |
37 | 38 | 41 | 42 |
43 | 44 | 45 |
46 | 47 | -------------------------------------------------------------------------------- /target/classes/generator/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
36 |
37 |
-------------------------------------------------------------------------------- /src/main/resources/generator/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
36 |
37 |
-------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/square.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, black 2 | ----------------------------------- */ 3 | .icheckbox_square, 4 | .iradio_square { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(square.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square, 57 | .iradio_square { 58 | background-image: url(square@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /target/classes/static/css/pace.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#fff;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #fff,0 0 5px #fff;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-moz-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);-o-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:50%;width:14px;height:14px;border:solid 2px transparent;border-top-color:#fff;border-left-color:#fff;border-radius:10px;-webkit-animation:pace-spinner 400ms linear infinite;-moz-animation:pace-spinner 400ms linear infinite;-ms-animation:pace-spinner 400ms linear infinite;-o-animation:pace-spinner 400ms linear infinite;animation:pace-spinner 400ms linear infinite}@media (max-width: 767px){.pace .pace-activity{top:15px;right:15px;width:14px;height:14px}}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes pace-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes pace-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}} -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/square.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, black 2 | ----------------------------------- */ 3 | .icheckbox_square, 4 | .iradio_square { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(square.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square, 57 | .iradio_square { 58 | background-image: url(square@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/pace.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#fff;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #fff,0 0 5px #fff;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-moz-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);-o-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:50%;width:14px;height:14px;border:solid 2px transparent;border-top-color:#fff;border-left-color:#fff;border-radius:10px;-webkit-animation:pace-spinner 400ms linear infinite;-moz-animation:pace-spinner 400ms linear infinite;-ms-animation:pace-spinner 400ms linear infinite;-o-animation:pace-spinner 400ms linear infinite;animation:pace-spinner 400ms linear infinite}@media (max-width: 767px){.pace .pace-activity{top:15px;right:15px;width:14px;height:14px}}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes pace-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes pace-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}} -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/all.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin skins 2 | ----------------------------------- */ 3 | @import url("minimal/_all.css"); 4 | /* 5 | @import url("minimal/minimal.css"); 6 | @import url("minimal/red.css"); 7 | @import url("minimal/green.css"); 8 | @import url("minimal/blue.css"); 9 | @import url("minimal/aero.css"); 10 | @import url("minimal/grey.css"); 11 | @import url("minimal/orange.css"); 12 | @import url("minimal/yellow.css"); 13 | @import url("minimal/pink.css"); 14 | @import url("minimal/purple.css"); 15 | */ 16 | 17 | @import url("square/_all.css"); 18 | /* 19 | @import url("square/square.css"); 20 | @import url("square/red.css"); 21 | @import url("square/green.css"); 22 | @import url("square/blue.css"); 23 | @import url("square/aero.css"); 24 | @import url("square/grey.css"); 25 | @import url("square/orange.css"); 26 | @import url("square/yellow.css"); 27 | @import url("square/pink.css"); 28 | @import url("square/purple.css"); 29 | */ 30 | 31 | @import url("flat/_all.css"); 32 | /* 33 | @import url("flat/flat.css"); 34 | @import url("flat/red.css"); 35 | @import url("flat/green.css"); 36 | @import url("flat/blue.css"); 37 | @import url("flat/aero.css"); 38 | @import url("flat/grey.css"); 39 | @import url("flat/orange.css"); 40 | @import url("flat/yellow.css"); 41 | @import url("flat/pink.css"); 42 | @import url("flat/purple.css"); 43 | */ 44 | 45 | @import url("line/_all.css"); 46 | /* 47 | @import url("line/line.css"); 48 | @import url("line/red.css"); 49 | @import url("line/green.css"); 50 | @import url("line/blue.css"); 51 | @import url("line/aero.css"); 52 | @import url("line/grey.css"); 53 | @import url("line/orange.css"); 54 | @import url("line/yellow.css"); 55 | @import url("line/pink.css"); 56 | @import url("line/purple.css"); 57 | */ 58 | 59 | @import url("polaris/polaris.css"); 60 | 61 | @import url("futurico/futurico.css"); -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/all.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin skins 2 | ----------------------------------- */ 3 | @import url("minimal/_all.css"); 4 | /* 5 | @import url("minimal/minimal.css"); 6 | @import url("minimal/red.css"); 7 | @import url("minimal/green.css"); 8 | @import url("minimal/blue.css"); 9 | @import url("minimal/aero.css"); 10 | @import url("minimal/grey.css"); 11 | @import url("minimal/orange.css"); 12 | @import url("minimal/yellow.css"); 13 | @import url("minimal/pink.css"); 14 | @import url("minimal/purple.css"); 15 | */ 16 | 17 | @import url("square/_all.css"); 18 | /* 19 | @import url("square/square.css"); 20 | @import url("square/red.css"); 21 | @import url("square/green.css"); 22 | @import url("square/blue.css"); 23 | @import url("square/aero.css"); 24 | @import url("square/grey.css"); 25 | @import url("square/orange.css"); 26 | @import url("square/yellow.css"); 27 | @import url("square/pink.css"); 28 | @import url("square/purple.css"); 29 | */ 30 | 31 | @import url("flat/_all.css"); 32 | /* 33 | @import url("flat/flat.css"); 34 | @import url("flat/red.css"); 35 | @import url("flat/green.css"); 36 | @import url("flat/blue.css"); 37 | @import url("flat/aero.css"); 38 | @import url("flat/grey.css"); 39 | @import url("flat/orange.css"); 40 | @import url("flat/yellow.css"); 41 | @import url("flat/pink.css"); 42 | @import url("flat/purple.css"); 43 | */ 44 | 45 | @import url("line/_all.css"); 46 | /* 47 | @import url("line/line.css"); 48 | @import url("line/red.css"); 49 | @import url("line/green.css"); 50 | @import url("line/blue.css"); 51 | @import url("line/aero.css"); 52 | @import url("line/grey.css"); 53 | @import url("line/orange.css"); 54 | @import url("line/yellow.css"); 55 | @import url("line/pink.css"); 56 | @import url("line/purple.css"); 57 | */ 58 | 59 | @import url("polaris/polaris.css"); 60 | 61 | @import url("futurico/futurico.css"); -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/polaris/polaris.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Polaris skin 2 | ----------------------------------- */ 3 | .icheckbox_polaris, 4 | .iradio_polaris { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 29px; 11 | height: 29px; 12 | background: url(polaris.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_polaris { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_polaris.hover { 21 | background-position: -31px 0; 22 | } 23 | .icheckbox_polaris.checked { 24 | background-position: -62px 0; 25 | } 26 | .icheckbox_polaris.disabled { 27 | background-position: -93px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_polaris.checked.disabled { 31 | background-position: -124px 0; 32 | } 33 | 34 | .iradio_polaris { 35 | background-position: -155px 0; 36 | } 37 | .iradio_polaris.hover { 38 | background-position: -186px 0; 39 | } 40 | .iradio_polaris.checked { 41 | background-position: -217px 0; 42 | } 43 | .iradio_polaris.disabled { 44 | background-position: -248px 0; 45 | cursor: default; 46 | } 47 | .iradio_polaris.checked.disabled { 48 | background-position: -279px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_polaris, 57 | .iradio_polaris { 58 | background-image: url(polaris@2x.png); 59 | -webkit-background-size: 310px 31px; 60 | background-size: 310px 31px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/modules/system/web/LoginController.java: -------------------------------------------------------------------------------- 1 | package com.springboot.modules.system.web; 2 | 3 | import org.apache.shiro.authc.ExcessiveAttemptsException; 4 | import org.apache.shiro.authc.IncorrectCredentialsException; 5 | import org.apache.shiro.authc.UnknownAccountException; 6 | import org.springframework.stereotype.Controller; 7 | import org.springframework.ui.Model; 8 | import org.springframework.web.bind.annotation.RequestMapping; 9 | 10 | import com.springboot.utils.BaseController; 11 | 12 | import javax.servlet.http.HttpServletRequest; 13 | 14 | /** 15 | * 16 | * @Description: 登录 17 | * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:31:13] 18 | * @Modified By: [修改人] on [修改日期] for [修改说明] 19 | * 20 | */ 21 | @Controller 22 | public class LoginController extends BaseController { 23 | 24 | @RequestMapping("/login") 25 | public String showLoginForm(HttpServletRequest req, Model model) { 26 | String exceptionClassName = (String)req.getAttribute("shiroLoginFailure"); 27 | logger.info("begin to login"); 28 | String error = null; 29 | if(UnknownAccountException.class.getName().equals(exceptionClassName)) { 30 | error = "用户名/密码错误"; 31 | } else if(IncorrectCredentialsException.class.getName().equals(exceptionClassName)) { 32 | error = "用户名/密码错误"; 33 | } else if(ExcessiveAttemptsException.class.getName().equals(exceptionClassName)) { 34 | error = "登陆失败次数过多"; 35 | } else if(exceptionClassName != null) { 36 | error = "其他错误:" + exceptionClassName; 37 | } 38 | model.addAttribute("error", error); 39 | return "system/login"; 40 | } 41 | 42 | @RequestMapping("/main") 43 | public String main() throws Exception { 44 | logger.info("begin to main"); 45 | return "/system/main"; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/polaris/polaris.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Polaris skin 2 | ----------------------------------- */ 3 | .icheckbox_polaris, 4 | .iradio_polaris { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 29px; 11 | height: 29px; 12 | background: url(polaris.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_polaris { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_polaris.hover { 21 | background-position: -31px 0; 22 | } 23 | .icheckbox_polaris.checked { 24 | background-position: -62px 0; 25 | } 26 | .icheckbox_polaris.disabled { 27 | background-position: -93px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_polaris.checked.disabled { 31 | background-position: -124px 0; 32 | } 33 | 34 | .iradio_polaris { 35 | background-position: -155px 0; 36 | } 37 | .iradio_polaris.hover { 38 | background-position: -186px 0; 39 | } 40 | .iradio_polaris.checked { 41 | background-position: -217px 0; 42 | } 43 | .iradio_polaris.disabled { 44 | background-position: -248px 0; 45 | cursor: default; 46 | } 47 | .iradio_polaris.checked.disabled { 48 | background-position: -279px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_polaris, 57 | .iradio_polaris { 58 | background-image: url(polaris@2x.png); 59 | -webkit-background-size: 310px 31px; 60 | background-size: 310px 31px; 61 | } 62 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/minimal.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, black 2 | ----------------------------------- */ 3 | .icheckbox_minimal, 4 | .iradio_minimal { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(minimal.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal, 57 | .iradio_minimal { 58 | background-image: url(minimal@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/minimal.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, black 2 | ----------------------------------- */ 3 | .icheckbox_minimal, 4 | .iradio_minimal { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(minimal.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal, 57 | .iradio_minimal { 58 | background-image: url(minimal@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/core/shiro/credentials/RetryLimitHashedCredentialsMatcher.java: -------------------------------------------------------------------------------- 1 | package com.springboot.core.shiro.credentials; 2 | 3 | import org.apache.shiro.authc.AuthenticationInfo; 4 | import org.apache.shiro.authc.AuthenticationToken; 5 | import org.apache.shiro.authc.ExcessiveAttemptsException; 6 | import org.apache.shiro.authc.credential.HashedCredentialsMatcher; 7 | import org.apache.shiro.cache.Cache; 8 | import org.apache.shiro.cache.CacheManager; 9 | 10 | import java.util.concurrent.atomic.AtomicInteger; 11 | 12 | /** 13 | * 14 | * @Description: 密码匹配 15 | * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:29:33] 16 | * @Modified By: [修改人] on [修改日期] for [修改说明] 17 | * 18 | */ 19 | public class RetryLimitHashedCredentialsMatcher extends HashedCredentialsMatcher { 20 | 21 | private Cache passwordRetryCache; 22 | 23 | public RetryLimitHashedCredentialsMatcher(CacheManager cacheManager) { 24 | passwordRetryCache = cacheManager.getCache("passwordRetryCache"); 25 | } 26 | 27 | @Override 28 | public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { 29 | String username = (String)token.getPrincipal(); 30 | //retry count + 1 31 | AtomicInteger retryCount = passwordRetryCache.get(username); 32 | if(retryCount == null) { 33 | retryCount = new AtomicInteger(0); 34 | passwordRetryCache.put(username, retryCount); 35 | } 36 | if(retryCount.incrementAndGet() > 5) { 37 | //if retry count > 5 throw 38 | throw new ExcessiveAttemptsException(); 39 | } 40 | 41 | boolean matches = super.doCredentialsMatch(token, info); 42 | if(matches) { 43 | //clear retry count 44 | passwordRetryCache.remove(username); 45 | } 46 | return matches; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, red 2 | ----------------------------------- */ 3 | .icheckbox_square-red, 4 | .iradio_square-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-red.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-red.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-red.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-red.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-red { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-red.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-red.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-red.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-red.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-red, 57 | .iradio_square-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, red 2 | ----------------------------------- */ 3 | .icheckbox_square-red, 4 | .iradio_square-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-red.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-red.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-red.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-red.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-red { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-red.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-red.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-red.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-red.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-red, 57 | .iradio_square-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/config/EhCacheConfig.java: -------------------------------------------------------------------------------- 1 | package com.springboot.config; 2 | 3 | import net.sf.ehcache.CacheManager; 4 | import org.springframework.cache.annotation.EnableCaching; 5 | import org.springframework.cache.ehcache.EhCacheCacheManager; 6 | import org.springframework.cache.ehcache.EhCacheManagerFactoryBean; 7 | import org.springframework.context.annotation.Bean; 8 | import org.springframework.context.annotation.Configuration; 9 | import org.springframework.core.io.ClassPathResource; 10 | import org.springframework.core.io.Resource; 11 | 12 | import com.springboot.core.shiro.spring.SpringCacheManagerWrapper; 13 | 14 | /** 15 | * 16 | * @Description: 功能描述 17 | * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:24:45] 18 | * @Modified By: [修改人] on [修改日期] for [修改说明] 19 | * 20 | */ 21 | @Configuration 22 | @EnableCaching 23 | public class EhCacheConfig { 24 | 25 | /** 26 | * 缓存管理器 27 | * 28 | * @return 29 | */ 30 | @Bean 31 | public SpringCacheManagerWrapper cacheManager(EhCacheCacheManager springCacheManager) { 32 | SpringCacheManagerWrapper cacheManager = new SpringCacheManagerWrapper(); 33 | cacheManager.setCacheManager(springCacheManager); 34 | return cacheManager; 35 | } 36 | 37 | 38 | /** 39 | * EhCache的配置 40 | */ 41 | @Bean 42 | public EhCacheCacheManager springCacheManager(CacheManager cacheManager) { 43 | return new EhCacheCacheManager(cacheManager); 44 | } 45 | 46 | /** 47 | * EhCache的配置 48 | */ 49 | @Bean 50 | public EhCacheManagerFactoryBean ehcacheManager() { 51 | EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean(); 52 | Resource resource = new ClassPathResource("ehcache.xml"); 53 | ehCacheManagerFactoryBean.setConfigLocation(resource); 54 | return ehCacheManagerFactoryBean; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/minimal/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, red 2 | ----------------------------------- */ 3 | .icheckbox_minimal-red, 4 | .iradio_minimal-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-red.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-red.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-red.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-red.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-red { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-red.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-red.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-red.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-red.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-red, 57 | .iradio_minimal-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/minimal/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, red 2 | ----------------------------------- */ 3 | .icheckbox_minimal-red, 4 | .iradio_minimal-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-red.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-red.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-red.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-red.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-red { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-red.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-red.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-red.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-red.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-red, 57 | .iradio_minimal-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_square-aero, 4 | .iradio_square-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-aero.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-aero.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-aero.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-aero.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-aero { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-aero.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-aero.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-aero.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-aero.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-aero, 57 | .iradio_square-aero { 58 | background-image: url(aero@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_square-blue, 4 | .iradio_square-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-blue.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-blue.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-blue.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-blue.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-blue { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-blue.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-blue.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-blue.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-blue.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-blue, 57 | .iradio_square-blue { 58 | background-image: url(blue@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_square-grey, 4 | .iradio_square-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-grey.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-grey.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-grey.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-grey.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-grey { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-grey.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-grey.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-grey.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-grey.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-grey, 57 | .iradio_square-grey { 58 | background-image: url(grey@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /target/classes/static/css/iCheck/square/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_square-pink, 4 | .iradio_square-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-pink.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-pink.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-pink.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-pink.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-pink { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-pink.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-pink.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-pink.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-pink.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-pink, 57 | .iradio_square-pink { 58 | background-image: url(pink@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/iCheck/square/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_square-aero, 4 | .iradio_square-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-aero.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-aero.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-aero.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-aero.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-aero { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-aero.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-aero.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-aero.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-aero.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-aero, 57 | .iradio_square-aero { 58 | background-image: url(aero@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } --------------------------------------------------------------------------------