kongdeqiang
2023-02-14 18d6ac5798b9ef96077f592ccc3f94b365006e6a
增加service
14个文件已修改
191 ■■■■■ 已修改文件
src/main/java/com/wgcloud/mapper/FailureLoggingMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/service/InspectionTaskService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/task/ScheduledTask.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/mapper/FailureLoggingMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/static/daping/css/comon0.css 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/common/header.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/daping/error.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/daping/index.html 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/daping/indexNew.html 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/dashView/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/dashView/list.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/dashView/viewChart.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/index.html 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/login/login.html 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/mapper/FailureLoggingMapper.java
@@ -1,8 +1,12 @@
package com.wgcloud.mapper;
import com.wgcloud.entity.Equipment;
import com.wgcloud.entity.FailureLogging;
import com.wgcloud.entity.WorkLogging;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
 * @author kdq
@@ -15,4 +19,15 @@
public interface FailureLoggingMapper {
    public void save(FailureLogging failureLogging) throws Exception;
    public List<FailureLogging> selectAllByParams(Map<String, Object> map) throws Exception;
    public List<FailureLogging> selectByParams(Map<String, Object> params) throws Exception;
    public Equipment selectById(String id) throws Exception;
    public int deleteById(String[] id) throws Exception;
    public int countByParams(Map<String, Object> params) throws Exception;
}
src/main/java/com/wgcloud/service/InspectionTaskService.java
@@ -2,6 +2,7 @@
import com.wgcloud.entity.InspectionTask;
import com.wgcloud.entity.TaskInfo;
import com.wgcloud.mapper.InspectionTaskMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -16,9 +17,9 @@
public class InspectionTaskService {
    @Autowired
    private InspectionTaskService inspectionTaskService;
    private InspectionTaskMapper inspectionTaskMapper;
    public void save(InspectionTask inspectionTask) throws Exception {
        inspectionTaskService.save(inspectionTask);
        inspectionTaskMapper.save(inspectionTask);
    }
}
src/main/java/com/wgcloud/task/ScheduledTask.java
@@ -86,8 +86,8 @@
        try {
            servletContext.setAttribute("icoUrl", "/tssw/static/logincss/favicon.png");
            servletContext.setAttribute("logoUrl", "/tssw/static/logincss/logo.png");
            servletContext.setAttribute("wgName", "WGCLOUD");
            servletContext.setAttribute("wgShortName", "WGCLOUD");
            servletContext.setAttribute("wgName", "TSSW");
            servletContext.setAttribute("wgShortName", "TSSW");
            //先设置需要显示页面底部版权、网址信息
            servletContext.setAttribute("copyRight", "true");
            if (!StringUtils.isEmpty(commonConfig.getIcoUrl())) {
src/main/resources/mybatis/mapper/FailureLoggingMapper.xml
@@ -17,6 +17,34 @@
        ID,OLD_DEVICE_NAME, OLD_DEVICE_IP,OLD_DEVICE_MODEL,NEW_DEVICE_NAME,NEW_DEVICE_IP,NEW_DEVICE_MODEL,PERSON_NAME,PERSON_DATE
    </sql>
    <sql id="queryByParams">
        <if test="oldDeviceName != null">
            <![CDATA[ AND OLD_DEVICE_NAME = #{oldDeviceName} ]]>
        </if>
        <if test="oldDeviceIp != null">
            <![CDATA[ AND OLD_DEVICE_IP = #{oldDeviceIp} ]]>
        </if>
        <if test="oldDeviceModel != null">
            <![CDATA[ AND OLD_DEVICE_MODEL = #{oldDeviceModel} ]]>
        </if>
        <if test="newDeviceName != null">
            <![CDATA[ AND NEW_DEVICE_NAME = #{newDeviceName} ]]>
        </if>
        <if test="newDeviceIp != null">
            <![CDATA[ AND NEW_DEVICE_IP = #{newDeviceIp} ]]>
        </if>
        <if test="newDeviceModel != null">
            <![CDATA[ AND NEW_DEVICE_MODEL = #{newDeviceModel} ]]>
        </if>
        <if test="personName != null">
            <![CDATA[ AND PERSON_NAME = #{personName} ]]>
        </if>
        <if test="personDate != null">
            <![CDATA[ AND PERSON_DATE LIKE #{personDate}+'%' ]]>
        </if>
    </sql>
    <select id="selectById" resultMap="resultMap" parameterType="java.lang.String">
        SELECT
        <include refid="tableColumnList" />
src/main/resources/static/daping/css/comon0.css
@@ -6,7 +6,7 @@
    box-sizing: border-box}
*,body{padding:0px;    margin:0px;color: #222;}
@font-face{font-family:electronicFont;src:url(../font/DS-DIGIT.TTF)}
body{ background:#000d4a url(../images/bg.jpg) center top; background-size:cover;color:#666;font-size: .1rem;}
body{ background:#000d4a url(../images/bg.jpg) center top; background-size:cover;color:#666;font-size: .1rem;;overflow: hidden}
li{ list-style-type:none;}
table{}
i{ margin:0px; padding:0px; text-indent:0px;}
@@ -33,7 +33,7 @@
  ::-webkit-scrollbar-track {background-color:#ddd}
/***/
.canvas{position: absolute; width:100%; left: 0; top: 0; height: 99%; z-index: 1;}
.canvas{position: absolute; width:100%; left: 0; top: 0; height: 99%; z-index: 1}
.allnav{height: calc(100% - 30px);}
.loading{position:fixed; left:0; top:0; font-size:18px; z-index:100000000;width:100%; height:100%; background:#1a1a1c; text-align:center;}
@@ -42,7 +42,7 @@
.copyright{ background:rgba(19,31,64,.32); border: 1px solid rgba(255,255,255,.05); line-height:.5rem; text-align: center; padding-right: 15px; bottom: 0; color:rgba(255,255,255,.7); font-size: .16rem; }
.head{ height:1.05rem; background: url(../images/head_bg.png) no-repeat center center; background-size: 100% 100%; position: relative; z-index: 100;}
.head{ height:0.6rem; background: url(../images/head_bg.png) no-repeat center center; background-size: 100% 100%; position: relative; z-index: 100;}
.head h1{ color:#fff; text-align: center; font-size: .4rem; line-height:.8rem;}
.head h1 img{ width:1.5rem; display: inline-block; vertical-align: middle; margin-right: .2rem}
.weather{ position:absolute; right:.3rem; top:0; line-height: .75rem;}
@@ -109,8 +109,8 @@
    background-color: rgba(255,255,255,.1);
    content: '';
     margin-left:0; right:-1px;    margin-top: 7px;
}
.tabs li a.active {border: 1px solid rgba(25,186,139,.17); background: rgba(255,255,255,.05); color:#fff;}
@@ -159,22 +159,22 @@
    position:relative;
    -moz-user-select: none;
    -khtml-user-select: none;
    user-select: none;
    user-select: none;
    white-space:nowrap;
}
.str_move {
.str_move {
    white-space:nowrap;
    position:absolute;
    top:0;
    position:absolute;
    top:0;
    left:0;
    cursor:move;
}
.str_move_clone {
    display:inline-block;
    vertical-align:top;
    position:absolute;
    position:absolute;
    left:100%;
    top:0;
}
@@ -197,7 +197,7 @@
    cursor:inherit;
}
.str_wrap img {
    max-width:none !important;
    max-width:none !important;
}
.t_table{
    font-size: 0.16rem;
@@ -223,4 +223,4 @@
.t_table td{
    border-bottom: 1px solid #053A98;
    border-right: 1px solid #053A98;
}
}
src/main/resources/templates/common/header.html
@@ -1,7 +1,7 @@
<base href="./" th:href="'/'"/>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title th:text="${application.wgName}">WGClOUD监控系统</title>
<title th:text="${application.wgName}">TSSW监控系统</title>
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Font Awesome -->
@@ -33,4 +33,4 @@
<!-- Toastr -->
<link rel="stylesheet" th:href="@{'/static/AdminLTE/plugins/toastr/toastr.min.css'}">
<link rel="stylesheet" th:href="@{'/static/logincss/highlighter.css'}">
<link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/>
<link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/>
src/main/resources/templates/daping/error.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
  <title th:text="${application.wgName}+'大屏展示'">WGClOUD监控系统</title>
  <title th:text="${application.wgName}+'大屏展示'">TSSW监控系统</title>
  <base href="./" th:href="'/'"/>
  <meta charset="utf-8">
  <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/>
src/main/resources/templates/daping/index.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
  <title th:text="${application.wgName}">WGClOUD监控系统</title>
  <title th:text="${application.wgName}">TSSW监控系统</title>
  <base href="./" th:href="'/'"/>
  <meta charset="utf-8">
  <link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/>
@@ -57,7 +57,7 @@
      document.getElementById("showTime").innerHTML = y+"年"+mt+"月"+day+"日-"+h+"时"+m+"分"+s+"秒";
      t = setTimeout(time,1000); //设定定时器,循环运行
    }
    function reload() {
      window.location.reload();
    }
@@ -70,17 +70,17 @@
<div class="mainbox">
  <ul class="clearfix">
    <li>
      <div class="boxall" style="height: 3.2rem">
      <div class="boxall" style="height: 2.8rem">
        <div class="alltitle">机型数量</div>
        <div class="allnav" id="echart1"></div>
        <div class="boxfoot"></div>
      </div>
      <div class="boxall" style="height: 3.2rem">
      <div class="boxall" style="height: 2.8rem">
        <div class="alltitle">上下行速率最新TOP10(KB/s)</div>
        <div class="allnav" id="echart2"></div>
        <div class="boxfoot"></div>
      </div>
      <div class="boxall" style="height: 3.2rem">
      <div class="boxall" style="height: 2.8rem">
        <div class="alltitle">资源告警次数统计</div>
          <div class="allnav" id="echart7"></div>
          <div class="boxfoot"></div>
@@ -107,21 +107,21 @@
        <div class="map1"><img th:src="@{'/static/daping/picture/lbx.png'}"></div>
        <div class="map2"><img th:src="@{'/static/daping/picture/jt.png'}"></div>
        <div class="map3"><img th:src="@{'/static/daping/picture/map.png'}"></div>
        <div id="chart_4" class="map4" style="height: 7.9rem;"></div>
        <div id="chart_4" class="map4" style="height: 6rem;"></div>
      </div>
    </li>
    <li>
      <div class="boxall" style="height:3.4rem">
      <div class="boxall" style="height:2.8rem">
        <div class="alltitle">主机状态</div>
        <div class="allnav" id="echart4"></div>
        <div class="boxfoot"></div>
      </div>
      <div class="boxall" style="height: 3.2rem">
      <div class="boxall" style="height: 2.8rem">
        <div class="alltitle">CPU使用率最新TOP10</div>
        <div class="allnav" id="echart5"></div>
        <div class="boxfoot"></div>
      </div>
      <div class="boxall" style="height: 3rem">
      <div class="boxall" style="height: 2.8rem">
        <div class="alltitle">内存使用率最新TOP10</div>
        <div class="allnav" id="echart6"></div>
        <div class="boxfoot"></div>
@@ -171,7 +171,7 @@
        },
        grid: {
          left: '0%',
          top:'10px',
          top:'20px',
          right: '0%',
          bottom: '4%',
          containLabel: true
@@ -233,7 +233,7 @@
          {
            type: 'bar',
            data: systemInfoTypeValList,
            barWidth:'35%', //柱子宽度
            barWidth:'15%', //柱子宽度
            // barGap: 1, //柱子之间间距
            itemStyle: {
              normal: {
src/main/resources/templates/daping/indexNew.html
@@ -66,7 +66,7 @@
      <div class="main_top_middle">
        <div class="main_top_middle_top_title">
          <img class="title_bg" th:src="@{'/static/dapingNew/images/title_bg.png'}">
          <span th:text="${application.wgName}">WGCLOUD</span>
          <span th:text="${application.wgName}">TSSW</span>
        </div>
        <div class="main_top_middle_num_title">平台监测资源</div>
        <div class="main_top_middle_num">
@@ -440,7 +440,7 @@
              inside: false,
              textStyle: {
                color: '#38E1E1',
                fontSize: '8',
                fontSize: '12',
              },
              formatter: function (val,index) {
                return `${charts[index].num}`
@@ -482,7 +482,7 @@
                show: true,
                position: [-65, -2],
                textStyle: {
                  fontSize: 8
                  fontSize: 12
                },
                formatter: function (a, b) {
                  return a.name
@@ -527,7 +527,7 @@
            data: datas,
            textStyle: { //图例文字的样式
              color: '#fff',
              fontSize: 8
              fontSize: 12
            },
          },
          series: [
@@ -578,7 +578,7 @@
            x: '45%',
            textStyle: {
              color: '#fff',
              fontSize: 8,
              fontSize: 12,
            },
            data: data,
@@ -675,7 +675,7 @@
            x: '50%',
            textStyle: {
              color: '#fff',
              fontSize: 8,
              fontSize: 12,
            },
            data: data
@@ -747,7 +747,7 @@
            x: '5%',
            textStyle: {
              color: '#fff',
              fontSize: 8,
              fontSize: 12,
            },
            data: data,
@@ -777,7 +777,7 @@
                  borderRadius: 4,
                  padding: [0,0],
                  height: 20,
                  fontSize: 8,
                  fontSize: 12,
                  align: 'center',
                  color: '#0EFCFF',
                }
@@ -877,7 +877,7 @@
            name: {
              textStyle: {
                color: '#39DCF4',
                fontSize: '10',
                fontSize: '12',
                // borderRadius: 3,
                padding: [10, 10]
              }
@@ -957,7 +957,7 @@
            formatter: fomatter_fn,
            textStyle: {
              color: '#fff',
              fontSize: 8
              fontSize: 12
            }
          }
        };
@@ -1005,7 +1005,7 @@
          yAxis: [{
            data: y_data,
            axisLabel: {
              fontSize: 8,
              fontSize: 12,
              color: 'rgba(255,255,255,.7)'
            },
@@ -1099,7 +1099,7 @@
            data: ["最高","平均","最低"],
            textStyle: {
              color: "#fff",
              fontSize: 8
              fontSize: 12
            },
            itemWidth: 10,
            itemHeight: 10,
@@ -1112,7 +1112,7 @@
              axisLabel: {
                interval: 0,
                textStyle: {
                  fontSize: 8,
                  fontSize: 12,
                  color: 'rgba(255,255,255,.7)',
                }
              },
@@ -1131,7 +1131,7 @@
              name: '单位:%',
              nameTextStyle: {
                color: 'rgba(255,255,255,.7)',
                fontSize: 8
                fontSize: 12
              },
              //max: 100,
              min: 0,
@@ -1145,7 +1145,7 @@
              axisLabel: {
                textStyle: {
                  color: 'rgba(255,255,255,.8)',
                  fontSize: 8
                  fontSize: 12
                  // opacity: 0.1,
                }
              },
@@ -1243,7 +1243,7 @@
            data: ['进程数量', '连接数量'],
            textStyle: {
              color: "#fff",
              fontSize: 8
              fontSize: 12
            },
            itemWidth: 10,
            itemHeight: 10,
@@ -1256,7 +1256,7 @@
              axisLabel: {
                interval: 0,
                textStyle: {
                  fontSize: 8,
                  fontSize: 12,
                  color: 'rgba(255,255,255,.7)',
                }
              },
@@ -1275,7 +1275,7 @@
              name: '单位:个',
              nameTextStyle: {
                color: 'rgba(255,255,255,.7)',
                fontSize: 8
                fontSize: 12
              },
              // max: 1000,
              min: 0,
@@ -1289,7 +1289,7 @@
              axisLabel: {
                textStyle: {
                  color: 'rgba(255,255,255,.8)',
                  fontSize: 8
                  fontSize: 12
                  // opacity: 0.1,
                }
              },
src/main/resources/templates/dashView/index.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
  <title th:text="${application.wgName}">WGClOUD监控系统</title>
  <title th:text="${application.wgName}">TSSW监控系统</title>
  <div  th:replace="common/header.html"></div>
src/main/resources/templates/dashView/list.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
    <title th:text="${application.wgName}">WGClOUD监控系统</title>
    <title th:text="${application.wgName}">TSSW监控系统</title>
  <div  th:replace="common/header.html"></div>
src/main/resources/templates/dashView/viewChart.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
    <title th:text="${application.wgName}">WGClOUD监控系统</title>
    <title th:text="${application.wgName}">TSSW监控系统</title>
  <div  th:replace="common/header.html"></div>
src/main/resources/templates/index.html
@@ -44,10 +44,10 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${downAppSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${downAppSize <= 0}">
              <div class="small-box bg-info">
              <div class="small-box bg-info"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${downAppSize}">0</font>/<span th:text="${totalSizeApp}">1</span></h3>
@@ -64,10 +64,10 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${downDockerSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${downDockerSize <= 0}">
              <div class="small-box bg-olive">
              <div class="small-box bg-olive"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${downDockerSize}">0</font>/<span th:text="${dockerSize}">1</span></h3>
@@ -84,14 +84,13 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${dbInfoDownSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${dbInfoDownSize <= 0}">
              <div class="small-box bg-info">
              <div class="small-box bg-info"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${dbInfoDownSize}">0</font>/<span th:text="${dbInfoSize}">1</span></h3>
                <p>数据源</p>
              </div>
                <div class="icon">
@@ -104,10 +103,10 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${dceDownSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${dceDownSize <= 0}">
              <div class="small-box bg-info">
              <div class="small-box bg-info"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${dceDownSize}">0</font>/<span th:text="${dceSize}">1</span></h3>
@@ -143,10 +142,10 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${heatherrSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${heatherrSize <= 0}">
              <div class="small-box bg-info">
              <div class="small-box bg-info"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${heatherrSize}">0</font>/<span th:text="${heathSize}">1</span></h3>
@@ -163,10 +162,10 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${hostDownSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${hostDownSize <= 0}">
              <div class="small-box bg-purple">
              <div class="small-box bg-purple"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${hostDownSize}">0</font>/<span th:text="${totalSystemInfoSize}">1</span></h3>
@@ -184,10 +183,10 @@
          <div class="col-lg-3 col-6">
            <!-- small box -->
            <th:block th:if="${portDownSize > 0}">
              <div class="small-box bg-maroon">
              <div class="small-box bg-maroon"/>
            </th:block>
            <th:block th:if="${portDownSize <= 0}">
              <div class="small-box bg-success">
              <div class="small-box bg-success"/>
            </th:block>
              <div class="inner" title="已下线/总数量">
                <h3><font color="#DCDCDC"  th:text="${portDownSize}">0</font>/<span th:text="${portSize}">1</span></h3>
src/main/resources/templates/login/login.html
@@ -3,7 +3,7 @@
<head>
    <base href="./" th:href="'/'"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title th:text="${application.wgName}">WGClOUD监控系统</title>
    <title th:text="${application.wgName}">TSSW监控系统</title>
    <meta name="viewport" content="width=device-width,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<link type="text/css" rel="stylesheet" th:href="@{'/static/logincss/components.css'}" />
@@ -15,26 +15,26 @@
<link type="text/css" rel="stylesheet" th:href="@{'/static/logincss/atmosfero.css'}" />
<link rel="shortcut icon" type="image/x-icon" th:href="${application.icoUrl}"/>
</head>
<body class="login-page">
<div class="login-box">
        <div class="login-box-content">
            <div class="login-logo">
                <a href="javascript:location.reload();" style="color: #fff;font-size: 16px;font-weight:bold"><img width="60" height="60"  th:src="${application.logoUrl}"><span  style="margin-left:5px;" th:text="${application.wgName}">WGCLOUD</span></a>
                <a href="javascript:location.reload();" style="color: #fff;font-size: 16px;font-weight:bold"><img width="60" height="60"  th:src="${application.logoUrl}"><span  style="margin-left:5px;" th:text="${application.wgName}">TSSW</span></a>
              </div>
            <div class="login-box-body">
            <p class="login-box-msg">账号登录</p>
        <form id="form1" th:action="@{'/login/login'}"  method="post" onsubmit="setMd5Pwd()" class="form-horizontal">
              <div class="form-group">
               <div class="col-sm-12">
                      <input id="userName" name="userName" placeholder="输入账号" maxlength="50" autocomplete="off" class="validate[required] form-control" type="text">
                </div>
              </div>
              <div class="form-group">
               <div class="col-sm-12">
                      <input placeholder='输入密码' id="passwd" name="passwd" maxlength="30" class="validate[required] form-control" autocomplete="off" type="password">
@@ -43,13 +43,13 @@
              </div>
            <div class="form-group"  style="color:red;font-weight:bold;text-align: center;" th:text="${error}"></div>
             <div class="form-group">
               <div class="col-sm-12">
                   <input value="登录" class="btn btn-primary btn-block" type="submit">
                </div>
              </div>
              <div class="form-group">
              </div>
        </form>