新增首页样式,修改配置文件
This commit is contained in:
parent
c67b51f77f
commit
6859c35f8d
@ -54,12 +54,12 @@ spring:
|
|||||||
use-global-data-source-stat: true
|
use-global-data-source-stat: true
|
||||||
data:
|
data:
|
||||||
mongodb:
|
mongodb:
|
||||||
uri: mongodb://smartcity:smartcity@192.168.0.151:27017/smartcity
|
uri: mongodb://smartcity:smartcity@192.168.0.156:27017/smartcity
|
||||||
redis:
|
redis:
|
||||||
database: 6
|
database: 6
|
||||||
host: 192.168.0.151
|
host: 192.168.0.156
|
||||||
port: 6379
|
port: 6379
|
||||||
password: root
|
# password: root
|
||||||
timeout: 3000ms
|
timeout: 3000ms
|
||||||
jedis:
|
jedis:
|
||||||
pool:
|
pool:
|
||||||
@ -111,7 +111,7 @@ file:
|
|||||||
use-min-io: true
|
use-min-io: true
|
||||||
# 与use-min-io配套使用
|
# 与use-min-io配套使用
|
||||||
min-io:
|
min-io:
|
||||||
endpoint: http://192.168.0.151:9900
|
endpoint: http://192.168.0.156:19000
|
||||||
access-key: smartcity
|
access-key: smartcity
|
||||||
secret-key: smartcity
|
secret-key: smartcity
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
server:
|
server:
|
||||||
port: 7011
|
port: 7011
|
||||||
ip: 10.25.242.190
|
ip: 1.24.238.149
|
||||||
url: http://${server.ip}:7011/usercenter
|
url: http://${server.ip}:37210/usercenter
|
||||||
system-title: 统一用户管理系统
|
system-title: 统一用户管理系统
|
||||||
system-sub-title: 智慧城市
|
system-sub-title: 智慧城市
|
||||||
default-index-page: route/custom/index
|
default-index-page: route/custom/index
|
||||||
@ -59,7 +59,7 @@ spring:
|
|||||||
database: 6
|
database: 6
|
||||||
host: 192.168.158.20
|
host: 192.168.158.20
|
||||||
port: 6012
|
port: 6012
|
||||||
password: 666
|
password: TSkj@0471.REDIS
|
||||||
timeout: 3000ms
|
timeout: 3000ms
|
||||||
jedis:
|
jedis:
|
||||||
pool:
|
pool:
|
||||||
@ -67,6 +67,27 @@ spring:
|
|||||||
max-wait: 1ms
|
max-wait: 1ms
|
||||||
max-idle: 8
|
max-idle: 8
|
||||||
min-idle: 0
|
min-idle: 0
|
||||||
|
kafka:
|
||||||
|
bootstrap-servers: 192.168.158.14:9092
|
||||||
|
producer:
|
||||||
|
# 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败,
|
||||||
|
# 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leader节点,不会产生消息丢失。
|
||||||
|
retries: 0
|
||||||
|
#procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下:
|
||||||
|
#acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
|
||||||
|
#acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应,在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。
|
||||||
|
#acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活,记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。
|
||||||
|
#可以设置的值为:all, -1, 0, 1
|
||||||
|
acks: 1
|
||||||
|
consumer:
|
||||||
|
group-id: SmartCity
|
||||||
|
# smallest和largest才有效,如果smallest重新0开始读取,如果是largest从logfile的offset读取。一般情况下我们都是设置smallest
|
||||||
|
auto-offset-reset: earliest
|
||||||
|
# 设置自动提交offset
|
||||||
|
enable-auto-commit: true
|
||||||
|
# 如果'enable.auto.commit'为true,则消费者偏移自动提交给Kafka的频率(以毫秒为单位),默认值为5000。
|
||||||
|
auto-commit-interval: 100
|
||||||
|
max-poll-records: 5
|
||||||
|
|
||||||
mybatis:
|
mybatis:
|
||||||
config-location: classpath:mybatis/mybatis-config.xml
|
config-location: classpath:mybatis/mybatis-config.xml
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
@charset "utf-8";a,body,dd,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,img,input,li,ol,option,p,select,span,strong,table,td,textarea,th,ul,var{margin:0;padding:0}body,html{font:400 100% "微软雅黑",Arail,Tabhoma;text-align:left;color:#535353;-webkit-font-smoothing:antialiased;line-height:normal}ol,ul{list-style:none}img{border:0;vertical-align:top}input,select,textarea{outline:0}textarea{resize:none}table{border-collapse:collapse;border-spacing:0}em,strong,th,var{font-weight:400;font-style:normal}a{text-decoration:none;color:#555}a,input{-webkit-tap-highlight-color:transparent}[v-cloak]{display: none}
|
15
src/main/resources/static/assets/custom/index/css/style.css
Normal file
15
src/main/resources/static/assets/custom/index/css/style.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.container{position:absolute;top:0;left:0;bottom:0;right:0;background:url(../images/bg.png) no-repeat;background-size:100% 100%;padding:.35rem .5rem;font-size:0}
|
||||||
|
.top{overflow:hidden}
|
||||||
|
.logo{float:left}
|
||||||
|
.logo a{font-size:.3rem;color:#00f5ff;text-shadow:0 0 5px #fff}
|
||||||
|
.btn{float:right}
|
||||||
|
.btn a{font-size:.2rem;color:#00f5ff;text-shadow:0 0 5px #fff;display:inline-block;margin-right:.2rem}
|
||||||
|
.main{margin:1rem auto;width:95%;overflow:hidden}
|
||||||
|
.main-container{width:105%;height:6.5rem;overflow-y:auto}
|
||||||
|
.main-container:after{content:'';display:block;clear:both}
|
||||||
|
.guide-box{display:block;float:left;width:3.5rem;height:2.75rem;position:relative;background:url(../images/box-bg.png) no-repeat center;background-size:100% 100%;margin-right:1rem;margin-bottom:.5rem}
|
||||||
|
.guide-box:nth-child(4n){margin-right:0}
|
||||||
|
.guide-text{max-width: 100%;padding: 0 .15rem;box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
|
||||||
|
.guide-text img{width:1.4rem;height:1.5rem;margin-bottom:.3rem}
|
||||||
|
.guide-text p{font-size:.22rem;color:#00f5ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||||
|
.close{position:absolute;top:0;right:0;width:.35rem;height:.35rem;padding:.1rem;cursor:pointer}
|
BIN
src/main/resources/static/assets/custom/index/images/bg.png
Normal file
BIN
src/main/resources/static/assets/custom/index/images/bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 673 KiB |
BIN
src/main/resources/static/assets/custom/index/images/box-bg.png
Normal file
BIN
src/main/resources/static/assets/custom/index/images/box-bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
BIN
src/main/resources/static/assets/custom/index/images/close.png
Normal file
BIN
src/main/resources/static/assets/custom/index/images/close.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 649 B |
BIN
src/main/resources/static/assets/custom/index/images/icon.png
Normal file
BIN
src/main/resources/static/assets/custom/index/images/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
BIN
src/main/resources/static/assets/custom/index/images/icon2.png
Normal file
BIN
src/main/resources/static/assets/custom/index/images/icon2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
src/main/resources/static/assets/custom/index/images/icon3.png
Normal file
BIN
src/main/resources/static/assets/custom/index/images/icon3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
12
src/main/resources/static/assets/custom/index/js/rem.js
Normal file
12
src/main/resources/static/assets/custom/index/js/rem.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
function setPage() {
|
||||||
|
var html = document.getElementsByTagName('html')[0];
|
||||||
|
var deviceWidth = document.documentElement.clientWidth;
|
||||||
|
var scale = deviceWidth / 1920;//psd图上的宽度
|
||||||
|
html.style.fontSize = scale * 100 + 'px';
|
||||||
|
}
|
||||||
|
|
||||||
|
setPage();
|
||||||
|
|
||||||
|
window.onresize = function () {
|
||||||
|
setPage();
|
||||||
|
}
|
@ -4,81 +4,31 @@
|
|||||||
<base th:href="${#request.getContextPath() + '/'}">
|
<base th:href="${#request.getContextPath() + '/'}">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title th:text="${systemTitle}"></title>
|
<title th:text="${systemTitle}"></title>
|
||||||
<link rel="stylesheet" href="assets/custom/index/css/swiper.min.css">
|
<link rel="stylesheet" href="assets/custom/index/css/reset.css">
|
||||||
<link rel="stylesheet" href="assets/custom/index/css/certify.css">
|
<link rel="stylesheet" href="assets/custom/index/css/style.css">
|
||||||
<style>
|
<script src="assets/custom/index/js/rem.js"></script>
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="certify">
|
<div class="container">
|
||||||
<div class="swiper-container">
|
<div class="top">
|
||||||
<div class="swiper-wrapper">
|
<div class="logo">
|
||||||
<div class="swiper-slide" th:each="oAuth2Client: ${listOAuth2Client}" th:attr="data-href=${oAuth2Client.webServerRedirectUri}">
|
<a href="javascript:void(0);" th:text="${systemTitle}"></a>
|
||||||
<img th:if="${oAuth2Client.systemIcon ne ''}" th:src="'route/file/download/false/'+ ${oAuth2Client.systemIcon}"/>
|
</div>
|
||||||
<img th:if="${oAuth2Client.systemIcon eq ''}" src="assets/images/oauth/icon-user-center.jpg"/>
|
<div class="btn">
|
||||||
<p th:text="${oAuth2Client.clientName}"></p>
|
<a href="oauth/logout">退出登录</a>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<div class="main-container">
|
||||||
|
<a th:href="${oAuth2Client.webServerRedirectUri}" class="guide-box" th:each="oAuth2Client: ${listOAuth2Client}">
|
||||||
|
<div class="guide-text">
|
||||||
|
<img th:if="${oAuth2Client.systemIcon ne ''}" th:src="'route/file/download/false/'+ ${oAuth2Client.systemIcon}" alt="">
|
||||||
|
<img th:if="${oAuth2Client.systemIcon eq ''}" src="assets/custom/index/images/icon.png"/>
|
||||||
|
<p th:text="${oAuth2Client.clientName}"></p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="swiper-pagination"></div>
|
|
||||||
<div class="swiper-button-prev"></div>
|
|
||||||
<div class="swiper-button-next"></div>
|
|
||||||
<input type="hidden" id="listOAuth2ClientSize" th:value="${listOAuth2ClientSize}">
|
|
||||||
</div>
|
</div>
|
||||||
<a id="logoutBtn" href="oauth/logout" title="退出系统"></a>
|
|
||||||
<script src="assets/js/jquery-3.5.1.min.js"></script>
|
|
||||||
<script src="assets/custom/index/js/swiper.min.js"></script>
|
|
||||||
<script>
|
|
||||||
(function() {
|
|
||||||
var certifySwiper = new Swiper('#certify .swiper-container', {
|
|
||||||
watchSlidesProgress: true,
|
|
||||||
slidesPerView: 'auto',
|
|
||||||
centeredSlides: true,
|
|
||||||
loop: $('#listOAuth2ClientSize').val() > 2 ? true : false,
|
|
||||||
loopedSlides: 5,
|
|
||||||
autoplay: true,
|
|
||||||
navigation: {
|
|
||||||
nextEl: '.swiper-button-next',
|
|
||||||
prevEl: '.swiper-button-prev',
|
|
||||||
},
|
|
||||||
pagination: {
|
|
||||||
el: '.swiper-pagination',
|
|
||||||
clickable :true,
|
|
||||||
},
|
|
||||||
on: {
|
|
||||||
progress: function(progress) {
|
|
||||||
for (i = 0; i < this.slides.length; i++) {
|
|
||||||
var slide = this.slides.eq(i);
|
|
||||||
var slideProgress = this.slides[i].progress;
|
|
||||||
modify = 1;
|
|
||||||
if (Math.abs(slideProgress) > 1) {
|
|
||||||
modify = (Math.abs(slideProgress) - 1) * 0.3 + 1;
|
|
||||||
}
|
|
||||||
translate = slideProgress * modify * 260 + 'px';
|
|
||||||
scale = 1 - Math.abs(slideProgress) / 5;
|
|
||||||
zIndex = 999 - Math.abs(Math.round(10 * slideProgress));
|
|
||||||
slide.transform('translateX(' + translate + ') scale(' + scale + ')');
|
|
||||||
slide.css('zIndex', zIndex);
|
|
||||||
slide.css('opacity', 1);
|
|
||||||
if (Math.abs(slideProgress) > 3) {
|
|
||||||
slide.css('opacity', 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setTransition: function(transition) {
|
|
||||||
for (var i = 0; i < this.slides.length; i++) {
|
|
||||||
var slide = this.slides.eq(i)
|
|
||||||
slide.transition(transition);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
$('.swiper-slide').on('click', function() {
|
|
||||||
var data = this.dataset;
|
|
||||||
window.location.href = data.href;
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
Loading…
Reference in New Issue
Block a user