From e58f77ddeee10b5ebf4d2b8ef648ecb2c26a2b80 Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Sat, 28 May 2016 13:02:24 +0800 Subject: [PATCH] =?UTF-8?q?ftl=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 4 +- .../admin/controller/JobCodeController.java | 2 +- .../admin/controller/JobInfoController.java | 2 +- .../WEB-INF/template/common/common.macro.ftl | 8 +- .../src/main/webapp/WEB-INF/template/help.ftl | 13 +- .../jobcode/{index.ftl => jobcode.index.ftl} | 0 .../jobinfo/{index.ftl => jobinfo.index.ftl} | 0 .../plugins/pace/pace-theme-minimal.css | 18 -- .../plugins/pace/themes/pace-theme-bounce.css | 231 ++++++++++++++++++ .../plugins/pace/themes/pace-theme-flash.css | 81 ++++++ 11 files changed, 330 insertions(+), 30 deletions(-) rename xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/{index.ftl => jobcode.index.ftl} (100%) rename xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/{index.ftl => jobinfo.index.ftl} (100%) delete mode 100644 xxl-job-admin/src/main/webapp/static/plugins/pace/pace-theme-minimal.css create mode 100644 xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-bounce.css create mode 100644 xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-flash.css diff --git a/.gitignore b/.gitignore index 4c034ebd..1bf8f7b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.settings/ /.project /xxl-job.iml +/.idea diff --git a/README.md b/README.md index 9adb6ccb..04a8f3a1 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job 11、支持远程任务执行终止; 12、支持登录验证; -# 新版本 V1.1.x,特性【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”】 +# 新版本 V1.1.x,特性【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”,新接入应用推荐使用最新版本V1.3.x】 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态,动态暂停/恢复任务,即时生效; 3、服务HA:任务信息持久化到mysql中,Job服务天然支持集群,保证服务HA; @@ -76,7 +76,7 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job # Tips 更多接入公司,欢迎在https://github.com/xuxueli/xxl-job/issues/1 登记。 - 我司大众点评已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成)。自2016-01-21接入至2016-05-20未知,内部XXL-JOB系统已调度40000余次,表现优异。新接入应用推荐使用最新版本V1.3,因为经过两个大版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的提升,核心功能更加稳定高效。 + 我司大众点评已接入XXL-JOB,内部别名《Ferrari》(于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”,新接入应用推荐使用最新版本V1.3.x)。自2016-01-21接入至2016-05-20未知,内部XXL-JOB系统已调度40000余次,表现优异。新接入应用推荐使用最新版本V1.3,因为经过两个大版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的提升,核心功能更加稳定高效。 ![image](http://images2015.cnblogs.com/blog/554415/201605/554415-20160513183306234-1939652116.png) diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java index d64cd139..79add9f7 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java @@ -35,7 +35,7 @@ public class JobCodeController { List jobLogGlues = xxlJobLogGlueDao.selectList(jobGroup, jobName); model.addAttribute("jobInfo", jobInfo); model.addAttribute("jobLogGlues", jobLogGlues); - return "jobcode/index"; + return "jobcode/jobcode.index"; } @RequestMapping("/save") diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java index 6dde0d4e..3d0cee68 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java @@ -44,7 +44,7 @@ public class JobInfoController { @RequestMapping public String index(Model model) { model.addAttribute("JobGroupList", JobGroupEnum.values()); // 任务组列表 - return "jobinfo/index"; + return "jobinfo/jobinfo.index"; } @RequestMapping("/pageList") diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl index 75aa31ae..ec935a5e 100644 --- a/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl +++ b/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl @@ -27,7 +27,7 @@ - + <#macro commonScript> @@ -170,10 +170,10 @@ - Copyright © 2015-2015   + Copyright © 2015-${.now?string('yyyy')}   github  - cnblog. - All rights reserved. + cnblog + diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl index 6186eb6b..c855ec1e 100644 --- a/xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl +++ b/xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl @@ -31,11 +31,16 @@

简介:XXL_JOB


- github地址

+ github地址     + +

git.osc地址

- 博客地址(内附使用教程)

- 技术交流群(仅作技术交流):367260654   - 《xxl-javaer》 + 博客地址(内附使用教程) +

+ 技术交流群(仅作技术交流):367260654     + + 《xxl-javaer》 +

diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/index.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/jobcode.index.ftl similarity index 100% rename from xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/index.ftl rename to xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/jobcode.index.ftl diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/index.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl similarity index 100% rename from xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/index.ftl rename to xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl diff --git a/xxl-job-admin/src/main/webapp/static/plugins/pace/pace-theme-minimal.css b/xxl-job-admin/src/main/webapp/static/plugins/pace/pace-theme-minimal.css deleted file mode 100644 index 77ff043e..00000000 --- a/xxl-job-admin/src/main/webapp/static/plugins/pace/pace-theme-minimal.css +++ /dev/null @@ -1,18 +0,0 @@ -/* This is a compiled file, you should be editing the file in the templates directory */ -.pace .pace-progress { - background: #22df80; - position: fixed; - z-index: 2000; - top: 0; - left: 0; - height: 2px; - - -webkit-transition: width 1s; - -moz-transition: width 1s; - -o-transition: width 1s; - transition: width 1s; -} - -.pace-inactive { - display: none; -} diff --git a/xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-bounce.css b/xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-bounce.css new file mode 100644 index 00000000..74a19727 --- /dev/null +++ b/xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-bounce.css @@ -0,0 +1,231 @@ +/* This is a compiled file, you should be editing the file in the templates directory */ +.pace { + width: 140px; + height: 300px; + position: fixed; + top: -90px; + right: -20px; + z-index: 2000; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition: all 2s linear 0s; + -moz-transition: all 2s linear 0s; + transition: all 2s linear 0s; +} + +.pace.pace-active { + -webkit-transform: scale(.25); + -moz-transform: scale(.25); + -ms-transform: scale(.25); + -o-transform: scale(.25); + transform: scale(.25); + opacity: 1; +} + +.pace .pace-activity { + width: 140px; + height: 140px; + border-radius: 70px; + background: #29d; + position: absolute; + top: 0; + z-index: 1911; + -webkit-animation: pace-bounce 1s infinite; + -moz-animation: pace-bounce 1s infinite; + -o-animation: pace-bounce 1s infinite; + -ms-animation: pace-bounce 1s infinite; + animation: pace-bounce 1s infinite; +} + +.pace .pace-progress { + position: absolute; + display: block; + left: 50%; + bottom: 0; + z-index: 1910; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -webkit-transform: scaleY(.3); + -moz-transform: scaleY(.3); + -ms-transform: scaleY(.3); + -o-transform: scaleY(.3); + transform: scaleY(.3); + -webkit-animation: pace-compress .5s infinite alternate; + -moz-animation: pace-compress .5s infinite alternate; + -o-animation: pace-compress .5s infinite alternate; + -ms-animation: pace-compress .5s infinite alternate; + animation: pace-compress .5s infinite alternate; +} + +@-webkit-keyframes pace-bounce { + 0% { + top: 0; + -webkit-animation-timing-function: ease-in; + } + 40% {} + 50% { + top: 140px; + height: 140px; + -webkit-animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + -webkit-animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + -webkit-animation-timing-function: ease-out; + } + 95% { + top: 0; + -webkit-animation-timing-function: ease-in; + } + 100% { + top: 0; + -webkit-animation-timing-function: ease-in; + } +} + +@-moz-keyframes pace-bounce { + 0% { + top: 0; + -moz-animation-timing-function: ease-in; + } + 40% {} + 50% { + top: 140px; + height: 140px; + -moz-animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + -moz-animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + -moz-animation-timing-function: ease-out;} + 95% { + top: 0; + -moz-animation-timing-function: ease-in; + } + 100% {top: 0; + -moz-animation-timing-function: ease-in; + } +} + +@keyframes pace-bounce { + 0% { + top: 0; + animation-timing-function: ease-in; + } + 50% { + top: 140px; + height: 140px; + animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + animation-timing-function: ease-out; + } + 95% { + top: 0; + animation-timing-function: ease-in; + } + 100% { + top: 0; + animation-timing-function: ease-in; + } +} + +@-webkit-keyframes pace-compress { + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -webkit-animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + -webkit-animation-timing-function: ease-out; + } +} + +@-moz-keyframes pace-compress { + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -moz-animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + -moz-animation-timing-function: ease-out; + } +} + +@keyframes pace-compress { + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + animation-timing-function: ease-out; + } +} \ No newline at end of file diff --git a/xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-flash.css b/xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-flash.css new file mode 100644 index 00000000..29264503 --- /dev/null +++ b/xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-flash.css @@ -0,0 +1,81 @@ +/* This is a compiled file, you should be editing the file in the templates directory */ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace-inactive { + display: none; +} + +.pace .pace-progress { + background: #29d; + position: fixed; + z-index: 2000; + top: 0; + left: 0; + height: 2px; + + -webkit-transition: width 1s; + -moz-transition: width 1s; + -o-transition: width 1s; + transition: width 1s; +} + +.pace .pace-progress-inner { + display: block; + position: absolute; + right: 0px; + width: 100px; + height: 100%; + box-shadow: 0 0 10px #29d, 0 0 5px #29d; + opacity: 1.0; + -webkit-transform: rotate(3deg) translate(0px, -4px); + -moz-transform: rotate(3deg) translate(0px, -4px); + -ms-transform: rotate(3deg) translate(0px, -4px); + -o-transform: rotate(3deg) translate(0px, -4px); + transform: rotate(3deg) translate(0px, -4px); +} + +.pace .pace-activity { + display: block; + position: fixed; + z-index: 2000; + top: 15px; + right: 15px; + width: 14px; + height: 14px; + border: solid 2px transparent; + border-top-color: #29d; + border-left-color: #29d; + border-radius: 10px; + -webkit-animation: pace-spinner 400ms linear infinite; + -moz-animation: pace-spinner 400ms linear infinite; + -ms-animation: pace-spinner 400ms linear infinite; + -o-animation: pace-spinner 400ms linear infinite; + animation: pace-spinner 400ms linear infinite; +} + +@-webkit-keyframes pace-spinner { + 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } +} +@-moz-keyframes pace-spinner { + 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } +} +@-o-keyframes pace-spinner { + 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } +} +@-ms-keyframes pace-spinner { + 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } +} +@keyframes pace-spinner { + 0% { transform: rotate(0deg); transform: rotate(0deg); } + 100% { transform: rotate(360deg); transform: rotate(360deg); } +}