mirror of https://gitee.com/y_project/RuoYi.git
支持mode配置history(表示去掉地址栏的#)
parent
2c48aedda7
commit
b05a539970
|
@ -482,9 +482,13 @@ $(function() {
|
||||||
|
|
||||||
// 设置锚点
|
// 设置锚点
|
||||||
function setIframeUrl(href) {
|
function setIframeUrl(href) {
|
||||||
var nowUrl = window.location.href;
|
if($.common.equals("history", mode)) {
|
||||||
var newUrl = nowUrl.substring(0, nowUrl.indexOf("#"));
|
storage.set('publicPath', href);
|
||||||
window.location.href = newUrl + "#" + href;
|
} else {
|
||||||
|
var nowUrl = window.location.href;
|
||||||
|
var newUrl = nowUrl.substring(0, nowUrl.indexOf("#"));
|
||||||
|
window.location.href = newUrl + "#" + href;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$(window).keydown(function(event) {
|
$(window).keydown(function(event) {
|
||||||
|
|
|
@ -175,7 +175,7 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<ul class="nav navbar-top-links navbar-right welcome-message">
|
<ul class="nav navbar-top-links navbar-right welcome-message">
|
||||||
<li><a title="视频教程" href="http://doc.ruoyi.vip/ruoyi/document/spjc.html" target="_blank"><i class="fa fa-video-camera"></i> 视频教程</a></li>
|
<li><a title="视频教程" href="http://doc.ruoyi.vip/ruoyi/document/spjc.html" target="_blank"><i class="fa fa-video-camera"></i> 视频教程</a></li>
|
||||||
<li><a title="开发文档" href="http://doc.ruoyi.vip" target="_blank"><i class="fa fa-question-circle"></i> 开发文档</a></li>
|
<li><a title="开发文档" href="http://doc.ruoyi.vip" target="_blank"><i class="fa fa-question-circle"></i> 开发文档</a></li>
|
||||||
<li><a title="全屏显示" href="javascript:void(0)" id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏显示</a></li>
|
<li><a title="全屏显示" href="javascript:void(0)" id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏显示</a></li>
|
||||||
<li class="dropdown user-menu">
|
<li class="dropdown user-menu">
|
||||||
|
@ -247,7 +247,15 @@
|
||||||
<script th:src="@{/ajax/libs/fullscreen/jquery.fullscreen.js}"></script>
|
<script th:src="@{/ajax/libs/fullscreen/jquery.fullscreen.js}"></script>
|
||||||
<script th:inline="javascript">
|
<script th:inline="javascript">
|
||||||
var ctx = [[@{/}]];
|
var ctx = [[@{/}]];
|
||||||
|
// 皮肤缓存
|
||||||
var skin = storage.get("skin");
|
var skin = storage.get("skin");
|
||||||
|
// history(表示去掉地址的#)否则地址以"#"形式展示
|
||||||
|
var mode = "history";
|
||||||
|
// 历史访问路径缓存
|
||||||
|
var historyPath = storage.get("historyPath");
|
||||||
|
// 排除非左侧菜单链接
|
||||||
|
var excludesUrl = ["/system/user/profile"];
|
||||||
|
|
||||||
// 本地主题优先,未设置取系统配置
|
// 本地主题优先,未设置取系统配置
|
||||||
if($.common.isNotEmpty(skin)){
|
if($.common.isNotEmpty(skin)){
|
||||||
$("body").addClass(skin.split('|')[0]);
|
$("body").addClass(skin.split('|')[0]);
|
||||||
|
@ -275,18 +283,27 @@ function switchSkin() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 排除非左侧菜单链接
|
/** 刷新时访问路径页签 */
|
||||||
var excludesUrl = ["/system/user/profile"];
|
function applyPath(url) {
|
||||||
|
$('a[href$="' + decodeURI(url) + '"]').click();
|
||||||
|
if($.inArray(url, excludesUrl)){
|
||||||
|
$('a[href$="' + url + '"]').parent("li").addClass("selected").parents("li").addClass("active").end().parents("ul").addClass("in");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
var hash = location.hash;
|
if($.common.equals("history", mode) && window.performance.navigation.type == 1) {
|
||||||
if (hash !== '') {
|
var url = storage.get('publicPath');
|
||||||
var url = hash.substring(1, hash.length);
|
if ($.common.isNotEmpty(url)) {
|
||||||
$('a[href$="' + decodeURI(url) + '"]').click();
|
applyPath(url);
|
||||||
if($.inArray(url, excludesUrl)){
|
}
|
||||||
$('a[href$="' + url + '"]').parent("li").addClass("selected").parents("li").addClass("active").end().parents("ul").addClass("in");
|
} else {
|
||||||
}
|
var hash = location.hash;
|
||||||
}
|
if ($.common.isNotEmpty(hash)) {
|
||||||
|
var url = hash.substring(1, hash.length);
|
||||||
|
applyPath(url);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -199,7 +199,7 @@ public class ShiroConfig
|
||||||
* 安全管理器
|
* 安全管理器
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public SecurityManager securityManager(UserRealm userRealm, SpringSessionValidationScheduler springSessionValidationScheduler)
|
public SecurityManager securityManager(UserRealm userRealm)
|
||||||
{
|
{
|
||||||
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
|
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
|
||||||
// 设置realm.
|
// 设置realm.
|
||||||
|
|
|
@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import com.ruoyi.common.utils.Threads;
|
import com.ruoyi.common.utils.Threads;
|
||||||
|
|
||||||
|
@ -39,6 +40,7 @@ public class SpringSessionValidationScheduler implements SessionValidationSchedu
|
||||||
*/
|
*/
|
||||||
@Autowired
|
@Autowired
|
||||||
@Qualifier("sessionManager")
|
@Qualifier("sessionManager")
|
||||||
|
@Lazy
|
||||||
private ValidatingSessionManager sessionManager;
|
private ValidatingSessionManager sessionManager;
|
||||||
|
|
||||||
// 相隔多久检查一次session的有效性,单位毫秒,默认就是10分钟
|
// 相隔多久检查一次session的有效性,单位毫秒,默认就是10分钟
|
||||||
|
|
Loading…
Reference in New Issue