主页完成

This commit is contained in:
JIAL 2023-12-25 09:19:27 +08:00
parent 808854f60a
commit 16894fde8e
26 changed files with 63 additions and 33 deletions

View File

@ -124,7 +124,10 @@
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<version>4.10</version> <version>4.10</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -23,8 +23,9 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
log.info("开始进行静态资源映射..."); log.info("开始进行静态资源映射...");
//第一个参数是路径显示在浏览器的第二个参数是映射路径我们文件夹的路径 //第一个参数是路径显示在浏览器的第二个参数是映射路径我们文件夹的路径
registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/"); registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
registry.addResourceHandler("/index/**").addResourceLocations("classpath:/index/"); registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
registry.addResourceHandler("/plugins/**").addResourceLocations("classpath:/plugins/"); registry.addResourceHandler("/plugins/**").addResourceLocations("classpath:/plugins/");
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
} }
/** /**

View File

@ -0,0 +1,28 @@
package com.JIAL.FMSystem.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
* @ClassName HomeController
* @Description TODO
* @Author JIAL
* @Date 2023/12/25 8:18
* @Version 1.0
*/
@Controller
public class HomeController {
/**
* @title index
* @description 检测请求为/即只有域名不加路径的请求返回主页
* @author JIAL
* @updateTime 2023/12/25 8:18
* @return: java.lang.String
*/
@GetMapping("/")
public String index() {
// 返回 index.html 页面的逻辑视图名
return "index";
}
}

View File

@ -31,22 +31,19 @@ public class LoginCheckFilter implements Filter{
log.info("拦截到请求:{}",requestURI); log.info("拦截到请求:{}",requestURI);
//定义需要处理的请求路径 //定义需要处理的请求路径
String[] urls = new String[]{ String[] urls = new String[]{
"/user/login", "/user/login",
"/user/logout", "/user/logout",
"/backend/**", "/backend/**",
"/user/sendMsg", "/user/sendMsg",
"/index/**",
"/plugins/**",
"/api/**"
}; };
//2判断本次请求是否需要处理 //2判断本次请求是否需要处理
boolean check = check(urls, requestURI); boolean check = check(urls, requestURI);
//3如果不需要处理则直接放行 //3如果不需要处理则直接放行
if(check){ if(!check){
log.info("本次请求{}不需要处理",requestURI); log.info("本次请求{}不需要处理",requestURI);
filterChain.doFilter(request,response); filterChain.doFilter(request,response);
return; return;

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 323 KiB

After

Width:  |  Height:  |  Size: 323 KiB

View File

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -7,8 +7,8 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="HandheldFriendly" content="true"> <meta name="HandheldFriendly" content="true">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<link rel="stylesheet" type="text/css" href="style/css/main.css"> <link rel="stylesheet" type="text/css" href="../static/style/css/main.css">
<link rel="icon" href="image/avatar.jpg" type="image/x-icon"> <link rel="icon" href="../static/image/avatar.jpg" type="image/x-icon">
<!-- import CSS --> <!-- import CSS -->
<link rel="stylesheet" href="../plugins/element-ui/index.css"> <link rel="stylesheet" href="../plugins/element-ui/index.css">
</head> </head>
@ -52,7 +52,7 @@
</el-card> </el-card>
</div> </div>
<div class="content-container"> <div class="content-container">
<img class="avatar" src="image/avatar.jpg"/> <img class="avatar" src="../static/image/avatar.jpg"/>
<div class="text part1"> <div class="text part1">
<div> <div>
<span class="letter"><div class="character">J</div> <span></span></span> <span class="letter"><div class="character">J</div> <span></span></span>
@ -112,7 +112,7 @@
</li> </li>
<li> <li>
<a href="https://leetcode.cn/" target="_blank"> <a href="https://leetcode.cn/" target="_blank">
<img width="50px" src="image/leetcode.png"/> <img width="50px" src="../static/image/leetcode.png"/>
</a> </a>
</li> </li>
<li> <li>
@ -136,7 +136,7 @@
</div> </div>
</el-footer> </el-footer>
</div> </div>
<script type="text/javascript" src="style/js/main.js"></script> <script type="text/javascript" src="../static/style/js/main.js"></script>
<!-- import Vue before Element --> <!-- import Vue before Element -->
<script src="../plugins/vue/vue.js"></script> <script src="../plugins/vue/vue.js"></script>
<!-- import JavaScript --> <!-- import JavaScript -->
@ -144,7 +144,7 @@
<script src="../plugins/calendar/calendar.js"></script> <script src="../plugins/calendar/calendar.js"></script>
<script src="../plugins/axios/axios.min.js"></script> <script src="../plugins/axios/axios.min.js"></script>
<script src="../plugins/axios/request.js"></script> <script src="../plugins/axios/request.js"></script>
<script src="style/js/index.js"></script> <script src="../static/style/js/index.js"></script>
<script> <script>
new Vue({ new Vue({
el: '#index-app', el: '#index-app',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 323 KiB

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -18,7 +18,7 @@ html,body {
.avatar { .avatar {
border-radius: 50%; border-radius: 50%;
width: 150px; width: 160px;
right: 100px; right: 100px;
} }
@ -57,7 +57,7 @@ html,body {
.weather-wrapper .el-card { .weather-wrapper .el-card {
background-color: rgba(255, 255, 255, 0.1); background-color: rgba(255, 255, 255, 0.1);
width: 250px; width: 300px;
height: 250px; height: 250px;
} }
@ -67,7 +67,6 @@ html,body {
.weather-wrapper .el-card .weather-info div { .weather-wrapper .el-card .weather-info div {
font-size: 15px; font-size: 15px;
letter-spacing: 5px;
margin: 10px 20px 10px 25px; margin: 10px 20px 10px 25px;
color: #666; /* 文本颜色可调节 */ color: #666; /* 文本颜色可调节 */
} }
@ -242,7 +241,7 @@ a {
text-align: center; text-align: center;
position: absolute; position: absolute;
top: 530px; top: 530px;
left: 145px; left: 85px;
} }
.case-info { .case-info {

View File

@ -7,7 +7,8 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="HandheldFriendly" content="true"> <meta name="HandheldFriendly" content="true">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<link rel="stylesheet" type="text/css" href="style/css/main.css"> <link rel="stylesheet" type="text/css" href="../static/style/css/main.css">
<link rel="icon" href="../static/image/avatar.jpg" type="image/x-icon">
<!-- import CSS --> <!-- import CSS -->
<link rel="stylesheet" href="../plugins/element-ui/index.css"> <link rel="stylesheet" href="../plugins/element-ui/index.css">
</head> </head>
@ -41,17 +42,17 @@
</el-input> </el-input>
</div> </div>
<div class="weather-info"> <div class="weather-info">
<div><i class="el-icon-sunny">天气情况:{{weather.info}}</i></div> <div><i class="el-icon-sunny">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:&nbsp{{weather.info}}</i></div>
<div><i class="el-icon-sunrise-1">当前温度:{{weather.temperature}} ℃</i></div> <div><i class="el-icon-sunrise-1">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:&nbsp{{weather.temperature}} ℃</i></div>
<div><i class="el-icon-cold-drink">当前湿度:{{weather.humidity}} %</i></div> <div><i class="el-icon-cold-drink">&nbsp&nbsp&nbsp&nbsp湿&nbsp&nbsp:&nbsp{{weather.humidity}} %</i></div>
<div><i class="el-icon-guide">当前风向:{{weather.direct}}</i></div> <div><i class="el-icon-guide">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:&nbsp{{weather.direct}}</i></div>
<div><i class="el-icon-ship">当前风速:{{weather.power}}</i></div> <div><i class="el-icon-ship">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:&nbsp{{weather.power}}</i></div>
<div><i class="el-icon-grape">空气质量:{{weather.aqi}}</i></div> <div><i class="el-icon-grape">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:&nbsp{{weather.aqi}}</i></div>
</div> </div>
</el-card> </el-card>
</div> </div>
<div class="content-container"> <div class="content-container">
<img class="avatar" src="image/avatar.jpg"/> <img class="avatar" src="../static/image/avatar.jpg"/>
<div class="text part1"> <div class="text part1">
<div> <div>
<span class="letter"><div class="character">J</div> <span></span></span> <span class="letter"><div class="character">J</div> <span></span></span>
@ -97,7 +98,7 @@
<span style="transition-delay:6.5s"></span> <span style="transition-delay:6.5s"></span>
<span style="transition-delay:7s"></span> <span style="transition-delay:7s"></span>
</span> </span>
<div style="position: relative; left: 100px" > <div style="position: relative; left: 95px" >
<ul> <ul>
<li> <li>
<a href="https://5ime.cn" target="_blank"> <a href="https://5ime.cn" target="_blank">
@ -105,20 +106,21 @@
</a> </a>
</li> </li>
<li> <li>
<a href="mailto:me@5ime.cn?subject=来自个人页" target="_blank"> <a href="https://mail.qq.com/" target="_blank">
<img width="50px" src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjUxMnB4IiB2aWV3Qm94PSItMSAwIDQ5OCA0OTguNTg0IiB3aWR0aD0iNTEycHgiPjxwYXRoIGQ9Im0yNDguMjkyOTY5IDAtMjQ4IDIxNC45Mjk2ODh2MjgzLjY1NjI1aDQ5NnYtMjgzLjY1NjI1em0tNjkuNDY0ODQ0IDM2Mi4xOTkyMTktMTYyLjUzNTE1NiAxMTMuMDc0MjE5di0yNDAuMjczNDM4em0xODEuNDY0ODQ0LTUzLjU5NzY1Ny01OC43NjE3MTkgNDUuOTg0Mzc2aC0xMDYuNDgwNDY5bC01OC43NTc4MTItNDUuOTg0Mzc2di0xNDYuMDE1NjI0aDIyNHptLTE2NS40ODgyODEgNjEuOTg0Mzc2aDEwNi45Njg3NWwxNjEgMTEyaC00MjguOTY4NzV6bTEyMi45NTMxMjQtOC4zODY3MTkgMTYyLjUzNTE1Ny0xMjcuMTk5MjE5djI0MC4yNzM0Mzh6bTE1Ny45NTcwMzItMTQzLjkyNTc4MS05OS40MjE4NzUgNzcuODA0Njg3di0xNDkuNDkyMTg3aC0yNTZ2MTQ5LjQ5MjE4N2wtOTkuNDI1NzgxLTc3LjgwNDY4NyAyMjcuNDI1NzgxLTE5Ny4xMDU0Njl6bTAgMCIgZmlsbD0iIzAwMDAwMCIvPjxwYXRoIGQ9Im0xNTIuMjkyOTY5IDE3OC41ODU5MzhoMTkydjE2aC0xOTJ6bTAgMCIgZmlsbD0iIzAwMDAwMCIvPjxwYXRoIGQ9Im0xNTIuMjkyOTY5IDIxMC41ODU5MzhoMzJ2MTZoLTMyem0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMjAwLjI5Mjk2OSAyMTAuNTg1OTM4aDE0NHYxNmgtMTQ0em0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMTUyLjI5Mjk2OSAyNDIuNTg1OTM4aDE5MnYxNmgtMTkyem0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMTUyLjI5Mjk2OSAyNzQuNTg1OTM4aDE2MHYxNmgtMTYwem0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMzI4LjI5Mjk2OSAyNzQuNTg1OTM4aDE2djE2aC0xNnptMCAwIiBmaWxsPSIjMDAwMDAwIi8+PHBhdGggZD0ibTE5Mi4yOTI5NjkgMzA2LjU4NTkzOGgxMTJ2MTZoLTExMnptMCAwIiBmaWxsPSIjMDAwMDAwIi8+PC9zdmc+Cg=="/> <img width="50px" src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjUxMnB4IiB2aWV3Qm94PSItMSAwIDQ5OCA0OTguNTg0IiB3aWR0aD0iNTEycHgiPjxwYXRoIGQ9Im0yNDguMjkyOTY5IDAtMjQ4IDIxNC45Mjk2ODh2MjgzLjY1NjI1aDQ5NnYtMjgzLjY1NjI1em0tNjkuNDY0ODQ0IDM2Mi4xOTkyMTktMTYyLjUzNTE1NiAxMTMuMDc0MjE5di0yNDAuMjczNDM4em0xODEuNDY0ODQ0LTUzLjU5NzY1Ny01OC43NjE3MTkgNDUuOTg0Mzc2aC0xMDYuNDgwNDY5bC01OC43NTc4MTItNDUuOTg0Mzc2di0xNDYuMDE1NjI0aDIyNHptLTE2NS40ODgyODEgNjEuOTg0Mzc2aDEwNi45Njg3NWwxNjEgMTEyaC00MjguOTY4NzV6bTEyMi45NTMxMjQtOC4zODY3MTkgMTYyLjUzNTE1Ny0xMjcuMTk5MjE5djI0MC4yNzM0Mzh6bTE1Ny45NTcwMzItMTQzLjkyNTc4MS05OS40MjE4NzUgNzcuODA0Njg3di0xNDkuNDkyMTg3aC0yNTZ2MTQ5LjQ5MjE4N2wtOTkuNDI1NzgxLTc3LjgwNDY4NyAyMjcuNDI1NzgxLTE5Ny4xMDU0Njl6bTAgMCIgZmlsbD0iIzAwMDAwMCIvPjxwYXRoIGQ9Im0xNTIuMjkyOTY5IDE3OC41ODU5MzhoMTkydjE2aC0xOTJ6bTAgMCIgZmlsbD0iIzAwMDAwMCIvPjxwYXRoIGQ9Im0xNTIuMjkyOTY5IDIxMC41ODU5MzhoMzJ2MTZoLTMyem0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMjAwLjI5Mjk2OSAyMTAuNTg1OTM4aDE0NHYxNmgtMTQ0em0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMTUyLjI5Mjk2OSAyNDIuNTg1OTM4aDE5MnYxNmgtMTkyem0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMTUyLjI5Mjk2OSAyNzQuNTg1OTM4aDE2MHYxNmgtMTYwem0wIDAiIGZpbGw9IiMwMDAwMDAiLz48cGF0aCBkPSJtMzI4LjI5Mjk2OSAyNzQuNTg1OTM4aDE2djE2aC0xNnptMCAwIiBmaWxsPSIjMDAwMDAwIi8+PHBhdGggZD0ibTE5Mi4yOTI5NjkgMzA2LjU4NTkzOGgxMTJ2MTZoLTExMnptMCAwIiBmaWxsPSIjMDAwMDAwIi8+PC9zdmc+Cg=="/>
</a> </a>
</li> </li>
<li> <li>
<a href="https://t.me/suozhang" target="_blank"> <a href="https://leetcode.cn/" target="_blank">
<img width="50px" src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8cGF0aCBzdHlsZT0iZmlsbDojMkQ1MjdDOyIgZD0iTTQzMi40NjQsNTEyaC0zNy43NjZjLTguMDIxLDAtMTQuNTIzLTYuNTAyLTE0LjUyMy0xNC41MjNzNi41MDItMTQuNTIzLDE0LjUyMy0xNC41MjNoMzcuNzY2ICAgYzI3LjgzOSwwLDUwLjQ5LTIyLjY1LDUwLjQ5LTUwLjQ5Vjc5LjUzNmMwLTI3LjgzOS0yMi42NS01MC40OS01MC40OS01MC40OUgyMTQuMzY3Yy04LjAyMSwwLTE0LjUyMy02LjUwMi0xNC41MjMtMTQuNTIzICAgUzIwNi4zNDYsMCwyMTQuMzY3LDBoMjE4LjA5N0M0NzYuMzIxLDAsNTEyLDM1LjY3OSw1MTIsNzkuNTM2djM1Mi45MjhDNTEyLDQ3Ni4zMjEsNDc2LjMyMSw1MTIsNDMyLjQ2NCw1MTJ6Ii8+Cgk8cGF0aCBzdHlsZT0iZmlsbDojMkQ1MjdDOyIgZD0iTTI4OS42OTMsNTEySDc5LjUzNkMzNS42NzksNTEyLDAsNDc2LjMyMSwwLDQzMi40NjRWNzkuNTM2QzAsMzUuNjc5LDM1LjY3OSwwLDc5LjUzNiwwaDMyLjY4NCAgIGM4LjAyMSwwLDE0LjUyMyw2LjUwMiwxNC41MjMsMTQuNTIzcy02LjUwMiwxNC41MjMtMTQuNTIzLDE0LjUyM0g3OS41MzZjLTI3LjgzOSwwLTUwLjQ5LDIyLjY1LTUwLjQ5LDUwLjQ5djM1Mi45MjggICBjMCwyNy44MzksMjIuNjUsNTAuNDksNTAuNDksNTAuNDloMjEwLjE1N2M4LjAyMSwwLDE0LjUyMyw2LjUwMiwxNC41MjMsMTQuNTIzUzI5Ny43MTQsNTEyLDI4OS42OTMsNTEyeiIvPgo8L2c+CjxwYXRoIHN0eWxlPSJmaWxsOiNDRUU4RkE7IiBkPSJNMzk3LjA5NCwxMjAuNjkzbC0yOTYuMDksMTE1LjM4NWMtOS41OTMsMy43MzgtOS4wMDksMTcuNSwwLjg2NCwyMC40MTJsNjcuNjMzLDE5Ljk2OWwyMS4wMjIsNzguNzE1ICBjMi45MzIsOS4zMDgsMTQuNzI1LDEyLjEyNywyMS41NTIsNS4xNTdsNDEuNjIzLTM5LjcyMmw4OC4yNzMsNjguNjYxYzkuMzQxLDYuODU2LDIyLjY0MywxLjc2LDI1LjAxNS05LjU3OGw1MC41NTItMjQxLjY5ICBDNDIwLjAxMywxMjYuMTYyLDQwOC4zNjYsMTE2LjMsMzk3LjA5NCwxMjAuNjkzTDM5Ny4wOTQsMTIwLjY5M3oiLz4KPGc+Cgk8cGF0aCBzdHlsZT0iZmlsbDojMkQ1MjdDOyIgZD0iTTM1MS4zNDgsNDA2Ljg5NWgtMC4wMDFjLTYuNDgzLDAtMTIuNjk4LTIuMDQ2LTE3Ljk2OS01LjkxNWMtMC4xMDktMC4wOC0wLjIxNi0wLjE2MS0wLjMyMi0wLjI0NCAgIGwtNzguMzg5LTYwLjk3NGwtMzIuNDIsMzAuOTRjLTUuMTg1LDUuMTg4LTEyLjA0Nyw4LjA0LTE5LjM1Niw4LjA0Yy0xMi4wNjQsMC0yMi42MDEtNy43MTYtMjYuMjE5LTE5LjIwMiAgIGMtMC4wNjQtMC4yMDUtMC4xMjUtMC40MS0wLjE4LTAuNjE3bC0xOC45MTgtNzAuODQxbC01OS44MTgtMTcuNjYyYy0xMC41NDUtMy4xMTItMTcuNjYzLTEyLjIyMy0xOC4xMjgtMjMuMjA5ICAgYy0wLjQ2Ni0xMC45ODgsNS44NTYtMjAuNjY5LDE2LjEwNS0yNC42NjNsMjk2LjA5LTExNS4zODVjMy41MDItMS4zNjUsNy4xNTEtMi4wNTYsMTAuODQ5LTIuMDU2YzguOTY1LDAsMTcuMzgxLDQuMDMsMjMuMDksMTEuMDU2ICAgYzUuNjUxLDYuOTU1LDcuODM1LDE2LDUuOTkxLDI0LjgxNGwtNTAuNTU0LDI0MS42OUMzNzguMjY0LDM5Ni43MDUsMzY1LjcxLDQwNi44OTUsMzUxLjM0OCw0MDYuODk1eiBNMzUwLjY1MiwzNzcuNjI2ICAgYzAuMjM1LDAuMTU1LDAuNDQ5LDAuMjIyLDAuNjk2LDAuMjIyYzAuMTIxLDAsMS4xOTEtMC4wMywxLjQyMi0xLjEyOGw1MC41NTItMjQxLjY5YzAuMDU3LTAuMjcyLDAuMDM2LTAuMzgxLTAuMTAzLTAuNTUyICAgYy0wLjE1MS0wLjE4Ni0wLjM4OC0wLjMyNy0wLjU0OC0wLjMyN2MtMC4wNzMsMC0wLjE4LDAuMDI2LTAuMzAyLDAuMDc0TDExNi40MzksMjQ1LjY1bDU3LjE3MywxNi44ODIgICBjNC44NTQsMS40MzMsOC42MTIsNS4yOTIsOS45MTksMTAuMTgybDIwLjE3MSw3NS41MzJsMzkuOTY4LTM4LjE0MmM1LjIwNS00Ljk2OCwxMy4yNjQtNS4zNzUsMTguOTQzLTAuOTU3TDM1MC42NTIsMzc3LjYyNnoiLz4KCTxwYXRoIHN0eWxlPSJmaWxsOiMyRDUyN0M7IiBkPSJNMjE5LjY3NywzNjAuMjA5YzAuNDU2LDEuNDc2LDE3LjA5NS0xOS4zMjQsMTcuMjcyLTIwLjg2MmwtNy40NjMtMzYuNTM2ICAgYy0wLjk4My00LjgxMywwLjc2MS05Ljc3Niw0LjUzOC0xMi45MTVsMTM2Ljc5OC0xMTMuNjc0YzMuMjkyLTIuOTEzLTAuNTMyLTguMDUtNC4yNjUtNS43MzdMMjA1LjY5LDI2OC42MDEgICBjLTMuODE0LDIuMzI3LTUuNzgyLDYuNzc1LTQuOTM5LDExLjE2MUwyMTkuNjc3LDM2MC4yMDl6Ii8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg=="/> <img width="50px" src="../static/image/leetcode.png"/>
</a> </a>
</li> </li>
<li> <li>
<a href="https://twitter.com/iami233" target="_blank"> <a href="https://www.bing.com/" target="_blank">
<img width="50px" src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAyOTEuMzE5IDI5MS4zMTkiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5MS4zMTkgMjkxLjMxOTsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+CjxnPgoJPHBhdGggc3R5bGU9ImZpbGw6IzI2QTZEMTsiIGQ9Ik0xNDUuNjU5LDBjODAuNDUsMCwxNDUuNjYsNjUuMjE5LDE0NS42NiwxNDUuNjZjMCw4MC40NS02NS4yMSwxNDUuNjU5LTE0NS42NiwxNDUuNjU5ICAgUzAsMjI2LjEwOSwwLDE0NS42NkMwLDY1LjIxOSw2NS4yMSwwLDE0NS42NTksMHoiLz4KCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBkPSJNMjM2LjcyNCw5OC4xMjljLTYuMzYzLDIuNzQ5LTEzLjIxLDQuNTk3LTIwLjM5Miw1LjQzNWM3LjMzOC00LjI3LDEyLjk2NC0xMS4wMTYsMTUuNjEzLTE5LjA3MiAgIGMtNi44NjQsMy45Ni0xNC40NTcsNi44MjgtMjIuNTUsOC4zNjZjLTYuNDczLTYuNjkxLTE1LjY5NS0xMC44Ny0yNS45MDktMTAuODdjLTE5LjU5MSwwLTM1LjQ4NiwxNS40MTMtMzUuNDg2LDM0LjQzOSAgIGMwLDIuNzA0LDAuMzEsNS4zMzUsMC45MTksNy44NTdjLTI5LjQ5Ni0xLjQzOC01NS42Ni0xNS4xNTgtNzMuMTU3LTM1Ljk5NmMtMy4wNTksNS4wODktNC44MDcsMTAuOTk3LTQuODA3LDE3LjMxNSAgIGMwLDExLjk0NCw2LjI2MywyMi41MDQsMTUuNzg2LDI4LjY2OGMtNS44MjYtMC4xODItMTEuMjg5LTEuNzIxLTE2LjA4Ni00LjMxNXYwLjQzN2MwLDE2LjY5NiwxMi4yMzUsMzAuNjE2LDI4LjQ3NiwzMy43ODQgICBjLTIuOTc3LDAuNzgzLTYuMTA5LDEuMjExLTkuMzUsMS4yMTFjLTIuMjg1LDAtNC41MDYtMC4yMDktNi42NzMtMC42MTljNC41MTUsMTMuNjkyLDE3LjYyNSwyMy42NTEsMzMuMTY1LDIzLjkyNSAgIGMtMTIuMTUzLDkuMjQ5LTI3LjQ1NywxNC43NDgtNDQuMDg5LDE0Ljc0OGMtMi44NjgsMC01LjY5LTAuMTY0LTguNDc2LTAuNDgyYzE1LjcyMiw5Ljc3NywzNC4zNjcsMTUuNDg1LDU0LjQyMiwxNS40ODUgICBjNjUuMjkyLDAsMTAwLjk5Ny01Mi41MSwxMDAuOTk3LTk4LjAyOWwtMC4xLTQuNDYxQzIyNS45NDUsMTExLjExMSwyMzEuOTYzLDEwNS4wNDgsMjM2LjcyNCw5OC4xMjl6Ii8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg=="/> <img width="50px" src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8cGF0aCBzdHlsZT0iZmlsbDojMkQ1MjdDOyIgZD0iTTQzMi40NjQsNTEyaC0zNy43NjZjLTguMDIxLDAtMTQuNTIzLTYuNTAyLTE0LjUyMy0xNC41MjNzNi41MDItMTQuNTIzLDE0LjUyMy0xNC41MjNoMzcuNzY2ICAgYzI3LjgzOSwwLDUwLjQ5LTIyLjY1LDUwLjQ5LTUwLjQ5Vjc5LjUzNmMwLTI3LjgzOS0yMi42NS01MC40OS01MC40OS01MC40OUgyMTQuMzY3Yy04LjAyMSwwLTE0LjUyMy02LjUwMi0xNC41MjMtMTQuNTIzICAgUzIwNi4zNDYsMCwyMTQuMzY3LDBoMjE4LjA5N0M0NzYuMzIxLDAsNTEyLDM1LjY3OSw1MTIsNzkuNTM2djM1Mi45MjhDNTEyLDQ3Ni4zMjEsNDc2LjMyMSw1MTIsNDMyLjQ2NCw1MTJ6Ii8+Cgk8cGF0aCBzdHlsZT0iZmlsbDojMkQ1MjdDOyIgZD0iTTI4OS42OTMsNTEySDc5LjUzNkMzNS42NzksNTEyLDAsNDc2LjMyMSwwLDQzMi40NjRWNzkuNTM2QzAsMzUuNjc5LDM1LjY3OSwwLDc5LjUzNiwwaDMyLjY4NCAgIGM4LjAyMSwwLDE0LjUyMyw2LjUwMiwxNC41MjMsMTQuNTIzcy02LjUwMiwxNC41MjMtMTQuNTIzLDE0LjUyM0g3OS41MzZjLTI3LjgzOSwwLTUwLjQ5LDIyLjY1LTUwLjQ5LDUwLjQ5djM1Mi45MjggICBjMCwyNy44MzksMjIuNjUsNTAuNDksNTAuNDksNTAuNDloMjEwLjE1N2M4LjAyMSwwLDE0LjUyMyw2LjUwMiwxNC41MjMsMTQuNTIzUzI5Ny43MTQsNTEyLDI4OS42OTMsNTEyeiIvPgo8L2c+CjxwYXRoIHN0eWxlPSJmaWxsOiNDRUU4RkE7IiBkPSJNMzk3LjA5NCwxMjAuNjkzbC0yOTYuMDksMTE1LjM4NWMtOS41OTMsMy43MzgtOS4wMDksMTcuNSwwLjg2NCwyMC40MTJsNjcuNjMzLDE5Ljk2OWwyMS4wMjIsNzguNzE1ICBjMi45MzIsOS4zMDgsMTQuNzI1LDEyLjEyNywyMS41NTIsNS4xNTdsNDEuNjIzLTM5LjcyMmw4OC4yNzMsNjguNjYxYzkuMzQxLDYuODU2LDIyLjY0MywxLjc2LDI1LjAxNS05LjU3OGw1MC41NTItMjQxLjY5ICBDNDIwLjAxMywxMjYuMTYyLDQwOC4zNjYsMTE2LjMsMzk3LjA5NCwxMjAuNjkzTDM5Ny4wOTQsMTIwLjY5M3oiLz4KPGc+Cgk8cGF0aCBzdHlsZT0iZmlsbDojMkQ1MjdDOyIgZD0iTTM1MS4zNDgsNDA2Ljg5NWgtMC4wMDFjLTYuNDgzLDAtMTIuNjk4LTIuMDQ2LTE3Ljk2OS01LjkxNWMtMC4xMDktMC4wOC0wLjIxNi0wLjE2MS0wLjMyMi0wLjI0NCAgIGwtNzguMzg5LTYwLjk3NGwtMzIuNDIsMzAuOTRjLTUuMTg1LDUuMTg4LTEyLjA0Nyw4LjA0LTE5LjM1Niw4LjA0Yy0xMi4wNjQsMC0yMi42MDEtNy43MTYtMjYuMjE5LTE5LjIwMiAgIGMtMC4wNjQtMC4yMDUtMC4xMjUtMC40MS0wLjE4LTAuNjE3bC0xOC45MTgtNzAuODQxbC01OS44MTgtMTcuNjYyYy0xMC41NDUtMy4xMTItMTcuNjYzLTEyLjIyMy0xOC4xMjgtMjMuMjA5ICAgYy0wLjQ2Ni0xMC45ODgsNS44NTYtMjAuNjY5LDE2LjEwNS0yNC42NjNsMjk2LjA5LTExNS4zODVjMy41MDItMS4zNjUsNy4xNTEtMi4wNTYsMTAuODQ5LTIuMDU2YzguOTY1LDAsMTcuMzgxLDQuMDMsMjMuMDksMTEuMDU2ICAgYzUuNjUxLDYuOTU1LDcuODM1LDE2LDUuOTkxLDI0LjgxNGwtNTAuNTU0LDI0MS42OUMzNzguMjY0LDM5Ni43MDUsMzY1LjcxLDQwNi44OTUsMzUxLjM0OCw0MDYuODk1eiBNMzUwLjY1MiwzNzcuNjI2ICAgYzAuMjM1LDAuMTU1LDAuNDQ5LDAuMjIyLDAuNjk2LDAuMjIyYzAuMTIxLDAsMS4xOTEtMC4wMywxLjQyMi0xLjEyOGw1MC41NTItMjQxLjY5YzAuMDU3LTAuMjcyLDAuMDM2LTAuMzgxLTAuMTAzLTAuNTUyICAgYy0wLjE1MS0wLjE4Ni0wLjM4OC0wLjMyNy0wLjU0OC0wLjMyN2MtMC4wNzMsMC0wLjE4LDAuMDI2LTAuMzAyLDAuMDc0TDExNi40MzksMjQ1LjY1bDU3LjE3MywxNi44ODIgICBjNC44NTQsMS40MzMsOC42MTIsNS4yOTIsOS45MTksMTAuMTgybDIwLjE3MSw3NS41MzJsMzkuOTY4LTM4LjE0MmM1LjIwNS00Ljk2OCwxMy4yNjQtNS4zNzUsMTguOTQzLTAuOTU3TDM1MC42NTIsMzc3LjYyNnoiLz4KCTxwYXRoIHN0eWxlPSJmaWxsOiMyRDUyN0M7IiBkPSJNMjE5LjY3NywzNjAuMjA5YzAuNDU2LDEuNDc2LDE3LjA5NS0xOS4zMjQsMTcuMjcyLTIwLjg2MmwtNy40NjMtMzYuNTM2ICAgYy0wLjk4My00LjgxMywwLjc2MS05Ljc3Niw0LjUzOC0xMi45MTVsMTM2Ljc5OC0xMTMuNjc0YzMuMjkyLTIuOTEzLTAuNTMyLTguMDUtNC4yNjUtNS43MzdMMjA1LjY5LDI2OC42MDEgICBjLTMuODE0LDIuMzI3LTUuNzgyLDYuNzc1LTQuOTM5LDExLjE2MUwyMTkuNjc3LDM2MC4yMDl6Ii8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg=="/>
</a> </a>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
@ -134,7 +136,7 @@
</div> </div>
</el-footer> </el-footer>
</div> </div>
<script type="text/javascript" src="style/js/main.js"></script> <script type="text/javascript" src="../static/style/js/main.js"></script>
<!-- import Vue before Element --> <!-- import Vue before Element -->
<script src="../plugins/vue/vue.js"></script> <script src="../plugins/vue/vue.js"></script>
<!-- import JavaScript --> <!-- import JavaScript -->
@ -142,7 +144,7 @@
<script src="../plugins/calendar/calendar.js"></script> <script src="../plugins/calendar/calendar.js"></script>
<script src="../plugins/axios/axios.min.js"></script> <script src="../plugins/axios/axios.min.js"></script>
<script src="../plugins/axios/request.js"></script> <script src="../plugins/axios/request.js"></script>
<script src="style/js/index.js"></script> <script src="../static/style/js/index.js"></script>
<script> <script>
new Vue({ new Vue({
el: '#index-app', el: '#index-app',