AE86 4 years ago
parent
commit
db985dfebd

+ 31 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/vo/VersionVo.java

@@ -0,0 +1,31 @@
+package org.dbsyncer.biz.vo;
+
+/**
+ * @version 1.0.0
+ * @Author AE86
+ * @Date 2021-01-27 20:55
+ */
+public class VersionVo {
+
+    /**
+     * 应用名称
+     */
+    private String appName;
+    /**
+     * 版权详细
+     */
+    private String appCopyRight;
+
+    public VersionVo(String appName, String appCopyRight) {
+        this.appName = appName;
+        this.appCopyRight = appCopyRight;
+    }
+
+    public String getAppName() {
+        return appName;
+    }
+
+    public String getAppCopyRight() {
+        return appCopyRight;
+    }
+}

+ 1 - 1
dbsyncer-web/src/main/java/org/dbsyncer/web/config/WebAppConfig.java

@@ -121,7 +121,7 @@ public class WebAppConfig extends WebSecurityConfigurerAdapter implements Authen
 
         http.csrf().disable()
                 .authorizeRequests()
-                .antMatchers("/css/**", "/js/**", "/img/**", "/config/**", "/plugins/**").permitAll().anyRequest()
+                .antMatchers("/css/**", "/js/**", "/img/**", "/config/**", "/plugins/**", "/index/version.json").permitAll().anyRequest()
                 .authenticated()
                 .and()
                 .formLogin()

+ 16 - 0
dbsyncer-web/src/main/java/org/dbsyncer/web/controller/index/IndexController.java

@@ -2,11 +2,15 @@ package org.dbsyncer.web.controller.index;
 
 import org.dbsyncer.biz.ConnectorService;
 import org.dbsyncer.biz.MappingService;
+import org.dbsyncer.biz.vo.RestResult;
+import org.dbsyncer.biz.vo.VersionVo;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -20,6 +24,12 @@ public class IndexController {
     @Autowired
     private MappingService mappingService;
 
+    @Value(value = "${info.app.name}")
+    private String appName;
+
+    @Value(value = "${info.app.copyright}")
+    private String appCopyRight;
+
     @GetMapping("")
     public String index(HttpServletRequest request, ModelMap model) {
         model.put("connectors", connectorService.getConnectorAll());
@@ -27,4 +37,10 @@ public class IndexController {
         return "index/index.html";
     }
 
+    @GetMapping("/version.json")
+    @ResponseBody
+    public RestResult version() {
+        return RestResult.restSuccess(new VersionVo(appName, appCopyRight));
+    }
+
 }

+ 2 - 1
dbsyncer-web/src/main/resources/application.properties

@@ -6,7 +6,7 @@ dbsyncer.web.login.username=admin
 dbsyncer.web.login.password=0DPiKuNIrrVmD8IUCuw1hQxNqZc=
 dbsyncer.web.cache.connector.timeout=5
 server.servlet.session.timeout=1800
-server.servlet.context-path=/
+server.servlet.context-path=/test
 
 #storage
 dbsyncer.storage.id=1
@@ -24,6 +24,7 @@ management.endpoints.web.exposure.include=*
 management.endpoint.health.show-details=always
 info.app.name=DBSyncer
 info.app.version=1.0.3-Alpha
+info.app.copyright=&copy;2021 ${info.app.name}(${info.app.version})<br />Designed By <a href='https://gitee.com/ghi/dbsyncer' target='_blank' >AE86</a>
 
 #All < Trace < Debug < Info < Warn < Error < Fatal < OFF
 logging.level.root=info

+ 1 - 1
dbsyncer-web/src/main/resources/public/footer.html

@@ -3,7 +3,7 @@
       xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
 
 <div th:fragment="copy">
-    <p class="text-center" id="copyrightInfo">©2019&nbsp;DBSyncer</p>
+    <p class="text-center" id="appCopyRight"></p>
 </div>
 
 </html>

+ 1 - 1
dbsyncer-web/src/main/resources/public/login.html

@@ -9,7 +9,7 @@
 </head>
 <body>
 <form id="loginForm" name="loginForm" method="post"></form>
-<p class="loginTextCenter text-center" id="loginCopyrightInfo"></p>
+<p class="loginTextCenter text-center" id="appCopyRight"></p>
 </body>
 <script th:src="@{/plugins/js/jquery/jquery-1.11.3.min.js}"></script>
 <script th:src="@{/plugins/js/placeholder/jquery.placeholder.js}"></script>

+ 1 - 1
dbsyncer-web/src/main/resources/public/nav.html

@@ -5,7 +5,7 @@
 <nav th:fragment="nav" class="navbar navbar-inverse" role="navigation" >
     <div class="container-fluid">
         <div class="navbar-header">
-            <span id="logoName" class="navbar-brand" href="javascript:;"></span>
+            <span id="appName" class="navbar-brand" href="javascript:;"></span>
         </div>
         <div>
             <ul id="menu" class="nav navbar-nav">

+ 7 - 5
dbsyncer-web/src/main/resources/static/js/index.js

@@ -3,11 +3,13 @@
 $(function () {
 
     // 初始化版权信息
-    doGetter("/config/system.json",{}, function (data) {
-        // 获取头部版权信息
-        $("#logoName").html(data.headName);
-        // 获取底部版权信息
-        $("#copyrightInfo").html(data.footerName);
+    doGetter("/index/version.json",{}, function (data) {
+        if (data.success == true) {
+            // 获取头部版权信息
+            $("#appName").html(data.resultValue.appName);
+            // 获取底部版权信息
+            $("#appCopyRight").html(data.resultValue.appCopyRight);
+        }
     });
 
     // 注销

+ 8 - 4
dbsyncer-web/src/main/resources/static/js/login/login.js

@@ -5,7 +5,7 @@ var $basePath = $location[0] + '//' + $location[2] + $path.substr(0, $path.subst
 
 var $formHtml = "<dl class=\"admin_login\">\n" +
     "\t<dt>\n" +
-    "\t\t<strong>DBSyncer</strong>\n" +
+    "\t\t<strong id=\"appName\">DBSyncer</strong>\n" +
     "\t</dt>\n" +
     "\t<div id=\"loginTip\" class=\"loginVerifcateTextError\"></div>\n" +
     "\t<dd class=\"user_icon\">\n" +
@@ -55,9 +55,13 @@ $(document).ready(function () {
 
 //初始化加载版权信息
 function initLoginCopyrightInfo() {
-    $.getJSON($basePath + "/config/system.json", function (data) {
-        // 获取底部版权信息
-        $("#loginCopyrightInfo").html(data.footerName);
+    $.get($basePath + "/index/version.json", {}, function (data) {
+        if (data.success == true) {
+            // 获取头部版权信息
+            $("#appName").html(data.resultValue.appName);
+            // 获取底部版权信息
+            $("#appCopyRight").html(data.resultValue.appCopyRight);
+        }
     });
 }