主页完成
5
pom.xml
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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/");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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";
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 323 KiB After Width: | Height: | Size: 323 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
@ -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',
|
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 323 KiB After Width: | Height: | Size: 323 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
|
@ -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 {
|
|
@ -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">  天 气 情 况 : {{weather.info}}</i></div>
|
||||||
<div><i class="el-icon-sunrise-1">当前温度:{{weather.temperature}} ℃</i></div>
|
<div><i class="el-icon-sunrise-1">  当 前 温 度 : {{weather.temperature}} ℃</i></div>
|
||||||
<div><i class="el-icon-cold-drink">当前湿度:{{weather.humidity}} %</i></div>
|
<div><i class="el-icon-cold-drink">  当 前 湿 度 : {{weather.humidity}} %</i></div>
|
||||||
<div><i class="el-icon-guide">当前风向:{{weather.direct}}</i></div>
|
<div><i class="el-icon-guide">  当 前 风 向 : {{weather.direct}}</i></div>
|
||||||
<div><i class="el-icon-ship">当前风速:{{weather.power}}</i></div>
|
<div><i class="el-icon-ship">  当 前 风 速 : {{weather.power}}</i></div>
|
||||||
<div><i class="el-icon-grape">空气质量:{{weather.aqi}}</i></div>
|
<div><i class="el-icon-grape">  空 气 质 量 : {{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',
|