调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等;
This commit is contained in:
parent
57702ec2ab
commit
2276285673
|
@ -2062,9 +2062,11 @@ data: post-data
|
||||||
- 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题;
|
- 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题;
|
||||||
- 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题;
|
- 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题;
|
||||||
- 18、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题;
|
- 18、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题;
|
||||||
|
- 19、调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等;
|
||||||
- 19、[ING]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
|
- 19、[ING]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
|
||||||
- 20、[ING]任务 misfire 策略:忽略、补偿一次、补偿最近10次……等;
|
- 20、[ING]任务 misfire 策略:忽略、补偿一次、补偿最近10次……等;
|
||||||
- 21、[规划中]执行器注册,异步写入;
|
- 21、[规划中]执行器注册,异步写入;
|
||||||
|
- 22、[规划中]默认开启访问令牌鉴权;
|
||||||
|
|
||||||
|
|
||||||
### 7.32 版本 v2.3.0 Release Notes[规划中]
|
### 7.32 版本 v2.3.0 Release Notes[规划中]
|
||||||
|
|
|
@ -68,13 +68,23 @@ public class JobGroupController {
|
||||||
if (xxlJobGroup.getAppname().length()<4 || xxlJobGroup.getAppname().length()>64) {
|
if (xxlJobGroup.getAppname().length()<4 || xxlJobGroup.getAppname().length()>64) {
|
||||||
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_field_appname_length") );
|
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_field_appname_length") );
|
||||||
}
|
}
|
||||||
|
if (xxlJobGroup.getAppname().contains(">") || xxlJobGroup.getAppname().contains("<")) {
|
||||||
|
return new ReturnT<String>(500, "AppName"+I18nUtil.getString("system_unvalid") );
|
||||||
|
}
|
||||||
if (xxlJobGroup.getTitle()==null || xxlJobGroup.getTitle().trim().length()==0) {
|
if (xxlJobGroup.getTitle()==null || xxlJobGroup.getTitle().trim().length()==0) {
|
||||||
return new ReturnT<String>(500, (I18nUtil.getString("system_please_input") + I18nUtil.getString("jobgroup_field_title")) );
|
return new ReturnT<String>(500, (I18nUtil.getString("system_please_input") + I18nUtil.getString("jobgroup_field_title")) );
|
||||||
}
|
}
|
||||||
|
if (xxlJobGroup.getTitle().contains(">") || xxlJobGroup.getTitle().contains("<")) {
|
||||||
|
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_field_title")+I18nUtil.getString("system_unvalid") );
|
||||||
|
}
|
||||||
if (xxlJobGroup.getAddressType()!=0) {
|
if (xxlJobGroup.getAddressType()!=0) {
|
||||||
if (xxlJobGroup.getAddressList()==null || xxlJobGroup.getAddressList().trim().length()==0) {
|
if (xxlJobGroup.getAddressList()==null || xxlJobGroup.getAddressList().trim().length()==0) {
|
||||||
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_field_addressType_limit") );
|
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_field_addressType_limit") );
|
||||||
}
|
}
|
||||||
|
if (xxlJobGroup.getAddressList().contains(">") || xxlJobGroup.getAddressList().contains("<")) {
|
||||||
|
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_field_registryList")+I18nUtil.getString("system_unvalid") );
|
||||||
|
}
|
||||||
|
|
||||||
String[] addresss = xxlJobGroup.getAddressList().split(",");
|
String[] addresss = xxlJobGroup.getAddressList().split(",");
|
||||||
for (String item: addresss) {
|
for (String item: addresss) {
|
||||||
if (item==null || item.trim().length()==0) {
|
if (item==null || item.trim().length()==0) {
|
||||||
|
|
|
@ -56,6 +56,13 @@ public class UserController {
|
||||||
List<XxlJobUser> list = xxlJobUserDao.pageList(start, length, username, role);
|
List<XxlJobUser> list = xxlJobUserDao.pageList(start, length, username, role);
|
||||||
int list_count = xxlJobUserDao.pageListCount(start, length, username, role);
|
int list_count = xxlJobUserDao.pageListCount(start, length, username, role);
|
||||||
|
|
||||||
|
// filter
|
||||||
|
if (list!=null && list.size()>0) {
|
||||||
|
for (XxlJobUser item: list) {
|
||||||
|
item.setPassword(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// package result
|
// package result
|
||||||
Map<String, Object> maps = new HashMap<String, Object>();
|
Map<String, Object> maps = new HashMap<String, Object>();
|
||||||
maps.put("recordsTotal", list_count); // 总记录数
|
maps.put("recordsTotal", list_count); // 总记录数
|
||||||
|
|
|
@ -33,7 +33,7 @@ $(function() {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"data": 'password',
|
"data": 'password',
|
||||||
"visible" : true,
|
"visible" : false,
|
||||||
"width":'20%',
|
"width":'20%',
|
||||||
"render": function ( data, type, row ) {
|
"render": function ( data, type, row ) {
|
||||||
return '*********';
|
return '*********';
|
||||||
|
|
|
@ -28,13 +28,13 @@
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">AppName</span>
|
<span class="input-group-addon">AppName</span>
|
||||||
<input type="text" class="form-control" id="appname" autocomplete="on" placeholder="${I18n.system_please_input}AppName" >
|
<input type="text" class="form-control" id="appname" placeholder="${I18n.system_please_input}AppName" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">${I18n.jobgroup_field_title}</span>
|
<span class="input-group-addon">${I18n.jobgroup_field_title}</span>
|
||||||
<input type="text" class="form-control" id="title" autocomplete="on" placeholder="${I18n.jobgroup_field_title}" >
|
<input type="text" class="form-control" id="title" placeholder="${I18n.jobgroup_field_title}" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
|
|
|
@ -46,17 +46,17 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" id="jobDesc" autocomplete="on" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" >
|
<input type="text" class="form-control" id="jobDesc" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_jobdesc}" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" id="executorHandler" autocomplete="on" placeholder="${I18n.system_please_input}JobHandler" >
|
<input type="text" class="form-control" id="executorHandler" placeholder="${I18n.system_please_input}JobHandler" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" id="author" autocomplete="on" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_author}" >
|
<input type="text" class="form-control" id="author" placeholder="${I18n.system_please_input}${I18n.jobinfo_field_author}" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-1">
|
<div class="col-xs-1">
|
||||||
|
|
Loading…
Reference in New Issue