├── src └── main │ ├── resources │ ├── static │ │ ├── css │ │ │ ├── gain.css │ │ │ ├── styles │ │ │ │ ├── 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 │ │ │ │ │ ├── line.css │ │ │ │ │ ├── red.css │ │ │ │ │ ├── aero.css │ │ │ │ │ ├── blue.css │ │ │ │ │ ├── grey.css │ │ │ │ │ ├── pink.css │ │ │ │ │ ├── green.css │ │ │ │ │ ├── orange.css │ │ │ │ │ ├── purple.css │ │ │ │ │ └── yellow.css │ │ │ │ ├── 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 │ │ │ │ │ ├── aero.css │ │ │ │ │ ├── blue.css │ │ │ │ │ ├── grey.css │ │ │ │ │ ├── pink.css │ │ │ │ │ ├── green.css │ │ │ │ │ ├── orange.css │ │ │ │ │ ├── purple.css │ │ │ │ │ └── yellow.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 │ │ │ │ │ ├── green.css │ │ │ │ │ ├── orange.css │ │ │ │ │ ├── purple.css │ │ │ │ │ └── yellow.css │ │ │ │ ├── futurico │ │ │ │ │ ├── futurico.png │ │ │ │ │ ├── futurico@2x.png │ │ │ │ │ └── futurico.css │ │ │ │ ├── polaris │ │ │ │ │ ├── polaris.png │ │ │ │ │ ├── polaris@2x.png │ │ │ │ │ └── polaris.css │ │ │ │ ├── all.css │ │ │ │ └── regest │ │ │ │ │ └── form-elements.css │ │ │ ├── fonts │ │ │ │ ├── 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 │ │ │ ├── images │ │ │ │ └── home │ │ │ │ │ └── upload │ │ │ │ │ └── loading.gif │ │ │ ├── base │ │ │ │ ├── smsMsHistory.css │ │ │ │ ├── smsMsStatics.css │ │ │ │ ├── userInfo.css │ │ │ │ └── permission.css │ │ │ └── home │ │ │ │ ├── main.css │ │ │ │ └── login.css │ │ ├── images │ │ │ ├── bg │ │ │ │ ├── 1.jpg │ │ │ │ ├── 2.jpg │ │ │ │ ├── 3.jpg │ │ │ │ ├── bg.png │ │ │ │ ├── timg.jpg │ │ │ │ ├── bg-1920.jpg │ │ │ │ ├── signin-bg.png │ │ │ │ └── login-background.png │ │ │ ├── cl │ │ │ │ ├── cy.jpg │ │ │ │ ├── df.jpg │ │ │ │ ├── pic │ │ │ │ │ ├── 1.jpg │ │ │ │ │ ├── 2.jpg │ │ │ │ │ ├── 3.jpg │ │ │ │ │ ├── 4.jpg │ │ │ │ │ ├── 5.jpg │ │ │ │ │ ├── left.png │ │ │ │ │ └── right.png │ │ │ │ ├── 企鹅酒店.jpg │ │ │ │ ├── 横琴湾酒店.jpg │ │ │ │ ├── 迎海酒店.jpg │ │ │ │ ├── 马到成功宴.jpg │ │ │ │ ├── 马戏酒店.jpg │ │ │ │ ├── 迎海酒店公寓.jpg │ │ │ │ └── 迎海酒店公寓2.jpg │ │ │ ├── home │ │ │ │ ├── exp.xls │ │ │ │ ├── banner.jpg │ │ │ │ ├── load.gif │ │ │ │ ├── load1.gif │ │ │ │ ├── logo.jpg │ │ │ │ ├── temexp.xls │ │ │ │ ├── backimg.jpg │ │ │ │ ├── loading2.gif │ │ │ │ ├── staffexp.xls │ │ │ │ ├── weclome.jpg │ │ │ │ ├── zmqlogo.png │ │ │ │ ├── cda-index.jpg │ │ │ │ ├── loadContent.gif │ │ │ │ └── upload │ │ │ │ │ ├── a11.png │ │ │ │ │ ├── a7.png │ │ │ │ │ ├── scsfz.jpg │ │ │ │ │ ├── yyzz_.jpg │ │ │ │ │ └── loading.gif │ │ │ ├── avatar │ │ │ │ ├── 128.jpg │ │ │ │ ├── 48.jpg │ │ │ │ ├── 48.png │ │ │ │ └── profile-pic.png │ │ │ ├── custom │ │ │ │ ├── hqts.png │ │ │ │ ├── hqyh.jpg │ │ │ │ ├── logo.png │ │ │ │ ├── hqcyg.jpg │ │ │ │ ├── zhhywg.jpg │ │ │ │ ├── haiguan.jpg │ │ │ │ ├── nianbao.jpg │ │ │ │ ├── zscqjyzx.jpg │ │ │ │ └── gongshanglogo.jpg │ │ │ └── icons │ │ │ │ ├── add.png │ │ │ │ ├── icon1.png │ │ │ │ ├── icon2.png │ │ │ │ ├── icon3.png │ │ │ │ ├── icon1b.png │ │ │ │ ├── icon2b.png │ │ │ │ ├── icon3b.png │ │ │ │ └── loading.gif │ │ └── js │ │ │ ├── home │ │ │ ├── icons │ │ │ │ ├── back.png │ │ │ │ ├── cut.png │ │ │ │ ├── help.png │ │ │ │ ├── lock.png │ │ │ │ ├── man.png │ │ │ │ ├── more.png │ │ │ │ ├── no.png │ │ │ │ ├── ok.png │ │ │ │ ├── redo.png │ │ │ │ ├── sum.png │ │ │ │ ├── tip.png │ │ │ │ ├── undo.png │ │ │ │ ├── blank.gif │ │ │ │ ├── cancel.png │ │ │ │ ├── clear.png │ │ │ │ ├── filter.png │ │ │ │ ├── pencil.png │ │ │ │ ├── print.png │ │ │ │ ├── reload.png │ │ │ │ ├── search.png │ │ │ │ ├── edit_add.png │ │ │ │ ├── filesave.png │ │ │ │ ├── mini_add.png │ │ │ │ ├── mini_edit.png │ │ │ │ ├── edit_remove.png │ │ │ │ ├── large_chart.png │ │ │ │ ├── large_clipart.png │ │ │ │ ├── large_picture.png │ │ │ │ ├── large_shapes.png │ │ │ │ ├── large_smartart.png │ │ │ │ └── mini_refresh.png │ │ │ ├── images │ │ │ │ ├── blank.gif │ │ │ │ ├── loading.gif │ │ │ │ ├── tabs_icons.png │ │ │ │ ├── tree_icons.png │ │ │ │ ├── combo_arrow.png │ │ │ │ ├── datebox_arrow.png │ │ │ │ ├── layout_arrows.png │ │ │ │ ├── linkbutton_bg.png │ │ │ │ ├── menu_arrows.png │ │ │ │ ├── panel_tools.png │ │ │ │ ├── slider_handle.png │ │ │ │ ├── tagbox_icons.png │ │ │ │ ├── calendar_arrows.png │ │ │ │ ├── datagrid_icons.png │ │ │ │ ├── messager_icons.png │ │ │ │ ├── spinner_arrows.png │ │ │ │ ├── accordion_arrows.png │ │ │ │ ├── pagination_icons.png │ │ │ │ ├── passwordbox_close.png │ │ │ │ ├── passwordbox_open.png │ │ │ │ ├── searchbox_button.png │ │ │ │ ├── validatebox_warning.png │ │ │ │ ├── ui-icons_444444_256x240.png │ │ │ │ ├── ui-icons_555555_256x240.png │ │ │ │ ├── ui-icons_777620_256x240.png │ │ │ │ ├── ui-icons_777777_256x240.png │ │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ ├── jquery.etree.lang.js │ │ │ ├── demo.css │ │ │ ├── jquery.metisMenu.js │ │ │ └── jquery.menu.js │ │ │ ├── jstree │ │ │ └── themes │ │ │ │ ├── default │ │ │ │ ├── 32px.png │ │ │ │ ├── 40px.png │ │ │ │ ├── throbber.gif │ │ │ │ └── style.less │ │ │ │ └── default-dark │ │ │ │ ├── 32px.png │ │ │ │ ├── 40px.png │ │ │ │ ├── throbber.gif │ │ │ │ └── style.less │ │ │ ├── bootstrap │ │ │ ├── bootstrapValidator.min.css │ │ │ ├── bootstrapValidator.css │ │ │ └── bootstrap-datetimepicker.zh-CN.js │ │ │ ├── highcharts │ │ │ └── highcharts-zh_CN.js │ │ │ ├── common │ │ │ ├── base.js │ │ │ └── dataTableParam.js │ │ │ ├── dialog.js │ │ │ └── datatables │ │ │ └── dataTables.jqueryui.min.js │ ├── application.properties │ └── templates │ │ └── base │ │ ├── error.js │ │ ├── loadHome.html │ │ ├── tree.html │ │ ├── home.js │ │ ├── home.html │ │ ├── footer.html │ │ ├── welcome.html │ │ ├── tree.js │ │ ├── error.html │ │ ├── databaseError.html │ │ └── header.js │ └── java │ └── com │ └── springboot │ └── demo │ ├── base │ ├── utils │ │ ├── StateParameter.java │ │ ├── BuildPageRequest.java │ │ ├── CacheUntil.java │ │ ├── MD5Utils.java │ │ ├── Randoms.java │ │ ├── SortList.java │ │ └── Captcha.java │ ├── service │ │ ├── SysPermissionService.java │ │ ├── SysRoleService.java │ │ ├── UserInfoService.java │ │ └── impl │ │ │ └── SysRoleServiceImpl.java │ ├── entity │ │ ├── SysPermissionVo.java │ │ └── SysRole.java │ ├── common │ │ ├── PermissionUtil.java │ │ └── DataTablesParam.java │ ├── dao │ │ ├── SysPermissionDao.java │ │ ├── SysRoleDao.java │ │ └── UserInfoDao.java │ ├── controller │ │ └── HomeController.java │ └── config │ │ └── ShiroRealm.java │ ├── service │ ├── UserService.java │ └── impl │ │ └── UserServiceImpl.java │ ├── entity │ ├── User.java │ └── BaseEntity.java │ ├── dao │ └── UserDao.java │ ├── DemoApplication.java │ └── controller │ ├── StudentController.java │ └── FirstController.java └── README.md /src/main/resources/static/css/gain.css: -------------------------------------------------------------------------------- 1 | #gain-edit-dialog{ 2 | min-width: 500px; 3 | min-height: 600px; 4 | display: none; 5 | 6 | } -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/1.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/2.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/3.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/bg.png -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/cy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/cy.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/df.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/df.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/timg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/timg.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/1.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/2.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/3.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/4.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/5.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/企鹅酒店.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/企鹅酒店.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/横琴湾酒店.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/横琴湾酒店.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/迎海酒店.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/迎海酒店.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/马到成功宴.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/马到成功宴.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/马戏酒店.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/马戏酒店.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/exp.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/exp.xls -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/avatar/128.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/48.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/avatar/48.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/avatar/48.png -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/bg-1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/bg-1920.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/left.png -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/迎海酒店公寓.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/迎海酒店公寓.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/迎海酒店公寓2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/迎海酒店公寓2.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/hqts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/hqts.png -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/hqyh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/hqyh.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/home/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/banner.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/load.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/load.gif -------------------------------------------------------------------------------- /src/main/resources/static/images/home/load1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/load1.gif -------------------------------------------------------------------------------- /src/main/resources/static/images/home/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/logo.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/temexp.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/temexp.xls -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/add.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/icon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/icon1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/icon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/icon2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/icon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/icon3.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/back.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/cut.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/help.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/lock.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/man.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/more.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/no.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/ok.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/redo.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/sum.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/tip.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/undo.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/aero.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/blue.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/flat.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/grey.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/pink.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/red.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/line/line.png -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/signin-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/signin-bg.png -------------------------------------------------------------------------------- /src/main/resources/static/images/cl/pic/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/cl/pic/right.png -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/hqcyg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/hqcyg.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/zhhywg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/zhhywg.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/backimg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/backimg.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/loading2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/loading2.gif -------------------------------------------------------------------------------- /src/main/resources/static/images/home/staffexp.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/staffexp.xls -------------------------------------------------------------------------------- /src/main/resources/static/images/home/weclome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/weclome.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/zmqlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/zmqlogo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/icon1b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/icon1b.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/icon2b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/icon2b.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/icon3b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/icon3b.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icons/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/icons/loading.gif -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/blank.gif -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/cancel.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/clear.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/filter.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/pencil.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/print.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/reload.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/search.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/blank.gif -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/aero@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/blue@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/flat@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/green.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/grey@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/orange.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/pink@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/purple.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/red@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/yellow.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/line/line@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/aero.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/blue.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/grey.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/pink.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/red.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/aero.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/blue.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/green.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/grey.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/pink.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/red.png -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/haiguan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/haiguan.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/nianbao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/nianbao.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/zscqjyzx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/zscqjyzx.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/cda-index.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/cda-index.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/loadContent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/loadContent.gif -------------------------------------------------------------------------------- /src/main/resources/static/images/home/upload/a11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/upload/a11.png -------------------------------------------------------------------------------- /src/main/resources/static/images/home/upload/a7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/upload/a7.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/edit_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/edit_add.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/filesave.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/mini_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/mini_add.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/mini_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/mini_edit.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/loading.gif -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/green@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/orange@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/purple@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/flat/yellow@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/green.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/orange.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/purple.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/red@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/yellow.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/aero@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/blue@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/grey@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/orange.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/pink@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/purple.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/red@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/square.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/yellow.png -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/profile-pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/avatar/profile-pic.png -------------------------------------------------------------------------------- /src/main/resources/static/images/home/upload/scsfz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/upload/scsfz.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/upload/yyzz_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/upload/yyzz_.jpg -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/edit_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/edit_remove.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/large_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/large_chart.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/tabs_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/tabs_icons.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/tree_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/tree_icons.png -------------------------------------------------------------------------------- /src/main/resources/templates/base/error.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | setTimeout(function(){ 3 | window.history.back(-1); 4 | }, 5000); 5 | }) 6 | -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/futurico/futurico.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/aero@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/blue@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/green@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/grey@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/minimal.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/orange@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/pink@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/purple@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/yellow@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/polaris/polaris.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/green@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/orange@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/purple@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/square@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/square/yellow@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/images/bg/login-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/bg/login-background.png -------------------------------------------------------------------------------- /src/main/resources/static/images/custom/gongshanglogo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/custom/gongshanglogo.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/home/upload/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/images/home/upload/loading.gif -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/large_clipart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/large_clipart.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/large_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/large_picture.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/large_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/large_shapes.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/large_smartart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/large_smartart.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/icons/mini_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/icons/mini_refresh.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/combo_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/combo_arrow.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/datebox_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/datebox_arrow.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/layout_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/layout_arrows.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/linkbutton_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/linkbutton_bg.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/menu_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/menu_arrows.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/panel_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/panel_tools.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/slider_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/slider_handle.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/tagbox_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/tagbox_icons.png -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/css/images/home/upload/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/images/home/upload/loading.gif -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/minimal/minimal@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/polaris/polaris@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/polaris/polaris@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/calendar_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/calendar_arrows.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/datagrid_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/datagrid_icons.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/messager_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/messager_icons.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/spinner_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/spinner_arrows.png -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default/32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/jstree/themes/default/32px.png -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default/40px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/jstree/themes/default/40px.png -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/futurico/futurico@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/styles/futurico/futurico@2x.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/accordion_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/accordion_arrows.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/pagination_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/pagination_icons.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/passwordbox_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/passwordbox_close.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/passwordbox_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/passwordbox_open.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/searchbox_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/searchbox_button.png -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/jstree/themes/default/throbber.gif -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/validatebox_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/validatebox_warning.png -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default-dark/32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/jstree/themes/default-dark/32px.png -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default-dark/40px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/jstree/themes/default-dark/40px.png -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /src/main/resources/static/js/home/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/home/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default-dark/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/js/jstree/themes/default-dark/throbber.gif -------------------------------------------------------------------------------- /src/main/resources/static/css/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwwam/springbootShiro/HEAD/src/main/resources/static/css/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/static/css/base/smsMsHistory.css: -------------------------------------------------------------------------------- 1 | 2 | #dialog{ 3 | 4 | padding: 25px; 5 | } 6 | .title{ 7 | float: left; 8 | font-size: 16px; 9 | text-align: center; 10 | margin-left: 15px; 11 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/base/smsMsStatics.css: -------------------------------------------------------------------------------- 1 | 2 | #dialog{ 3 | 4 | padding: 25px; 5 | } 6 | .title{ 7 | float: left; 8 | font-size: 16px; 9 | text-align: center; 10 | margin-left: 15px; 11 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/base/userInfo.css: -------------------------------------------------------------------------------- 1 | 2 | #dialog{ 3 | 4 | padding: 25px; 5 | } 6 | .title{ 7 | float: left; 8 | font-size: 16px; 9 | text-align: center; 10 | margin-left: 15px; 11 | } 12 | 13 | .col-lg-3{ 14 | width: 35% !important; 15 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/StateParameter.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.utils; 2 | 3 | public class StateParameter { 4 | public final static String SUCCESS="1"; 5 | public final static String FAULT="0"; 6 | public final static String DATA="data"; 7 | public final static String STATE="state"; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.service; 2 | 3 | import com.springboot.demo.entity.User; 4 | 5 | import java.util.List; 6 | 7 | public interface UserService { 8 | User save(User user); 9 | 10 | User findById(String id); 11 | 12 | void delete(User user); 13 | 14 | List findAll(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/static/js/home/jquery.etree.lang.js: -------------------------------------------------------------------------------- 1 | $.extend($.fn.etree.defaults,{ 2 | editMsg:{ 3 | norecord:{ 4 | title:'警告', 5 | msg:'请先选择节点后再进行修改操作。' 6 | } 7 | }, 8 | destroyMsg:{ 9 | norecord:{ 10 | title:'警告', 11 | msg:'请先选择节点后再进行删除操作。' 12 | }, 13 | confirm:{ 14 | title:'确认', 15 | msg:'是否真的删除选定的节点?' 16 | } 17 | } 18 | 19 | }); -------------------------------------------------------------------------------- /src/main/resources/static/css/home/main.css: -------------------------------------------------------------------------------- 1 | 2 | /*******tffx************/ 3 | .page-content{ 4 | position: relative; 5 | } 6 | .page-content .search{ 7 | margin-left:250px; 8 | float: left; 9 | top: 30px; 10 | position: absolute; 11 | 12 | 13 | } 14 | .page-content .output{ 15 | float: right; 16 | } 17 | a{ 18 | cursor: pointer; 19 | } 20 | 21 | 22 | /*******************/ -------------------------------------------------------------------------------- /src/main/resources/static/js/home/demo.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family:verdana,helvetica,arial,sans-serif; 3 | padding:20px; 4 | font-size:12px; 5 | margin:0; 6 | } 7 | h2 { 8 | font-size:18px; 9 | font-weight:bold; 10 | margin:0; 11 | margin-bottom:15px; 12 | } 13 | .demo-info{ 14 | padding:0 0 12px 0; 15 | } 16 | .demo-tip{ 17 | display:none; 18 | } 19 | .label-top{ 20 | display: block; 21 | height: 22px; 22 | line-height: 22px; 23 | vertical-align: middle; 24 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/base/permission.css: -------------------------------------------------------------------------------- 1 | 2 | #dialog{ 3 | padding: 25px; 4 | } 5 | .title{ 6 | float: left; 7 | font-size: 16px; 8 | text-align: center; 9 | margin-left: 15px; 10 | } 11 | 12 | .col-lg-3{ 13 | width: 35% !important; 14 | } 15 | 16 | .col-lg-3{ 17 | width: 35% !important; 18 | } 19 | .page-content .panel-default{ 20 | float: left; 21 | width: 50%; 22 | height: 90%; 23 | } 24 | .page-content .left{ 25 | width: 40%; 26 | } 27 | .page-content .right{ 28 | width: 60%; 29 | } 30 | .form-control{ 31 | width: 160% !important; 32 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/BuildPageRequest.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.utils; 2 | 3 | import org.springframework.data.domain.PageRequest; 4 | import org.springframework.data.domain.Sort; 5 | 6 | /** 7 | * Created by ppm on 2016/10/23. 8 | */ 9 | public class BuildPageRequest { 10 | public static PageRequest getPageRequest(int pageNum,int pageSize,Sort.Direction direction,String sortType){ 11 | PageRequest requestPage=new PageRequest(pageNum, pageSize, direction,sortType); 12 | return requestPage; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/static/js/bootstrap/bootstrapValidator.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @version v0.5.1-dev, built on 2014-07-23 6:05:15 AM 6 | * @author https://twitter.com/nghuuphuoc 7 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 8 | * @license MIT 9 | */ 10 | 11 | .bv-form .help-block{margin-bottom:0}.bv-form .tooltip-inner{text-align:left}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442} -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/entity/User.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.entity; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.Table; 8 | 9 | /** 10 | * @ClassName: User 11 | * @Auther: zhangyingqi 12 | * @Date: 2018/8/27 17:17 13 | * @Description: 14 | */ 15 | @Entity 16 | @Table(name = "user") 17 | @Data 18 | public class User extends BaseEntity{ 19 | @Column(name = "name", length = 100) 20 | private String name; 21 | 22 | @Column(name = "age") 23 | private int age; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/loadHome.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Springboot整合Shiro 5 | 6 | 7 | 8 | 9 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.dao; 2 | 3 | import com.springboot.demo.entity.User; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 6 | import org.springframework.data.repository.PagingAndSortingRepository; 7 | import org.springframework.transaction.annotation.Transactional; 8 | 9 | @Transactional 10 | public interface UserDao extends PagingAndSortingRepository,JpaSpecificationExecutor,JpaRepository { 11 | User findById(String id); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/js/bootstrap/bootstrapValidator.css: -------------------------------------------------------------------------------- 1 | /** 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @author http://twitter.com/nghuuphuoc 6 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 7 | * @license MIT 8 | */ 9 | 10 | .bv-form .help-block { 11 | margin-bottom: 0; 12 | } 13 | .bv-form .tooltip-inner { 14 | text-align: left; 15 | } 16 | .nav-tabs li.bv-tab-success > a { 17 | color: #3c763d; 18 | } 19 | .nav-tabs li.bv-tab-error > a { 20 | color: #a94442; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 电信系统 5 | 6 | 7 |
8 | 9 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/static/js/bootstrap/bootstrap-datetimepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datetimepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今天", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/home.js: -------------------------------------------------------------------------------- 1 | 2 | $(function(){ 3 | goUrl("../home/welcome"); 4 | }); 5 | 6 | function goUrl(url) { 7 | $("#content").html('
'); 8 | ajax(url); 9 | } 10 | 11 | function ajax(url){ 12 | $.ajax({ 13 | type: 'post', 14 | url: url, 15 | dataType: "html", 16 | data : { }, 17 | success: function (result) { 18 | $("#content").html(result); 19 | /* if(result >= 0){ 20 | window.location.href="../base/error"; 21 | }else{ 22 | $("#content").html(result); 23 | }*/ 24 | } 25 | }); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/service/SysPermissionService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.service; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.Modifying; 6 | import org.springframework.data.jpa.repository.Query; 7 | 8 | import com.springboot.demo.base.entity.SysPermission; 9 | import com.springboot.demo.base.entity.SysPermissionVo; 10 | 11 | public interface SysPermissionService { 12 | 13 | 14 | public SysPermission findById(int id); 15 | 16 | public List findAll(); 17 | 18 | 19 | SysPermission save(SysPermission sp); 20 | 21 | int updatePermission(SysPermission sp); 22 | 23 | 24 | SysPermission findByOne(String id); 25 | 26 | int delete(String id); 27 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default/style.less: -------------------------------------------------------------------------------- 1 | /* jsTree default theme */ 2 | @theme-name: default; 3 | @hovered-bg-color: #e7f4f9; 4 | @hovered-shadow-color: #cccccc; 5 | @disabled-color: #666666; 6 | @disabled-bg-color: #efefef; 7 | @clicked-bg-color: #beebff; 8 | @clicked-shadow-color: #999999; 9 | @clicked-gradient-color-1: #beebff; 10 | @clicked-gradient-color-2: #a8e4ff; 11 | @search-result-color: #8b0000; 12 | @mobile-wholerow-bg-color: #ebebeb; 13 | @mobile-wholerow-shadow: #666666; 14 | @mobile-wholerow-bordert: rgba(255,255,255,0.7); 15 | @mobile-wholerow-borderb: rgba(64,64,64,0.2); 16 | @responsive: true; 17 | @image-path: ""; 18 | @base-height: 40px; 19 | 20 | @import "../mixins.less"; 21 | @import "../base.less"; 22 | @import "../main.less"; -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/CacheUntil.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright © 2012-2013 JeeSite All rights reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | */ 6 | package com.springboot.demo.base.utils; 7 | 8 | import java.util.Collection; 9 | import java.util.HashSet; 10 | 11 | import org.apache.shiro.authz.AuthorizationInfo; 12 | 13 | public class CacheUntil { 14 | 15 | private static Collection set = new HashSet(); 16 | 17 | public static void setCacheTree(AuthorizationInfo ai){ 18 | set = ai.getStringPermissions(); 19 | System.out.println(ai.getStringPermissions().size()); 20 | } 21 | 22 | 23 | public static Collection getCacheTree(){ 24 | return set; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.builder.SpringApplicationBuilder; 6 | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; 7 | 8 | @SpringBootApplication 9 | public class DemoApplication extends SpringBootServletInitializer { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(DemoApplication.class, args); 13 | } 14 | 15 | @Override 16 | protected SpringApplicationBuilder configure(SpringApplicationBuilder application){ 17 | System.out.println("外部tomcat,chapter启动!"); 18 | return application.sources(DemoApplication.class); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Springboot整合Shiro 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 | 17 |
18 | 19 |
20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/service/SysRoleService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.service; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.domain.Page; 6 | import org.springframework.data.domain.Pageable; 7 | 8 | import com.springboot.demo.base.entity.SysRole; 9 | import com.springboot.demo.base.entity.UserInfo; 10 | 11 | public interface SysRoleService { 12 | 13 | 14 | public UserInfo findById(int id); 15 | 16 | Page findByRole(String role, Pageable pageable); 17 | 18 | Page findAll(Pageable pageable); 19 | 20 | public int updateState(boolean available, String id); 21 | 22 | public int updateRole(SysRole sr); 23 | 24 | SysRole save(SysRole sr); 25 | 26 | 27 | public SysRole findByOne(String id); 28 | 29 | List findAll(); 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/MD5Utils.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.utils; 2 | 3 | import org.apache.shiro.crypto.hash.SimpleHash; 4 | import org.apache.shiro.util.ByteSource; 5 | 6 | public class MD5Utils { 7 | 8 | private static String algorithmName = "md5"; //指定散列算法为MD5,还有别的算法如:SHA256、SHA1、SHA512 9 | private static int hashIterations = 2; //散列迭代次数 md5(md5(pwd)): new Md5Hash(pwd, salt, 2).toString() 10 | 11 | //加密:输入明文得到密文 12 | public static String encodePassword(String pwd, String salt) { 13 | //user.setSalt(randomNumberGenerator.nextBytes().toHex()); 14 | String newPassword = new SimpleHash( 15 | algorithmName, 16 | pwd, 17 | ByteSource.Util.bytes(salt), 18 | hashIterations).toHex(); 19 | return newPassword; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/entity/SysPermissionVo.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.entity; 2 | 3 | public class SysPermissionVo{ 4 | 5 | 6 | private Integer id;//主键. 7 | private String text;//名称. 8 | private String parent;//资源路径. 9 | private Boolean state;//状态 10 | public Integer getId() { 11 | return id; 12 | } 13 | public void setId(Integer id) { 14 | this.id = id; 15 | } 16 | public String getText() { 17 | return text; 18 | } 19 | public void setText(String text) { 20 | this.text = text; 21 | } 22 | 23 | 24 | 25 | public String getParent() { 26 | return parent; 27 | } 28 | public void setParent(String parent) { 29 | this.parent = parent; 30 | } 31 | public Boolean getState() { 32 | return state; 33 | } 34 | public void setState(Boolean state) { 35 | this.state = state; 36 | } 37 | 38 | 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/controller/StudentController.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.controller; 2 | 3 | import com.springboot.demo.base.controller.BaseController; 4 | import org.apache.shiro.authz.annotation.RequiresPermissions; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.web.bind.annotation.RequestMapping; 7 | 8 | import javax.servlet.http.HttpServletRequest; 9 | 10 | /** 11 | * @ClassName: StudentController 12 | * @Auther: zhangyingqi 13 | * @Date: 2018/8/31 16:20 14 | * @Description: 15 | */ 16 | @Controller 17 | @RequestMapping(value="/student") 18 | public class StudentController extends BaseController{ 19 | 20 | @RequiresPermissions("student:view") 21 | @RequestMapping(value="/studentView") 22 | public String view(HttpServletRequest request){ 23 | logger.info("进入student列表页面"); 24 | return "/student/studentList"; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Springboot整合Shiro 5 | 6 | 7 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/common/PermissionUtil.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.common; 2 | 3 | import com.springboot.demo.base.entity.UserInfo; 4 | import org.apache.shiro.SecurityUtils; 5 | 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | 9 | public class PermissionUtil { 10 | 11 | public static boolean isSearchAllData() { 12 | 13 | String isSearch = SecurityUtils.getSubject().getSession().getAttribute("isSearchAllData")+""; 14 | if("null".equals(isSearch)){ 15 | System.out.println("false"); 16 | return false; 17 | }else{ 18 | System.out.println("true"); 19 | return true; 20 | } 21 | } 22 | 23 | 24 | /** 25 | * 获取当前登录的用户角色 26 | * */ 27 | public static UserInfo getCurrentUser(){ 28 | 29 | UserInfo currentUserId = (UserInfo)SecurityUtils.getSubject().getSession().getAttribute("user"); 30 | return currentUserId; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/welcome.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 闪信系统 5 | 6 | 7 | 8 |
9 |
10 | 13 | 20 |
21 | 22 |
23 |
24 |
25 | 26 |
27 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #SpringBoot笔记 2 | [(一)SpringBoot基本操作——环境搭建及项目创建(有demo)](https://blog.csdn.net/zhulier1124/article/details/81988471) 3 | [(二)SpringBoot基本操作——使用IDEA打war包发布及测试](https://blog.csdn.net/zhulier1124/article/details/82012829) 4 | [(三)SpringBoot基本操作——SpringBoot整合SpringDataJpa(有demo)](https://blog.csdn.net/zhulier1124/article/details/82121461) 5 | [(四)SpringBoot基本操作——SpringBoot使用RedisTemplate整合Redis(有demo)](https://blog.csdn.net/zhulier1124/article/details/82154937) 6 | [(五)SpringBoot基本操作——SpringBoot使用Jedis整合Redis(有demo)](https://blog.csdn.net/zhulier1124/article/details/82193182) 7 | [(六)SpringBoot基本操作——SpringBoot使用Junit4单元测试(有demo)](https://blog.csdn.net/zhulier1124/article/details/82228831) 8 | [(七)SpringBoot基本操作——SpringBoot整合Shiro权限管理(完整demo+界面)](https://blog.csdn.net/zhulier1124/article/details/82289736) 9 | 10 | 11 | #项目结构 12 | SpringBoot2.0 13 | Thymeleaf3.0 14 | SpringDataJPA 15 | MySql 16 | Redis 17 | lombok 18 | 19 | #外部Tomcat启动测试 20 | **必须加入项目包名** 21 | 22 | #联系方式 23 | 824247231 -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/service/UserInfoService.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.service; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | 6 | import com.springboot.demo.base.entity.UserInfo; 7 | import org.springframework.data.domain.Page; 8 | import org.springframework.data.domain.Pageable; 9 | 10 | public interface UserInfoService { 11 | 12 | /**通过username查找用户信息;*/ 13 | UserInfo findByUsername(String username); 14 | 15 | UserInfo findByOne(Integer uid); 16 | 17 | /**更新用户信息*/ 18 | void updateUserInfo(UserInfo ui); 19 | 20 | 21 | Page findByUserName(String username, Pageable pageable); 22 | 23 | Page findAll(Pageable pageable); 24 | List findAll(); 25 | 26 | UserInfo save(UserInfo ui); 27 | 28 | UserInfo saveUser(UserInfo ui); 29 | 30 | int updateState(int state, String uid); 31 | 32 | int updatePassword(String password, Date updateDate, String uid); 33 | 34 | UserInfo saveRoleId(UserInfo ui); 35 | 36 | 37 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.service.impl; 2 | 3 | import com.springboot.demo.dao.UserDao; 4 | import com.springboot.demo.entity.User; 5 | import com.springboot.demo.service.UserService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * @ClassName: UserServiceImpl 13 | * @Auther: zhangyingqi 14 | * @Date: 2018/8/27 17:26 15 | * @Description: 16 | */ 17 | @Service(value = "userService") 18 | public class UserServiceImpl implements UserService{ 19 | @Autowired 20 | UserDao userDao; 21 | 22 | @Override 23 | public User save(User user) { 24 | return userDao.save(user); 25 | } 26 | 27 | @Override 28 | public User findById(String id) { 29 | return userDao.findById(id); 30 | } 31 | 32 | public void delete(User user) { 33 | userDao.delete(user); 34 | } 35 | 36 | @Override 37 | public List findAll() { 38 | return userDao.findAll(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/dao/SysPermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.dao; 2 | 3 | import javax.transaction.Transactional; 4 | 5 | import org.springframework.data.domain.Page; 6 | import org.springframework.data.domain.Pageable; 7 | import org.springframework.data.jpa.repository.Modifying; 8 | import org.springframework.data.jpa.repository.Query; 9 | import org.springframework.data.repository.CrudRepository; 10 | 11 | import com.springboot.demo.base.entity.SysPermission; 12 | 13 | @Transactional 14 | public interface SysPermissionDao extends CrudRepository { 15 | 16 | public SysPermission findById(int id); 17 | 18 | 19 | @Modifying(clearAutomatically = true) 20 | @Query(value = "update sys_permission s set s.name=?1,s.resource_type=?2,s.url=?3,s.permission=?4,s.available=?5 where s.id = ?6",nativeQuery = true) 21 | public int updatePermission(String name, String resourceType, String url, String permission, boolean available, String id); 22 | 23 | 24 | @Modifying(clearAutomatically = true) 25 | @Query(value = "delete from sys_permission where id = ?1",nativeQuery = true) 26 | public int delete(int id); 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/Randoms.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.utils; 2 | 3 | import java.util.Random; 4 | 5 | /** 6 | *

随机工具类

7 | * @version:1.0 8 | */ 9 | public class Randoms 10 | { 11 | private static final Random RANDOM = new Random(); 12 | //定义验证码字符.去除了O和I等容易混淆的字母 13 | public static final char ALPHA[]={'A','B','C','D','E','F','G','H','G','K','M','N','P','Q','R','S','T','U','V','W','X','Y','Z' 14 | ,'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','2','3','4','5','6','7','8','9'}; 15 | 16 | /** 17 | * 产生两个数之间的随机数 18 | * @param min 小数 19 | * @param max 比min大的数 20 | * @return int 随机数字 21 | */ 22 | public static int num(int min, int max) 23 | { 24 | return min + RANDOM.nextInt(max - min); 25 | } 26 | 27 | /** 28 | * 产生0--num的随机数,不包括num 29 | * @param num 数字 30 | * @return int 随机数字 31 | */ 32 | public static int num(int num) 33 | { 34 | return RANDOM.nextInt(num); 35 | } 36 | 37 | public static char alpha() 38 | { 39 | return ALPHA[num(0, ALPHA.length)]; 40 | } 41 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.entity; 2 | 3 | import java.util.Date; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Id; 7 | import javax.persistence.MappedSuperclass; 8 | 9 | import org.hibernate.annotations.GenericGenerator; 10 | 11 | @MappedSuperclass 12 | public class BaseEntity { 13 | @Id 14 | //@GeneratedValue(strategy = GenerationType.AUTO) 15 | @GenericGenerator(name = "uuid", strategy = "uuid") 16 | protected String id; 17 | 18 | @Column(name= "create_date") //创建时间 19 | Date createDate = new Date(); 20 | 21 | @Column(name= "update_date")//修改时间 22 | Date updateDate; 23 | 24 | public Date getCreateDate() { 25 | return createDate; 26 | } 27 | 28 | public void setCreateDate(Date createDate) { 29 | this.createDate = createDate; 30 | } 31 | 32 | public Date getUpdateDate() { 33 | return updateDate; 34 | } 35 | 36 | public void setUpdateDate(Date updateDate) { 37 | this.updateDate = updateDate; 38 | } 39 | 40 | public String getId() { 41 | return id; 42 | } 43 | 44 | public void setId(String id) { 45 | this.id = id; 46 | } 47 | 48 | 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/common/DataTablesParam.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.common; 2 | 3 | /** 4 | * Created by ppm on 2017/3/17. 5 | */ 6 | public class DataTablesParam { 7 | private int iDisplayStart;// 起始索引 8 | private int iDisplayLength;// 每页显示的行数 9 | private int pageNum; //页码 10 | private String sEcho; 11 | 12 | public int getiDisplayLength() { 13 | return iDisplayLength; 14 | } 15 | 16 | public void setiDisplayLength(int iDisplayLength) { 17 | this.iDisplayLength = iDisplayLength; 18 | } 19 | 20 | public String getsEcho() { 21 | return sEcho; 22 | } 23 | 24 | public void setsEcho(String sEcho) { 25 | this.sEcho = sEcho; 26 | } 27 | 28 | public int getiDisplayStart() { 29 | return iDisplayStart; 30 | } 31 | 32 | public void setiDisplayStart(int iDisplayStart) { 33 | this.iDisplayStart = iDisplayStart; 34 | } 35 | 36 | public int getPageNum() { 37 | if(iDisplayStart==0){ 38 | this.pageNum=0; 39 | }else{ 40 | this.pageNum = iDisplayStart/iDisplayLength; 41 | } 42 | return pageNum; 43 | } 44 | 45 | public void setPageNum(int pageNum) { 46 | this.pageNum=pageNum; 47 | 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/dao/SysRoleDao.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.dao; 2 | 3 | import javax.transaction.Transactional; 4 | 5 | import org.springframework.data.domain.Page; 6 | import org.springframework.data.domain.Pageable; 7 | import org.springframework.data.jpa.repository.Modifying; 8 | import org.springframework.data.jpa.repository.Query; 9 | import org.springframework.data.repository.CrudRepository; 10 | 11 | import com.springboot.demo.base.entity.SysRole; 12 | import com.springboot.demo.base.entity.UserInfo; 13 | 14 | @Transactional 15 | public interface SysRoleDao extends CrudRepository { 16 | 17 | public SysRole findById(int id); 18 | 19 | 20 | @Query("from SysRole u where u.role = ?1") 21 | Page findByRole(String role, Pageable pageable); 22 | 23 | Page findAll(Pageable pageable); 24 | 25 | 26 | @Modifying(clearAutomatically = true) 27 | @Query(value = "update sys_role ui set ui.available=?1 where ui.id = ?2",nativeQuery = true) 28 | public int updateState(boolean available, String id); 29 | 30 | 31 | @Modifying(clearAutomatically = true) 32 | @Query(value = "update sys_role ui set ui.description=?1,ui.role=?2 where ui.id = ?3",nativeQuery = true) 33 | public int updateRole(String description, String role, String id); 34 | 35 | 36 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/SortList.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.utils; 2 | 3 | //SortList.java 4 | import java.util.Collections; 5 | 6 | import java.util.Comparator; 7 | 8 | import java.util.List; 9 | 10 | import java.lang.reflect.Method; 11 | 12 | import java.lang.reflect.InvocationTargetException; 13 | 14 | 15 | 16 | public class SortList{ 17 | 18 | 19 | 20 | public void Sort(List list, final String method){ 21 | 22 | //排序 23 | 24 | Collections.sort(list, new Comparator() { 25 | 26 | public int compare(Object a, Object b) { 27 | 28 | int ret = 0; 29 | 30 | try{ 31 | 32 | Method m1 = ((E)a).getClass().getMethod(method, null); 33 | 34 | Method m2 = ((E)b).getClass().getMethod(method, null); 35 | 36 | ret = m1.invoke(((E)a), null).toString().compareTo(m2.invoke(((E)b), null).toString()); 37 | 38 | }catch(NoSuchMethodException ne){ 39 | 40 | System.out.println(ne); 41 | 42 | }catch(IllegalAccessException ie){ 43 | 44 | System.out.println(ie); 45 | 46 | }catch(InvocationTargetException it){ 47 | 48 | System.out.println(it); 49 | 50 | } 51 | 52 | return ret; 53 | 54 | } 55 | 56 | }); 57 | 58 | } 59 | 60 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/highcharts/highcharts-zh_CN.js: -------------------------------------------------------------------------------- 1 | (function(H){var protocol=window.location.protocol;var defaultOptionsZhCn={lang:{contextButtonTitle:'图表导出菜单',decimalPoint:'.',downloadJPEG:"下载JPEG图片",downloadPDF:"下载PDF文件",downloadPNG:"下载PNG文件",downloadSVG:"下载SVG文件",drillUpText:"返回 {series.name}",invalidDate:'无效的时间',loading:'加载中...',months:['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],noData:"没有数据",numericSymbols:null,printChart:"打印图表",resetZoom:'重置缩放比例',resetZoomTitle:'重置为原始大小',shortMonths:['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],thousandsSep:',',weekdays:['星期一','星期二','星期三','星期四','星期五','星期六','星期天'],rangeSelectorFrom:'开始时间',rangeSelectorTo:'结束时间',rangeSelectorZoom:'缩放',zoomIn:'缩小',zoomOut:'放大'},global:{useUTC:true,canvasToolsURL:protocol+'//cdn.hcharts.cn/highcharts/modules/canvas-tools.js',VMLRadialGradientURL:protocol+ +'//cdn.hcharts.cn/highcharts/gfx/vml-radial-gradient.png'},title:{text:'图表标题'},tooltip:{dateTimeLabelFormats:{millisecond:'%H:%M:%S.%L',second:'%H:%M:%S',minute:'%H:%M',hour:'%H:%M',day:'%Y-%m-%d',week:'Week from %A, %b %e, %Y',month:'%Y-%m',year:'%Y'}},exporting:{url:protocol+'//export.highcharts.com.cn'},credits:{text:'Highcharts.com.cn',href:'https://www.highcharts.com.cn'},xAxis:{dateTimeLabelFormats:{millisecond:'%H:%M:%S.%L',second:'%H:%M:%S',minute:'%H:%M',hour:'%H:%M',day:'%Y-%m-%d',week:'%e. %b',month:'%Y-%m',year:'%Y'}}};H.setOptions(defaultOptionsZhCn)}(Highcharts)); -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/controller/FirstController.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.controller; 2 | 3 | import com.springboot.demo.base.controller.BaseController; 4 | import com.springboot.demo.base.utils.StateParameter; 5 | import com.springboot.demo.service.UserService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Controller; 8 | import org.springframework.ui.ModelMap; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestMethod; 11 | import org.springframework.web.bind.annotation.ResponseBody; 12 | 13 | import javax.servlet.http.HttpServletRequest; 14 | 15 | /** 16 | * @ClassName: FirstController 17 | * @Auther: zhangyingqi 18 | * @Date: 2018/8/23 17:53 19 | * @Description: 测试页面跳转 20 | */ 21 | @Controller 22 | @RequestMapping(value="/first") 23 | public class FirstController extends BaseController{ 24 | 25 | @Autowired 26 | UserService userService; 27 | 28 | @RequestMapping(value="/view") 29 | public String view(HttpServletRequest request){ 30 | logger.info("进入测试页面"); 31 | return "/student/firstPage"; 32 | } 33 | 34 | @RequestMapping(value="/back", method = RequestMethod.POST) 35 | @ResponseBody 36 | public ModelMap back(HttpServletRequest request){ 37 | logger.info("进入json测试页面"); 38 | return getModelMap(StateParameter.SUCCESS, null, "请求成功"); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/tree.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | loadTree();//初始化 3 | function loadTree(){ 4 | var html = '
'+ 5 | '
  • '+ 6 | ''+ 7 | ' '+ 8 | '
    '+ 9 | '
    '+ 10 | ' 欢迎主页'+ 11 | '
    '+ 12 | '
  • '; 13 | $.ajax({ 14 | type: 'post', 15 | url: '../home/getTree', 16 | dataType: "json", 17 | data : {}, 18 | success: function (result) { 19 | var array = result.data; 20 | for (var i = 0; i < array.length; i++) { 21 | html+= '
  • '+ 22 | ''+ 23 | ' '+ 24 | '
    '+ 25 | '
    '+ 26 | ' '+array[i].name+''+ 27 | '
    '+ 28 | '
  • '; 29 | } 30 | $("#side-menu").append(html); 31 | $("#home").addClass("selected");//添加默认的选择class 32 | 33 | sessionStorage.setItem("isReload",true) 34 | 35 | $("#side-menu li").click(function(e){ 36 | $("#side-menu").find('li').each(function() { 37 | $(this).removeClass("selected"); 38 | }); 39 | $(this).addClass("selected"); 40 | }); 41 | } 42 | }); 43 | 44 | } 45 | 46 | }); 47 | -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat, 48 | .iradio_flat { 49 | background-image: url(flat@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-red, 48 | .iradio_flat-red { 49 | background-image: url(red@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-aero, 48 | .iradio_flat-aero { 49 | background-image: url(aero@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-blue, 48 | .iradio_flat-blue { 49 | background-image: url(blue@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-grey, 48 | .iradio_flat-grey { 49 | background-image: url(grey@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-pink, 48 | .iradio_flat-pink { 49 | background-image: url(pink@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_futurico, 48 | .iradio_futurico { 49 | background-image: url(futurico@2x.png); 50 | -webkit-background-size: 144px 19px; 51 | background-size: 144px 19px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-green, 48 | .iradio_flat-green { 49 | background-image: url(green@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-orange, 48 | .iradio_flat-orange { 49 | background-image: url(orange@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-purple, 48 | .iradio_flat-purple { 49 | background-image: url(purple@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 47 | .icheckbox_flat-yellow, 48 | .iradio_flat-yellow { 49 | background-image: url(yellow@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square, 54 | .iradio_square { 55 | background-image: url(square@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_polaris, 54 | .iradio_polaris { 55 | background-image: url(polaris@2x.png); 56 | -webkit-background-size: 310px 31px; 57 | background-size: 310px 31px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal, 54 | .iradio_minimal { 55 | background-image: url(minimal@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-red, 54 | .iradio_square-red { 55 | background-image: url(red@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-red, 54 | .iradio_minimal-red { 55 | background-image: url(red@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-aero, 54 | .iradio_square-aero { 55 | background-image: url(aero@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-blue, 54 | .iradio_square-blue { 55 | background-image: url(blue@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-grey, 54 | .iradio_square-grey { 55 | background-image: url(grey@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-pink, 54 | .iradio_square-pink { 55 | background-image: url(pink@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_minimal-aero, 4 | .iradio_minimal-aero { 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(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-aero.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-aero.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-aero.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-aero.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-aero { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-aero.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-aero.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-aero.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-aero.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-aero, 54 | .iradio_minimal-aero { 55 | background-image: url(aero@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_minimal-blue, 4 | .iradio_minimal-blue { 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(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-blue.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-blue.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-blue.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-blue.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-blue { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-blue.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-blue.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-blue.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-blue.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-blue, 54 | .iradio_minimal-blue { 55 | background-image: url(blue@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_minimal-grey, 4 | .iradio_minimal-grey { 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(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-grey.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-grey.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-grey.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-grey.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-grey { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-grey.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-grey.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-grey.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-grey.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-grey, 54 | .iradio_minimal-grey { 55 | background-image: url(grey@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_minimal-pink, 4 | .iradio_minimal-pink { 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(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-pink.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-pink.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-pink.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-pink.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-pink { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-pink.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-pink.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-pink.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-pink.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-pink, 54 | .iradio_minimal-pink { 55 | background-image: url(pink@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, green 2 | ----------------------------------- */ 3 | .icheckbox_square-green, 4 | .iradio_square-green { 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(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-green.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-green.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-green.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-green.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-green { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-green.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-green.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-green.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-green.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-green, 54 | .iradio_square-green { 55 | background-image: url(green@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, green 2 | ----------------------------------- */ 3 | .icheckbox_minimal-green, 4 | .iradio_minimal-green { 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(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-green.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-green.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-green.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-green.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-green { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-green.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-green.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-green.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-green.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-green, 54 | .iradio_minimal-green { 55 | background-image: url(green@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_square-orange, 4 | .iradio_square-orange { 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(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-orange.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-orange.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-orange.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-orange.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-orange { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-orange.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-orange.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-orange.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-orange.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-orange, 54 | .iradio_square-orange { 55 | background-image: url(orange@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_square-purple, 4 | .iradio_square-purple { 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(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-purple.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-purple.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-purple.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-purple.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-purple { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-purple.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-purple.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-purple.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-purple.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-purple, 54 | .iradio_square-purple { 55 | background-image: url(purple@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/square/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_square-yellow, 4 | .iradio_square-yellow { 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(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-yellow.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-yellow.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-yellow.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-yellow.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-yellow { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-yellow.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-yellow.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-yellow.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-yellow.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-yellow, 54 | .iradio_square-yellow { 55 | background-image: url(yellow@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/home/jquery.metisMenu.js: -------------------------------------------------------------------------------- 1 | ;(function ($, window, document, undefined) { 2 | 3 | var pluginName = "metisMenu", 4 | defaults = { 5 | toggle: true 6 | }; 7 | 8 | function Plugin(element, options) { 9 | this.element = element; 10 | this.settings = $.extend({}, defaults, options); 11 | this._defaults = defaults; 12 | this._name = pluginName; 13 | this.init(); 14 | } 15 | 16 | Plugin.prototype = { 17 | init: function () { 18 | 19 | var $this = $(this.element), 20 | $toggle = this.settings.toggle; 21 | 22 | $this.find('li.active').has('ul').children('ul').addClass('collapse in'); 23 | $this.find('li').not('.active').has('ul').children('ul').addClass('collapse'); 24 | 25 | $this.find('li').has('ul').children('a').on('click', function (e) { 26 | e.preventDefault(); 27 | 28 | $(this).parent('li').toggleClass('active').children('ul').collapse('toggle'); 29 | 30 | if ($toggle) { 31 | $(this).parent('li').siblings().removeClass('active').children('ul.in').collapse('hide'); 32 | } 33 | /* 34 | $this.find('li.active').has('ul').children('ul').addClass('collapse in'); 35 | $this.find('li').not('.active').has('ul').children('ul').addClass('collapse');*/ 36 | }); 37 | } 38 | }; 39 | 40 | $.fn[ pluginName ] = function (options) { 41 | return this.each(function () { 42 | if (!$.data(this, "plugin_" + pluginName)) { 43 | $.data(this, "plugin_" + pluginName, new Plugin(this, options)); 44 | } 45 | }); 46 | }; 47 | 48 | })(jQuery, window, document); 49 | -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_minimal-orange, 4 | .iradio_minimal-orange { 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(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-orange.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-orange.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-orange.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-orange.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-orange { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-orange.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-orange.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-orange.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-orange.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-orange, 54 | .iradio_minimal-orange { 55 | background-image: url(orange@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_minimal-purple, 4 | .iradio_minimal-purple { 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(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-purple.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-purple.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-purple.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-purple.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-purple { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-purple.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-purple.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-purple.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-purple.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-purple, 54 | .iradio_minimal-purple { 55 | background-image: url(purple@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/minimal/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_minimal-yellow, 4 | .iradio_minimal-yellow { 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(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-yellow.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-yellow.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-yellow.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-yellow.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-yellow { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-yellow.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-yellow.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-yellow.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-yellow.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_minimal-yellow, 54 | .iradio_minimal-yellow { 55 | background-image: url(yellow@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/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"); -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/utils/Captcha.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.utils; 2 | 3 | import java.awt.*; 4 | import java.io.OutputStream; 5 | 6 | public abstract class Captcha extends Randoms { 7 | protected Font font = new Font("Verdana", Font.ITALIC | Font.BOLD, 28); // 字体 8 | protected int len = 5; // 验证码随机字符长度 9 | protected int width = 150; // 验证码显示跨度 10 | protected int height = 40; // 验证码显示高度 11 | private String chars = null; // 随机字符串 12 | 13 | /** 14 | * 生成随机字符数组 15 | * 16 | * @return 字符数组 17 | */ 18 | protected char[] alphas() { 19 | char[] cs = new char[len]; 20 | for (int i = 0; i < len; i++) { 21 | cs[i] = alpha(); 22 | } 23 | chars = new String(cs); 24 | return cs; 25 | } 26 | 27 | public Font getFont() { 28 | return font; 29 | } 30 | 31 | public void setFont(Font font) { 32 | this.font = font; 33 | } 34 | 35 | public int getLen() { 36 | return len; 37 | } 38 | 39 | public void setLen(int len) { 40 | this.len = len; 41 | } 42 | 43 | public int getWidth() { 44 | return width; 45 | } 46 | 47 | public void setWidth(int width) { 48 | this.width = width; 49 | } 50 | 51 | public int getHeight() { 52 | return height; 53 | } 54 | 55 | public void setHeight(int height) { 56 | this.height = height; 57 | } 58 | 59 | /** 60 | * 给定范围获得随机颜色 61 | * 62 | * @return Color 随机颜色 63 | */ 64 | protected Color color(int fc, int bc) { 65 | if (fc > 255) 66 | fc = 255; 67 | if (bc > 255) 68 | bc = 255; 69 | int r = fc + num(bc - fc); 70 | int g = fc + num(bc - fc); 71 | int b = fc + num(bc - fc); 72 | return new Color(r, g, b); 73 | } 74 | 75 | /** 76 | * 验证码输出,抽象方法,由子类实现 77 | * 78 | * @param os 79 | * 输出流 80 | */ 81 | public abstract void out(OutputStream os); 82 | 83 | /** 84 | * 获取随机字符串 85 | * 86 | * @return string 87 | */ 88 | public String text() { 89 | return chars; 90 | } 91 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.ui.ModelMap; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | import org.springframework.web.bind.annotation.RequestMethod; 7 | import org.springframework.web.bind.annotation.ResponseBody; 8 | 9 | import com.springboot.demo.base.entity.UserInfo; 10 | import com.springboot.demo.base.utils.StateParameter; 11 | 12 | import net.sf.json.JSONArray; 13 | 14 | import javax.servlet.http.HttpServletResponse; 15 | import java.io.IOException; 16 | 17 | @Controller 18 | @RequestMapping("/home") 19 | public class HomeController extends BaseController{ 20 | 21 | @RequestMapping("/view") 22 | public String index(HttpServletResponse response){ 23 | 24 | UserInfo ui = this.getCurrentUser(); 25 | if( ui == null ){ 26 | try { 27 | response.sendRedirect("../login"); 28 | } catch (IOException e) { 29 | e.printStackTrace(); 30 | } 31 | } 32 | logger.info("初始化home页面...."); 33 | return"/base/home"; 34 | 35 | } 36 | 37 | //@RequestMapping("/welcome") 38 | @RequestMapping(value="/welcome",method = RequestMethod.POST) 39 | public String welcome(){ 40 | 41 | logger.info("welcome...."); 42 | return"/base/welcome"; 43 | 44 | } 45 | 46 | /** 47 | * 获取客户权限资源树列表; 48 | * @return 49 | */ 50 | @RequestMapping("/getTree") 51 | //@RequiresPermissions("userInfo:add")//权限管理; 52 | @ResponseBody 53 | public ModelMap getTree(){ 54 | UserInfo ui = this.getCurrentUser(); 55 | if( ui == null ){ 56 | logger.info("当前登录用户:null"); 57 | } 58 | logger.info("当前登录用户:"+ ui.getName()); 59 | JSONArray json = this.getCurrentUserPermission(ui); 60 | return getModelMap(StateParameter.SUCCESS,json,"操作成功"); 61 | } 62 | 63 | 64 | 65 | } -------------------------------------------------------------------------------- /src/main/resources/templates/base/error.html: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 抱歉 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 30 | 38 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/resources/templates/base/databaseError.html: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 抱歉 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 30 | 38 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/entity/SysRole.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.entity; 2 | 3 | import javax.persistence.*; 4 | import java.util.List; 5 | 6 | @Entity 7 | public class SysRole { 8 | @Id 9 | @GeneratedValue 10 | private Integer id; // 编号 11 | private String role; // 角色标识程序中判断使用,如"admin",这个是唯一的: 12 | private String description; // 角色描述,UI界面显示使用 13 | private Boolean available = Boolean.FALSE; // 是否可用,如果不可用将不会添加给用户 14 | 15 | //角色 -- 权限关系:多对多关系; 16 | @ManyToMany(fetch= FetchType.EAGER) 17 | @JoinTable(name="SysRolePermission",joinColumns={@JoinColumn(name="roleId")},inverseJoinColumns={@JoinColumn(name="permissionId")}) 18 | private List permissions; 19 | 20 | // 用户 - 角色关系定义; 21 | @ManyToMany 22 | @JoinTable(name="SysUserRole",joinColumns={@JoinColumn(name="roleId")},inverseJoinColumns={@JoinColumn(name="uid")}) 23 | private List userInfos;// 一个角色对应多个用户 24 | 25 | public Integer getId() { 26 | return id; 27 | } 28 | 29 | public void setId(Integer id) { 30 | this.id = id; 31 | } 32 | 33 | public String getRole() { 34 | return role; 35 | } 36 | 37 | public void setRole(String role) { 38 | this.role = role; 39 | } 40 | 41 | public String getDescription() { 42 | return description; 43 | } 44 | 45 | public void setDescription(String description) { 46 | this.description = description; 47 | } 48 | 49 | public Boolean getAvailable() { 50 | return available; 51 | } 52 | 53 | public void setAvailable(Boolean available) { 54 | this.available = available; 55 | } 56 | 57 | public List getPermissions() { 58 | return permissions; 59 | } 60 | 61 | public void setPermissions(List permissions) { 62 | this.permissions = permissions; 63 | } 64 | 65 | public List getUserInfos() { 66 | return userInfos; 67 | } 68 | 69 | public void setUserInfos(List userInfos) { 70 | this.userInfos = userInfos; 71 | } 72 | } -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/dao/UserInfoDao.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.dao; 2 | 3 | 4 | import com.springboot.demo.base.entity.UserInfo; 5 | import org.springframework.data.domain.Page; 6 | import org.springframework.data.domain.Pageable; 7 | import org.springframework.data.jpa.repository.Modifying; 8 | import org.springframework.data.jpa.repository.Query; 9 | import org.springframework.data.repository.CrudRepository; 10 | 11 | import javax.transaction.Transactional; 12 | import java.util.Date; 13 | import java.util.List; 14 | 15 | @Transactional 16 | public interface UserInfoDao extends CrudRepository { 17 | /**通过username查找用户信息;*/ 18 | 19 | @Query("from UserInfo u where u.username = ?1 and state !=2") 20 | public UserInfo findByUsername(String username); 21 | 22 | public UserInfo findByUid(Integer uid); 23 | 24 | 25 | @Query("from UserInfo u where u.username = ?1") 26 | Page findByUserName(String username, Pageable pageable); 27 | 28 | //@Query("select uid,username,name,password,state from UserInfo") 29 | Page findAll(Pageable pageable); 30 | List findAll(); 31 | 32 | @Modifying(clearAutomatically = true) 33 | @Query(value = "update user_info ui set ui.state=?1,ui.update_date=?2 where ui.uid = ?3",nativeQuery = true) 34 | public int updateState(int state, Date updateDate, String uid); 35 | 36 | /*@Modifying(clearAutomatically = true) 37 | @Query(value = "update user_info ui set ui.sum=?1,ui.remarks=?2,ui.update_date=?3,ui.sms_number=?4,ui.histroy_sum=?5 where ui.uid = ?6",nativeQuery = true) 38 | public int chargeMoney (double sum,String remarks,Date updateDate,int smsNumber,double histroySum,String uid);*/ 39 | 40 | @Modifying(clearAutomatically = true) 41 | @Query(value = "update user_info ui set ui.password=?1,ui.update_date=?2 where ui.uid = ?3",nativeQuery = true) 42 | public int updatePassword(String password, Date updateDate, String uid); 43 | 44 | 45 | @Modifying(clearAutomatically = true) 46 | @Query(value = "update user_info ui set ui.sms_number=?1,ui.update_date=?2 where ui.uid = ?3",nativeQuery = true) 47 | public int updateSmsNumber(int smsNumber, Date updateDate, String uid); 48 | 49 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/jstree/themes/default-dark/style.less: -------------------------------------------------------------------------------- 1 | /* jsTree default dark theme */ 2 | @theme-name: default-dark; 3 | @hovered-bg-color: #555; 4 | @hovered-shadow-color: #555; 5 | @disabled-color: #666666; 6 | @disabled-bg-color: #333333; 7 | @clicked-bg-color: #5fa2db; 8 | @clicked-shadow-color: #666666; 9 | @clicked-gradient-color-1: #5fa2db; 10 | @clicked-gradient-color-2: #5fa2db; 11 | @search-result-color: #ffffff; 12 | @mobile-wholerow-bg-color: #333333; 13 | @mobile-wholerow-shadow: #111111; 14 | @mobile-wholerow-bordert: #666; 15 | @mobile-wholerow-borderb: #000; 16 | @responsive: true; 17 | @image-path: ""; 18 | @base-height: 40px; 19 | 20 | @import "../mixins.less"; 21 | @import "../base.less"; 22 | @import "../main.less"; 23 | 24 | .jstree-@{theme-name} { 25 | background:#333; 26 | .jstree-anchor { color:#999; text-shadow:1px 1px 0 rgba(0,0,0,0.5); } 27 | .jstree-clicked, .jstree-checked { color:white; } 28 | .jstree-hovered { color:white; } 29 | #jstree-marker& { 30 | border-left-color:#999; 31 | background:transparent; 32 | } 33 | .jstree-anchor > .jstree-icon { opacity:0.75; } 34 | .jstree-clicked > .jstree-icon, 35 | .jstree-hovered > .jstree-icon, 36 | .jstree-checked > .jstree-icon { opacity:1; } 37 | } 38 | // theme variants 39 | .jstree-@{theme-name} { 40 | &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); } 41 | &.jstree-rtl .jstree-last { background:transparent; } 42 | } 43 | .jstree-@{theme-name}-small { 44 | &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); } 45 | &.jstree-rtl .jstree-last { background:transparent; } 46 | } 47 | .jstree-@{theme-name}-large { 48 | &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); } 49 | &.jstree-rtl .jstree-last { background:transparent; } 50 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/common/base.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * dialog 4 | * */ 5 | define(["jquery"],function(jquery) { 6 | 7 | return{ 8 | ajax : function(url,type,dataType,data,result){ 9 | $.ajax({ 10 | url: url, //ajax请求地址 11 | //cache: false,//(默认: true,dataType为script和jsonp时默认为false)设置为 false 将不缓存此页面,建议使用默认 12 | type:type,//请求方式 "POST" 或 "GET", 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。 13 | dataType:dataType, //根据返回数据类型可以有这些类型可选:xml html script json jsonp text 14 | //发送到服务器的数据,可以直接传对象{a:0,b:1},如果是get请求会自动拼接到url后面,如:&a=0&b=1 15 | //如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 "&foo=bar1&foo=bar2"。 16 | data:data, 17 | //发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。这是一个 Ajax 事件。如果返回false可以取消本次ajax请求。 18 | beforeSend:function(xhr){ 19 | //this 默认为调用本次AJAX请求时传递的options参数 20 | }, 21 | //context这个对象用于设置ajax相关回调函数的上下文。也就是说,让回调函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次AJAX请求时传递的options参数)。 22 | //比如指定一个DOM元素作为context参数,这样就设置了success回调函数的上下文为这个DOM元素。 23 | context: document.body, 24 | //请求成功后的回调函数 25 | success: function(data,textStatus){ 26 | //this 调用本次AJAX请求时传递的options参数 ,如果设置context来改变了this,那这里的this就是改变过的 27 | result(data,textStatus); 28 | }, 29 | //请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。 30 | //如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。 31 | error : function(XMLHttpRequest, textStatus, errorThrown){ 32 | alert("textStatus:"+textStatus+",errorThrown:"+errorThrown); 33 | // 通常 textStatus 和 errorThrown 之中 34 | // 只有一个会包含信息 35 | // this 调用本次AJAX请求时传递的options参数 36 | }, 37 | //请求完成后回调函数 (请求成功或失败之后均调用)。参数: XMLHttpRequest 对象和一个描述成功请求类型的字符串 38 | complete:function(XMLHttpRequest, textStatus) { 39 | //this 调用本次AJAX请求时传递的options参数 40 | }, 41 | //一组数值的HTTP代码和函数对象,当响应时调用了相应的代码。例如,如果响应状态是404,将触发以下警报: 42 | statusCode:{ 43 | 404:function(){ 44 | alert('404,页面不存在'); 45 | } 46 | } 47 | }); 48 | } 49 | } 50 | 51 | }); -------------------------------------------------------------------------------- /src/main/resources/static/js/dialog.js: -------------------------------------------------------------------------------- 1 | 2 | var dialog = { 3 | 4 | //html dialog 5 | /** 6 | * param bj.title,obj.height,obj.width,obj.submit(),obj.id 7 | * */ 8 | newDialog : function(obj){ 9 | $("#"+obj.id).dialog({ 10 | title: obj.title, 11 | height: obj.height, 12 | width: obj.width, 13 | minWidth:"450", 14 | minHeight:"300", 15 | modal: true, 16 | buttons: { 17 | "确定": function() { 18 | obj.submit(); 19 | $( this ).dialog( "close" ); 20 | }, 21 | "关闭": function() { 22 | $( this ).dialog( "close" ); 23 | } 24 | } 25 | }); 26 | }, 27 | //html dialog 28 | /** 29 | * param bj.title,obj.height,obj.width,obj.submit(),obj.id 30 | * */ 31 | newValidateDialog : function(obj){ 32 | $("#"+obj.id).dialog({ 33 | title: obj.title, 34 | height: obj.height, 35 | width: obj.width, 36 | minWidth:"450", 37 | minHeight:"300", 38 | modal: true, 39 | buttons: { 40 | "确定": function() { 41 | obj.submit(); 42 | }, 43 | "关闭": function() { 44 | $( this ).dialog( "close" ); 45 | } 46 | } 47 | }); 48 | }, 49 | //html dialog 50 | /** 51 | * param msg 52 | * */ 53 | newPrompt : function(msg){ 54 | $("#myPrompt").append(msg); 55 | $("#myPrompt").dialog({ 56 | title: "提示框", 57 | height: "auto", 58 | minWidth:"250", 59 | minHeight:"150" 60 | }); 61 | setTimeout(function(){ 62 | $("#myPrompt").dialog( "close" ); 63 | $("#myPrompt").html(""); 64 | }, 3000); 65 | 66 | }, 67 | //html dialog 68 | /** 69 | * param msg 70 | * */ 71 | newCountDown : function(msg,func){ 72 | $("#myPrompt").append("正在加载数据..."); 73 | $("#myPrompt").dialog({ 74 | title: "倒计时", 75 | height: "auto", 76 | minWidth:"250", 77 | minHeight:"150" 78 | }); 79 | setTimeout(function(){ 80 | $("#myPrompt").dialog( "close" ); 81 | $("#myPrompt").html(""); 82 | func(); 83 | },5000); 84 | 85 | } 86 | 87 | } 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/line.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, black 2 | ----------------------------------- */ 3 | .icheckbox_line, 4 | .iradio_line { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #000; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line .icheck_line-icon, 20 | .iradio_line .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line.hover, 33 | .icheckbox_line.checked.hover, 34 | .iradio_line.hover { 35 | background: #444; 36 | } 37 | .icheckbox_line.checked, 38 | .iradio_line.checked { 39 | background: #000; 40 | } 41 | .icheckbox_line.checked .icheck_line-icon, 42 | .iradio_line.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line.disabled, 46 | .iradio_line.disabled { 47 | background: #ccc; 48 | cursor: default; 49 | } 50 | .icheckbox_line.disabled .icheck_line-icon, 51 | .iradio_line.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line.checked.disabled, 55 | .iradio_line.checked.disabled { 56 | background: #ccc; 57 | } 58 | .icheckbox_line.checked.disabled .icheck_line-icon, 59 | .iradio_line.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line .icheck_line-icon, 66 | .iradio_line .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/home/jquery.menu.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var flag; 3 | if($('body').hasClass('sidebar-colors')){ 4 | flag = true; 5 | } else{ 6 | flag = false; 7 | } 8 | $('#menu-toggle').toggle( 9 | function() { 10 | if($('#wrapper').hasClass('right-sidebar')) { 11 | $('body').addClass('right-side-collapsed') 12 | $('#sidebar .slimScrollDiv').css('overflow', 'initial'); 13 | $('#sidebar .menu-scroll').css('overflow', 'initial'); 14 | } else{ 15 | $('body').addClass('left-side-collapsed').removeClass('sidebar-colors'); 16 | $('#sidebar .slimScrollDiv').css('overflow', 'initial'); 17 | $('#sidebar .menu-scroll').css('overflow', 'initial'); 18 | } 19 | }, function() { 20 | if($('#wrapper').hasClass('right-sidebar')) { 21 | $('body').removeClass('right-side-collapsed'); 22 | $('#sidebar .slimScrollDiv').css('overflow', 'hidden'); 23 | $('#sidebar .menu-scroll').css('overflow', 'hidden'); 24 | } else{ 25 | $('body').removeClass('left-side-collapsed') 26 | if(flag == true){ 27 | $('body').addClass('sidebar-colors'); 28 | } 29 | $('#sidebar .slimScrollDiv').css('overflow', 'hidden'); 30 | $('#sidebar .menu-scroll').css('overflow', 'hidden'); 31 | } 32 | } 33 | ); 34 | 35 | if($('#wrapper').hasClass('right-sidebar')) { 36 | $('ul#side-menu li').hover(function () { 37 | if ($('body').hasClass('right-side-collapsed')) { 38 | $(this).addClass('nav-hover'); 39 | } 40 | }, function () { 41 | if ($('body').hasClass('right-side-collapsed')) { 42 | $(this).removeClass('nav-hover'); 43 | } 44 | }); 45 | } else{ 46 | $('ul#side-menu li').hover(function () { 47 | if ($('body').hasClass('left-side-collapsed')) { 48 | $(this).addClass('nav-hover'); 49 | } 50 | }, function () { 51 | if ($('body').hasClass('left-side-collapsed')) { 52 | $(this).removeClass('nav-hover'); 53 | } 54 | }); 55 | } 56 | 57 | }); -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, red 2 | ----------------------------------- */ 3 | .icheckbox_line-red, 4 | .iradio_line-red { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #e56c69; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-red .icheck_line-icon, 20 | .iradio_line-red .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-red.hover, 33 | .icheckbox_line-red.checked.hover, 34 | .iradio_line-red.hover { 35 | background: #E98582; 36 | } 37 | .icheckbox_line-red.checked, 38 | .iradio_line-red.checked { 39 | background: #e56c69; 40 | } 41 | .icheckbox_line-red.checked .icheck_line-icon, 42 | .iradio_line-red.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-red.disabled, 46 | .iradio_line-red.disabled { 47 | background: #F7D3D2; 48 | cursor: default; 49 | } 50 | .icheckbox_line-red.disabled .icheck_line-icon, 51 | .iradio_line-red.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-red.checked.disabled, 55 | .iradio_line-red.checked.disabled { 56 | background: #F7D3D2; 57 | } 58 | .icheckbox_line-red.checked.disabled .icheck_line-icon, 59 | .iradio_line-red.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-red .icheck_line-icon, 66 | .iradio_line-red .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_line-aero, 4 | .iradio_line-aero { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #9cc2cb; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-aero .icheck_line-icon, 20 | .iradio_line-aero .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-aero.hover, 33 | .icheckbox_line-aero.checked.hover, 34 | .iradio_line-aero.hover { 35 | background: #B5D1D8; 36 | } 37 | .icheckbox_line-aero.checked, 38 | .iradio_line-aero.checked { 39 | background: #9cc2cb; 40 | } 41 | .icheckbox_line-aero.checked .icheck_line-icon, 42 | .iradio_line-aero.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-aero.disabled, 46 | .iradio_line-aero.disabled { 47 | background: #D2E4E8; 48 | cursor: default; 49 | } 50 | .icheckbox_line-aero.disabled .icheck_line-icon, 51 | .iradio_line-aero.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-aero.checked.disabled, 55 | .iradio_line-aero.checked.disabled { 56 | background: #D2E4E8; 57 | } 58 | .icheckbox_line-aero.checked.disabled .icheck_line-icon, 59 | .iradio_line-aero.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-aero .icheck_line-icon, 66 | .iradio_line-aero .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_line-blue, 4 | .iradio_line-blue { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #2489c5; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-blue .icheck_line-icon, 20 | .iradio_line-blue .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-blue.hover, 33 | .icheckbox_line-blue.checked.hover, 34 | .iradio_line-blue.hover { 35 | background: #3DA0DB; 36 | } 37 | .icheckbox_line-blue.checked, 38 | .iradio_line-blue.checked { 39 | background: #2489c5; 40 | } 41 | .icheckbox_line-blue.checked .icheck_line-icon, 42 | .iradio_line-blue.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-blue.disabled, 46 | .iradio_line-blue.disabled { 47 | background: #ADD7F0; 48 | cursor: default; 49 | } 50 | .icheckbox_line-blue.disabled .icheck_line-icon, 51 | .iradio_line-blue.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-blue.checked.disabled, 55 | .iradio_line-blue.checked.disabled { 56 | background: #ADD7F0; 57 | } 58 | .icheckbox_line-blue.checked.disabled .icheck_line-icon, 59 | .iradio_line-blue.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-blue .icheck_line-icon, 66 | .iradio_line-blue .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_line-grey, 4 | .iradio_line-grey { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #73716e; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-grey .icheck_line-icon, 20 | .iradio_line-grey .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-grey.hover, 33 | .icheckbox_line-grey.checked.hover, 34 | .iradio_line-grey.hover { 35 | background: #8B8986; 36 | } 37 | .icheckbox_line-grey.checked, 38 | .iradio_line-grey.checked { 39 | background: #73716e; 40 | } 41 | .icheckbox_line-grey.checked .icheck_line-icon, 42 | .iradio_line-grey.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-grey.disabled, 46 | .iradio_line-grey.disabled { 47 | background: #D5D4D3; 48 | cursor: default; 49 | } 50 | .icheckbox_line-grey.disabled .icheck_line-icon, 51 | .iradio_line-grey.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-grey.checked.disabled, 55 | .iradio_line-grey.checked.disabled { 56 | background: #D5D4D3; 57 | } 58 | .icheckbox_line-grey.checked.disabled .icheck_line-icon, 59 | .iradio_line-grey.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-grey .icheck_line-icon, 66 | .iradio_line-grey .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_line-pink, 4 | .iradio_line-pink { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #a77a94; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-pink .icheck_line-icon, 20 | .iradio_line-pink .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-pink.hover, 33 | .icheckbox_line-pink.checked.hover, 34 | .iradio_line-pink.hover { 35 | background: #B995A9; 36 | } 37 | .icheckbox_line-pink.checked, 38 | .iradio_line-pink.checked { 39 | background: #a77a94; 40 | } 41 | .icheckbox_line-pink.checked .icheck_line-icon, 42 | .iradio_line-pink.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-pink.disabled, 46 | .iradio_line-pink.disabled { 47 | background: #E0D0DA; 48 | cursor: default; 49 | } 50 | .icheckbox_line-pink.disabled .icheck_line-icon, 51 | .iradio_line-pink.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-pink.checked.disabled, 55 | .iradio_line-pink.checked.disabled { 56 | background: #E0D0DA; 57 | } 58 | .icheckbox_line-pink.checked.disabled .icheck_line-icon, 59 | .iradio_line-pink.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-pink .icheck_line-icon, 66 | .iradio_line-pink .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, green 2 | ----------------------------------- */ 3 | .icheckbox_line-green, 4 | .iradio_line-green { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #1b7e5a; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-green .icheck_line-icon, 20 | .iradio_line-green .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-green.hover, 33 | .icheckbox_line-green.checked.hover, 34 | .iradio_line-green.hover { 35 | background: #24AA7A; 36 | } 37 | .icheckbox_line-green.checked, 38 | .iradio_line-green.checked { 39 | background: #1b7e5a; 40 | } 41 | .icheckbox_line-green.checked .icheck_line-icon, 42 | .iradio_line-green.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-green.disabled, 46 | .iradio_line-green.disabled { 47 | background: #89E6C4; 48 | cursor: default; 49 | } 50 | .icheckbox_line-green.disabled .icheck_line-icon, 51 | .iradio_line-green.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-green.checked.disabled, 55 | .iradio_line-green.checked.disabled { 56 | background: #89E6C4; 57 | } 58 | .icheckbox_line-green.checked.disabled .icheck_line-icon, 59 | .iradio_line-green.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-green .icheck_line-icon, 66 | .iradio_line-green .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_line-orange, 4 | .iradio_line-orange { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #f70; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-orange .icheck_line-icon, 20 | .iradio_line-orange .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-orange.hover, 33 | .icheckbox_line-orange.checked.hover, 34 | .iradio_line-orange.hover { 35 | background: #FF9233; 36 | } 37 | .icheckbox_line-orange.checked, 38 | .iradio_line-orange.checked { 39 | background: #f70; 40 | } 41 | .icheckbox_line-orange.checked .icheck_line-icon, 42 | .iradio_line-orange.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-orange.disabled, 46 | .iradio_line-orange.disabled { 47 | background: #FFD6B3; 48 | cursor: default; 49 | } 50 | .icheckbox_line-orange.disabled .icheck_line-icon, 51 | .iradio_line-orange.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-orange.checked.disabled, 55 | .iradio_line-orange.checked.disabled { 56 | background: #FFD6B3; 57 | } 58 | .icheckbox_line-orange.checked.disabled .icheck_line-icon, 59 | .iradio_line-orange.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-orange .icheck_line-icon, 66 | .iradio_line-orange .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_line-purple, 4 | .iradio_line-purple { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #6a5a8c; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-purple .icheck_line-icon, 20 | .iradio_line-purple .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-purple.hover, 33 | .icheckbox_line-purple.checked.hover, 34 | .iradio_line-purple.hover { 35 | background: #8677A7; 36 | } 37 | .icheckbox_line-purple.checked, 38 | .iradio_line-purple.checked { 39 | background: #6a5a8c; 40 | } 41 | .icheckbox_line-purple.checked .icheck_line-icon, 42 | .iradio_line-purple.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-purple.disabled, 46 | .iradio_line-purple.disabled { 47 | background: #D2CCDE; 48 | cursor: default; 49 | } 50 | .icheckbox_line-purple.disabled .icheck_line-icon, 51 | .iradio_line-purple.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-purple.checked.disabled, 55 | .iradio_line-purple.checked.disabled { 56 | background: #D2CCDE; 57 | } 58 | .icheckbox_line-purple.checked.disabled .icheck_line-icon, 59 | .iradio_line-purple.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-purple .icheck_line-icon, 66 | .iradio_line-purple .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/line/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_line-yellow, 4 | .iradio_line-yellow { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #FFC414; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-yellow .icheck_line-icon, 20 | .iradio_line-yellow .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-yellow.hover, 33 | .icheckbox_line-yellow.checked.hover, 34 | .iradio_line-yellow.hover { 35 | background: #FFD34F; 36 | } 37 | .icheckbox_line-yellow.checked, 38 | .iradio_line-yellow.checked { 39 | background: #FFC414; 40 | } 41 | .icheckbox_line-yellow.checked .icheck_line-icon, 42 | .iradio_line-yellow.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-yellow.disabled, 46 | .iradio_line-yellow.disabled { 47 | background: #FFE495; 48 | cursor: default; 49 | } 50 | .icheckbox_line-yellow.disabled .icheck_line-icon, 51 | .iradio_line-yellow.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-yellow.checked.disabled, 55 | .iradio_line-yellow.checked.disabled { 56 | background: #FFE495; 57 | } 58 | .icheckbox_line-yellow.checked.disabled .icheck_line-icon, 59 | .iradio_line-yellow.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* HiDPI support */ 64 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 65 | .icheckbox_line-yellow .icheck_line-icon, 66 | .iradio_line-yellow .icheck_line-icon { 67 | background-image: url(line@2x.png); 68 | -webkit-background-size: 60px 13px; 69 | background-size: 60px 13px; 70 | } 71 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/styles/regest/form-elements.css: -------------------------------------------------------------------------------- 1 | 2 | /*input[type="text"], 3 | textarea, 4 | textarea.form-control { 5 | height: 50px; 6 | margin: 0; 7 | padding: 0 20px; 8 | vertical-align: middle; 9 | background: #f8f8f8; 10 | border: 1px solid #ddd; 11 | font-family: 'Roboto', sans-serif; 12 | font-size: 16px; 13 | font-weight: 300; 14 | line-height: 50px; 15 | color: #888; 16 | -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; 17 | -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; 18 | -o-transition: all .3s; -moz-transition: all .3s; -webkit-transition: all .3s; -ms-transition: all .3s; transition: all .3s; 19 | }*/ 20 | 21 | textarea, 22 | textarea.form-control { 23 | padding-top: 10px; 24 | padding-bottom: 10px; 25 | line-height: 30px; 26 | } 27 | 28 | input[type="text"]:focus, 29 | textarea:focus, 30 | textarea.form-control:focus { 31 | outline: 0; 32 | background: #fff; 33 | border: 3px solid #ccc; 34 | -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; 35 | } 36 | 37 | input[type="text"]:-moz-placeholder, textarea:-moz-placeholder, textarea.form-control:-moz-placeholder { color: #888; } 38 | input[type="text"]:-ms-input-placeholder, textarea:-ms-input-placeholder, textarea.form-control:-ms-input-placeholder { color: #888; } 39 | input[type="text"]::-webkit-input-placeholder, textarea::-webkit-input-placeholder, textarea.form-control::-webkit-input-placeholder { color: #888; } 40 | 41 | 42 | 43 | button.submitbtn { 44 | width: 100%; 45 | height: 50px; 46 | margin: 0; 47 | padding: 0 20px; 48 | vertical-align: middle; 49 | background: #fd625e; 50 | border: 0; 51 | font-family: 'Roboto', sans-serif; 52 | font-size: 16px; 53 | font-weight: 300; 54 | line-height: 50px; 55 | color: #fff; 56 | -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; 57 | text-shadow: none; 58 | -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; 59 | -o-transition: all .3s; -moz-transition: all .3s; -webkit-transition: all .3s; -ms-transition: all .3s; transition: all .3s; 60 | } 61 | 62 | button.btn:hover { opacity: 0.6; color: #fff; } 63 | 64 | button.btn:active { outline: 0; opacity: 0.6; color: #fff; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } 65 | 66 | button.btn:focus { outline: 0; opacity: 0.6; background: #fd625e; color: #fff; } 67 | 68 | button.btn:active:focus, button.btn.active:focus { outline: 0; opacity: 0.6; background: #fd625e; color: #fff; } 69 | -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/service/impl/SysRoleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.service.impl; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.springboot.demo.base.entity.SysPermission; 7 | import net.sf.json.JSONArray; 8 | import net.sf.json.JsonConfig; 9 | import org.apache.shiro.SecurityUtils; 10 | import org.slf4j.Logger; 11 | import org.slf4j.LoggerFactory; 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.data.domain.Page; 14 | import org.springframework.data.domain.Pageable; 15 | import org.springframework.stereotype.Service; 16 | 17 | import com.springboot.demo.base.dao.SysRoleDao; 18 | import com.springboot.demo.base.entity.SysRole; 19 | import com.springboot.demo.base.entity.UserInfo; 20 | import com.springboot.demo.base.service.SysRoleService; 21 | 22 | import javax.transaction.Transactional; 23 | 24 | @Service 25 | public class SysRoleServiceImpl implements SysRoleService { 26 | protected final Logger logger = LoggerFactory.getLogger(this.getClass()); 27 | @Autowired 28 | private SysRoleDao sysRoleDao; 29 | @Override 30 | public UserInfo findById(int id) { 31 | // TODO Auto-generated method stub 32 | return null; 33 | } 34 | @Override 35 | public Page findByRole(String role, Pageable pageable) { 36 | // TODO Auto-generated method stub 37 | return sysRoleDao.findByRole(role, pageable); 38 | } 39 | @Override 40 | public Page findAll(Pageable pageable) { 41 | // TODO Auto-generated method stub 42 | return sysRoleDao.findAll(pageable); 43 | } 44 | @Override 45 | @Transactional 46 | public int updateState(boolean available, String uid) { 47 | // TODO Auto-generated method stub 48 | System.out.print("hhhe--------------"+uid); 49 | int id = Integer.parseInt(uid); 50 | SysRole sr = sysRoleDao.findById(id); 51 | sysRoleDao.delete(sr); 52 | return 1; 53 | } 54 | @Override 55 | public SysRole save(SysRole sr) { 56 | 57 | return sysRoleDao.save(sr); 58 | } 59 | @Override 60 | public int updateRole(SysRole sr) { 61 | // TODO Auto-generated method stub 62 | String description = sr.getDescription(); 63 | String role = sr.getRole(); 64 | String id = sr.getId()+""; 65 | return sysRoleDao.updateRole(description, role, id); 66 | } 67 | @Override 68 | public SysRole findByOne(String id) { 69 | int uid = Integer.parseInt(id); 70 | return sysRoleDao.findById(uid); 71 | } 72 | @Override 73 | public List findAll() { 74 | // TODO Auto-generated method stub 75 | return (List) sysRoleDao.findAll(); 76 | } 77 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/datatables/dataTables.jqueryui.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | DataTables jQuery UI integration 3 | ©2011-2014 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,d){b||(b=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(b,d).$;return a(d,b,b.document)}:a(jQuery,window,document)})(function(a){var b=a.fn.dataTable;a.extend(!0,b.defaults,{dom:'<"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr"lfr>t<"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br"ip>', 6 | renderer:"jqueryui"});a.extend(b.ext.classes,{sWrapper:"dataTables_wrapper dt-jqueryui",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default sorting_asc",sSortDesc:"ui-state-default sorting_desc",sSortable:"ui-state-default sorting",sSortableAsc:"ui-state-default sorting_asc_disabled",sSortableDesc:"ui-state-default sorting_desc_disabled", 7 | sSortableNone:"ui-state-default sorting_disabled",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sHeaderTH:"ui-state-default",sFooterTH:"ui-state-default"});b.ext.renderer.header.jqueryui=function(b,h,e,c){var f="css_right ui-icon ui-icon-caret-2-n-s",g=-1!==a.inArray("asc",e.asSorting),i=-1!==a.inArray("desc",e.asSorting);!e.bSortable||!g&&!i?f="":g&&!i?f="css_right ui-icon ui-icon-caret-1-n":!g&&i&&(f="css_right ui-icon ui-icon-caret-1-s"); 8 | a("
    ").addClass("DataTables_sort_wrapper").append(h.contents()).append(a("").addClass(c.sSortIcon+" "+f)).appendTo(h);a(b.nTable).on("order.dt",function(a,g,i,j){b===g&&(a=e.idx,h.removeClass(c.sSortAsc+" "+c.sSortDesc).addClass("asc"==j[a]?c.sSortAsc:"desc"==j[a]?c.sSortDesc:e.sSortingClass),h.find("span."+c.sSortIcon).removeClass("css_right ui-icon ui-icon-triangle-1-n css_right ui-icon ui-icon-triangle-1-s css_right ui-icon ui-icon-caret-2-n-s css_right ui-icon ui-icon-caret-1-n css_right ui-icon ui-icon-caret-1-s").addClass("asc"== 9 | j[a]?"css_right ui-icon ui-icon-triangle-1-n":"desc"==j[a]?"css_right ui-icon ui-icon-triangle-1-s":f))})};b.TableTools&&a.extend(!0,b.TableTools.classes,{container:"DTTT_container ui-buttonset ui-buttonset-multi",buttons:{normal:"DTTT_button ui-button ui-state-default"},collection:{container:"DTTT_collection ui-buttonset ui-buttonset-multi"}});return b}); -------------------------------------------------------------------------------- /src/main/resources/templates/base/header.js: -------------------------------------------------------------------------------- 1 | 2 | $(function() { 3 | 4 | //修改账号密码 5 | formValidator();//初始化验证框 6 | $("#updateMyPassword").click(function () { 7 | $("#dialogPassword").dialog({ 8 | title: "修改密码", 9 | height: "auto", 10 | minWidth: "600", 11 | minHeight: "320" 12 | }); 13 | }); 14 | $("#closePasswordButton").click(function () { 15 | $('#dialogPassword').dialog('close'); 16 | }); 17 | 18 | /*** 19 | * 添加客户,加入验证表单 20 | * */ 21 | function formValidator() { 22 | 23 | $('#defaultPasswordForm').bootstrapValidator({ 24 | message: 'This value is not valid', 25 | feedbackIcons: { 26 | valid: 'glyphicon glyphicon-ok', 27 | invalid: 'glyphicon glyphicon-remove', 28 | validating: 'glyphicon glyphicon-refresh' 29 | }, 30 | fields: { 31 | password: { 32 | validators: { 33 | notEmpty: { 34 | message: '密码不能为空!' 35 | }, 36 | identical: { 37 | field: 'confirmPassword', 38 | message: '密码 不一致!' 39 | } 40 | } 41 | }, 42 | confirmPassword: { 43 | validators: { 44 | notEmpty: { 45 | message: '密码不能为空!' 46 | }, 47 | identical: { 48 | field: 'password', 49 | message: '密码 不一致!' 50 | } 51 | } 52 | } 53 | 54 | } 55 | }) 56 | .on('success.form.bv', function (e) { 57 | // Prevent form submission 58 | e.preventDefault(); 59 | 60 | // Get the form instance 61 | var $form = $(e.target); 62 | 63 | // Get the BootstrapValidator instance 64 | var bv = $form.data('bootstrapValidator'); 65 | 66 | // Use Ajax to submit form data 67 | $.post($form.attr('action'), $form.serialize(), function (result) { 68 | if (result.status) { 69 | $('#dialogPassword').dialog('close'); 70 | } 71 | }, 'json'); 72 | }); 73 | 74 | } 75 | 76 | //BEGIN JQUERY NEWS UPDATE 77 | $('#news-update').ticker({ 78 | controls: false, 79 | titleText: '' 80 | }); 81 | //END JQUERY NEWS UPDATE 82 | 83 | }); -------------------------------------------------------------------------------- /src/main/java/com/springboot/demo/base/config/ShiroRealm.java: -------------------------------------------------------------------------------- 1 | package com.springboot.demo.base.config; 2 | 3 | import javax.annotation.Resource; 4 | 5 | import com.springboot.demo.base.entity.SysPermission; 6 | import com.springboot.demo.base.entity.SysRole; 7 | import com.springboot.demo.base.entity.UserInfo; 8 | import com.springboot.demo.base.service.UserInfoService; 9 | 10 | import org.apache.shiro.authc.AuthenticationException; 11 | import org.apache.shiro.authc.AuthenticationInfo; 12 | import org.apache.shiro.authc.AuthenticationToken; 13 | import org.apache.shiro.authc.SimpleAuthenticationInfo; 14 | import org.apache.shiro.authz.AuthorizationInfo; 15 | import org.apache.shiro.authz.SimpleAuthorizationInfo; 16 | import org.apache.shiro.realm.AuthorizingRealm; 17 | import org.apache.shiro.subject.PrincipalCollection; 18 | import org.apache.shiro.util.ByteSource; 19 | 20 | public class ShiroRealm extends AuthorizingRealm { 21 | @Resource 22 | private UserInfoService userInfoService; 23 | 24 | @Override 25 | protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { 26 | System.out.println("权限配置-->MyShiroRealm.doGetAuthorizationInfo()"); 27 | SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); 28 | UserInfo userInfo = (UserInfo)principals.getPrimaryPrincipal(); 29 | for(SysRole role:userInfo.getRoleList()){ 30 | authorizationInfo.addRole(role.getRole()); 31 | for(SysPermission p:role.getPermissions()){ 32 | authorizationInfo.addStringPermission(p.getPermission()); 33 | } 34 | } 35 | //CacheUntil.setCacheTree(authorizationInfo); 36 | return authorizationInfo; 37 | } 38 | 39 | /*主要是用来进行身份认证的,也就是说验证用户输入的账号和密码是否正确。*/ 40 | @Override 41 | protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) 42 | throws AuthenticationException { 43 | System.out.println("ShiroRealm.doGetAuthenticationInfo()"); 44 | //获取用户的输入的账号. 45 | String username = (String)token.getPrincipal(); 46 | //通过username从数据库中查找 User对象,如果找到,没找到. 47 | //实际项目中,这里可以根据实际情况做缓存,如果不做,Shiro自己也是有时间间隔机制,2分钟内不会重复执行该方法 48 | UserInfo userInfo = userInfoService.findByUsername(username); 49 | if(userInfo == null){ 50 | return null; 51 | } 52 | SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo( 53 | userInfo, //用户名 54 | userInfo.getPassword(), //密码 55 | ByteSource.Util.bytes(userInfo.getCredentialsSalt()),//salt=username+salt 56 | getName() //realm name 57 | ); 58 | return authenticationInfo; 59 | } 60 | 61 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/home/login.css: -------------------------------------------------------------------------------- 1 | .login-header { 2 | margin-bottom: 0px; 3 | } 4 | 5 | .login-header .login-top-bg { 6 | display: block; 7 | /*background: #e9f1f5 url("../img/dj-content-wrap-after-index-tit.png") no-repeat 5% 0px;*/ 8 | height: 66px; 9 | } 10 | 11 | .login-header .login-top-menu { 12 | right: 20px; 13 | } 14 | 15 | .login-header .sitename { 16 | width: 300px; 17 | float: left; 18 | } 19 | 20 | .login-header .sitename h2 { 21 | display: block; 22 | margin-left: 50px; 23 | height: 66px; 24 | font-size: 20px; 25 | font-weight: 300; 26 | } 27 | 28 | .login_content { 29 | margin-top: -15px; 30 | padding-top: 65px; 31 | min-height: 560px; 32 | vertical-align: middle; 33 | width: 100%; 34 | padding-bottom: 90px; 35 | border-bottom: 1px solid #E5E5E5; 36 | } 37 | 38 | .login_content #login-banner { 39 | float: left; 40 | padding-left: 10px; 41 | } 42 | 43 | #regist { 44 | width: 80%; 45 | margin: 0 auto; 46 | min-width: 1000px; 47 | } 48 | 49 | .login_content #login-banner { 50 | float: left; 51 | padding-left: 10px; 52 | } 53 | 54 | #login-banner img { 55 | max-width: 100%; 56 | width: 550px; 57 | height: 348px; 58 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); 59 | } 60 | 61 | #login { 62 | float: left; 63 | padding: 0 10px 0px 20px; 64 | 65 | } 66 | 67 | #login form { 68 | width: 400px; 69 | height:280px; 70 | margin-top:30px; 71 | padding:35px 20px; 72 | font-weight: normal; 73 | border: none; 74 | -moz-box-shadow: none; 75 | -webkit-box-shadow: none; 76 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); 77 | font-size: 15px; 78 | } 79 | #login .failMsg{ 80 | color: red; 81 | font-size: 18px; 82 | margin-left: 65px; 83 | margin-bottom: 15px; 84 | } 85 | #login .layui-btn { 86 | padding: 0px 30px 1px; 87 | width: 100%; 88 | } 89 | 90 | #login a.send { 91 | display: inline-block; 92 | border: 1px solid #E8E8E8; 93 | border-radius: 3px; 94 | width: 158px; 95 | height: 40px; 96 | line-height: 40px; 97 | color: #333; 98 | font-size: 14px; 99 | text-align: center; 100 | background: #FFF none repeat scroll 0% 0%; 101 | vertical-align: middle; 102 | margin-top: 10px; 103 | } 104 | 105 | #login #nav { 106 | text-shadow: #FFF 0 0 5px, #FFF 0 0 10px; 107 | float: right; 108 | margin: 0 2px 0 0px; 109 | padding: 16px 0px 0 0px; 110 | } 111 | 112 | .footer { 113 | padding: 20px 0; 114 | } 115 | 116 | #vcode{ 117 | width:123px;padding: 6px 12px;border: 1px solid #ccc;font-size: 14px;line-height: 1.42857143;color: #555;background-color: #fff;border-radius: 4px;box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; 118 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/common/dataTableParam.js: -------------------------------------------------------------------------------- 1 | 2 | var dataTableParam = { 3 | //中文化datatables 4 | lang : { 5 | "sProcessing": "处理中...", 6 | "sLengthMenu": "每页 _MENU_ 条", 7 | "sZeroRecords": "没有匹配结果", 8 | "sInfo": "当前显示第 _START_ 至 _END_ 条,共 _MAX_ 条。", 9 | "sInfoEmpty": "当前显示第 0 至 0 条,共 _MAX_ 条", 10 | "sInfoFiltered": "(有 _MAX_ 条结果过滤)", 11 | "sInfoPostFix": "", 12 | "sSearch": "搜索:", 13 | "sUrl": "", 14 | "sEmptyTable": "表中数据为空", 15 | "sLoadingRecords": "载入中...", 16 | "sInfoThousands": ",", 17 | "oPaginate": { 18 | "sFirst": "首页", 19 | "sPrevious": "上页", 20 | "sNext": "下页", 21 | "sLast": "末页", 22 | "sJump": "跳转" 23 | }, 24 | "oAria": { 25 | "sSortAscending": ": 以升序排列此列", 26 | "sSortDescending": ": 以降序排列此列" 27 | } 28 | }, 29 | //自动绑定form表单的函数 30 | loadData : function (jsonStr) { 31 | 32 | var obj = eval("(" + jsonStr + ")"); 33 | var key, value, tagName, type, arr; 34 | for (x in obj) { 35 | key = x; 36 | value = obj[x]; 37 | 38 | $("[name='" + key + "'],[name='" + key + "[]']").each(function () { 39 | tagName = $(this)[0].tagName; 40 | type = $(this).attr('type'); 41 | if (tagName == 'INPUT') { 42 | if (type == 'radio') { 43 | $(this).attr('checked', $(this).val() == value); 44 | } else if (type == 'CHECKBOX') { 45 | arr = value.split(','); 46 | for (var i = 0; i < arr.length; i++) { 47 | if ($(this).val() == arr[i]) { 48 | $(this).attr('checked', true); 49 | break; 50 | } 51 | } 52 | } else { 53 | $(this).val(value); 54 | } 55 | } else if (tagName == 'SELECT' || tagName == 'TEXTAREA') { 56 | //console.info(tagName); 57 | //console.info(value+";"+typeof(value)); 58 | $(this).val(value+""); 59 | } 60 | 61 | }); 62 | } 63 | }, 64 | //分页查询 65 | retrieveData : function( sSource111,aoData111, fnCallback111) { 66 | $.ajax({ 67 | url : sSource111,//这个就是请求地址对应sAjaxSource 68 | data :aoData111,//这个是把datatable的一些基本数据传给后台,比如起始位置,每页显示的行数 69 | type : 'post', 70 | dataType : 'json', 71 | async : false, 72 | success : function(result) { 73 | fnCallback111(result);//把返回的数据传给这个方法就可以了,datatable会自动绑定数据的 74 | }, 75 | error : function(msg) { 76 | } 77 | }); 78 | } 79 | 80 | 81 | }; --------------------------------------------------------------------------------