mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 01:18:27 +08:00
ProductVersion
This commit is contained in:
parent
6c093db746
commit
4efe2ce867
@ -19,8 +19,7 @@ package org.dromara.maxkey.web;
|
|||||||
|
|
||||||
import org.dromara.maxkey.constants.ContentType;
|
import org.dromara.maxkey.constants.ContentType;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
@ -29,9 +28,9 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||||||
@Controller
|
@Controller
|
||||||
public class MetadataEndpoint {
|
public class MetadataEndpoint {
|
||||||
|
|
||||||
@RequestMapping(value = "/metadata/version",produces = ContentType.TEXT_PLAIN_UTF8, method={RequestMethod.GET})
|
@GetMapping(value = "/metadata/version",produces = ContentType.TEXT_PLAIN_UTF8)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String metadata(HttpServletRequest request,HttpServletResponse response) {
|
public String metadata(HttpServletRequest request,HttpServletResponse response) {
|
||||||
return "";//WebContext.version();
|
return WebContext.version();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright [2024] [MaxKey of copyright http://www.maxkey.top]
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
package org.dromara.maxkey.web;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.SystemUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
import jakarta.servlet.ServletOutputStream;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ProductVersion
|
||||||
|
* @author Crystal.Sea
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class ProductVersionEndpoint {
|
||||||
|
private static final Logger _logger = LoggerFactory.getLogger(ProductVersionEndpoint.class);
|
||||||
|
|
||||||
|
static final String VERSION_STRING ="""
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
<link rel="shortcut icon" type="image/x-icon" href="%s/static/favicon.ico"/>
|
||||||
|
<base href='%s'/>
|
||||||
|
<title>MaxKey Single Sign-On</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<center>
|
||||||
|
<hr>
|
||||||
|
Maxkey Community Edition <br>
|
||||||
|
Single Sign On ( SSO ) <br>
|
||||||
|
Version %s <br>
|
||||||
|
<br>
|
||||||
|
© Copyright 2018 - %d https://www.maxkey.top/<br>
|
||||||
|
Licensed under the Apache License, Version 2.0 <br>
|
||||||
|
.                    
|
||||||
|
All rights reserved
|
||||||
|
                    .<br>
|
||||||
|
<hr>
|
||||||
|
JAVA    :    %s java version %s, class %s<br>
|
||||||
|
%s (build %s, %s)<br>
|
||||||
|
<hr>
|
||||||
|
</center>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
""";
|
||||||
|
|
||||||
|
@GetMapping(value={"/"})
|
||||||
|
public void version(HttpServletRequest request,HttpServletResponse response) throws IOException {
|
||||||
|
_logger.debug("ProductVersion /");
|
||||||
|
ServletOutputStream out = response.getOutputStream();
|
||||||
|
String contextPath = request.getContextPath();
|
||||||
|
out.println(
|
||||||
|
String.format(
|
||||||
|
VERSION_STRING,
|
||||||
|
contextPath,
|
||||||
|
contextPath,
|
||||||
|
WebContext.getProperty("application.formatted-version"),
|
||||||
|
new DateTime().getYear(),
|
||||||
|
SystemUtils.JAVA_VENDOR,
|
||||||
|
SystemUtils.JAVA_VERSION,
|
||||||
|
SystemUtils.JAVA_CLASS_VERSION,
|
||||||
|
SystemUtils.JAVA_VM_NAME,
|
||||||
|
SystemUtils.JAVA_VM_VERSION,
|
||||||
|
SystemUtils.JAVA_VM_INFO));
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,44 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
package org.dromara.maxkey.web.contorller;
|
|
||||||
|
|
||||||
import org.dromara.maxkey.web.WebContext;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Index
|
|
||||||
* @author Crystal.Sea
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Controller
|
|
||||||
public class IndexEndpoint {
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(IndexEndpoint.class);
|
|
||||||
|
|
||||||
@RequestMapping(value={"/"})
|
|
||||||
public ModelAndView index() {
|
|
||||||
logger.debug("IndexEndpoint /.");
|
|
||||||
return new ModelAndView("index")
|
|
||||||
.addObject("appVersion", WebContext.properties.getProperty("application.formatted-version"));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html >
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="<@base />/static/favicon.ico"/>
|
|
||||||
<base href="<@base />"/>
|
|
||||||
<title>MaxKey Single Sign-On</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<hr>
|
|
||||||
Maxkey Community Edition <br>
|
|
||||||
Single Sign On ( SSO ) <br>
|
|
||||||
Version ${appVersion}<br>
|
|
||||||
<br>
|
|
||||||
©Copyright 2018 - ${.now?string["yyyy"]} https://www.maxkey.top/<br>
|
|
||||||
Licensed under the Apache License, Version 2.0 <br>
|
|
||||||
<hr>
|
|
||||||
</center>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
package org.dromara.maxkey.web.contorller;
|
|
||||||
|
|
||||||
import org.dromara.maxkey.web.WebContext;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Index
|
|
||||||
* @author Crystal.Sea
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Controller
|
|
||||||
public class IndexEndpoint {
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(IndexEndpoint.class);
|
|
||||||
|
|
||||||
@RequestMapping(value={"/"})
|
|
||||||
public ModelAndView index() {
|
|
||||||
logger.debug("IndexEndpoint /.");
|
|
||||||
return new ModelAndView("index")
|
|
||||||
.addObject("appVersion", WebContext.properties.getProperty("application.formatted-version"));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html >
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="<@base />/static/favicon.ico"/>
|
|
||||||
<base href="<@base />"/>
|
|
||||||
<title>MaxKey Single Sign-On</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<hr>
|
|
||||||
Maxkey Community Edition <br>
|
|
||||||
Single Sign On ( SSO ) <br>
|
|
||||||
Version ${appVersion}<br>
|
|
||||||
<br>
|
|
||||||
©Copyright 2018 - ${.now?string["yyyy"]} https://www.maxkey.top/<br>
|
|
||||||
Licensed under the Apache License, Version 2.0 <br>
|
|
||||||
<hr>
|
|
||||||
</center>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright [2024] [MaxKey of copyright https://www.maxkey.top]
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
package org.dromara.maxkey.web.contorller;
|
|
||||||
|
|
||||||
import org.dromara.maxkey.web.WebContext;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Index
|
|
||||||
* @author Crystal.Sea
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Controller
|
|
||||||
public class IndexEndpoint {
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(IndexEndpoint.class);
|
|
||||||
|
|
||||||
@RequestMapping(value={"/"})
|
|
||||||
public ModelAndView index() {
|
|
||||||
logger.debug("IndexEndpoint /.");
|
|
||||||
return new ModelAndView("index")
|
|
||||||
.addObject("appVersion", WebContext.properties.getProperty("application.formatted-version"));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html >
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="<@base />/static/favicon.ico"/>
|
|
||||||
<base href="<@base />"/>
|
|
||||||
<title>MaxKey Single Sign-On</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<hr>
|
|
||||||
Maxkey Community Edition <br>
|
|
||||||
Single Sign On ( SSO ) <br>
|
|
||||||
Version ${appVersion}<br>
|
|
||||||
<br>
|
|
||||||
©Copyright 2018 - ${.now?string["yyyy"]} https://www.maxkey.top/<br>
|
|
||||||
Licensed under the Apache License, Version 2.0 <br>
|
|
||||||
<hr>
|
|
||||||
</center>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Loading…
x
Reference in New Issue
Block a user