mirror of
https://github.com/getrebuild/rebuild.git
synced 2024-09-20 07:25:54 +08:00
beta1
This commit is contained in:
parent
70209f0d86
commit
f46ca90eb3
14
README.md
14
README.md
|
@ -4,18 +4,18 @@
|
|||
[![License GPLv3](https://img.shields.io/github/license/getrebuild/rebuild.svg)](LICENSE)
|
||||
[![License COMMERCIAL](https://img.shields.io/badge/license-COMMERCIAL-orange.svg)](COMMERCIAL)
|
||||
|
||||
## REBUILD 2.1 新特性
|
||||
## REBUILD 2.2 新特性
|
||||
|
||||
本次更新为你带来众多新功能与优化。
|
||||
|
||||
1. [新增] 繁体中文支持
|
||||
2. [新增] 记录转换映射
|
||||
3. [新增] 多引用字段
|
||||
4. [新增] 支持批量导入用户
|
||||
5. [优化] 所有字段均提供默认值支持
|
||||
1. [新增] 外部表单
|
||||
2. [新增] 界面主题选择
|
||||
3. [新增] 数字型字段计算公式
|
||||
4. [新增] 多行文本字段富文本编辑器
|
||||
5. [新增] 高级表单控制
|
||||
6. ...
|
||||
|
||||
更多新特性请移步 [CHANGLOG](https://getrebuild.com/docs/dev/changelog)
|
||||
更多新特性请移步 [CHANGLOG](https://getrebuild.com/docs/dev/changelog?v=2.2)
|
||||
|
||||
## 在线体验
|
||||
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -10,7 +10,7 @@
|
|||
</parent>
|
||||
<groupId>com.rebuild</groupId>
|
||||
<artifactId>rebuild</artifactId>
|
||||
<version>2.2.0-dev</version>
|
||||
<version>2.2.0-beta1</version>
|
||||
<name>rebuild</name>
|
||||
<description>RB V2 use SpringBoot</description>
|
||||
<!-- UNCOMMENT USE TOMCAT -->
|
||||
|
|
|
@ -63,7 +63,7 @@ public class Application implements ApplicationListener<ApplicationStartedEvent>
|
|||
/**
|
||||
* Rebuild Version
|
||||
*/
|
||||
public static final String VER = "2.2.0-dev";
|
||||
public static final String VER = "2.2.0-beta1";
|
||||
/**
|
||||
* Rebuild Build
|
||||
*/
|
||||
|
|
|
@ -25,6 +25,12 @@ public class CheckDangers {
|
|||
|
||||
private static final String CKEY_DANGERS = "_DANGERS";
|
||||
|
||||
// 检查项
|
||||
private static final String HasUpdate = "HasUpdate";
|
||||
private static final String AdminMsg = "AdminMsg";
|
||||
private static final String UsersMsg = "UsersMsg";
|
||||
private static final String CommercialNoRbv = "CommercialNoRbv";
|
||||
|
||||
/**
|
||||
*/
|
||||
public void checks() {
|
||||
|
@ -38,27 +44,24 @@ public class CheckDangers {
|
|||
|
||||
JSONObject checkBuild = License.siteApi("api/authority/check-build", true);
|
||||
if (checkBuild != null && checkBuild.getIntValue("build") > Application.BUILD) {
|
||||
String hasUpdate = Language.LF(
|
||||
"NewVersion", checkBuild.getString("version"), checkBuild.getString("releaseUrl"));
|
||||
hasUpdate = hasUpdate.replace("<a ", "<a target='_blank' class='link' ");
|
||||
dangers.put("HasUpdate", hasUpdate);
|
||||
dangers.put(HasUpdate, checkBuild.getString("version") + "$$$$" + checkBuild.getString("releaseUrl"));
|
||||
} else {
|
||||
dangers.remove("HasUpdate");
|
||||
dangers.remove(HasUpdate);
|
||||
}
|
||||
|
||||
JSONObject echoValidity = License.siteApi("api/authority/echo?once=" + ServerStatus.STARTUP_ONCE, false);
|
||||
if (echoValidity != null && !echoValidity.isEmpty()) {
|
||||
String adminMsg = echoValidity.getString("adminMsg");
|
||||
if (adminMsg == null) dangers.remove("AdminMsg");
|
||||
else dangers.put("AdminMsg", adminMsg);
|
||||
if (adminMsg == null) dangers.remove(AdminMsg);
|
||||
else dangers.put(AdminMsg, adminMsg);
|
||||
|
||||
String usersMsg = echoValidity.getString("usersMsg");
|
||||
if (usersMsg == null) dangers.remove("UsersMsg");
|
||||
else dangers.put("UsersMsg", usersMsg);
|
||||
if (usersMsg == null) dangers.remove(UsersMsg);
|
||||
else dangers.put(UsersMsg, usersMsg);
|
||||
|
||||
} else {
|
||||
dangers.remove("AdminMsg");
|
||||
dangers.remove("UsersMsg");
|
||||
dangers.remove(AdminMsg);
|
||||
dangers.remove(UsersMsg);
|
||||
}
|
||||
|
||||
// 放入缓存
|
||||
|
@ -70,25 +73,40 @@ public class CheckDangers {
|
|||
/**
|
||||
* @return
|
||||
*/
|
||||
public static Collection<String> getAdminDangers() {
|
||||
public static Collection<String> getAdminDanger() {
|
||||
LinkedHashMap<String, String> dangers = (LinkedHashMap<String, String>) Application.getCommonsCache().getx(CKEY_DANGERS);
|
||||
|
||||
if (License.isCommercial() && !License.isRbvAttached()) {
|
||||
if (dangers == null) dangers = new LinkedHashMap<>();
|
||||
dangers.put(CommercialNoRbv, Language.L("CommercialNoRbvTip"));
|
||||
}
|
||||
|
||||
if (dangers == null || dangers.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
dangers = (LinkedHashMap<String, String>) dangers.clone();
|
||||
dangers.remove("UsersMsg");
|
||||
dangers.remove(UsersMsg);
|
||||
|
||||
String hasUpdate = dangers.get(HasUpdate);
|
||||
if (hasUpdate != null && hasUpdate.contains("$$$$")) {
|
||||
String[] ss = hasUpdate.split("\\$\\$\\$\\$");
|
||||
hasUpdate = Language.LF("NewVersion", ss[0], ss[1]);
|
||||
hasUpdate = hasUpdate.replace("<a ", "<a target=\"_blank\" ");
|
||||
dangers.put(HasUpdate, hasUpdate);
|
||||
}
|
||||
|
||||
return dangers.values();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public static String getUserDanger() {
|
||||
public static String getUsersDanger() {
|
||||
LinkedHashMap<String, String> dangers = (LinkedHashMap<String, String>) Application.getCommonsCache().getx(CKEY_DANGERS);
|
||||
if (dangers == null || dangers.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return dangers.get("UsersMsg");
|
||||
return dangers.get(UsersMsg);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ public class AdminVerfiyController extends BaseController {
|
|||
|
||||
@RequestMapping("/user/admin-dangers")
|
||||
public RespBody adminDangers() {
|
||||
return RespBody.ok(CheckDangers.getAdminDangers());
|
||||
return RespBody.ok(CheckDangers.getAdminDanger());
|
||||
}
|
||||
|
||||
// -- CLI
|
||||
|
|
|
@ -130,7 +130,7 @@ public class LoginController extends BaseController {
|
|||
ServletUtils.setSessionAttribute(request, SK_NEED_VCODE, true);
|
||||
}
|
||||
|
||||
mv.getModelMap().put("UsersMsg", CheckDangers.getUserDanger());
|
||||
mv.getModelMap().put("UsersMsg", CheckDangers.getUsersDanger());
|
||||
return mv;
|
||||
}
|
||||
|
||||
|
|
|
@ -1315,6 +1315,7 @@
|
|||
"LoginCaptchaPolicy2": "Always display",
|
||||
"DBBackupsKeepingDays": "Backup retention time",
|
||||
"RebuildPowered": "Powered by [REBUILD](https://getrebuild.com/)",
|
||||
"CommercialNoRbvTip": "System has detected the commercial feature package is not installed, and the relevant commercial feature may not be available. Please contact the REBUILD to obtain it",
|
||||
|
||||
"s.__": "STATE",
|
||||
"s.ApprovalState.DRAFT": "Draft",
|
||||
|
|
|
@ -1315,6 +1315,7 @@
|
|||
"LoginCaptchaPolicy2": "总是显示",
|
||||
"DBBackupsKeepingDays": "备份保留时间",
|
||||
"RebuildPowered": "[REBUILD](https://getrebuild.com/) 强力驱动",
|
||||
"CommercialNoRbvTip": "系统检测到增值功能包未安装,相关增值功能可能无法使用。请联系 REBUILD 服务人员获取",
|
||||
|
||||
"s.__": "状态",
|
||||
"s.ApprovalState.DRAFT": "草稿",
|
||||
|
|
|
@ -1315,6 +1315,7 @@
|
|||
"LoginCaptchaPolicy2": "總是顯示",
|
||||
"DBBackupsKeepingDays": "備份保留時間",
|
||||
"RebuildPowered": "[REBUILD](https://getrebuild.com/) 強力驅動",
|
||||
"CommercialNoRbvTip": "系統檢測到增值功能包未安裝,相關增值功能可能無法使用。請聯繫 REBUILD 服務人員獲取",
|
||||
|
||||
"s.__": "狀態",
|
||||
"s.ApprovalState.DRAFT": "草稿",
|
||||
|
|
|
@ -3841,3 +3841,15 @@ a.select-lang:hover {
|
|||
background-color: #eee;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.popover {
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
.admin-danger-list > div {
|
||||
padding: 12px 0;
|
||||
}
|
||||
|
||||
.admin-danger-list > div + div {
|
||||
border-top: 1px solid #eee;
|
||||
}
|
|
@ -96,10 +96,11 @@ $(function () {
|
|||
$.get('/user/admin-dangers', function (res) {
|
||||
if ((res.data || []).length > 0) {
|
||||
$('.admin-danger').removeClass('hide')
|
||||
var dd = []
|
||||
var dd = ['<div class="admin-danger-list">']
|
||||
$(res.data).each(function () {
|
||||
dd.push('<div class="p-1">' + this + '</div>')
|
||||
dd.push('<div>' + this + '</div>')
|
||||
})
|
||||
dd.push('</div>')
|
||||
topPopover($('.admin-danger a'), dd.join(''))
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue