├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── example │ │ └── demo │ │ ├── DemoApplication.java │ │ ├── controller │ │ └── UserController.java │ │ ├── entity │ │ └── User.java │ │ ├── mapper │ │ └── UserMapper.java │ │ ├── service │ │ ├── UserService.java │ │ └── impl │ │ │ └── UserServiceImpl.java │ │ └── util │ │ ├── Json.java │ │ └── Tool.java └── resources │ ├── application.properties │ ├── application.yml │ ├── mybatis │ └── mapper │ │ └── UserMapper.xml │ ├── static │ ├── css │ │ ├── layui.css │ │ └── login.html │ ├── html │ │ └── index.html │ ├── images │ │ ├── 12.png │ │ ├── enter1.png │ │ ├── login.jpg │ │ ├── name.png │ │ └── pwd.png │ └── js │ │ ├── demo.js │ │ ├── echarts.js │ │ ├── gjzb.js │ │ ├── jquery-2.1.1.min.js │ │ ├── layui.js │ │ └── xjgds.js │ └── templates │ ├── Login2.html │ ├── homePage.html │ └── success.html └── test └── java └── com └── example └── demo └── DemoApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | /target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | .sts4-cache 13 | 14 | ### IntelliJ IDEA ### 15 | .idea 16 | *.iws 17 | *.iml 18 | *.ipr 19 | 20 | ### NetBeans ### 21 | /nbproject/private/ 22 | /nbbuild/ 23 | /dist/ 24 | /nbdist/ 25 | /.nb-gradle/ 26 | /build/ 27 | 28 | ### VS Code ### 29 | .vscode/ 30 | -------------------------------------------------------------------------------- /.mvn/wrapper/MavenWrapperDownloader.java: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | https://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, 13 | software distributed under the License is distributed on an 14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | KIND, either express or implied. See the License for the 16 | specific language governing permissions and limitations 17 | under the License. 18 | */ 19 | 20 | import java.io.File; 21 | import java.io.FileInputStream; 22 | import java.io.FileOutputStream; 23 | import java.io.IOException; 24 | import java.net.URL; 25 | import java.nio.channels.Channels; 26 | import java.nio.channels.ReadableByteChannel; 27 | import java.util.Properties; 28 | 29 | public class MavenWrapperDownloader { 30 | 31 | /** 32 | * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. 33 | */ 34 | private static final String DEFAULT_DOWNLOAD_URL = 35 | "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"; 36 | 37 | /** 38 | * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to 39 | * use instead of the default one. 40 | */ 41 | private static final String MAVEN_WRAPPER_PROPERTIES_PATH = 42 | ".mvn/wrapper/maven-wrapper.properties"; 43 | 44 | /** 45 | * Path where the maven-wrapper.jar will be saved to. 46 | */ 47 | private static final String MAVEN_WRAPPER_JAR_PATH = 48 | ".mvn/wrapper/maven-wrapper.jar"; 49 | 50 | /** 51 | * Name of the property which should be used to override the default download url for the wrapper. 52 | */ 53 | private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; 54 | 55 | public static void main(String args[]) { 56 | System.out.println("- Downloader started"); 57 | File baseDirectory = new File(args[0]); 58 | System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); 59 | 60 | // If the maven-wrapper.properties exists, read it and check if it contains a custom 61 | // wrapperUrl parameter. 62 | File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); 63 | String url = DEFAULT_DOWNLOAD_URL; 64 | if (mavenWrapperPropertyFile.exists()) { 65 | FileInputStream mavenWrapperPropertyFileInputStream = null; 66 | try { 67 | mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); 68 | Properties mavenWrapperProperties = new Properties(); 69 | mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); 70 | url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); 71 | } catch (IOException e) { 72 | System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); 73 | } finally { 74 | try { 75 | if (mavenWrapperPropertyFileInputStream != null) { 76 | mavenWrapperPropertyFileInputStream.close(); 77 | } 78 | } catch (IOException e) { 79 | // Ignore ... 80 | } 81 | } 82 | } 83 | System.out.println("- Downloading from: : " + url); 84 | 85 | File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); 86 | if (!outputFile.getParentFile().exists()) { 87 | if (!outputFile.getParentFile().mkdirs()) { 88 | System.out.println( 89 | "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'"); 90 | } 91 | } 92 | System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); 93 | try { 94 | downloadFileFromURL(url, outputFile); 95 | System.out.println("Done"); 96 | System.exit(0); 97 | } catch (Throwable e) { 98 | System.out.println("- Error downloading"); 99 | e.printStackTrace(); 100 | System.exit(1); 101 | } 102 | } 103 | 104 | private static void downloadFileFromURL(String urlString, File destination) throws Exception { 105 | URL website = new URL(urlString); 106 | ReadableByteChannel rbc; 107 | rbc = Channels.newChannel(website.openStream()); 108 | FileOutputStream fos = new FileOutputStream(destination); 109 | fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 110 | fos.close(); 111 | rbc.close(); 112 | } 113 | 114 | } 115 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SpringbootMybatis 2 | SpringBoot+Mybatis+Mysql+Html实现的前后端登录交互案例 3 | -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ---------------------------------------------------------------------------- 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # ---------------------------------------------------------------------------- 20 | 21 | # ---------------------------------------------------------------------------- 22 | # Maven2 Start Up Batch script 23 | # 24 | # Required ENV vars: 25 | # ------------------ 26 | # JAVA_HOME - location of a JDK home dir 27 | # 28 | # Optional ENV vars 29 | # ----------------- 30 | # M2_HOME - location of maven2's installed home dir 31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven 32 | # e.g. to debug Maven itself, use 33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files 35 | # ---------------------------------------------------------------------------- 36 | 37 | if [ -z "$MAVEN_SKIP_RC" ] ; then 38 | 39 | if [ -f /etc/mavenrc ] ; then 40 | . /etc/mavenrc 41 | fi 42 | 43 | if [ -f "$HOME/.mavenrc" ] ; then 44 | . "$HOME/.mavenrc" 45 | fi 46 | 47 | fi 48 | 49 | # OS specific support. $var _must_ be set to either true or false. 50 | cygwin=false; 51 | darwin=false; 52 | mingw=false 53 | case "`uname`" in 54 | CYGWIN*) cygwin=true ;; 55 | MINGW*) mingw=true;; 56 | Darwin*) darwin=true 57 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home 58 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html 59 | if [ -z "$JAVA_HOME" ]; then 60 | if [ -x "/usr/libexec/java_home" ]; then 61 | export JAVA_HOME="`/usr/libexec/java_home`" 62 | else 63 | export JAVA_HOME="/Library/Java/Home" 64 | fi 65 | fi 66 | ;; 67 | esac 68 | 69 | if [ -z "$JAVA_HOME" ] ; then 70 | if [ -r /etc/gentoo-release ] ; then 71 | JAVA_HOME=`java-config --jre-home` 72 | fi 73 | fi 74 | 75 | if [ -z "$M2_HOME" ] ; then 76 | ## resolve links - $0 may be a link to maven's home 77 | PRG="$0" 78 | 79 | # need this for relative symlinks 80 | while [ -h "$PRG" ] ; do 81 | ls=`ls -ld "$PRG"` 82 | link=`expr "$ls" : '.*-> \(.*\)$'` 83 | if expr "$link" : '/.*' > /dev/null; then 84 | PRG="$link" 85 | else 86 | PRG="`dirname "$PRG"`/$link" 87 | fi 88 | done 89 | 90 | saveddir=`pwd` 91 | 92 | M2_HOME=`dirname "$PRG"`/.. 93 | 94 | # make it fully qualified 95 | M2_HOME=`cd "$M2_HOME" && pwd` 96 | 97 | cd "$saveddir" 98 | # echo Using m2 at $M2_HOME 99 | fi 100 | 101 | # For Cygwin, ensure paths are in UNIX format before anything is touched 102 | if $cygwin ; then 103 | [ -n "$M2_HOME" ] && 104 | M2_HOME=`cygpath --unix "$M2_HOME"` 105 | [ -n "$JAVA_HOME" ] && 106 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 107 | [ -n "$CLASSPATH" ] && 108 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"` 109 | fi 110 | 111 | # For Mingw, ensure paths are in UNIX format before anything is touched 112 | if $mingw ; then 113 | [ -n "$M2_HOME" ] && 114 | M2_HOME="`(cd "$M2_HOME"; pwd)`" 115 | [ -n "$JAVA_HOME" ] && 116 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 117 | # TODO classpath? 118 | fi 119 | 120 | if [ -z "$JAVA_HOME" ]; then 121 | javaExecutable="`which javac`" 122 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then 123 | # readlink(1) is not available as standard on Solaris 10. 124 | readLink=`which readlink` 125 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then 126 | if $darwin ; then 127 | javaHome="`dirname \"$javaExecutable\"`" 128 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" 129 | else 130 | javaExecutable="`readlink -f \"$javaExecutable\"`" 131 | fi 132 | javaHome="`dirname \"$javaExecutable\"`" 133 | javaHome=`expr "$javaHome" : '\(.*\)/bin'` 134 | JAVA_HOME="$javaHome" 135 | export JAVA_HOME 136 | fi 137 | fi 138 | fi 139 | 140 | if [ -z "$JAVACMD" ] ; then 141 | if [ -n "$JAVA_HOME" ] ; then 142 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 143 | # IBM's JDK on AIX uses strange locations for the executables 144 | JAVACMD="$JAVA_HOME/jre/sh/java" 145 | else 146 | JAVACMD="$JAVA_HOME/bin/java" 147 | fi 148 | else 149 | JAVACMD="`which java`" 150 | fi 151 | fi 152 | 153 | if [ ! -x "$JAVACMD" ] ; then 154 | echo "Error: JAVA_HOME is not defined correctly." >&2 155 | echo " We cannot execute $JAVACMD" >&2 156 | exit 1 157 | fi 158 | 159 | if [ -z "$JAVA_HOME" ] ; then 160 | echo "Warning: JAVA_HOME environment variable is not set." 161 | fi 162 | 163 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher 164 | 165 | # traverses directory structure from process work directory to filesystem root 166 | # first directory with .mvn subdirectory is considered project base directory 167 | find_maven_basedir() { 168 | 169 | if [ -z "$1" ] 170 | then 171 | echo "Path not specified to find_maven_basedir" 172 | return 1 173 | fi 174 | 175 | basedir="$1" 176 | wdir="$1" 177 | while [ "$wdir" != '/' ] ; do 178 | if [ -d "$wdir"/.mvn ] ; then 179 | basedir=$wdir 180 | break 181 | fi 182 | # workaround for JBEAP-8937 (on Solaris 10/Sparc) 183 | if [ -d "${wdir}" ]; then 184 | wdir=`cd "$wdir/.."; pwd` 185 | fi 186 | # end of workaround 187 | done 188 | echo "${basedir}" 189 | } 190 | 191 | # concatenates all lines of a file 192 | concat_lines() { 193 | if [ -f "$1" ]; then 194 | echo "$(tr -s '\n' ' ' < "$1")" 195 | fi 196 | } 197 | 198 | BASE_DIR=`find_maven_basedir "$(pwd)"` 199 | if [ -z "$BASE_DIR" ]; then 200 | exit 1; 201 | fi 202 | 203 | ########################################################################################## 204 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 205 | # This allows using the maven wrapper in projects that prohibit checking in binary data. 206 | ########################################################################################## 207 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then 208 | if [ "$MVNW_VERBOSE" = true ]; then 209 | echo "Found .mvn/wrapper/maven-wrapper.jar" 210 | fi 211 | else 212 | if [ "$MVNW_VERBOSE" = true ]; then 213 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." 214 | fi 215 | jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" 216 | while IFS="=" read key value; do 217 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;; 218 | esac 219 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" 220 | if [ "$MVNW_VERBOSE" = true ]; then 221 | echo "Downloading from: $jarUrl" 222 | fi 223 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" 224 | 225 | if command -v wget > /dev/null; then 226 | if [ "$MVNW_VERBOSE" = true ]; then 227 | echo "Found wget ... using wget" 228 | fi 229 | wget "$jarUrl" -O "$wrapperJarPath" 230 | elif command -v curl > /dev/null; then 231 | if [ "$MVNW_VERBOSE" = true ]; then 232 | echo "Found curl ... using curl" 233 | fi 234 | curl -o "$wrapperJarPath" "$jarUrl" 235 | else 236 | if [ "$MVNW_VERBOSE" = true ]; then 237 | echo "Falling back to using Java to download" 238 | fi 239 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" 240 | if [ -e "$javaClass" ]; then 241 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 242 | if [ "$MVNW_VERBOSE" = true ]; then 243 | echo " - Compiling MavenWrapperDownloader.java ..." 244 | fi 245 | # Compiling the Java class 246 | ("$JAVA_HOME/bin/javac" "$javaClass") 247 | fi 248 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 249 | # Running the downloader 250 | if [ "$MVNW_VERBOSE" = true ]; then 251 | echo " - Running MavenWrapperDownloader.java ..." 252 | fi 253 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") 254 | fi 255 | fi 256 | fi 257 | fi 258 | ########################################################################################## 259 | # End of extension 260 | ########################################################################################## 261 | 262 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} 263 | if [ "$MVNW_VERBOSE" = true ]; then 264 | echo $MAVEN_PROJECTBASEDIR 265 | fi 266 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" 267 | 268 | # For Cygwin, switch paths to Windows format before running java 269 | if $cygwin; then 270 | [ -n "$M2_HOME" ] && 271 | M2_HOME=`cygpath --path --windows "$M2_HOME"` 272 | [ -n "$JAVA_HOME" ] && 273 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` 274 | [ -n "$CLASSPATH" ] && 275 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 276 | [ -n "$MAVEN_PROJECTBASEDIR" ] && 277 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` 278 | fi 279 | 280 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 281 | 282 | exec "$JAVACMD" \ 283 | $MAVEN_OPTS \ 284 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ 285 | "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ 286 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" 287 | -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- 1 | @REM ---------------------------------------------------------------------------- 2 | @REM Licensed to the Apache Software Foundation (ASF) under one 3 | @REM or more contributor license agreements. See the NOTICE file 4 | @REM distributed with this work for additional information 5 | @REM regarding copyright ownership. The ASF licenses this file 6 | @REM to you under the Apache License, Version 2.0 (the 7 | @REM "License"); you may not use this file except in compliance 8 | @REM with the License. You may obtain a copy of the License at 9 | @REM 10 | @REM https://www.apache.org/licenses/LICENSE-2.0 11 | @REM 12 | @REM Unless required by applicable law or agreed to in writing, 13 | @REM software distributed under the License is distributed on an 14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | @REM KIND, either express or implied. See the License for the 16 | @REM specific language governing permissions and limitations 17 | @REM under the License. 18 | @REM ---------------------------------------------------------------------------- 19 | 20 | @REM ---------------------------------------------------------------------------- 21 | @REM Maven2 Start Up Batch script 22 | @REM 23 | @REM Required ENV vars: 24 | @REM JAVA_HOME - location of a JDK home dir 25 | @REM 26 | @REM Optional ENV vars 27 | @REM M2_HOME - location of maven2's installed home dir 28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending 30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31 | @REM e.g. to debug Maven itself, use 32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34 | @REM ---------------------------------------------------------------------------- 35 | 36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37 | @echo off 38 | @REM set title of command window 39 | title %0 40 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' 41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 42 | 43 | @REM set %HOME% to equivalent of $HOME 44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 45 | 46 | @REM Execute a user defined script before this one 47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending 49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" 50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" 51 | :skipRcPre 52 | 53 | @setlocal 54 | 55 | set ERROR_CODE=0 56 | 57 | @REM To isolate internal variables from possible post scripts, we use another setlocal 58 | @setlocal 59 | 60 | @REM ==== START VALIDATION ==== 61 | if not "%JAVA_HOME%" == "" goto OkJHome 62 | 63 | echo. 64 | echo Error: JAVA_HOME not found in your environment. >&2 65 | echo Please set the JAVA_HOME variable in your environment to match the >&2 66 | echo location of your Java installation. >&2 67 | echo. 68 | goto error 69 | 70 | :OkJHome 71 | if exist "%JAVA_HOME%\bin\java.exe" goto init 72 | 73 | echo. 74 | echo Error: JAVA_HOME is set to an invalid directory. >&2 75 | echo JAVA_HOME = "%JAVA_HOME%" >&2 76 | echo Please set the JAVA_HOME variable in your environment to match the >&2 77 | echo location of your Java installation. >&2 78 | echo. 79 | goto error 80 | 81 | @REM ==== END VALIDATION ==== 82 | 83 | :init 84 | 85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 86 | @REM Fallback to current working directory if not found. 87 | 88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 90 | 91 | set EXEC_DIR=%CD% 92 | set WDIR=%EXEC_DIR% 93 | :findBaseDir 94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound 95 | cd .. 96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound 97 | set WDIR=%CD% 98 | goto findBaseDir 99 | 100 | :baseDirFound 101 | set MAVEN_PROJECTBASEDIR=%WDIR% 102 | cd "%EXEC_DIR%" 103 | goto endDetectBaseDir 104 | 105 | :baseDirNotFound 106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR% 107 | cd "%EXEC_DIR%" 108 | 109 | :endDetectBaseDir 110 | 111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 112 | 113 | @setlocal EnableExtensions EnableDelayedExpansion 114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 116 | 117 | :endReadAdditionalConfig 118 | 119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 122 | 123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" 124 | FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO ( 125 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B 126 | ) 127 | 128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data. 130 | if exist %WRAPPER_JAR% ( 131 | echo Found %WRAPPER_JAR% 132 | ) else ( 133 | echo Couldn't find %WRAPPER_JAR%, downloading it ... 134 | echo Downloading from: %DOWNLOAD_URL% 135 | powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')" 136 | echo Finished downloading %WRAPPER_JAR% 137 | ) 138 | @REM End of extension 139 | 140 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 141 | if ERRORLEVEL 1 goto error 142 | goto end 143 | 144 | :error 145 | set ERROR_CODE=1 146 | 147 | :end 148 | @endlocal & set ERROR_CODE=%ERROR_CODE% 149 | 150 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost 151 | @REM check for post script, once with legacy .bat ending and once with .cmd ending 152 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" 153 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" 154 | :skipRcPost 155 | 156 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 157 | if "%MAVEN_BATCH_PAUSE%" == "on" pause 158 | 159 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% 160 | 161 | exit /B %ERROR_CODE% 162 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.1.3.RELEASE 9 | 10 | 11 | com.example 12 | demo 13 | 0.0.1-SNAPSHOT 14 | demo 15 | Demo project for Spring Boot 16 | 17 | 18 | 1.8 19 | 20 | 21 | 22 | 23 | org.springframework.boot 24 | spring-boot-starter-web 25 | 26 | 27 | 28 | org.springframework.boot 29 | spring-boot-starter-test 30 | test 31 | 32 | 33 | 34 | org.mybatis.spring.boot 35 | mybatis-spring-boot-starter 36 | 1.1.1 37 | 38 | 39 | org.springframework.boot 40 | spring-boot-starter-thymeleaf 41 | 42 | 43 | net.sf.json-lib 44 | json-lib 45 | 2.4 46 | jdk15 47 | 48 | 49 | org.apache.struts 50 | struts2-json-plugin 51 | 2.3.7 52 | 53 | 54 | 55 | com.alibaba 56 | fastjson 57 | 1.2.51 58 | 59 | 60 | mysql 61 | mysql-connector-java 62 | runtime 63 | 64 | 65 | 66 | org.springframework.boot 67 | spring-boot-devtools 68 | true 69 | 70 | 71 | 72 | 73 | com.alibaba 74 | druid-spring-boot-starter 75 | 1.1.0 76 | 77 | 78 | 79 | 80 | 81 | 82 | org.springframework.boot 83 | spring-boot-maven-plugin 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /src/main/java/com/example/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import com.alibaba.druid.pool.DruidDataSource; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.boot.context.properties.ConfigurationProperties; 8 | import org.springframework.context.annotation.Bean; 9 | import org.springframework.context.annotation.ComponentScan; 10 | import org.springframework.transaction.annotation.EnableTransactionManagement; 11 | 12 | import javax.sql.DataSource; 13 | 14 | 15 | @SpringBootApplication 16 | @EnableTransactionManagement //开启事务管理 17 | @ComponentScan("com.example.demo") 18 | @MapperScan("com.example.demo.mapper")//与dao层的@Mapper二选一写上即可(主要作用是扫包) 19 | public class DemoApplication { 20 | 21 | public static void main(String[] args) { 22 | 23 | SpringApplication.run(DemoApplication.class, args); 24 | } 25 | 26 | 27 | @Bean(destroyMethod = "close", initMethod = "init") 28 | @ConfigurationProperties(prefix = "spring.datasource") 29 | public DataSource druidDataSource() { 30 | DruidDataSource druidDataSource = new DruidDataSource(); 31 | return druidDataSource; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/example/demo/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.controller; 2 | 3 | import com.example.demo.entity.User; 4 | import com.example.demo.service.UserService; 5 | import com.example.demo.util.Json; 6 | import com.example.demo.util.Tool; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Controller; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestMethod; 11 | import org.springframework.web.bind.annotation.ResponseBody; 12 | import org.springframework.web.servlet.ModelAndView; 13 | 14 | import javax.servlet.http.HttpServletRequest; 15 | import javax.servlet.http.HttpServletResponse; 16 | import javax.servlet.http.HttpSession; 17 | import java.util.ArrayList; 18 | import java.util.List; 19 | 20 | import static java.lang.System.out; 21 | 22 | @Controller 23 | @RequestMapping(value = "/user")//设置访问改控制类的"别名" 24 | public class UserController { 25 | 26 | @Autowired 27 | private UserService userService; 28 | 29 | /* 30 | **返回标准的Json格式数据其中包括(是否成功、状态码、消息、内容) 31 | * 该方法是由于公司很多童鞋写接口时没有一个标准的定义,天马行空的编写数据接口导致调用时效率极低,因此自己写了一个标准的 32 | * 接口调用方法,仅供大家参考 33 | * @param statu 34 | * @param code 35 | * @param message 36 | * @author lgf 37 | * */ 38 | @RequestMapping("/getAllUser") 39 | @ResponseBody 40 | private void getAllUser(HttpServletResponse response)throws Exception { 41 | List users = userService.getAllUser(); 42 | if(users.isEmpty()){ 43 | Json.toJson(new Tool(false,7000,"没有数据",null),response); 44 | return; 45 | } 46 | List listuser = new ArrayList(); 47 | for (User entity : users) { 48 | User user = new User(); 49 | user.setId(entity.getId()); 50 | user.setName(entity.getName()); 51 | user.setAge(entity.getAge()); 52 | user.setSex(entity.getSex()); 53 | listuser.add(entity); 54 | } 55 | Tool result = new Tool(true,200,"成功",listuser); 56 | Json.toJson(result,response); 57 | 58 | } 59 | @RequestMapping("/find") 60 | @ResponseBody 61 | private User find() { 62 | User users = userService.getAllUserByName("小芳"); 63 | return users; 64 | } 65 | @RequestMapping("/checkLogin") 66 | @ResponseBody 67 | private User checkLogin() { 68 | User users = new User(); 69 | return users; 70 | } 71 | /* 72 | **登录调用方法跳转登录页面 73 | * @author lgf 74 | * */ 75 | @RequestMapping("/login") 76 | private String index() { 77 | return "Login2.html"; 78 | } 79 | /* 80 | **登录成功响应方法 81 | * @param message 82 | * @author lgf 83 | * */ 84 | @RequestMapping(value="/success",method = {RequestMethod.POST, RequestMethod.GET}) 85 | private String ok() { 86 | return "success"; 87 | } 88 | /* 89 | **输入账号密码登录校验方法 90 | * @param message 91 | * @author lgf 92 | * */ 93 | @RequestMapping(value="/loginPage",method = {RequestMethod.POST, RequestMethod.GET}) 94 | private ModelAndView login(HttpServletRequest request, HttpSession session) { 95 | ModelAndView mav=new ModelAndView(); 96 | //out.print("ajax进入后台!!"); 97 | String name = request.getParameter("username"); 98 | String id = request.getParameter("pwd"); 99 | User tname = userService.loginPage(name,id); 100 | out.print(tname); 101 | if (tname == null) { 102 | mav.clear(); 103 | mav.setViewName("Login2"); 104 | return mav; 105 | } else { 106 | session.setAttribute("tname", tname.getName()); 107 | out.print(tname.getName()); 108 | //验证通过跳转首页 109 | mav.setViewName("homePage"); 110 | return mav; 111 | } 112 | } 113 | } -------------------------------------------------------------------------------- /src/main/java/com/example/demo/entity/User.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.entity; 2 | 3 | public class User { 4 | 5 | private String id; 6 | private String name; 7 | private String sex; 8 | private String age ; 9 | // private String memo; 10 | public String getId() { 11 | return id; 12 | } 13 | 14 | public void setId(String id) { 15 | this.id = id; 16 | } 17 | 18 | public String getName() { 19 | return name; 20 | } 21 | 22 | public void setName(String name) { 23 | this.name = name; 24 | } 25 | 26 | public String getSex() { 27 | return sex; 28 | } 29 | 30 | public void setSex(String sex) { 31 | this.sex = sex; 32 | } 33 | 34 | public String getAge() { 35 | return age; 36 | } 37 | 38 | public void setAge(String age) { 39 | this.age = age; 40 | } 41 | 42 | /* public String getMemo() { 43 | return memo; 44 | } 45 | 46 | public void setMemo(String memo) { 47 | this.memo = memo; 48 | }*/ 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/example/demo/mapper/UserMapper.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.mapper; 2 | 3 | import com.example.demo.entity.User; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.apache.ibatis.annotations.Select; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.List; 9 | 10 | //@Mapper //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可 11 | @Repository 12 | public interface UserMapper { 13 | 14 | List getAllUser(); 15 | @Select("select name,id from user where name=#{name}") 16 | User getAllUserByName(@Param("name") String name); 17 | User loginPage(String name,String id); 18 | } -------------------------------------------------------------------------------- /src/main/java/com/example/demo/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.service; 2 | 3 | import com.example.demo.entity.User; 4 | 5 | import java.util.List; 6 | 7 | public interface UserService { 8 | List getAllUser(); 9 | User getAllUserByName(String name); 10 | User loginPage(String name,String id); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/example/demo/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.service.impl; 2 | 3 | import com.example.demo.entity.User; 4 | import com.example.demo.mapper.UserMapper; 5 | import com.example.demo.service.UserService; 6 | import org.springframework.stereotype.Service; 7 | 8 | import javax.annotation.Resource; 9 | import java.util.List; 10 | 11 | @Service(value = "userService") 12 | public class UserServiceImpl implements UserService { 13 | 14 | @Resource 15 | private UserMapper userMapper; 16 | 17 | 18 | @Override 19 | public List getAllUser() { 20 | return userMapper.getAllUser(); 21 | } 22 | 23 | @Override 24 | public User getAllUserByName(String name) { 25 | return userMapper.getAllUserByName(name); 26 | } 27 | 28 | @Override 29 | public User loginPage(String name, String id) { 30 | return userMapper.loginPage(name,id); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/example/demo/util/Json.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.util; 2 | 3 | 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.alibaba.fastjson.serializer.SerializerFeature; 6 | 7 | import javax.servlet.http.HttpServletResponse; 8 | import java.io.PrintWriter; 9 | 10 | public class Json { 11 | /* 12 | **返回标准的Json格式数据其中包括(是否成功、状态码、消息、内容) 13 | * @param statu 14 | * @param code 15 | * @param message 16 | * @author lgf 17 | * */ 18 | public static void toJson(Tool result, HttpServletResponse response)throws Exception{ 19 | response.setContentType("text/json"); 20 | response.setHeader("Cache-Control","no-cache"); 21 | response.setCharacterEncoding("UTF-8"); 22 | PrintWriter writer = response.getWriter(); 23 | 24 | String json = JSONObject.toJSONString(result, 25 | SerializerFeature.WriteMapNullValue, 26 | SerializerFeature.WriteNullNumberAsZero, 27 | SerializerFeature.WriteNullListAsEmpty, 28 | SerializerFeature.WriteNullStringAsEmpty, 29 | SerializerFeature.WriteNullBooleanAsFalse, 30 | SerializerFeature.DisableCircularReferenceDetect); 31 | writer.write(json); 32 | writer.close(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/example/demo/util/Tool.java: -------------------------------------------------------------------------------- 1 | package com.example.demo.util; 2 | 3 | public class Tool { 4 | private Integer code;//状态码 5 | private Boolean isSuccess;//是否成功/状态 6 | 7 | public Integer getCode() { 8 | return code; 9 | } 10 | 11 | public void setCode(Integer code) { 12 | this.code = code; 13 | } 14 | 15 | public Boolean getSuccess() { 16 | return isSuccess; 17 | } 18 | 19 | public void setSuccess(Boolean success) { 20 | isSuccess = success; 21 | } 22 | 23 | public String getMessage() { 24 | return message; 25 | } 26 | 27 | public void setMessage(String message) { 28 | this.message = message; 29 | } 30 | 31 | public Object getResult() { 32 | return result; 33 | } 34 | 35 | public void setResult(Object result) { 36 | this.result = result; 37 | } 38 | 39 | private String message;//消息 40 | private Object result;//数据对象 41 | /* 42 | * 构造函数*/ 43 | public Tool(){ 44 | super(); 45 | } 46 | /** 47 | *返回标准的Json格式数据其中包括(是否成功、状态码、消息、内容) 48 | * @param statu 49 | * @param code 50 | * @param message 51 | */ 52 | public Tool(Boolean success,Integer code,String message,Object result ){ 53 | super(); 54 | this.isSuccess=success; 55 | this.code=code; 56 | this.message=message; 57 | this.result=result; 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | #服务器端口和项目名称配置 2 | server: 3 | port: 8081 4 | #数据库配置 5 | spring: 6 | datasource: 7 | name: springboot 8 | driver-class-name: com.mysql.cj.jdbc.Driver 9 | url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&userSSL=false&serverTimezone=GMT%2B8 10 | username: user 11 | password: l123456 12 | # 使用druid数据源 13 | type: com.alibaba.druid.pool.DruidDataSource 14 | filters: stat 15 | maxActive: 20 16 | initialSize: 1 17 | maxWait: 60000 18 | minIdle: 1 19 | timeBetweenEvictionRunsMillis: 60000 20 | minEvictableIdleTimeMillis: 300000 21 | validationQuery: select 'x' 22 | testWhileIdle: true 23 | testOnBorrow: false 24 | testOnReturn: false 25 | poolPreparedStatements: true 26 | maxOpenPreparedStatements: 20 27 | # 这里我使用了devtool热部署技术,这样就不需要每次都重启服务!!--> 28 | debug: true 29 | spring: 30 | devtools: 31 | restart: 32 | enabled: true #设置开启热部署 33 | freemarker: 34 | cache: false #页面不加载缓存,修改即时生效 35 | #配置Mapper.xml映射文件 36 | mybatis: 37 | mapper-locations: classpath*:mybatis/mapper/*.xml -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 13 | 16 | -------------------------------------------------------------------------------- /src/main/resources/static/css/layui.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.5 MIT License By https://www.layui.com */ 2 | .layui-inline,img{display:inline-block;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:400}.layui-edge,.layui-header,.layui-inline,.layui-main{position:relative}.layui-elip,.layui-form-checkbox span,.layui-form-pane .layui-form-label{text-overflow:ellipsis;white-space:nowrap}.layui-btn,.layui-edge,.layui-inline,img{vertical-align:middle}.layui-btn,.layui-disabled,.layui-icon,.layui-unselect{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none}blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{border:none}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:24px;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:1px;margin:10px 0;border:0;clear:both}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-inline{*display:inline;*zoom:1}.layui-edge{display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;overflow:hidden}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-elip{overflow:hidden}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=240);src:url(../font/iconfont.eot?v=240#iefix) format('embedded-opentype'),url(../font/iconfont.svg?v=240#iconfont) format('svg'),url(../font/iconfont.woff?v=240) format('woff'),url(../font/iconfont.ttf?v=240) format('truetype')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-search:before{content:"\e615"}.layui-icon-share:before{content:"\e641"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-engine:before{content:"\e628"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-star:before{content:"\e600"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-chat:before{content:"\e606"}.layui-icon-release:before{content:"\e609"}.layui-icon-list:before{content:"\e60a"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-ok-circle:before{content:"\1005"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-table:before{content:"\e62d"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-edit:before{content:"\e642"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-down:before{content:"\e61a"}.layui-icon-file:before{content:"\e621"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-read:before{content:"\e705"}.layui-icon-404:before{content:"\e61c"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-help:before{content:"\e607"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-username:before{content:"\e66f"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-about:before{content:"\e60b"}.layui-icon-location:before{content:"\e715"}.layui-icon-up:before{content:"\e619"}.layui-icon-pause:before{content:"\e651"}.layui-icon-date:before{content:"\e637"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-delete:before{content:"\e640"}.layui-icon-play:before{content:"\e652"}.layui-icon-top:before{content:"\e604"}.layui-icon-friends:before{content:"\e612"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-ok:before{content:"\e605"}.layui-icon-layer:before{content:"\e638"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-group:before{content:"\e613"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-link:before{content:"\e64c"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-log:before{content:"\e60e"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-return:before{content:"\e65c"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-cart:before{content:"\e657"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fire:before{content:"\e756"}.layui-icon-set:before{content:"\e716"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-tips:before{content:"\e702"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-home:before{content:"\e68e"}.layui-icon-user:before{content:"\e770"}.layui-icon-notice:before{content:"\e667"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-voice:before{content:"\e688"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-template:before{content:"\e663"}.layui-icon-auz:before{content:"\e672"}.layui-icon-console:before{content:"\e665"}.layui-icon-app:before{content:"\e653"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-next:before{content:"\e65b"}.layui-icon-component:before{content:"\e857"}.layui-icon-more:before{content:"\e65f"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-camera:before{content:"\e660"}.layui-icon-note:before{content:"\e66e"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-password:before{content:"\e673"}.layui-icon-senior:before{content:"\e674"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-cols:before{content:"\e610"}.layui-icon-export:before{content:"\e67d"}.layui-icon-print:before{content:"\e66d"}.layui-icon-slider:before{content:"\e714"}.layui-main{width:1140px;margin:0 auto}.layui-header{z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:absolute;left:200px;right:0;top:0;bottom:0;z-index:998;width:auto;overflow:hidden;box-sizing:border-box}.layui-layout-body{overflow:hidden}.layui-layout-admin .layui-header{background-color:#23262E}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{top:60px;bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;height:44px;line-height:44px;padding:0 15px;background-color:#eee}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#009688;font-size:16px}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:'';display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:768px){.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:750px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:970px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1170px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space3{margin:-1.5px}.layui-col-space3>*{padding:1.5px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space8{margin:-3.5px}.layui-col-space8>*{padding:3.5px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:22px;border-left:5px solid #009688;border-radius:0 2px 2px 0;background-color:#f2f2f2}.layui-quote-nm{border-style:solid;border-width:1px 1px 1px 5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:10px 15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#e2e2e2}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#5FB878;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#666}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#f2f2f2;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:22px;color:#666}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #E6E6E6;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999}.layui-form-label,.layui-form-mid,.layui-form-select,.layui-input-block,.layui-input-inline,.layui-textarea{position:relative}.layui-bg-red{background-color:#FF5722!important}.layui-bg-orange{background-color:#FFB800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2F4056!important}.layui-bg-blue{background-color:#1E9FFF!important}.layui-bg-black{background-color:#393D49!important}.layui-bg-gray{background-color:#eee!important;color:#666!important}.layui-badge-rim,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#e6e6e6}.layui-timeline-item:before,hr{background-color:#e6e6e6}.layui-text{line-height:22px;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01AAED}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em,.layui-word-aux{color:#999!important;padding:0 5px!important}.layui-btn{display:inline-block;height:38px;line-height:38px;padding:0 18px;background-color:#009688;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border:none;border-radius:2px;cursor:pointer}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{margin-right:3px;font-size:18px;vertical-align:bottom;vertical-align:middle\9}.layui-btn-primary{border:1px solid #C9C9C9;background-color:#fff;color:#555}.layui-btn-primary:hover{border-color:#009688;color:#333}.layui-btn-normal{background-color:#1E9FFF}.layui-btn-warm{background-color:#FFB800}.layui-btn-danger{background-color:#FF5722}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border:1px solid #e6e6e6;background-color:#FBFBFB;color:#C9C9C9;cursor:not-allowed;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-sm i{font-size:16px!important}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:14px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#C9C9C9;color:#009688}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #c9c9c9}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#D2D2D2!important}.layui-input:focus,.layui-textarea:focus{border-color:#C9C9C9!important}.layui-textarea{min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#FF5722!important}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f2f2f2;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#5FB878;color:#fff}.layui-form-checkbox,.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg);margin-top:-3px\9}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;top:0;width:30px;height:28px;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#5FB878}.layui-form-checked span,.layui-form-checked:hover span{background-color:#5FB878}.layui-form-checked i,.layui-form-checked:hover i{color:#5FB878}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#5FB878;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#5FB878;background-color:#5FB878;color:#fff}.layui-checkbox-disbaled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2}.layui-checkbox-disbaled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#5FB878;background-color:#5FB878}.layui-checkbox-disbaled,.layui-checkbox-disbaled i{border-color:#e2e2e2!important}.layui-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch em{margin-left:5px;margin-right:21px;color:#fff!important}.layui-checkbox-disbaled span{background-color:#e2e2e2!important}.layui-checkbox-disbaled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio>i:hover,.layui-form-radioed>i{color:#5FB878}.layui-radio-disbaled>i{color:#e2e2e2!important}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#FBFBFB;overflow:hidden;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0 1px 0 0}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-layedit{border-width:1px;border-style:solid;border-radius:2px}.layui-layedit-tool{padding:3px 5px;border-bottom-width:1px;border-bottom-style:solid;font-size:0}.layedit-tool-fixed{position:fixed;top:0;border-top:1px solid #e2e2e2}.layui-layedit-tool .layedit-tool-mid,.layui-layedit-tool .layui-icon{display:inline-block;vertical-align:middle;text-align:center;font-size:14px}.layui-layedit-tool .layui-icon{position:relative;width:32px;height:30px;line-height:30px;margin:3px 5px;color:#777;cursor:pointer;border-radius:2px}.layui-layedit-tool .layui-icon:hover{color:#393D49}.layui-layedit-tool .layui-icon:active{color:#000}.layui-layedit-tool .layedit-tool-active{background-color:#e2e2e2;color:#000}.layui-layedit-tool .layui-disabled,.layui-layedit-tool .layui-disabled:hover{color:#d2d2d2;cursor:not-allowed}.layui-layedit-tool .layedit-tool-mid{width:1px;height:18px;margin:0 10px;background-color:#d2d2d2}.layedit-tool-html{width:50px!important;font-size:30px!important}.layedit-tool-b,.layedit-tool-code,.layedit-tool-help{font-size:16px!important}.layedit-tool-d,.layedit-tool-face,.layedit-tool-image,.layedit-tool-unlink{font-size:18px!important}.layedit-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-layedit-iframe iframe{display:block;width:100%}#LAY_layedit_code{overflow:hidden}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #e2e2e2}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-flow-more a *,.layui-laypage input,.layui-table-view select[lay-ignore]{display:inline-block}.layui-laypage a:hover{color:#009688}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#009688}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#009688!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-table,.layui-table-view{margin:10px 0}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;background-color:#fff;color:#666}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:400}.layui-table tbody tr:hover,.layui-table thead tr,.layui-table-click,.layui-table-header,.layui-table-hover,.layui-table-mend,.layui-table-patch,.layui-table-tool,.layui-table-total,.layui-table-total tr,.layui-table[lay-even] tr:nth-child(even){background-color:#f2f2f2}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#e6e6e6}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding:15px 30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:40px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:20px;line-height:20px}.layui-table[lay-data]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;width:auto;margin:0}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border-width:0 0 1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:5px 0;border-top:none;border-left:none}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:110}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0 0 1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;padding:5px 0;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-cell,.layui-table-tool-panel li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-table-tool-panel li{padding:0 10px;line-height:30px;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%;padding-left:28px}.layui-table-tool-panel li:hover{background-color:#f2f2f2}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0 0 0 1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:28px;line-height:28px;padding:0 15px;position:relative;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01AAED}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{padding:0;text-align:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:0 -1px 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0 0 0 1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px}.layui-table-tool{position:relative;z-index:890;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-page,.layui-table-total{border-width:1px 0 0;margin-bottom:-1px;overflow:hidden}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;height:41px;font-size:12px;white-space:nowrap}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-7px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;width:100%;height:100%;padding:0 14px 1px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15)}.layui-table-edit:focus{border-color:#5FB878!important}select.layui-table-edit{padding:0 0 0 10px;border-color:#C9C9C9}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:26px;height:100%;padding:5px 0;border-width:0 0 0 1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.layui-table-grid-down:hover{background-color:#fbfbfb}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-44px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#666}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#666;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-list{margin:10px 0}.layui-upload-choose{padding:0 10px;color:#999}.layui-upload-drag{position:relative;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#009688}.layui-upload-drag[lay-over]{border-color:#009688}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-tree{line-height:26px}.layui-tree li{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-tree li .layui-tree-spread,.layui-tree li a{display:inline-block;vertical-align:top;height:26px;*display:inline;*zoom:1;cursor:pointer}.layui-tree li a{font-size:0}.layui-tree li a i{font-size:16px}.layui-tree li a cite{padding:0 6px;font-size:14px;font-style:normal}.layui-tree li i{padding-left:6px;color:#333;-moz-user-select:none}.layui-tree li .layui-tree-check{font-size:13px}.layui-tree li .layui-tree-check:hover{color:#009E94}.layui-tree li ul{display:none;margin-left:20px}.layui-tree li .layui-tree-enter{line-height:24px;border:1px dotted #000}.layui-tree-drag{display:none;position:absolute;left:-666px;top:-666px;background-color:#f2f2f2;padding:5px 10px;border:1px dotted #000;white-space:nowrap}.layui-tree-drag i{padding-right:5px}.layui-nav{position:relative;padding:0 20px;background-color:#393D49;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar,.layui-nav-tree .layui-nav-itemed:after{position:absolute;left:0;top:0;width:0;height:5px;background-color:#5FB878;transition:all .2s;-webkit-transition:all .2s}.layui-nav-bar{z-index:1000}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff}.layui-nav .layui-this:after{content:'';top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{content:'';width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;cursor:pointer;transition:all .2s;-webkit-transition:all .2s;position:absolute;top:50%;right:3px;margin-top:-3px;border-width:6px;border-top-color:rgba(255,255,255,.7)}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{margin-top:-9px;border-style:dashed dashed solid;border-color:transparent transparent #fff}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#333}.layui-nav .layui-nav-child a:hover{background-color:#f2f2f2;color:#000}.layui-nav-child dd{position:relative}.layui-nav .layui-nav-child dd.layui-this a,.layui-nav-child dd.layui-this{background-color:#5FB878;color:#fff}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:45px}.layui-nav-tree .layui-nav-item a{position:relative;height:45px;line-height:45px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item a:hover{background-color:#4E5465}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#009688;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child a{height:40px;line-height:40px;color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-more{right:10px}.layui-nav-itemed>.layui-nav-child{display:block;padding:0;background-color:rgba(0,0,0,.3)!important}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-bg-blue .layui-nav-bar,.layui-bg-blue .layui-nav-itemed:after,.layui-bg-blue .layui-this:after{background-color:#93D1FF}.layui-bg-blue .layui-nav-child dd.layui-this{background-color:#1E9FFF}.layui-bg-blue .layui-nav-itemed>a,.layui-nav-tree.layui-bg-blue .layui-nav-title a,.layui-nav-tree.layui-bg-blue .layui-nav-title a:hover{background-color:#007DDB!important}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#5FB878!important}.layui-breadcrumb a cite{color:#666;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer}.layui-tab-title li a{display:block}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:'';width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#e2e2e2;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\9;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:10px}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#FF5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#009688}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #5FB878}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#f2f2f2}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#5FB878}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#5FB878;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#FF5722}.layui-timeline-item:before{content:'';position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:last-child:before{display:none}.layui-timeline-item:first-child:before{display:block}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#FF5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#666}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-8px 6px 0}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\9;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\9;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#e2e2e2;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:15px;bottom:15px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9F9F9F;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #D9D9D9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{position:relative;margin:10px 0;padding:15px;line-height:20px;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New;font-size:12px}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:10px 5px 10px 0;font-size:0}.layui-rate li i.layui-icon{font-size:20px;color:#FFB800;margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:26px;height:26px;border:1px solid #e6e6e6;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:34px;height:34px;line-height:32px}.layui-colorpicker.layui-colorpicker-sm{width:24px;height:24px;line-height:22px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:20px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#FFF;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;z-index:66666666;width:280px;padding:7px;background:#FFF;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#FFF,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #FFF;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#FF0,#0F0,#0FF,#00F,#F0F,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#666}.layui-slider{height:4px;background:#e2e2e2;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#FFF;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#FFF;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:66666666;white-space:nowrap;display:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#FFF;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:'';position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #e6e6e6;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-15px}.layui-slider-input-btn{display:none;position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #d2d2d2}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #d2d2d2}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none}.layui-slider-input-btn i:hover{color:#009688}.layui-slider-vertical{width:4px;margin-left:34px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .3s;-webkit-transition:all .3s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,30px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,30px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout} -------------------------------------------------------------------------------- /src/main/resources/static/css/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 用户登录系统 8 | 59 | 60 | 61 | 62 |
63 |
64 |
65 |
66 |
67 | 68 | 69 | 70 | 71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |

首页 特效库 原文

79 |
80 | 81 | 141 | 142 | 143 | 144 | 145 | 146 | -------------------------------------------------------------------------------- /src/main/resources/static/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 29 | 30 |
31 |
32 |
33 |
34 |
35 | 36 |
37 |
38 |
39 | 内容1 40 |
41 |
42 | 内容2 43 |
44 |
45 | 内容3 46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | 54 |
55 |
56 |
57 |

亏损信息

58 |
59 |
    60 |
  • 61 |
    62 | 63 | % 64 |
    亏损率 65 |
    66 |
  • 67 |
  • 68 |
    69 | 70 | 亿元 71 |
    购买数 72 |
    73 |
  • 74 |
  • 75 |
    76 | 77 | 亿元 78 |
    中奖数 79 |
    80 |
  • 81 |
82 |
83 |
84 |
85 |

亏损数

86 |
87 |
    88 |
  • 89 |
    90 | 91 | 92 |
    异常 93 |
    94 |
  • 95 |
  • 96 |
    97 | 98 | 99 |
    正常 100 |
    101 |
  • 102 |
103 |
104 |
105 |
106 |

全省亏损数

107 |
108 |
    109 |
  • 110 |
    111 | 112 | 113 |
    异常 114 |
    115 |
  • 116 |
  • 117 |
    118 | 119 | 120 |
    正常 121 |
    122 |
  • 123 |
124 |
125 |
126 |
127 |
128 | 内容2 129 |
130 |
131 |
132 | 165 |
166 | 167 | 168 | 169 | 170 | 171 | 268 | -------------------------------------------------------------------------------- /src/main/resources/static/images/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/12.png -------------------------------------------------------------------------------- /src/main/resources/static/images/enter1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/enter1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/login.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/name.png -------------------------------------------------------------------------------- /src/main/resources/static/images/pwd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/pwd.png -------------------------------------------------------------------------------- /src/main/resources/static/js/demo.js: -------------------------------------------------------------------------------- 1 | //地图中的相关信息 2 | var leishan = { 3 | "type": "FeatureCollection", 4 | "features": [ 5 | { "type": "Feature", "properties": { "name": "汉东省" }, "cp": [108.081657, 26.386535], "geometry": { "type": "Polygon", "coordinates": [ 6 | [ 7 | [107.95921325683592, 26.468421692495475], 8 | [107.96504974365234, 26.45689602619487], 9 | [107.96934127807617, 26.45597392303744], 10 | [107.97105789184569, 26.455359183496455], 11 | [107.97277450561523, 26.45628129157713], 12 | [107.9732894897461, 26.457203392272916], 13 | [107.97431945800781, 26.4575107575304], 14 | [107.97569274902342, 26.458586529469574], 15 | [107.97603607177734, 26.460430686549703], 16 | [107.9765510559082, 26.464579931962085], 17 | [107.97706604003906, 26.468882695141307], 18 | [107.9817008972168, 26.472877974040784], 19 | [107.98582077026367, 26.47164867223187], 20 | [107.99131393432617, 26.461660108190568], 21 | [107.99509048461913, 26.461045399011418], 22 | [107.99989700317383, 26.476873114207926], 23 | [108.00127029418945, 26.47748773884226], 24 | [108.00195693969725, 26.47748773884226], 25 | [108.00264358520506, 26.4771804269356], 26 | [108.00333023071289, 26.476412143577075], 27 | [108.0040168762207, 26.47610482879695], 28 | [108.00504684448242, 26.476412143577075], 29 | [108.00624847412108, 26.476565800659287], 30 | [108.00745010375977, 26.476412143577075], 31 | [108.00968170166016, 26.483787451991393], 32 | [108.00830841064453, 26.488550420644028], 33 | [108.00796508789062, 26.489933181040094], 34 | [108.00762176513672, 26.491162287430537], 35 | [108.00727844238281, 26.492084108599812], 36 | [108.00693511962889, 26.493466826493897], 37 | [108.00779342651367, 26.49653947337672], 38 | [108.01071166992188, 26.50130191371093], 39 | [108.00865173339844, 26.504681590342642], 40 | [108.00830841064453, 26.507139474543607], 41 | [108.00933837890625, 26.509290080083385], 42 | [108.01105499267578, 26.510211755846658], 43 | [108.01311492919922, 26.510826202246957], 44 | [108.01345825195311, 26.513283954978828], 45 | [108.01586151123047, 26.513898384944184], 46 | [108.01826477050781, 26.513898384944184], 47 | [108.01963806152344, 26.512976738763484], 48 | [108.02135467529295, 26.510826202246957], 49 | [108.0230712890625, 26.512362303867505], 50 | [108.02547454833984, 26.512976738763484], 51 | [108.0282211303711, 26.513283954978828], 52 | [108.03010940551758, 26.513898384944184], 53 | [108.03199768066406, 26.514512811622374], 54 | [108.03268432617188, 26.514512811622374], 55 | [108.0340576171875, 26.514051991921896], 56 | [108.03543090820312, 26.513283954978828], 57 | [108.03611755371094, 26.51220869462992], 58 | [108.0366325378418, 26.51128703489018], 59 | [108.0369758605957, 26.510518979457657], 60 | [108.03731918334961, 26.509597306159495], 61 | [108.03903579711914, 26.508982853185575], 62 | [108.04040908813477, 26.508061167562076], 63 | [108.04161071777344, 26.5076003219772], 64 | [108.04229736328125, 26.506985858321602], 65 | [108.04298400878906, 26.505910539016046], 66 | [108.04435729980469, 26.505910539016046], 67 | [108.04504394531249, 26.50637139137945], 68 | [108.04624557495117, 26.506217774130377], 69 | [108.04693222045898, 26.505756921150788], 70 | [108.04847717285156, 26.504835209645716], 71 | [108.04967880249022, 26.503759870210864], 72 | [108.05036544799805, 26.502684520711796], 73 | [108.0501937866211, 26.501609161148814], 74 | [108.0508804321289, 26.500687416370663], 75 | [108.05122375488281, 26.499765664198993], 76 | [108.05105209350586, 26.49853664980271], 77 | [108.05105209350586, 26.49715399289655], 78 | [108.05122375488281, 26.49607858158065], 79 | [108.05122375488281, 26.494849527755743], 80 | [108.05122375488281, 26.493927728762568], 81 | [108.05070877075195, 26.492852287260966], 82 | [108.05002212524414, 26.492084108599812], 83 | [108.0501937866211, 26.491008649850368], 84 | [108.05328369140624, 26.489164982873184], 85 | [108.0556869506836, 26.48885770216924], 86 | [108.05671691894531, 26.487628571141023], 87 | [108.05791854858398, 26.48716764361786], 88 | [108.05912017822266, 26.487321286330882], 89 | [108.06083679199217, 26.487628571141023], 90 | [108.0618667602539, 26.487628571141023], 91 | [108.06255340576172, 26.486860357575928], 92 | [108.06358337402344, 26.485784849962197], 93 | [108.06444168090819, 26.485016624079222], 94 | [108.06564331054688, 26.484248393063975], 95 | [108.0673599243164, 26.483787451991393], 96 | [108.06838989257811, 26.482711915637104], 97 | [108.06976318359375, 26.482404617688346], 98 | [108.07130813598633, 26.482404617688346], 99 | [108.072509765625, 26.48148271891547], 100 | [108.07371139526367, 26.480714464293104], 101 | [108.07456970214844, 26.480253509056467], 102 | [108.07594299316405, 26.480253509056467], 103 | [108.07748794555664, 26.47871697825887], 104 | [108.07697296142577, 26.476873114207926], 105 | [108.07783126831055, 26.47579751319586], 106 | [108.07886123657227, 26.475029220601435], 107 | [108.07954788208008, 26.473953602349287], 108 | [108.08092117309569, 26.47333895883294], 109 | [108.08212280273438, 26.472570649819907], 110 | [108.08332443237305, 26.471955998915437], 111 | [108.0845260620117, 26.471955998915437], 112 | [108.08572769165039, 26.472263324778115], 113 | [108.08727264404297, 26.471955998915437], 114 | [108.0889892578125, 26.472416987401616], 115 | [108.08916091918945, 26.47333895883294], 116 | [108.09087753295898, 26.473799941778033], 117 | [108.09139251708983, 26.47472190212698], 118 | [108.0919075012207, 26.475490196773805], 119 | [108.09207916259764, 26.47748773884226], 120 | [108.09225082397461, 26.478870632262304], 121 | [108.09276580810547, 26.479638899200566], 122 | [108.0919075012207, 26.48148271891547], 123 | [108.09104919433594, 26.48332650907124], 124 | [108.09122085571289, 26.48455568608595], 125 | [108.09242248535155, 26.48563120519619], 126 | [108.09276580810547, 26.486399426973275], 127 | [108.09362411499023, 26.48701400069955], 128 | [108.09431076049805, 26.487474928838598], 129 | [108.0948257446289, 26.488704061509303], 130 | [108.09534072875975, 26.489472262755907], 131 | [108.09637069702147, 26.490547735877893], 132 | [108.09843063354492, 26.48962590238929], 133 | [108.09963226318358, 26.489318622917214], 134 | [108.10057640075684, 26.489318622917214], 135 | [108.10160636901854, 26.48939544286222], 136 | [108.10212135314941, 26.48939544286222], 137 | [108.10315132141113, 26.489472262755907], 138 | [108.10366630554199, 26.489933181040094], 139 | [108.10418128967285, 26.490394097476404], 140 | [108.10478210449219, 26.490624555001606], 141 | [108.10529708862305, 26.490624555001606], 142 | [108.1058120727539, 26.491085468666128], 143 | [108.10641288757324, 26.491085468666128], 144 | [108.10709953308105, 26.490931830983264], 145 | [108.10830116271973, 26.490931830983264], 146 | [108.10898780822754, 26.490547735877893], 147 | [108.10950279235838, 26.49047091670281], 148 | [108.10976028442383, 26.490086820057517], 149 | [108.1101894378662, 26.48970272212896], 150 | [108.11044692993164, 26.48939544286222], 151 | [108.11079025268555, 26.48924180292086], 152 | [108.11121940612793, 26.48924180292086], 153 | [108.11190605163574, 26.48939544286222], 154 | [108.1124210357666, 26.489164982873184], 155 | [108.11293601989746, 26.48901134262387], 156 | [108.1134510040283, 26.488780881864933], 157 | [108.11362266540527, 26.489164982873184], 158 | [108.11396598815918, 26.489472262755907], 159 | [108.1149959564209, 26.48939544286222], 160 | [108.11559677124023, 26.48924180292086], 161 | [108.11628341674805, 26.48885770216924], 162 | [108.11722755432129, 26.48847360013441], 163 | [108.11808586120605, 26.488166317582667], 164 | [108.11954498291016, 26.487859034209677], 165 | [108.12040328979492, 26.487628571141023], 166 | [108.12057495117188, 26.48716764361786], 167 | [108.12143325805664, 26.487321286330882], 168 | [108.1222915649414, 26.487782213238116], 169 | [108.12237739562988, 26.488319958961206], 170 | [108.1208324432373, 26.488934522422227], 171 | [108.12091827392578, 26.48962590238929], 172 | [108.12108993530273, 26.490163639489236], 173 | [108.12143325805664, 26.490547735877893], 174 | [108.1219482421875, 26.491008649850368], 175 | [108.12211990356445, 26.491392743415844], 176 | [108.12246322631836, 26.49185365400047], 177 | [108.12289237976074, 26.49231456273714], 178 | [108.12323570251465, 26.4926986519394], 179 | [108.1248664855957, 26.493927728762568], 180 | [108.12623977661133, 26.493620460788808], 181 | [108.12761306762694, 26.494234995915008], 182 | [108.12898635864258, 26.4953104244802], 183 | [108.13018798828125, 26.496232212384687], 184 | [108.13121795654295, 26.497000363324634], 185 | [108.1325912475586, 26.49776850913066], 186 | [108.1329345703125, 26.498690277321028], 187 | [108.13396453857422, 26.499765664198993], 188 | [108.13482284545897, 26.500072915744372], 189 | [108.13602447509766, 26.500380166468254], 190 | [108.13739776611328, 26.50237727614931], 191 | [108.13756942749023, 26.503606249470028], 192 | [108.13516616821288, 26.505756921150788], 193 | [108.13482284545897, 26.506832241894184], 194 | [108.13396453857422, 26.508061167562076], 195 | [108.13413619995117, 26.509290080083385], 196 | [108.13447952270506, 26.510058143733012], 197 | [108.1358528137207, 26.511440645360395], 198 | [108.13705444335938, 26.512669521726384], 199 | [108.13756942749023, 26.513591170372397], 200 | [108.13756942749023, 26.514820023728774], 201 | [108.13756942749023, 26.5158952596294], 202 | [108.13688278198242, 26.51681688238852], 203 | [108.13619613647461, 26.517738497750972], 204 | [108.13533782958984, 26.518660105716574], 205 | [108.13533782958984, 26.519581706285194], 206 | [108.13653945922852, 26.522192867724723], 207 | [108.13739776611328, 26.52326803458581], 208 | [108.13688278198242, 26.524650377182763], 209 | [108.13619613647461, 26.525571929666384], 210 | [108.13671112060547, 26.52633988441789], 211 | [108.13636779785156, 26.52772219002311], 212 | [108.13550949096678, 26.528490130388352], 213 | [108.13533782958984, 26.530025995704296], 214 | [108.13508033752441, 26.531408256915512], 215 | [108.13508033752441, 26.532022589887564], 216 | [108.13559532165527, 26.53263691957087], 217 | [108.13576698303223, 26.533097664675125], 218 | [108.13593864440918, 26.53371198860308], 219 | [108.13611030578613, 26.53409593938793], 220 | [108.13662528991699, 26.53486383710344], 221 | [108.13705444335938, 26.535017416029856], 222 | [108.13756942749023, 26.534710257971458], 223 | [108.13859939575195, 26.53394235922815], 224 | [108.1395435333252, 26.53348161751551], 225 | [108.14048767089844, 26.53355840792942], 226 | [108.14151763916016, 26.533788778862824], 227 | [108.14229011535645, 26.5338655690712], 228 | [108.14289093017578, 26.533635198291936], 229 | [108.14349174499512, 26.53424951934215], 230 | [108.14400672912598, 26.534940626592345], 231 | [108.14452171325684, 26.535324573266013], 232 | [108.14512252807617, 26.53555494065353], 233 | [108.14555168151855, 26.53570851865494], 234 | [108.14623832702637, 26.536015674041032], 235 | [108.1468391418457, 26.536937135265685], 236 | [108.14701080322264, 26.537781801553756], 237 | [108.14692497253418, 26.538396100402778], 238 | [108.14692497253418, 26.538933609197446], 239 | [108.14735412597656, 26.539163969338542], 240 | [108.14795494079588, 26.53924075594943], 241 | [108.14838409423828, 26.53924075594943], 242 | [108.14838409423828, 26.538933609197446], 243 | [108.14846992492676, 26.538549674601082], 244 | [108.14829826354979, 26.53785858908975], 245 | [108.14812660217285, 26.53747465089577], 246 | [108.14829826354979, 26.537013923367006], 247 | [108.14881324768066, 26.537013923367006], 248 | [108.14915657043457, 26.537551438637358], 249 | [108.14949989318848, 26.53793537657437], 250 | [108.14992904663085, 26.539010395962553], 251 | [108.15061569213866, 26.539163969338542], 252 | [108.15173149108887, 26.540162191271314], 253 | [108.15250396728516, 26.540622906156816], 254 | [108.15301895141602, 26.541083619191998], 255 | [108.1534481048584, 26.5416979003606], 256 | [108.15422058105467, 26.542005039711302], 257 | [108.15482139587402, 26.542312178239644], 258 | [108.15516471862793, 26.542542531596183], 259 | [108.15585136413573, 26.542926452829075], 260 | [108.15645217895508, 26.543387156612305], 261 | [108.15679550170898, 26.54346394039629], 262 | [108.15765380859375, 26.54392464202066], 263 | [108.15825462341309, 26.544308558627424], 264 | [108.15885543823241, 26.54453890797463], 265 | [108.15945625305176, 26.545383518289697], 266 | [108.16031455993652, 26.546074558466575], 267 | [108.16065788269043, 26.54630490426693], 268 | [108.16125869750977, 26.54630490426693], 269 | [108.16177368164061, 26.546458467876786], 270 | [108.16237449645996, 26.54699593889201], 271 | [108.16280364990233, 26.547610188396487], 272 | [108.16323280334473, 26.548070873365717], 273 | [108.16357612609863, 26.548608336824095], 274 | [108.16426277160645, 26.548070873365717], 275 | [108.16529273986816, 26.54722628284174], 276 | [108.16615104675293, 26.546535249604606], 277 | [108.16632270812988, 26.546074558466575], 278 | [108.16640853881835, 26.5455370831333], 279 | [108.16640853881835, 26.544846039717957], 280 | [108.16640853881835, 26.544462124910293], 281 | [108.16692352294922, 26.544308558627424], 282 | [108.1673526763916, 26.543771075018142], 283 | [108.1676959991455, 26.54354072412885], 284 | [108.16812515258789, 26.542926452829075], 285 | [108.1688117980957, 26.542926452829075], 286 | [108.16924095153809, 26.54269610024353], 287 | [108.17001342773436, 26.5424657471954], 288 | [108.17052841186523, 26.5420818244205], 289 | [108.17121505737305, 26.54185147013875], 290 | [108.17155838012695, 26.541621115394417], 291 | [108.17241668701172, 26.541083619191998], 292 | [108.17276000976562, 26.540238977214056], 293 | [108.17318916320801, 26.540238977214056], 294 | [108.17396163940428, 26.540469334733917], 295 | [108.17430496215819, 26.540930048385846], 296 | [108.17499160766602, 26.541083619191998], 297 | [108.1757640838623, 26.541083619191998], 298 | [108.17619323730469, 26.541313975015708], 299 | [108.17679405212402, 26.54185147013875], 300 | [108.17705154418945, 26.542312178239644], 301 | [108.17730903625488, 26.542772884490116], 302 | [108.1775665283203, 26.54346394039629], 303 | [108.17816734313965, 26.544001425444808], 304 | [108.17876815795898, 26.544615690987573], 305 | [108.17893981933594, 26.5452299532405], 306 | [108.17928314208984, 26.545920994342666], 307 | [108.17996978759766, 26.546688812906023], 308 | [108.17996978759766, 26.547072720259994], 309 | [108.17996978759766, 26.548147654014002], 310 | [108.17971229553223, 26.548761897349525], 311 | [108.17893981933594, 26.548915457669338], 312 | [108.17851066589355, 26.548992237752124], 313 | [108.17773818969727, 26.550374270451247], 314 | [108.17760944366455, 26.55079655489801], 315 | [108.17550659179688, 26.552101787900938], 316 | [108.1752061843872, 26.55233212159437], 317 | [108.17477703094482, 26.553061508570867], 318 | [108.17447662353516, 26.55352217163895], 319 | [108.17421913146973, 26.55390605611509], 320 | [108.17383289337158, 26.554443492222223], 321 | [108.17344665527344, 26.554980925809954], 322 | [108.17301750183105, 26.555403193289983], 323 | [108.17276000976562, 26.55559513253945], 324 | [108.17254543304443, 26.555748683707666], 325 | [108.1737470626831, 26.556554823966394], 326 | [108.17584991455078, 26.557783217269225], 327 | [108.17675113677979, 26.558167087476786], 328 | [108.17735195159912, 26.558359022098497], 329 | [108.17769527435303, 26.55855095639882], 330 | [108.17808151245117, 26.55881966387933], 331 | [108.17838191986084, 26.559126757371423], 332 | [108.17889690399169, 26.559241917218845], 333 | [108.17941188812256, 26.559510623079564], 334 | [108.17966938018799, 26.559779328310334], 335 | [108.18018436431883, 26.559779328310334], 336 | [108.18112850189209, 26.559740941887345], 337 | [108.1818151473999, 26.55966416900284], 338 | [108.18211555480957, 26.559894487502103], 339 | [108.18233013153076, 26.560163191832952], 340 | [108.18267345428467, 26.560316736882033], 341 | [108.18318843841551, 26.560585440222965], 342 | [108.18374633789062, 26.56073898470639], 343 | [108.184175491333, 26.560930915021398], 344 | [108.18511962890624, 26.561161230975124], 345 | [108.18580627441405, 26.561314774687176], 346 | [108.18623542785645, 26.56139154646604], 347 | [108.18666458129883, 26.56154508986953], 348 | [108.1874370574951, 26.56173701883461], 349 | [108.18919658660889, 26.562274418226924], 350 | [108.18992614746094, 26.562543116978084], 351 | [108.19039821624754, 26.562735044271797], 352 | [108.19048404693604, 26.56296535659997], 353 | [108.19052696228027, 26.563234053731186], 354 | [108.19065570831299, 26.563464365056518], 355 | [108.19074153900145, 26.56377144610361], 356 | [108.1907844543457, 26.56415529625533], 357 | [108.19074153900145, 26.56446237545098], 358 | [108.19074153900145, 26.56496137738887], 359 | [108.19069862365723, 26.565230069839988], 360 | [108.19069862365723, 26.5654603771538], 361 | [108.19069862365723, 26.565767452852164], 362 | [108.19069862365723, 26.565997759085914], 363 | [108.19082736968994, 26.566266449106912], 364 | [108.19108486175536, 26.566458370164725], 365 | [108.19125652313232, 26.566688675009818], 366 | [108.19142818450928, 26.56703413140948], 367 | [108.1916856765747, 26.567149283311267], 368 | [108.19194316864014, 26.567110899356845], 369 | [108.1923723220825, 26.56703413140948], 370 | [108.19271564483641, 26.56699574741651], 371 | [108.19297313690186, 26.566880595360427], 372 | [108.19335937499999, 26.56684221131601], 373 | [108.19361686706543, 26.56672705910566], 374 | [108.1939172744751, 26.566688675009818], 375 | [108.19421768188477, 26.566611906779535], 376 | [108.19451808929443, 26.566535138497855], 377 | [108.19511890411377, 26.566381601780172], 378 | [108.19576263427734, 26.566419985978886], 379 | [108.19640636444092, 26.566343217568612], 380 | [108.196964263916, 26.566343217568612], 381 | [108.1973934173584, 26.566266449106912], 382 | [108.19799423217773, 26.566228064856773], 383 | [108.19838047027588, 26.566189680593762], 384 | [108.19880962371826, 26.566036143413196], 385 | [108.1994104385376, 26.56592099039277], 386 | [108.20001125335693, 26.566036143413196], 387 | [108.20091247558592, 26.566151296317926], 388 | [108.20138454437256, 26.566266449106912], 389 | [108.20164203643799, 26.566381601780172], 390 | [108.20194244384766, 26.5666502909011], 391 | [108.20211410522461, 26.56684221131601], 392 | [108.20241451263428, 26.56718766725279], 393 | [108.20284366607666, 26.567149283311267], 394 | [108.20348739624023, 26.56699574741651], 395 | [108.20503234863281, 26.56657352264512], 396 | [108.20554733276366, 26.566189680593762], 397 | [108.20687770843506, 26.565498761661104], 398 | [108.20777893066406, 26.564999762063316], 399 | [108.20825099945068, 26.5646542995304], 400 | [108.2085084915161, 26.564347220849054], 401 | [108.20910930633545, 26.563310824224395], 402 | [108.20906639099121, 26.560930915021398], 403 | [108.21146965026854, 26.55881966387933], 404 | [108.21202754974365, 26.55881966387933], 405 | [108.21576118469238, 26.555671908149282], 406 | [108.21820735931396, 26.55517286576642], 407 | [108.22112560272217, 26.55206339890707], 408 | [108.22271347045898, 26.55206339890707], 409 | [108.2233142852783, 26.551449173256753], 410 | [108.22966575622559, 26.551372394819104], 411 | [108.2324981689453, 26.549299357569183], 412 | [108.23258399963379, 26.548147654014002], 413 | [108.22975158691406, 26.544462124910293], 414 | [108.23103904724121, 26.543156804951995], 415 | [108.23095321655273, 26.542158609078268], 416 | [108.22957992553711, 26.540622906156816], 417 | [108.22957992553711, 26.53962468823297], 418 | [108.22889328002928, 26.538933609197446], 419 | [108.22906494140625, 26.537781801553756], 420 | [108.23172569274902, 26.535785307578546], 421 | [108.23112487792969, 26.531408256915512], 422 | [108.23232650756836, 26.530179581105457], 423 | [108.23232650756836, 26.529104478981075], 424 | [108.23335647583008, 26.528106160848], 425 | [108.23490142822266, 26.52941165204426], 426 | [108.23661804199219, 26.529718824285357], 427 | [108.2376480102539, 26.52987241009757], 428 | [108.23893547058105, 26.531177881203106], 429 | [108.2402229309082, 26.531177881203106], 430 | [108.24348449707031, 26.528259748818282], 431 | [108.24417114257812, 26.52226966569159], 432 | [108.24614524841309, 26.520272901857233], 433 | [108.24691772460938, 26.518045701228043], 434 | [108.24468612670897, 26.515972061808487], 435 | [108.24382781982422, 26.515664852783917], 436 | [108.2431411743164, 26.51535764293749], 437 | [108.24254035949707, 26.51520403770611], 438 | [108.24125289916992, 26.514051991921896], 439 | [108.23936462402344, 26.512669521726384], 440 | [108.23653221130371, 26.507446706371407], 441 | [108.23751926422119, 26.507254686575333], 442 | [108.23824882507324, 26.507830745000735], 443 | [108.2402229309082, 26.507830745000735], 444 | [108.24301242828368, 26.505987347871656], 445 | [108.24979305267334, 26.506025752280227], 446 | [108.25138092041016, 26.504681590342642], 447 | [108.25322628021239, 26.5047968048392], 448 | [108.25541496276855, 26.50349103377962], 449 | [108.25884819030762, 26.50291495359454], 450 | [108.25987815856934, 26.50191640776515], 451 | [108.2598352432251, 26.500188134862093], 452 | [108.2616376876831, 26.49853664980271], 453 | [108.26223850250244, 26.49857505670155], 454 | [108.26429843902588, 26.496731511079624], 455 | [108.26640129089355, 26.494926344004817], 456 | [108.26777458190918, 26.494350220885405], 457 | [108.26854705810547, 26.494273404251306], 458 | [108.2697057723999, 26.494311812574754], 459 | [108.27047824859619, 26.494350220885405], 460 | [108.27365398406982, 26.49154638048272], 461 | [108.27361106872557, 26.48851201039563], 462 | [108.27425479888915, 26.48782062373032], 463 | [108.27421188354492, 26.486015316726277], 464 | [108.27369689941406, 26.485439148949993], 465 | [108.27614307403564, 26.483787451991393], 466 | [108.27944755554199, 26.483211273052532], 467 | [108.2809066772461, 26.4819820816681], 468 | [108.28288078308105, 26.481444306306237], 469 | [108.28948974609375, 26.475374952903888], 470 | [108.29017639160156, 26.47418409282132], 471 | [108.29009056091309, 26.471879167321507], 472 | [108.29468250274658, 26.468921111945082], 473 | [108.29665660858154, 26.46922844591367], 474 | [108.2973003387451, 26.46965102878023], 475 | [108.29811573028564, 26.469074779031995], 476 | [108.3000898361206, 26.46911319577165], 477 | [108.30279350280762, 26.471610256338725], 478 | [108.30485343933104, 26.471533424513915], 479 | [108.3097457885742, 26.469074779031995], 480 | [108.31244945526123, 26.469151612498482], 481 | [108.31416606903076, 26.467538098928934], 482 | [108.31408023834229, 26.466385575385587], 483 | [108.31558227539062, 26.464964113786348], 484 | [108.31545352935791, 26.463312122843632], 485 | [108.31686973571777, 26.460661204107517], 486 | [108.32090377807617, 26.45785654246424], 487 | [108.32163333892821, 26.453361257321596], 488 | [108.3202600479126, 26.451632254767517], 489 | [108.32017421722412, 26.445522904512742], 490 | [108.31820011138916, 26.441718805755013], 491 | [108.3193588256836, 26.44079658107859], 492 | [108.32120418548584, 26.44083500725416], 493 | [108.32343578338623, 26.439605363279494], 494 | [108.32476615905762, 26.439605363279494], 495 | [108.32785606384276, 26.43676176132711], 496 | [108.32849979400633, 26.434071803003853], 497 | [108.32819938659667, 26.433994946129168], 498 | [108.32789897918701, 26.4337643751976], 499 | [108.32764148712158, 26.43353380380475], 500 | [108.32738399505615, 26.433303231950617], 501 | [108.32712650299072, 26.433149517124953], 502 | [108.32704067230225, 26.432880515686687], 503 | [108.32648277282715, 26.431266493872716], 504 | [108.3323621749878, 26.42788466059514], 505 | [108.33257675170898, 26.42715447902352], 506 | [108.33257675170898, 26.427000755998083], 507 | [108.33201885223389, 26.42669330933226], 508 | [108.33030223846436, 26.426116844623976], 509 | [108.32661151885986, 26.423618797580616], 510 | [108.32592487335205, 26.423580365664904], 511 | [108.32515239715576, 26.423580365664904], 512 | [108.32395076751709, 26.423618797580616], 513 | [108.3235216140747, 26.423618797580616], 514 | [108.3209466934204, 26.422350537598614], 515 | [108.31721305847168, 26.422965453271384], 516 | [108.31442356109619, 26.41927591004727], 517 | [108.31326484680176, 26.419314343397613], 518 | [108.31236362457275, 26.41992927526109], 519 | [108.30824375152588, 26.419890842115674], 520 | [108.30652713775635, 26.418391939454363], 521 | [108.30579757690428, 26.415240336985207], 522 | [108.30446720123291, 26.414164160321267], 523 | [108.30305099487305, 26.411473674735017], 524 | [108.30317974090575, 26.41097400621729], 525 | [108.30305099487305, 26.410282153927657], 526 | [108.30180644989014, 26.408552505052096], 527 | [108.30691337585449, 26.405785012917846], 528 | [108.30948829650879, 26.408783126400365], 529 | [108.3103895187378, 26.409282804406853], 530 | [108.31103324890137, 26.409474987679292], 531 | [108.31463813781738, 26.409551860898613], 532 | [108.3211612701416, 26.404016858193206], 533 | [108.32176208496094, 26.401710528707707], 534 | [108.32399368286133, 26.39967323265838], 535 | [108.32296371459961, 26.397174612937143], 536 | [108.32056045532227, 26.397751222288687], 537 | [108.32021713256836, 26.397366816374348], 538 | [108.32013130187988, 26.395098795423742], 539 | [108.32253456115723, 26.39275384555818], 540 | [108.32249164581299, 26.392369423003533], 541 | [108.32236289978027, 26.392215653623317], 542 | [108.31837177276611, 26.39194655671513], 543 | [108.3166980743408, 26.392523192179], 544 | [108.3163547515869, 26.392523192179], 545 | [108.31609725952148, 26.392561634440852], 546 | [108.3158826828003, 26.392523192179], 547 | [108.31566810607909, 26.392446307616876], 548 | [108.31545352935791, 26.39233098067769], 549 | [108.31515312194824, 26.392292538339024], 550 | [108.31343650817871, 26.392561634440852], 551 | [108.31240653991698, 26.39194655671513], 552 | [108.30978870391844, 26.391908114248476], 553 | [108.30897331237793, 26.391639016623543], 554 | [108.30562591552734, 26.392830729915527], 555 | [108.30390930175781, 26.392869172074988], 556 | [108.302321434021, 26.391908114248476], 557 | [108.30219268798827, 26.391139262227636], 558 | [108.30034732818604, 26.38952465631984], 559 | [108.29978942871094, 26.389486213046876], 560 | [108.29811573028564, 26.388140690429935], 561 | [108.2977294921875, 26.387794696365876], 562 | [108.29699993133545, 26.387640920893546], 563 | [108.29622745513916, 26.386833596304445], 564 | [108.29579830169678, 26.386180043693972], 565 | [108.29137802124022, 26.38329667920411], 566 | [108.29129219055176, 26.38283533420597], 567 | [108.28657150268555, 26.378913827327477], 568 | [108.28652858734131, 26.378067994665887], 569 | [108.28648567199707, 26.377606628785827], 570 | [108.28635692596436, 26.377183708443994], 571 | [108.28614234924316, 26.376837681558264], 572 | [108.28597068786621, 26.376453206025374], 573 | [108.2858419418335, 26.375991833697082], 574 | [108.28579902648926, 26.375607355349555], 575 | [108.28597068786621, 26.375338219745032], 576 | [108.28635692596436, 26.37495373922259], 577 | [108.28644275665282, 26.37472305029504], 578 | [108.2861852645874, 26.374184774339668], 579 | [108.28601360321045, 26.373915635421696], 580 | [108.28588485717773, 26.37360804731928], 581 | [108.28579902648926, 26.373338907058045], 582 | [108.2858419418335, 26.373108214906633], 583 | [108.28597068786621, 26.372915971095313], 584 | [108.28614234924316, 26.372608380331997], 585 | [108.28588485717773, 26.36987847643138], 586 | [108.2861852645874, 26.36930172791991], 587 | [108.28639984130858, 26.368878777182307], 588 | [108.28665733337402, 26.368571175673726], 589 | [108.28678607940674, 26.368071321476265], 590 | [108.28717231750488, 26.367648366236164], 591 | [108.28717231750488, 26.367186958754527], 592 | [108.28721523284912, 26.366456393141743], 593 | [108.2873010635376, 26.366264138265684], 594 | [108.28858852386475, 26.365033699486993], 595 | [108.28845977783203, 26.364726087745904], 596 | [108.28833103179932, 26.364264668599468], 597 | [108.28815937042236, 26.363995506580185], 598 | [108.28794479370117, 26.363764795779144], 599 | [108.2876443862915, 26.36353408451769], 600 | [108.28751564025879, 26.363264920797395], 601 | [108.28721523284912, 26.361573020206013], 602 | [108.2882022857666, 26.360227172509465], 603 | [108.28815937042236, 26.35868904167371], 604 | [108.28790187835693, 26.355574264065165], 605 | [108.28923225402832, 26.352690135920867], 606 | [108.29009056091309, 26.351690288042743], 607 | [108.2905626296997, 26.351228816876194], 608 | [108.29094886779785, 26.350767343868565], 609 | [108.29150676727295, 26.350498150430543], 610 | [108.29215049743652, 26.349882848791225], 611 | [108.29300880432127, 26.349344457172005], 612 | [108.29378128051758, 26.34872914939597], 613 | [108.29472541809082, 26.348229209418086], 614 | [108.29519748687744, 26.34769081010256], 615 | [108.2969570159912, 26.345229524180123], 616 | [108.2957124710083, 26.340460633706236], 617 | [108.29588413238525, 26.338960700106853], 618 | [108.2960557937622, 26.337729970839195], 619 | [108.29609870910645, 26.33684537609419], 620 | [108.29635620117188, 26.336037696726805], 621 | [108.29712867736816, 26.33415308961844], 622 | [108.29820156097412, 26.33184536565599], 623 | [108.2988452911377, 26.330614560732197], 624 | [108.3003044128418, 26.3277298104197], 625 | [108.30116271972656, 26.324075690180795], 626 | [108.30116271972656, 26.32361410889548], 627 | [108.30099105834961, 26.32307559507075], 628 | [108.30077648162842, 26.322537078741956], 629 | [108.30056190490721, 26.321921628442905], 630 | [108.30043315887451, 26.321460038572354], 631 | [108.3000898361206, 26.320767650317222], 632 | [108.2994031906128, 26.31992139238443], 633 | [108.29854488372803, 26.31892126140152], 634 | [108.29777240753174, 26.318151923999995], 635 | [108.29721450805664, 26.317728786251173], 636 | [108.29652786254883, 26.31722871237346], 637 | [108.29532623291014, 26.31653629882508], 638 | [108.29416751861572, 26.315805413367425], 639 | [108.29343795776367, 26.31522839527524], 640 | [108.29270839691162, 26.314843714950456], 641 | [108.29172134399414, 26.31449750156611], 642 | [108.29107761383057, 26.314305160349946], 643 | [108.28996181488037, 26.313958945356212], 644 | [108.28888893127441, 26.313535792292175], 645 | [108.28751564025879, 26.3131511063474], 646 | [108.28721523284912, 26.31303570031492], 647 | [108.28712940216064, 26.312766419125392], 648 | [108.28601360321045, 26.310535208051274], 649 | [108.2858419418335, 26.30984275449933], 650 | [108.28571319580078, 26.308881006590436], 651 | [108.28558444976807, 26.307111369583296], 652 | [108.28545570373534, 26.30568794629472], 653 | [108.28536987304688, 26.304302977126273], 654 | [108.2854127883911, 26.30303340751722], 655 | [108.28567028045654, 26.30153298914263], 656 | [108.28592777252197, 26.299917132250894], 657 | [108.28614234924316, 26.297377883059536], 658 | [108.28614234924316, 26.2942229808368], 659 | [108.28614234924316, 26.291837509973526], 660 | [108.28627109527588, 26.290067612785567], 661 | [108.28652858734131, 26.288259211674927], 662 | [108.28704357147217, 26.28406515164657], 663 | [108.28682899475098, 26.282564487830555], 664 | [108.28639984130858, 26.27983246027928], 665 | [108.28609943389891, 26.277523654451105], 666 | [108.28605651855469, 26.27648467684133], 667 | [108.28635692596436, 26.274983914983117], 668 | [108.28657150268555, 26.27371402440643], 669 | [108.28678607940674, 26.272290191176417], 670 | [108.28708648681639, 26.27125116671496], 671 | [108.2874298095703, 26.270289098735656], 672 | [108.28803062438965, 26.268788256766292], 673 | [108.28850269317627, 26.267672233492434], 674 | [108.28871726989745, 26.261091326400592], 675 | [108.28854560852051, 26.260783438573387], 676 | [108.28751564025879, 26.25978279749757], 677 | [108.28627109527588, 26.258474253850697], 678 | [108.2850694656372, 26.257088720978423], 679 | [108.28425407409668, 26.256472923285344], 680 | [108.28339576721191, 26.255818634659228], 681 | [108.28206539154053, 26.254817950808103], 682 | [108.28073501586914, 26.253855746667675], 683 | [108.27974796295166, 26.25304748903042], 684 | [108.27640056610107, 26.248582726472822], 685 | [108.27618598937988, 26.248313295656825], 686 | [108.27567100524902, 26.24588839019907], 687 | [108.27515602111816, 26.24330946696629], 688 | [108.27489852905272, 26.241731291687802], 689 | [108.27459812164305, 26.239575700586396], 690 | [108.27476978302002, 26.236650191580235], 691 | [108.27511310577393, 26.233262668122553], 692 | [108.27489852905272, 26.230683464764965], 693 | [108.27481269836426, 26.227719235028474], 694 | [108.27459812164305, 26.22506291302477], 695 | [108.27434062957764, 26.222868514307283], 696 | [108.27404022216797, 26.221213063318874], 697 | [108.27343940734863, 26.217555588084405], 698 | [108.27198028564452, 26.214822031517368], 699 | [108.27047824859619, 26.212203917136687], 700 | [108.26923370361328, 26.210047778714546], 701 | [108.26798915863036, 26.20800711091648], 702 | [108.2664442062378, 26.206197432183565], 703 | [108.26524257659912, 26.204849780808527], 704 | [108.26313972473145, 26.20330958870541], 705 | [108.2621955871582, 26.202500979694488], 706 | [108.26150894165039, 26.2020389148811], 707 | [108.26116561889648, 26.201730870653403], 708 | [108.25674533843994, 26.200652709438426], 709 | [108.25627326965332, 26.200498685592716], 710 | [108.25292587280273, 26.201191791293866], 711 | [108.25206756591797, 26.20130730850961], 712 | [108.25150966644287, 26.201461331285635], 713 | [108.25095176696777, 26.2016153538579], 714 | [108.24970722198486, 26.201961903900578], 715 | [108.24876308441162, 26.202269947517024], 716 | [108.24743270874023, 26.202809021884672], 717 | [108.24468612670897, 26.203771648475836], 718 | [108.24125289916992, 26.204849780808527], 719 | [108.24099540710449, 26.20488828535004], 720 | [108.24018001556396, 26.204734267107604], 721 | [108.2389783859253, 26.204503239361898], 722 | [108.23842048645018, 26.20438772531709], 723 | [108.23803424835205, 26.20438772531709], 724 | [108.23374271392822, 26.202462474363436], 725 | [108.23048114776611, 26.197764728428353], 726 | [108.23030948638916, 26.196840559378092], 727 | [108.23005199432373, 26.19568533775179], 728 | [108.22983741760252, 26.19472264430974], 729 | [108.22962284088135, 26.193721434688754], 730 | [108.22927951812744, 26.19283574208052], 731 | [108.22906494140625, 26.192296621543303], 732 | [108.22636127471924, 26.18694378941049], 733 | [108.22477340698242, 26.184710160832072], 734 | [108.22219848632812, 26.181013026338412], 735 | [108.21889400482178, 26.175852246649914], 736 | [108.21786403656006, 26.174658302384362], 737 | [108.216233253479, 26.1730406809687], 738 | [108.21434497833252, 26.170845301716813], 739 | [108.21288585662842, 26.1686498811254], 740 | [108.21232795715332, 26.167494379999916], 741 | [108.21541786193846, 26.164682612764587], 742 | [108.21670532226561, 26.16406632595637], 743 | [108.21752071380615, 26.16371966319557], 744 | [108.21919441223145, 26.16306485294714], 745 | [108.22056770324707, 26.16252559468794], 746 | [108.22151184082031, 26.16179374020532], 747 | [108.22267055511475, 26.161100400143678], 748 | [108.2234001159668, 26.16056113280193], 749 | [108.22443008422852, 26.15982926599316], 750 | [108.22481632232666, 26.159135914254378], 751 | [108.22554588317871, 26.157672158161002], 752 | [108.22610378265381, 26.15616986307246], 753 | [108.22649002075195, 26.146192592077664], 754 | [108.22494506835936, 26.13910397398148], 755 | [108.2237434387207, 26.134326619015948], 756 | [108.22151184082031, 26.129394950819087], 757 | [108.21945190429688, 26.124463074388967], 758 | [108.2182502746582, 26.121226417329222], 759 | [108.21893692016602, 26.11706486936714], 760 | [108.22099685668944, 26.11475283424124], 761 | [108.22305679321289, 26.11182419075849], 762 | [108.2259750366211, 26.107508161358798], 763 | [108.22700500488281, 26.10427103474491], 764 | [108.22700500488281, 26.102267054311064], 765 | [108.22614669799805, 26.09933809805745], 766 | [108.22546005249023, 26.097334033094253], 767 | [108.22185516357422, 26.094096624851257], 768 | [108.21739196777342, 26.08947160051824], 769 | [108.2156753540039, 26.08237954147195], 770 | [108.2149887084961, 26.078062425554656], 771 | [108.21464538574219, 26.074361913766005], 772 | [108.21395874023438, 26.07343676754388], 773 | [108.21052551269531, 26.069736109561056], 774 | [108.20777893066406, 26.064801717009296], 775 | [108.20365905761719, 26.057399738435414], 776 | [108.19816589355469, 26.05061418062293], 777 | [108.1878662109375, 26.04382822995892], 778 | [108.18374633789062, 26.038892746404027], 779 | [108.1768798828125, 26.03704188651584], 780 | [108.17070007324219, 26.034574027894717], 781 | [108.16658020019531, 26.035190997418077], 782 | [108.16246032714842, 26.03765884305748], 783 | [108.15971374511719, 26.04259437854576], 784 | [108.15765380859375, 26.04752970629009], 785 | [108.15628051757812, 26.05308170164881], 786 | [108.15628051757812, 26.057399738435414], 787 | [108.15628051757812, 26.0629512662096], 788 | [108.15559387207031, 26.066035334636084], 789 | [108.15490722656249, 26.070352894012828], 790 | [108.15422058105467, 26.075287052678327], 791 | [108.15422058105467, 26.08022100341537], 792 | [108.15216064453125, 26.084538039722087], 793 | [108.15078735351562, 26.08947160051824], 794 | [108.1494140625, 26.094404953305965], 795 | [108.14666748046874, 26.09748819315666], 796 | [108.14323425292969, 26.09933809805745], 797 | [108.13980102539062, 26.10118797369925], 798 | [108.13087463378905, 26.10118797369925], 799 | [108.13087463378905, 26.107970600701737], 800 | [108.13018798828125, 26.112903173210267], 801 | [108.13018798828125, 26.11660246600098], 802 | [108.13156127929686, 26.12091815959972], 803 | [108.12812805175781, 26.12400070029862], 804 | [108.12332153320311, 26.124617198679115], 805 | [108.116455078125, 26.130782003547658], 806 | [108.11782836914062, 26.135097173359775], 807 | [108.116455078125, 26.13941218371873], 808 | [108.11302185058594, 26.14372703460594], 809 | [108.1109619140625, 26.149890830630504], 810 | [108.11164855957031, 26.159752227114595], 811 | [108.11370849609375, 26.168380265220303], 812 | [108.11370849609375, 26.173310286096754], 813 | [108.11508178710936, 26.178240098493088], 814 | [108.11714172363281, 26.181937320958628], 815 | [108.12057495117188, 26.185018250078308], 816 | [108.12469482421875, 26.18933141398614], 817 | [108.12744140625, 26.191796007381587], 818 | [108.12881469726562, 26.195492799699977], 819 | [108.12881469726562, 26.199805575765804], 820 | [108.13087463378905, 26.204118192100207], 821 | [108.13774108886719, 26.20658247256803], 822 | [108.1391143798828, 26.20966274979298], 823 | [108.13842773437499, 26.2145910237943], 824 | [108.13842773437499, 26.21736308620283], 825 | [108.13859939575195, 26.22013508256875], 826 | [108.1380844116211, 26.22182904783412], 827 | [108.13756942749023, 26.223061007079295], 828 | [108.13705444335938, 26.223984967950802], 829 | [108.13241958618164, 26.21736308620283], 830 | [108.12795639038086, 26.221983043453275], 831 | [108.12641143798828, 26.2209050698381], 832 | [108.12246322631836, 26.219519089083956], 833 | [108.12005996704102, 26.218595092741374], 834 | [108.1058120727539, 26.21782509018358], 835 | [108.10272216796875, 26.2209050698381], 836 | [108.10409545898438, 26.22783472591327], 837 | [108.10152053833008, 26.232916211296438], 838 | [108.09671401977539, 26.232300285500997], 839 | [108.09534072875975, 26.230760456738363], 840 | [108.09396743774414, 26.229220607584864], 841 | [108.09019088745117, 26.222907012887166], 842 | [108.08624267578125, 26.217517087733565], 843 | [108.0845260620117, 26.215977063253593], 844 | [108.07903289794922, 26.215977063253593], 845 | [108.07714462280273, 26.218441092637512], 846 | [108.07422637939453, 26.21767108906049], 847 | [108.07113647460938, 26.22444694563432], 848 | [108.06221008300781, 26.22413896071585], 849 | [108.05414199829102, 26.22182904783412], 850 | [108.05294036865233, 26.22583286767555], 851 | [108.05242538452148, 26.22814270104532], 852 | [108.05191040039062, 26.230298504133316], 853 | [108.05139541625977, 26.23122240750823], 854 | [108.04899215698241, 26.23445601151049], 855 | [108.06032180786133, 26.24277058025623], 856 | [108.05688858032225, 26.248467256199596], 857 | [108.05654525756835, 26.249391015172165], 858 | [108.0340576171875, 26.251084554213417], 859 | [108.02530288696288, 26.2495449742869], 860 | [108.0234146118164, 26.249083096330665], 861 | [108.02221298217773, 26.2495449742869], 862 | [108.02101135253906, 26.249852891904318], 863 | [108.01963806152344, 26.25031476680035], 864 | [108.01998138427734, 26.251392467750517], 865 | [108.01980972290039, 26.25231620346529], 866 | [108.01895141601562, 26.25308597761687], 867 | [108.01843643188475, 26.254163652859756], 868 | [108.01843643188475, 26.254933414769354], 869 | [108.01912307739258, 26.2557031715779], 870 | [108.0201530456543, 26.2557031715779], 871 | [108.02135467529295, 26.25585712232749], 872 | [108.02083969116211, 26.256626873014692], 873 | [108.0201530456543, 26.257396618600662], 874 | [108.02066802978516, 26.258166359085255], 875 | [108.02118301391602, 26.25893609446839], 876 | [108.02066802978516, 26.25985977019411], 877 | [108.0204963684082, 26.260937382589034], 878 | [108.02101135253906, 26.26247681152116], 879 | [108.02186965942383, 26.26247681152116], 880 | [108.0234146118164, 26.262014984984344], 881 | [108.02410125732422, 26.262630753291948], 882 | [108.0234146118164, 26.26340045908455], 883 | [108.02350044250488, 26.2633234887349], 884 | [108.02289962768555, 26.26401622004512], 885 | [108.02247047424316, 26.264555008206916], 886 | [108.02281379699707, 26.265247732169826], 887 | [108.02324295043945, 26.265632577030047], 888 | [108.02238464355467, 26.266633167696668], 889 | [108.02169799804686, 26.26786465206368], 890 | [108.02144050598145, 26.268557356279516], 891 | [108.02152633666992, 26.26917308989032], 892 | [108.02169799804686, 26.269711854120704], 893 | [108.02118301391602, 26.270481512969415], 894 | [108.0204963684082, 26.270943305829118], 895 | [108.02066802978516, 26.27178992130043], 896 | [108.02092552185059, 26.272405637764685], 897 | [108.02101135253906, 26.272944386991608], 898 | [108.02135467529295, 26.273483133717846], 899 | [108.0216121673584, 26.27402187794336], 900 | [108.02178382873535, 26.274637582567454], 901 | [108.02144050598145, 26.275022396298823], 902 | [108.01886558532715, 26.277023407133495], 903 | [108.01800727844238, 26.276792523028814], 904 | [108.017578125, 26.27656163846476], 905 | [108.01714897155762, 26.27663860003717], 906 | [108.01646232604979, 26.278023899612222], 907 | [108.01611900329588, 26.278793503341486], 908 | [108.01551818847656, 26.279486142333635], 909 | [108.0146598815918, 26.280255736364676], 910 | [108.01414489746092, 26.278793503341486], 911 | [108.01294326782227, 26.27833174171643], 912 | [108.0120849609375, 26.27910134340398], 913 | [108.01156997680664, 26.28033269548704], 914 | [108.01054000854491, 26.28125620097383], 915 | [108.00933837890625, 26.282641445421522], 916 | [108.0091667175293, 26.28356493253137], 917 | [108.00813674926758, 26.28448841229014], 918 | [108.0095100402832, 26.28525797314026], 919 | [108.01122665405273, 26.28571970719983], 920 | [108.0124282836914, 26.284796237242816], 921 | [108.01345825195311, 26.2841805865207], 922 | [108.01397323608398, 26.284950149412815], 923 | [108.01448822021483, 26.28602752888521], 924 | [108.01414489746092, 26.298955301979323], 925 | [108.00899505615234, 26.298955301979323], 926 | [108.00642013549805, 26.298955301979323], 927 | [108.00384521484375, 26.298955301979323], 928 | [107.99869537353514, 26.30080200905286], 929 | [107.99019813537598, 26.30072506351215], 930 | [107.98290252685545, 26.314266692068408], 931 | [107.96719551086426, 26.313882008550422], 932 | [107.96050071716309, 26.32849908419746], 933 | [107.94951438903809, 26.321960094182412], 934 | [107.95140266418457, 26.328345229850786], 935 | [107.9453945159912, 26.33542231818776], 936 | [107.94393539428711, 26.34072985049958], 937 | [107.9571533203125, 26.34611405483601], 938 | [107.95226097106934, 26.349729022870008], 939 | [107.95492172241211, 26.35465135088427], 940 | [107.96333312988281, 26.358266052106853], 941 | [107.9600715637207, 26.368109771875883], 942 | [107.955265045166, 26.370570570846034], 943 | [107.95406341552734, 26.37303131742049], 944 | [107.95337677001953, 26.374569257420802], 945 | [107.95183181762695, 26.377798864793082], 946 | [107.94977188110352, 26.380951489673322], 947 | [107.94857025146484, 26.383258233857987], 948 | [107.94736862182616, 26.384565368447767], 949 | [107.94548034667969, 26.386333821111503], 950 | [107.94299125671387, 26.388794231944853], 951 | [107.9377555847168, 26.393407360963565], 952 | [107.93380737304688, 26.397097731472652], 953 | [107.93140411376953, 26.39948103306158], 954 | [107.9285717010498, 26.403017454408374], 955 | [107.92719841003418, 26.405016253323012], 956 | [107.92685508728027, 26.405785012917846], 957 | [107.92659759521484, 26.407091892475076], 958 | [107.92591094970703, 26.41155054662258], 959 | [107.92548179626465, 26.41385667943026], 960 | [107.92548179626465, 26.415394075689], 961 | [107.92573928833008, 26.416547109435605], 962 | [107.92573928833008, 26.41739266019059], 963 | [107.92582511901855, 26.41816133731583], 964 | [107.9259967803955, 26.419314343397613], 965 | [107.92591094970703, 26.420006141513447], 966 | [107.92616844177246, 26.420928532545656], 967 | [107.9263401031494, 26.421620320977993], 968 | [107.92642593383789, 26.422158375778356], 969 | [107.92659759521484, 26.422773292475902], 970 | [107.9267692565918, 26.423234477847068], 971 | [107.9271125793457, 26.42431056987291], 972 | [107.92745590209961, 26.4253097891899], 973 | [107.92779922485352, 26.42646272379485], 974 | [107.92840003967285, 26.427538785690356], 975 | [107.92874336242676, 26.42838425584782], 976 | [107.9296875, 26.429614019553092], 977 | [107.93028831481932, 26.43030575587197], 978 | [107.93071746826172, 26.431151205735432], 979 | [107.93174743652344, 26.432073507604937], 980 | [107.93251991271973, 26.433226374563407], 981 | [107.93337821960449, 26.43445608660846], 982 | [107.93457984924315, 26.4358394969753], 983 | [107.93569564819336, 26.437146035961916], 984 | [107.9362964630127, 26.437991435647806], 985 | [107.93698310852051, 26.438913682776835], 986 | [107.93792724609375, 26.439835922524356], 987 | [107.93852806091307, 26.44060445000852], 988 | [107.9392147064209, 26.441526676222832], 989 | [107.93981552124022, 26.4425257462913], 990 | [107.94118881225586, 26.44444701053327], 991 | [107.94170379638672, 26.445369205988058], 992 | [107.94196128845215, 26.446060847734206], 993 | [107.94221878051758, 26.447136726640394], 994 | [107.942476272583, 26.44813574805515], 995 | [107.94281959533691, 26.44928845430485], 996 | [107.94307708740234, 26.45028745705601], 997 | [107.94333457946777, 26.45136329648149], 998 | [107.94376373291014, 26.452592814946915], 999 | [107.94384956359863, 26.45366863283561], 1000 | [107.94384956359863, 26.45443706803107], 1001 | [107.94376373291014, 26.455128655322408], 1002 | [107.94376373291014, 26.45574339609419], 1003 | [107.94367790222168, 26.45689602619487], 1004 | [107.94367790222168, 26.457818121967332], 1005 | [107.9435920715332, 26.45866336993773], 1006 | [107.9435920715332, 26.459354931843134], 1007 | [107.94376373291014, 26.460200168530275], 1008 | [107.94384956359863, 26.461045399011418], 1009 | [107.94393539428711, 26.46212113792068], 1010 | [107.94410705566405, 26.462889516700884], 1011 | [107.94427871704102, 26.463734727434776], 1012 | [107.94445037841795, 26.464656768429514], 1013 | [107.94445037841795, 26.46534829432821], 1014 | [107.94453620910645, 26.466270322396458], 1015 | [107.94479370117188, 26.466885003671486], 1016 | [107.94479370117188, 26.46749968166344], 1017 | [107.9450511932373, 26.46803752221322], 1018 | [107.94565200805664, 26.46826802453648], 1019 | [107.9461669921875, 26.468729027797888], 1020 | [107.94676780700684, 26.46911319577165], 1021 | [107.94719696044922, 26.46965102878023], 1022 | [107.94805526733397, 26.470035193675876], 1023 | [107.94882774353027, 26.470573022375085], 1024 | [107.94925689697266, 26.471110848560432], 1025 | [107.94985771179199, 26.471264512723067], 1026 | [107.95071601867676, 26.47164867223187], 1027 | [107.95148849487305, 26.471955998915437], 1028 | [107.95251846313477, 26.472340156115514], 1029 | [107.9531192779541, 26.472493818636398], 1030 | [107.95346260070801, 26.472724312032963], 1031 | [107.95406341552734, 26.472801143062533], 1032 | [107.95543670654297, 26.471725503979737], 1033 | [107.95638084411621, 26.471110848560432], 1034 | [107.95723915100096, 26.470573022375085], 1035 | [107.95766830444336, 26.470112026501113], 1036 | [107.95835494995117, 26.469727861861973], 1037 | [107.95895576477051, 26.469190029212488], 1038 | [107.95921325683592, 26.468421692495475], 1039 | [107.95947074890137, 26.46803752221322] 1040 | ] 1041 | ] } }, { "type": "Feature", "properties": { "name": "汉东县1" }, "cp": [108.075071, 26.326078], "geometry": { "type": "Polygon", "coordinates": [ 1042 | [ 1043 | [108.075071, 26.326078] 1044 | ] 1045 | ] } }, { "type": "Feature", "properties": { "name": "汉东县2" }, "cp": [108.182896, 26.495448], "geometry": { "type": "Polygon", "coordinates": [ 1046 | [ 1047 | [108.182896, 26.495448] 1048 | ] 1049 | ] } }, { "type": "Feature", "properties": { "name": "汉东县3" }, "cp": [108.086502, 26.384152], "geometry": { "type": "Polygon", "coordinates": [ 1050 | [ 1051 | [108.086502, 26.384152] 1052 | ] 1053 | ] } }, { "type": "Feature", "properties": { "name": "汉东县5" }, "cp": [108.228852, 26.232646], "geometry": { "type": "Polygon", "coordinates": [ 1054 | [ 1055 | [108.228852, 26.232646] 1056 | ] 1057 | ] } }, { "type": "Feature", "properties": { "name": "汉东县4" }, "cp": [108.028849, 26.412356], "geometry": { "type": "Polygon", "coordinates": [ 1058 | [ 1059 | [108.028849, 26.412356] 1060 | ] 1061 | ] } } 1062 | ] 1063 | } 1064 | 1065 | var myChart; 1066 | //初始化地图 1067 | initleishanMap(); 1068 | function initleishanMap(){ 1069 | //初始化函数,获取jion中的数据,作为散点图中的数据,模拟数据, 1070 | var convertdata=function (data){ 1071 | var res=[]; 1072 | for(var i=1;i★'; 1176 | break; 1177 | case '2': 1178 | return '
★★
'; 1179 | break; 1180 | case '3': 1181 | return '
★★★
'; 1182 | break; 1183 | case '4': 1184 | return '
★★★★
'; 1185 | break; 1186 | case '5': 1187 | return '
★★★★★
'; 1188 | break; 1189 | } 1190 | 1191 | } 1192 | -------------------------------------------------------------------------------- /src/main/resources/static/js/gjzb.js: -------------------------------------------------------------------------------- 1 | var gjzb=echarts.init(document.getElementById("right-gjzbEchart")); 2 | 3 | 4 | option = { 5 | color: [ '#0068b7', '#006699', '#4cabce', '#e5323e' ],//统计图颜色系列值 6 | tooltip : { 7 | trigger: 'axis' 8 | }, 9 | grid: { 10 | borderWidth: 0, 11 | x: 70, 12 | y: 10, 13 | top: 65, 14 | left: 45, 15 | right: 30, 16 | bottom: 70, 17 | //barWidth:1, 18 | textStyle: { 19 | color: "#fff" 20 | } 21 | }, 22 | legend: { 23 | data:['蒸发量','降水量','平均温度'] 24 | }, 25 | toolbox: { 26 | show : false, 27 | feature : { 28 | mark : {show: false}, 29 | dataView : {show: true, readOnly: false}, 30 | magicType: {show: true, type: ['line','bar']}, 31 | restore : {show: false}, 32 | saveAsImage : {show: true} 33 | } 34 | }, 35 | calculable : true, 36 | xAxis : [ 37 | { 38 | type : 'category', 39 | data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'] 40 | } 41 | ], 42 | yAxis : [ 43 | { 44 | type : 'value', 45 | name : '降水量', 46 | axisLabel : { 47 | formatter: '{value}\r\nkW·h' 48 | } 49 | }, 50 | { 51 | type : 'value', 52 | name : '降水率', 53 | axisLabel : { 54 | formatter: '{value}\r\n%' 55 | } 56 | } 57 | ], 58 | series : [ 59 | { 60 | name:'蒸发量', 61 | type:'bar', 62 | data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]/*, 63 | barMaxWidth: 0, 64 | large: false, 65 | barMinHeight: 1, 66 | itemStyle: {color: "#e5323e", 67 | normal :{ 68 | label: { 69 | show: true, 70 | distance: 0, 71 | fontWeight: 'bolder', 72 | position: 'top', 73 | color: '#0068b7', 74 | fontSize: 20, 75 | formatter: function(value, index) { 76 | return value.value+"%"; 77 | } 78 | } 79 | } 80 | }*/ 81 | }, 82 | { 83 | name:'降水量', 84 | type:'bar', 85 | //barWidth:0, 86 | data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] 87 | }, 88 | { 89 | name:'平均温度', 90 | type:'line', 91 | yAxisIndex: 1, 92 | data:[-4.0, 6.2, -3.3, 4.5, -9.3, 10.2, 20.3, 23.4, -23.0, 16.5, -12.0, 6.2] 93 | } 94 | ] 95 | 96 | }; 97 | gjzb.setOption(option); 98 | -------------------------------------------------------------------------------- /src/main/resources/static/js/layui.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.5 MIT License By https://www.layui.com */ 2 | ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.4.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui["layui.all"]||!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("模块名 "+o+" 已被占用"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;oi?1:r{b} : {c} ({d}%)" 7 | }, 8 | legend: { 9 | orient : 'vertical', 10 | x : 'left', 11 | data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'] 12 | }, 13 | toolbox: { 14 | show : false, 15 | feature : { 16 | mark : {show: true}, 17 | dataView : {show: true, readOnly: false}, 18 | magicType : { 19 | show: true, 20 | type: ['pie', 'funnel'], 21 | option: { 22 | funnel: { 23 | x: '25%', 24 | width: '50%', 25 | funnelAlign: 'left', 26 | max: 1548 27 | } 28 | } 29 | }, 30 | restore : {show: true}, 31 | saveAsImage : {show: true} 32 | } 33 | }, 34 | calculable : true, 35 | series : [ 36 | { 37 | name:'访问来源', 38 | type:'pie', 39 | radius : '55%', 40 | center: ['50%', '60%'], 41 | data:[ 42 | {value:335, name:'直接访问'}, 43 | {value:310, name:'邮件营销'}, 44 | {value:234, name:'联盟广告'}, 45 | {value:135, name:'视频广告'}, 46 | {value:1548, name:'搜索引擎'} 47 | ] 48 | } 49 | ] 50 | }; 51 | 52 | option1 = { 53 | color: ['#3398DB'], 54 | tooltip : { 55 | trigger: 'axis', 56 | axisPointer : { // 坐标轴指示器,坐标轴触发有效 57 | type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' 58 | } 59 | }, 60 | grid: { 61 | left: '1%', 62 | right: '2%', 63 | bottom: '1%', 64 | containLabel: true 65 | }, 66 | xAxis : [ 67 | { 68 | type : 'category', 69 | data : ['Sat', 'Sun'], 70 | axisTick: { 71 | alignWithLabel: true 72 | } 73 | } 74 | ], 75 | yAxis : [ 76 | { 77 | type : 'value' 78 | } 79 | ], 80 | series : [ 81 | { 82 | name:'直接访问', 83 | type:'bar', 84 | barWidth: '40%', 85 | data:[10, 52] 86 | } 87 | ] 88 | }; 89 | xjgds1.setOption(option1); 90 | xjgds2.setOption(option); -------------------------------------------------------------------------------- /src/main/resources/templates/Login2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | login 6 | 160 | 161 | 162 | 163 | 164 | 168 | 169 |
170 |
171 |
172 | 173 |
174 |

登录

175 |
176 | 177 |
178 | 179 | 181 |
182 |
183 | 184 | 186 |
187 |
188 | 189 |
190 |
191 |
192 |
193 | 194 | 209 | 210 | 211 | 212 | 213 | -------------------------------------------------------------------------------- /src/main/resources/templates/homePage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | layout 后台大布局 - Layui 7 | 8 | 9 | 10 |
11 |
12 | 13 | 14 | 27 | 40 |
41 | 42 |
43 |
44 | 45 | 66 |
67 |
68 | 69 |
70 | 71 | 73 |
74 | 75 |
76 | 77 | 84 | 85 | -------------------------------------------------------------------------------- /src/main/resources/templates/success.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | Insert title here 8 | 9 | 10 | 成功登陆 11 | 12 | 13 | 14 | 15 | 36 | 57 | 58 | -------------------------------------------------------------------------------- /src/test/java/com/example/demo/DemoApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class DemoApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | --------------------------------------------------------------------------------