|  |  | 
 |  |  | <style> | 
 |  |  |     #febs-index .welcome-info { | 
 |  |  |         border: 1px solid #f1f1f1; | 
 |  |  |         margin-bottom: .5rem; | 
 |  |  |         padding: .5rem; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .welcome-info-wrapper { | 
 |  |  |         padding: .2rem; | 
 |  |  |         display: inline-block | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .welcome-info-wrapper .user-header { | 
 |  |  |         display: inline-block; | 
 |  |  |         vertical-align: middle | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .welcome-info-wrapper .user-header img { | 
 |  |  |         width: 5rem; | 
 |  |  |         margin: .5rem 1rem; | 
 |  |  |         border-radius: 50% | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .welcome-info-wrapper .user-info { | 
 |  |  |         display: inline-block; | 
 |  |  |         vertical-align: middle | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .welcome-info-wrapper .user-info .random-message { | 
 |  |  |         font-size: 1rem; | 
 |  |  |         margin-bottom: .2rem; | 
 |  |  |         max-width: 21rem | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .welcome-info-wrapper .user-info .user-dept, #febs-index .welcome-info-wrapper .user-info .user-login-info { | 
 |  |  |         color: rgba(0, 0, 0, 0.45); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .login-count-table { | 
 |  |  |         width: 100%; | 
 |  |  |         margin: 1rem; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .login-count-table .count { | 
 |  |  |         padding-top: .8rem; | 
 |  |  |         font-size: 1rem; | 
 |  |  |         font-weight: 600; | 
 |  |  |         color: #1890ff | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .project-table { | 
 |  |  |         padding: .5rem; | 
 |  |  |         border: 1px solid #f1f1f1; | 
 |  |  |         width: 100% | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .project-table-td { | 
 |  |  |         padding: .5rem 0.7rem; | 
 |  |  |         border: 1px solid #f1f1f1; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .project-table-td a { | 
 |  |  |         color: #42b983; | 
 |  |  |         font-size: .9rem; | 
 |  |  |         font-weight: 600; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     #febs-index .project-desc { | 
 |  |  |         color: rgba(0, 0, 0, 0.45); | 
 |  |  |     } | 
 |  |  | </style> | 
 |  |  | <div class="layui-fluid layui-anim febs-anim-up" id="febs-index" lay-title="系统首页"> | 
 |  |  |     <div class="layui-row layui-col-space8 febs-container"> | 
 |  |  |         <div class="layui-col-md12 layui-col-sm12 layui-col-xs12"> | 
 |  |  |             <div class="layui-card"> | 
 |  |  |                 <div class="layui-card-body layui-anim layui-anim-fadein"> | 
 |  |  |                     <div class="layui-row welcome-info"> | 
 |  |  |                         <div class="layui-col-md6 layui-col-sm12 layui-col-xs12"> | 
 |  |  |                             <div class="layui-row welcome-info-wrapper"> | 
 |  |  |                                 <div class="user-header"> | 
 |  |  |                                     <img alt="头像" id="user-avatar" data-th-src="@{febs/images/avatar/empty.jpg}"> | 
 |  |  |                                 </div> | 
 |  |  |                                 <div class="user-info"> | 
 |  |  |                                     <div class="layui-row"> | 
 |  |  |                                         <div class="random-message"> | 
 |  |  |                                             <span id="welcome-message"></span> | 
 |  |  |                                         </div> | 
 |  |  |                                         <div class="user-dept"> | 
 |  |  |                                             <span id="user-dept"></span> | <span id="user-role"></span> | 
 |  |  |                                         </div> | 
 |  |  |                                         <div class="user-login-info"> | 
 |  |  |                                             上次登录时间:<span id="last-login-time">2019-05-23 18:45:12</span> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </div> | 
 |  |  |                         </div> | 
 |  |  |                         <div class="layui-col-md6 layui-col-sm12 layui-col-xs12"> | 
 |  |  |                             <div class="layui-col-md-offset5"> | 
 |  |  |                                 <table class="login-count-table"> | 
 |  |  |                                     <tr> | 
 |  |  |                                         <td>今日IP</td> | 
 |  |  |                                         <td>今日访问</td> | 
 |  |  |                                         <td>总访问量</td> | 
 |  |  |                                     </tr> | 
 |  |  |                                     <tr> | 
 |  |  |                                         <td class="count" id="today-ip"> | 
 |  |  |                                             0 | 
 |  |  |                                         </td> | 
 |  |  |                                         <td class="count" id="today-visit-count"> | 
 |  |  |                                             0 | 
 |  |  |                                         </td> | 
 |  |  |                                         <td class="count" id="total-visit-count"> | 
 |  |  |                                             0 | 
 |  |  |                                         </td> | 
 |  |  |                                     </tr> | 
 |  |  |                                 </table> | 
 |  |  |                             </div> | 
 |  |  |                         </div> | 
 |  |  |                     </div> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="layui-col-md6 layui-col-sm6 layui-col-xs12"> | 
 |  |  |             <div class="layui-card"> | 
 |  |  |                 <div class="layui-card-body"> | 
 |  |  |                     <div id="chart" style="height: 350px"></div> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="layui-col-md6 layui-col-sm6 layui-col-xs12"> | 
 |  |  |             <div class="layui-card"> | 
 |  |  |                 <div class="layui-card-body"> | 
 |  |  |                     <table class="project-table"> | 
 |  |  |                         <tr> | 
 |  |  |                             <td style="padding: .8rem;">进行中的项目</td> | 
 |  |  |                             <td style="padding: .8rem;text-align: right"> | 
 |  |  |                                 <a target="_blank" href="https://github.com/wuyouzhuguli?tab=repositories">所有项目</a> | 
 |  |  |                             </td> | 
 |  |  |                         </tr> | 
 |  |  |                         <tr> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Cloud">FEBS | 
 |  |  |                                                     Cloud</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 Spring Cloud 微服务权限管理系统。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Cloud-Web">FEBS | 
 |  |  |                                                     Cloud Web</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 FEBS-Cloud前端,使用 vue-element-admin 构建。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                         </tr> | 
 |  |  |                         <tr> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Shiro">FEBS | 
 |  |  |                                                     Shiro</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 Spring Boot 2.0.4 & Shiro1.4.0 权限管理系统。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Security">FEBS | 
 |  |  |                                                     Security</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 Spring Boot 2.0.4 & Spring Security 5.0.7 权限管理系统。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                         </tr> | 
 |  |  |                         <tr> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Actuator">FEBS | 
 |  |  |                                                     Cloud K8S</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 FEBS Cloud K8S集群部署脚本。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/SpringAll">SpringAll</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 循序渐进学习Spring Boot、Spring Cloud与Spring Security。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                         </tr> | 
 |  |  |                         <tr> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Vue">FEBS | 
 |  |  |                                                     Vue</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 FEBS-Shiro前后端分离版本,前端架构采用Vue全家桶。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                             <td class="project-table-td"> | 
 |  |  |                                 <div class="layui-row"> | 
 |  |  |                                     <div class="layui-col-md12 layui-col-xs12"> | 
 |  |  |                                         <div class="layui-row"> | 
 |  |  |                                             <div class="layui-col-md12"> | 
 |  |  |                                                 <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Actuator">FEBS Actuator</a> | 
 |  |  |                                             </div> | 
 |  |  |                                             <div class="project-desc"> | 
 |  |  |                                                 使用Spring Boot Admin 2.0.2构建,用于监控FEBS。 | 
 |  |  |                                             </div> | 
 |  |  |                                         </div> | 
 |  |  |                                     </div> | 
 |  |  |                                 </div> | 
 |  |  |                             </td> | 
 |  |  |                         </tr> | 
 |  |  |                     </table> | 
 |  |  |                 </div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  | <script data-th-inline="javascript" type="text/javascript"> | 
 |  |  |     layui.use(['apexcharts', 'febs', 'jquery', 'util'], function () { | 
 |  |  |         var $ = layui.jquery, | 
 |  |  |             util = layui.util, | 
 |  |  |             $view = $('#febs-index'), | 
 |  |  |             febs = layui.febs; | 
 |  |  |  | 
 |  |  |         febs.get(ctx + 'index/' + currentUser.username, null, function (r) { | 
 |  |  |             handleSuccess(r.data); | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         function handleSuccess(data) { | 
 |  |  |             var hour = new Date().getHours(); | 
 |  |  |             var time = hour < 6 ? '早上好' : (hour <= 11 ? '上午好' : (hour <= 13 ? '中午好' : (hour <= 18 ? '下午好' : '晚上好'))); | 
 |  |  |             var welcomeArr = [ | 
 |  |  |                 '喝杯咖啡休息下吧☕', | 
 |  |  |                 '要不要和朋友打局LOL', | 
 |  |  |                 '今天又写了几个Bug呢', | 
 |  |  |                 '今天在群里吹水了吗', | 
 |  |  |                 '今天吃了什么好吃的呢', | 
 |  |  |                 '今天您微笑了吗😊', | 
 |  |  |                 '今天帮助别人了吗', | 
 |  |  |                 '准备吃些什么呢', | 
 |  |  |                 '周末要不要去看电影?' | 
 |  |  |             ]; | 
 |  |  |             var index = Math.floor((Math.random() * welcomeArr.length)); | 
 |  |  |             var welcomeMessage = time + ',<a id="febs-index-user">' + currentUser.username + '</a>,' + welcomeArr[index]; | 
 |  |  |             $view.find('#today-ip').text(data.todayIp).end() | 
 |  |  |                 .find('#today-visit-count').text(data.todayVisitCount).end() | 
 |  |  |                 .find('#total-visit-count').text(data.totalVisitCount).end() | 
 |  |  |                 .find('#user-dept').text(currentUser.deptName ? currentUser.deptName : '暂无所属部门').end() | 
 |  |  |                 .find('#user-role').text(currentUser.roleName ? currentUser.roleName : '暂无角色').end() | 
 |  |  |                 .find('#last-login-time').text(currentUser.lastLoginTime ? currentUser.lastLoginTime : '第一次访问系统').end() | 
 |  |  |                 .find('#welcome-message').html(welcomeMessage).end() | 
 |  |  |                 .find('#user-avatar').attr('src', ctx + "febs/images/avatar/" + currentUser.avatar); | 
 |  |  |  | 
 |  |  |             var currentTime = new Date().getTime(); | 
 |  |  |             var yourVisitCount = []; | 
 |  |  |             var totalVisitCount = []; | 
 |  |  |             var lastTenDays = [ | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 9 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 8 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 7 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 6 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 5 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 4 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 3 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 2 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 86400), 'MM-dd'), | 
 |  |  |                 util.toDateString(new Date(currentTime), 'MM-dd') | 
 |  |  |             ]; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             layui.each(lastTenDays, function (k, i) { | 
 |  |  |                 var contain = false; | 
 |  |  |                 layui.each(data.lastSevenUserVisitCount, function (key, item) { | 
 |  |  |                     if (i === item.days) { | 
 |  |  |                         yourVisitCount.push(item.count); | 
 |  |  |                         contain = true; | 
 |  |  |                     } | 
 |  |  |                 }); | 
 |  |  |                 if (!contain) yourVisitCount.push(0); | 
 |  |  |                 contain = false; | 
 |  |  |                 layui.each(data.lastSevenVisitCount, function (key, item) { | 
 |  |  |                     if (i === item.days) { | 
 |  |  |                         totalVisitCount.push(item.count); | 
 |  |  |                         contain = true; | 
 |  |  |                     } | 
 |  |  |                 }); | 
 |  |  |                 if (!contain) totalVisitCount.push(0); | 
 |  |  |             }); | 
 |  |  |  | 
 |  |  |             var options = { | 
 |  |  |                 chart: { | 
 |  |  |                     height: 350, | 
 |  |  |                     type: 'area', | 
 |  |  |                     toolbar: { | 
 |  |  |                         show: false | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 colors: ['#1890ff', '#0acf97'], | 
 |  |  |                 plotOptions: { | 
 |  |  |                     bar: { | 
 |  |  |                         horizontal: false, | 
 |  |  |                         columnWidth: '32rem' | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 dataLabels: { | 
 |  |  |                     enabled: false | 
 |  |  |                 }, | 
 |  |  |                 stroke: { | 
 |  |  |                     width: [3, 3], | 
 |  |  |                     curve: 'smooth' | 
 |  |  |                 }, | 
 |  |  |                 series: [{ | 
 |  |  |                     name: '总数', | 
 |  |  |                     data: totalVisitCount | 
 |  |  |                 }, { | 
 |  |  |                     name: '您', | 
 |  |  |                     data: yourVisitCount | 
 |  |  |                 }], | 
 |  |  |                 xaxis: { | 
 |  |  |                     categories: lastTenDays, | 
 |  |  |                     axisTicks: { | 
 |  |  |                         show: true | 
 |  |  |                     }, | 
 |  |  |                     axisBorder: { | 
 |  |  |                         show: true, | 
 |  |  |                         color: '#f1f1f1' | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 fill: { | 
 |  |  |                     type: 'gradient', | 
 |  |  |                     gradient: { | 
 |  |  |                         shadeIntensity: 1, | 
 |  |  |                         inverseColors: false, | 
 |  |  |                         opacityFrom: 0.5, | 
 |  |  |                         opacityTo: 0, | 
 |  |  |                         stops: [0, 90, 100] | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 title: { | 
 |  |  |                     text: '近10天系统访问记录', | 
 |  |  |                     align: 'left', | 
 |  |  |                     style: { | 
 |  |  |                         color: 'rgba(0, 0, 0, .65)' | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 tooltip: { | 
 |  |  |                     y: { | 
 |  |  |                         formatter: function (val) { | 
 |  |  |                             return "访问次数 " + val + " 次" | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 grid: { | 
 |  |  |                     row: { | 
 |  |  |                         colors: ['transparent', 'transparent'], | 
 |  |  |                         opacity: 0.2 | 
 |  |  |                     }, | 
 |  |  |                     borderColor: '#f1f1f1' | 
 |  |  |                 } | 
 |  |  |             }; | 
 |  |  |  | 
 |  |  |             new ApexCharts( | 
 |  |  |                 document.querySelector("#chart"), | 
 |  |  |                 options | 
 |  |  |             ).render(); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         $view.on('click', '#febs-index-user',function () { | 
 |  |  |             febs.navigate("/user/profile"); | 
 |  |  |         }) | 
 |  |  |  | 
 |  |  |     }); | 
 |  |  | </script> | 
 |  |  | <style>
 | 
 |  |  |     #febs-index .welcome-info {
 | 
 |  |  |         border: 1px solid #f1f1f1;
 | 
 |  |  |         margin-bottom: .5rem;
 | 
 |  |  |         padding: .5rem;
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .welcome-info-wrapper {
 | 
 |  |  |         padding: .2rem;
 | 
 |  |  |         display: inline-block
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .welcome-info-wrapper .user-header {
 | 
 |  |  |         display: inline-block;
 | 
 |  |  |         vertical-align: middle
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .welcome-info-wrapper .user-header img {
 | 
 |  |  |         width: 5rem;
 | 
 |  |  |         margin: .5rem 1rem;
 | 
 |  |  |         border-radius: 50%
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .welcome-info-wrapper .user-info {
 | 
 |  |  |         display: inline-block;
 | 
 |  |  |         vertical-align: middle
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .welcome-info-wrapper .user-info .random-message {
 | 
 |  |  |         font-size: 1rem;
 | 
 |  |  |         margin-bottom: .2rem;
 | 
 |  |  |         max-width: 21rem
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .welcome-info-wrapper .user-info .user-dept, #febs-index .welcome-info-wrapper .user-info .user-login-info {
 | 
 |  |  |         color: rgba(0, 0, 0, 0.45);
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .login-count-table {
 | 
 |  |  |         width: 100%;
 | 
 |  |  |         margin: 1rem;
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .login-count-table .count {
 | 
 |  |  |         padding-top: .8rem;
 | 
 |  |  |         font-size: 1rem;
 | 
 |  |  |         font-weight: 600;
 | 
 |  |  |         color: #1890ff
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .project-table {
 | 
 |  |  |         padding: .5rem;
 | 
 |  |  |         border: 1px solid #f1f1f1;
 | 
 |  |  |         width: 100%
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .project-table-td {
 | 
 |  |  |         padding: .5rem 0.7rem;
 | 
 |  |  |         border: 1px solid #f1f1f1;
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .project-table-td a {
 | 
 |  |  |         color: #42b983;
 | 
 |  |  |         font-size: .9rem;
 | 
 |  |  |         font-weight: 600;
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     #febs-index .project-desc {
 | 
 |  |  |         color: rgba(0, 0, 0, 0.45);
 | 
 |  |  |     }
 | 
 |  |  | </style>
 | 
 |  |  | <div class="layui-fluid layui-anim febs-anim-up" id="febs-index" lay-title="系统首页">
 | 
 |  |  |     <div class="layui-row layui-col-space8 febs-container">
 | 
 |  |  |         <div class="layui-col-md12 layui-col-sm12 layui-col-xs12">
 | 
 |  |  |             <div class="layui-card">
 | 
 |  |  |                 <div class="layui-card-body layui-anim layui-anim-fadein">
 | 
 |  |  |                     <div class="layui-row welcome-info">
 | 
 |  |  |                         <div class="layui-col-md6 layui-col-sm12 layui-col-xs12">
 | 
 |  |  |                             <div class="layui-row welcome-info-wrapper">
 | 
 |  |  |                                 <div class="user-header">
 | 
 |  |  |                                     <img alt="头像" id="user-avatar" data-th-src="@{febs/images/avatar/empty.jpg}">
 | 
 |  |  |                                 </div>
 | 
 |  |  |                                 <div class="user-info">
 | 
 |  |  |                                     <div class="layui-row">
 | 
 |  |  |                                         <div class="random-message">
 | 
 |  |  |                                             <span id="welcome-message"></span>
 | 
 |  |  |                                         </div>
 | 
 |  |  |                                         <div class="user-dept">
 | 
 |  |  |                                             <span id="user-dept"></span> | <span id="user-role"></span>
 | 
 |  |  |                                         </div>
 | 
 |  |  |                                         <div class="user-login-info">
 | 
 |  |  |                                             上次登录时间:<span id="last-login-time">2019-05-23 18:45:12</span>
 | 
 |  |  |                                         </div>
 | 
 |  |  |                                     </div>
 | 
 |  |  |                                 </div>
 | 
 |  |  |                             </div>
 | 
 |  |  |                         </div>
 | 
 |  |  |                         <div class="layui-col-md6 layui-col-sm12 layui-col-xs12">
 | 
 |  |  |                             <div class="layui-col-md-offset5">
 | 
 |  |  |                                 <table class="login-count-table">
 | 
 |  |  |                                     <tr>
 | 
 |  |  |                                         <td>注册用户数量</td>
 | 
 |  |  |                                     </tr>
 | 
 |  |  |                                     <tr>
 | 
 |  |  |                                         <td class="count" id="today-ip">
 | 
 |  |  |                                             0
 | 
 |  |  |                                         </td>
 | 
 |  |  |                                     </tr>
 | 
 |  |  |                                 </table>
 | 
 |  |  |                             </div>
 | 
 |  |  |                         </div>
 | 
 |  |  |                     </div>
 | 
 |  |  |                 </div>
 | 
 |  |  |             </div>
 | 
 |  |  |         </div>
 | 
 |  |  |         <div class="layui-col-md6 layui-col-sm6 layui-col-xs12">
 | 
 |  |  |             <div class="layui-card">
 | 
 |  |  |                 <div class="layui-card-body">
 | 
 |  |  |                     <div id="chart" style="height: 350px"></div>
 | 
 |  |  |                 </div>
 | 
 |  |  |             </div>
 | 
 |  |  |         </div>
 | 
 |  |  |     </div>
 | 
 |  |  | </div>
 | 
 |  |  | <script data-th-inline="javascript" type="text/javascript">
 | 
 |  |  |     layui.use(['apexcharts', 'febs', 'jquery', 'util'], function () {
 | 
 |  |  |         var $ = layui.jquery,
 | 
 |  |  |             util = layui.util,
 | 
 |  |  |             $view = $('#febs-index'),
 | 
 |  |  |             febs = layui.febs;
 | 
 |  |  | 
 | 
 |  |  |         febs.get(ctx + 'index/' + currentUser.username, null, function (r) {
 | 
 |  |  |             handleSuccess(r.data);
 | 
 |  |  |         });
 | 
 |  |  | 
 | 
 |  |  |         function handleSuccess(data) {
 | 
 |  |  |             var hour = new Date().getHours();
 | 
 |  |  |             var time = hour < 6 ? '早上好' : (hour <= 11 ? '上午好' : (hour <= 13 ? '中午好' : (hour <= 18 ? '下午好' : '晚上好')));
 | 
 |  |  |             var welcomeArr = [
 | 
 |  |  |                 '喝杯咖啡休息下吧☕',
 | 
 |  |  |                 '要不要和朋友打局LOL',
 | 
 |  |  |                 '今天又写了几个Bug呢',
 | 
 |  |  |                 '今天在群里吹水了吗',
 | 
 |  |  |                 '今天吃了什么好吃的呢',
 | 
 |  |  |                 '今天您微笑了吗😊',
 | 
 |  |  |                 '今天帮助别人了吗',
 | 
 |  |  |                 '准备吃些什么呢',
 | 
 |  |  |                 '周末要不要去看电影?'
 | 
 |  |  |             ];
 | 
 |  |  |             var index = Math.floor((Math.random() * welcomeArr.length));
 | 
 |  |  |             var welcomeMessage = time + ',<a id="febs-index-user">' + currentUser.username + '</a>,' + welcomeArr[index];
 | 
 |  |  |             $view.find('#today-ip').text(data.todayIp).end()
 | 
 |  |  |                 .find('#today-visit-count').text(data.todayVisitCount).end()
 | 
 |  |  |                 .find('#total-visit-count').text(data.totalVisitCount).end()
 | 
 |  |  |                 .find('#user-dept').text(currentUser.deptName ? currentUser.deptName : '暂无所属部门').end()
 | 
 |  |  |                 .find('#user-role').text(currentUser.roleName ? currentUser.roleName : '暂无角色').end()
 | 
 |  |  |                 .find('#last-login-time').text(currentUser.lastLoginTime ? currentUser.lastLoginTime : '第一次访问系统').end()
 | 
 |  |  |                 .find('#welcome-message').html(welcomeMessage).end()
 | 
 |  |  |                 .find('#user-avatar').attr('src', ctx + "febs/images/avatar/" + currentUser.avatar);
 | 
 |  |  | 
 | 
 |  |  |             var currentTime = new Date().getTime();
 | 
 |  |  |             var yourVisitCount = [];
 | 
 |  |  |             var totalVisitCount = [];
 | 
 |  |  |             var lastTenDays = [
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 9 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 8 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 7 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 6 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 5 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 4 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 3 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 2 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime - 1000 * 86400), 'MM-dd'),
 | 
 |  |  |                 util.toDateString(new Date(currentTime), 'MM-dd')
 | 
 |  |  |             ];
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |             layui.each(lastTenDays, function (k, i) {
 | 
 |  |  |                 var contain = false;
 | 
 |  |  |                 layui.each(data.lastSevenUserVisitCount, function (key, item) {
 | 
 |  |  |                     if (i === item.days) {
 | 
 |  |  |                         yourVisitCount.push(item.count);
 | 
 |  |  |                         contain = true;
 | 
 |  |  |                     }
 | 
 |  |  |                 });
 | 
 |  |  |                 if (!contain) yourVisitCount.push(0);
 | 
 |  |  |                 contain = false;
 | 
 |  |  |                 layui.each(data.lastSevenVisitCount, function (key, item) {
 | 
 |  |  |                     if (i === item.days) {
 | 
 |  |  |                         totalVisitCount.push(item.count);
 | 
 |  |  |                         contain = true;
 | 
 |  |  |                     }
 | 
 |  |  |                 });
 | 
 |  |  |                 if (!contain) totalVisitCount.push(0);
 | 
 |  |  |             });
 | 
 |  |  | 
 | 
 |  |  |             var options = {
 | 
 |  |  |                 chart: {
 | 
 |  |  |                     height: 350,
 | 
 |  |  |                     type: 'area',
 | 
 |  |  |                     toolbar: {
 | 
 |  |  |                         show: false
 | 
 |  |  |                     }
 | 
 |  |  |                 },
 | 
 |  |  |                 colors: ['#1890ff', '#0acf97'],
 | 
 |  |  |                 plotOptions: {
 | 
 |  |  |                     bar: {
 | 
 |  |  |                         horizontal: false,
 | 
 |  |  |                         columnWidth: '32rem'
 | 
 |  |  |                     }
 | 
 |  |  |                 },
 | 
 |  |  |                 dataLabels: {
 | 
 |  |  |                     enabled: false
 | 
 |  |  |                 },
 | 
 |  |  |                 stroke: {
 | 
 |  |  |                     width: [3, 3],
 | 
 |  |  |                     curve: 'smooth'
 | 
 |  |  |                 },
 | 
 |  |  |                 series: [{
 | 
 |  |  |                     name: '总数',
 | 
 |  |  |                     data: totalVisitCount
 | 
 |  |  |                 }, {
 | 
 |  |  |                     name: '您',
 | 
 |  |  |                     data: yourVisitCount
 | 
 |  |  |                 }],
 | 
 |  |  |                 xaxis: {
 | 
 |  |  |                     categories: lastTenDays,
 | 
 |  |  |                     axisTicks: {
 | 
 |  |  |                         show: true
 | 
 |  |  |                     },
 | 
 |  |  |                     axisBorder: {
 | 
 |  |  |                         show: true,
 | 
 |  |  |                         color: '#f1f1f1'
 | 
 |  |  |                     }
 | 
 |  |  |                 },
 | 
 |  |  |                 fill: {
 | 
 |  |  |                     type: 'gradient',
 | 
 |  |  |                     gradient: {
 | 
 |  |  |                         shadeIntensity: 1,
 | 
 |  |  |                         inverseColors: false,
 | 
 |  |  |                         opacityFrom: 0.5,
 | 
 |  |  |                         opacityTo: 0,
 | 
 |  |  |                         stops: [0, 90, 100]
 | 
 |  |  |                     }
 | 
 |  |  |                 },
 | 
 |  |  |                 title: {
 | 
 |  |  |                     text: '近10天系统访问记录',
 | 
 |  |  |                     align: 'left',
 | 
 |  |  |                     style: {
 | 
 |  |  |                         color: 'rgba(0, 0, 0, .65)'
 | 
 |  |  |                     }
 | 
 |  |  |                 },
 | 
 |  |  |                 tooltip: {
 | 
 |  |  |                     y: {
 | 
 |  |  |                         formatter: function (val) {
 | 
 |  |  |                             return "访问次数 " + val + " 次"
 | 
 |  |  |                         }
 | 
 |  |  |                     }
 | 
 |  |  |                 },
 | 
 |  |  |                 grid: {
 | 
 |  |  |                     row: {
 | 
 |  |  |                         colors: ['transparent', 'transparent'],
 | 
 |  |  |                         opacity: 0.2
 | 
 |  |  |                     },
 | 
 |  |  |                     borderColor: '#f1f1f1'
 | 
 |  |  |                 }
 | 
 |  |  |             };
 | 
 |  |  | 
 | 
 |  |  |             new ApexCharts(
 | 
 |  |  |                 document.querySelector("#chart"),
 | 
 |  |  |                 options
 | 
 |  |  |             ).render();
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 |  |  |         $view.on('click', '#febs-index-user',function () {
 | 
 |  |  |             febs.navigate("/user/profile");
 | 
 |  |  |         })
 | 
 |  |  | 
 | 
 |  |  |     });
 | 
 |  |  | </script>
 |