mirror of
https://github.com/201206030/novel-plus.git
synced 2025-04-27 01:30:51 +00:00
feat(crawl): 账号退出
This commit is contained in:
parent
a55f456b3d
commit
0332802fe5
@ -55,6 +55,9 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
|
|||||||
.antMatchers("/css/**").permitAll()
|
.antMatchers("/css/**").permitAll()
|
||||||
.antMatchers("/**").hasRole("ADMIN")
|
.antMatchers("/**").hasRole("ADMIN")
|
||||||
.and().formLogin().loginPage("/login.html").loginProcessingUrl("/login").permitAll()
|
.and().formLogin().loginPage("/login.html").loginProcessingUrl("/login").permitAll()
|
||||||
|
.and().logout()
|
||||||
|
.logoutUrl("/logout")
|
||||||
|
.logoutSuccessUrl("/")
|
||||||
.and().httpBasic();
|
.and().httpBasic();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,15 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="">
|
||||||
|
|
||||||
<div class="header">
|
<div th:replace="crawl/header :: header">
|
||||||
<div class="mainNav" id="mainNav">
|
|
||||||
<div class="box_center cf"
|
|
||||||
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;">
|
|
||||||
|
|
||||||
小说精品屋爬虫管理
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main box_center cf">
|
<div class="main box_center cf">
|
||||||
@ -30,7 +22,7 @@
|
|||||||
<ul class="log_list">
|
<ul class="log_list">
|
||||||
<li><a class="link_1" href="/">爬虫源管理</a></li>
|
<li><a class="link_1" href="/">爬虫源管理</a></li>
|
||||||
<li><a class="link_1 on" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
<li><a class="link_1 on" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
||||||
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank" >规则测试</a></li>
|
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank">规则测试</a></li>
|
||||||
<!--<li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
<!--<li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
||||||
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
||||||
</ul>
|
</ul>
|
||||||
@ -47,7 +39,7 @@
|
|||||||
<h3>采集信息填写(示例均为笔趣阁:http://www.mcmssc.com)</h3>
|
<h3>采集信息填写(示例均为笔趣阁:http://www.mcmssc.com)</h3>
|
||||||
<ul class="log_list">
|
<ul class="log_list">
|
||||||
<li><span id="LabErr"></span></li>
|
<li><span id="LabErr"></span></li>
|
||||||
<input type="hidden" id="sourceName" class="s_input icon_name" >
|
<input type="hidden" id="sourceName" class="s_input icon_name">
|
||||||
<b>采集源:</b>
|
<b>采集源:</b>
|
||||||
<li><select id="sourceId" class="s_input icon_key">
|
<li><select id="sourceId" class="s_input icon_key">
|
||||||
</select></li>
|
</select></li>
|
||||||
@ -99,16 +91,16 @@
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
type: "get",
|
type: "get",
|
||||||
url: "/crawl/listCrawlByPage",
|
url: "/crawl/listCrawlByPage",
|
||||||
data: {'curr':1,'limit':100},
|
data: {'curr': 1, 'limit': 100},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
var crawlSourceList = data.data.list;
|
var crawlSourceList = data.data.list;
|
||||||
if (crawlSourceList.length > 0) {
|
if (crawlSourceList.length > 0) {
|
||||||
var crawlSourceListHtml = "";
|
var crawlSourceListHtml = "";
|
||||||
for(var i=0;i<crawlSourceList.length;i++){
|
for (var i = 0; i < crawlSourceList.length; i++) {
|
||||||
var crawlSource = crawlSourceList[i];
|
var crawlSource = crawlSourceList[i];
|
||||||
crawlSourceListHtml+=("<option value=\""+crawlSource.id+"\">"+crawlSource.sourceName+"</option>");
|
crawlSourceListHtml += ("<option value=\"" + crawlSource.id + "\">" + crawlSource.sourceName + "</option>");
|
||||||
}
|
}
|
||||||
$("#sourceId").html(crawlSourceListHtml);
|
$("#sourceId").html(crawlSourceListHtml);
|
||||||
|
|
||||||
@ -120,7 +112,7 @@
|
|||||||
//未登录
|
//未登录
|
||||||
location.href = '/user/login.html?originUrl=' + decodeURIComponent(location.href);
|
location.href = '/user/login.html?originUrl=' + decodeURIComponent(location.href);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
layer.alert(data.msg);
|
layer.alert(data.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,21 +135,21 @@
|
|||||||
|
|
||||||
var sourceBookId = $("#sourceBookId").val();
|
var sourceBookId = $("#sourceBookId").val();
|
||||||
|
|
||||||
if (!sourceBookId){
|
if (!sourceBookId) {
|
||||||
layer.alert("采集的源站小说ID不能为空");
|
layer.alert("采集的源站小说ID不能为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var bookName = $("#bookName").val();
|
var bookName = $("#bookName").val();
|
||||||
|
|
||||||
if (!bookName){
|
if (!bookName) {
|
||||||
layer.alert("采集的小说名不能为空");
|
layer.alert("采集的小说名不能为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var authorName = $("#authorName").val();
|
var authorName = $("#authorName").val();
|
||||||
|
|
||||||
if (!authorName){
|
if (!authorName) {
|
||||||
layer.alert("采集的小说作者名不能为空");
|
layer.alert("采集的小说作者名不能为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -165,7 +157,14 @@
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: "/crawl/addCrawlSingleTask",
|
url: "/crawl/addCrawlSingleTask",
|
||||||
data: {'sourceId': sourceId, 'sourceName': sourceName,'catId':catId,'sourceBookId' : sourceBookId,'bookName':bookName,'authorName':authorName},
|
data: {
|
||||||
|
'sourceId': sourceId,
|
||||||
|
'sourceName': sourceName,
|
||||||
|
'catId': catId,
|
||||||
|
'sourceBookId': sourceBookId,
|
||||||
|
'bookName': bookName,
|
||||||
|
'authorName': authorName
|
||||||
|
},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
|
@ -12,15 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="">
|
||||||
|
|
||||||
<div class="header">
|
<div th:replace="crawl/header :: header">
|
||||||
<div class="mainNav" id="mainNav">
|
|
||||||
<div class="box_center cf"
|
|
||||||
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;">
|
|
||||||
|
|
||||||
小说精品屋爬虫管理
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main box_center cf">
|
<div class="main box_center cf">
|
||||||
@ -30,7 +22,7 @@
|
|||||||
<ul class="log_list">
|
<ul class="log_list">
|
||||||
<li><a class="link_1" href="/">爬虫源管理</a></li>
|
<li><a class="link_1" href="/">爬虫源管理</a></li>
|
||||||
<li><a class="link_1 on" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
<li><a class="link_1 on" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
||||||
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank" >规则测试</a></li>
|
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank">规则测试</a></li>
|
||||||
<!-- <li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
<!-- <li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
||||||
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
||||||
</ul>
|
</ul>
|
||||||
@ -151,7 +143,7 @@
|
|||||||
" " + crawlSource.excCount + "\n" +
|
" " + crawlSource.excCount + "\n" +
|
||||||
" </td>\n" +
|
" </td>\n" +
|
||||||
" <td class=\"goread\">\n" +
|
" <td class=\"goread\">\n" +
|
||||||
" " + (crawlSource.taskStatus == 0 ? '采集失败' : (crawlSource.taskStatus == 1 ? '采集成功' : (crawlSource.excCount>0?'采集中':'排队中'))) + "\n" +
|
" " + (crawlSource.taskStatus == 0 ? '采集失败' : (crawlSource.taskStatus == 1 ? '采集成功' : (crawlSource.excCount > 0 ? '采集中' : '排队中'))) + "\n" +
|
||||||
" </td>\n" +
|
" </td>\n" +
|
||||||
" <td class=\"name\" valsc=\"291|2037554|1\">"
|
" <td class=\"name\" valsc=\"291|2037554|1\">"
|
||||||
+ crawlSource.createTime + "</td>\n" +
|
+ crawlSource.createTime + "</td>\n" +
|
||||||
@ -190,7 +182,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
layer.alert(data.msg);
|
layer.alert(data.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +199,7 @@
|
|||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "delete",
|
type: "delete",
|
||||||
url: "/crawl/delCrawlSingleTask/"+id,
|
url: "/crawl/delCrawlSingleTask/" + id,
|
||||||
data: {},
|
data: {},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
|
@ -12,15 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="">
|
||||||
|
|
||||||
<div class="header">
|
<div th:replace="crawl/header :: header">
|
||||||
<div class="mainNav" id="mainNav">
|
|
||||||
<div class="box_center cf"
|
|
||||||
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;">
|
|
||||||
|
|
||||||
小说精品屋爬虫管理
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main box_center cf">
|
<div class="main box_center cf">
|
||||||
@ -30,7 +22,7 @@
|
|||||||
<ul class="log_list">
|
<ul class="log_list">
|
||||||
<li><a class="link_1 on" href="/">爬虫源管理</a></li>
|
<li><a class="link_1 on" href="/">爬虫源管理</a></li>
|
||||||
<li><a class="link_1" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
<li><a class="link_1" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
||||||
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank" >规则测试</a></li>
|
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank">规则测试</a></li>
|
||||||
<!--<li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
<!--<li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
||||||
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -12,15 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="">
|
||||||
|
|
||||||
<div class="header">
|
<div th:replace="crawl/header :: header">
|
||||||
<div class="mainNav" id="mainNav">
|
|
||||||
<div class="box_center cf"
|
|
||||||
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;">
|
|
||||||
|
|
||||||
小说精品屋爬虫管理
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main box_center cf">
|
<div class="main box_center cf">
|
||||||
|
@ -12,15 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="">
|
||||||
|
|
||||||
<div class="header">
|
<div th:replace="crawl/header :: header">
|
||||||
<div class="mainNav" id="mainNav">
|
|
||||||
<div class="box_center cf"
|
|
||||||
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;">
|
|
||||||
|
|
||||||
小说精品屋爬虫管理
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main box_center cf">
|
<div class="main box_center cf">
|
||||||
|
@ -12,15 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="">
|
||||||
|
|
||||||
<div class="header">
|
<div th:replace="crawl/header :: header">
|
||||||
<div class="mainNav" id="mainNav">
|
|
||||||
<div class="box_center cf"
|
|
||||||
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;">
|
|
||||||
|
|
||||||
小说精品屋爬虫管理
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main box_center cf">
|
<div class="main box_center cf">
|
||||||
@ -30,7 +22,7 @@
|
|||||||
<ul class="log_list">
|
<ul class="log_list">
|
||||||
<li><a class="link_1 on" href="/">爬虫源管理</a></li>
|
<li><a class="link_1 on" href="/">爬虫源管理</a></li>
|
||||||
<li><a class="link_1" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
<li><a class="link_1" href="/crawl/crawlSingleTask_list.html">单本采集管理</a></li>
|
||||||
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank" >规则测试</a></li>
|
<li><a class="link_1" href="/crawl/crawlSource_test.html" target="_blank">规则测试</a></li>
|
||||||
<!--<li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
<!--<li><a class="link_1 " href="/user/userinfo.html">批量小说爬取</a></li>
|
||||||
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
<li><a class="link_4 " href="/user/favorites.html">单本小说爬取</a></li>-->
|
||||||
</ul>
|
</ul>
|
||||||
@ -204,12 +196,12 @@
|
|||||||
<script src="/javascript/user.js" type="text/javascript"></script>
|
<script src="/javascript/user.js" type="text/javascript"></script>
|
||||||
<script language="javascript" type="text/javascript">
|
<script language="javascript" type="text/javascript">
|
||||||
|
|
||||||
function load(){
|
function load() {
|
||||||
var crawlSourceId = localStorage.getItem("crawlSourceId")
|
var crawlSourceId = localStorage.getItem("crawlSourceId")
|
||||||
if(crawlSourceId!=null){
|
if (crawlSourceId != null) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
url: "/crawl/getCrawlSource/"+crawlSourceId,
|
url: "/crawl/getCrawlSource/" + crawlSourceId,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
@ -218,7 +210,7 @@
|
|||||||
//未登录
|
//未登录
|
||||||
location.href = '/user/login.html?originUrl=' + decodeURIComponent(location.href);
|
location.href = '/user/login.html?originUrl=' + decodeURIComponent(location.href);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
layer.alert(data.msg);
|
layer.alert(data.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,20 +221,21 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function loadPage(data){
|
|
||||||
|
function loadPage(data) {
|
||||||
$("#sourceId").val(data.id);
|
$("#sourceId").val(data.id);
|
||||||
$("#sourceName").val(data.sourceName);
|
$("#sourceName").val(data.sourceName);
|
||||||
if(data.crawlRule){
|
if (data.crawlRule) {
|
||||||
|
|
||||||
|
|
||||||
var crawlRule= JSON.parse(data.crawlRule);
|
var crawlRule = JSON.parse(data.crawlRule);
|
||||||
$("#bookListUrl").val(crawlRule.bookListUrl);
|
$("#bookListUrl").val(crawlRule.bookListUrl);
|
||||||
var catIdRule = crawlRule.catIdRule;
|
var catIdRule = crawlRule.catIdRule;
|
||||||
try{
|
try {
|
||||||
for (var i = 1; i <= 7; i++) {
|
for (var i = 1; i <= 7; i++) {
|
||||||
$("#catId" + i).val(catIdRule["catId" + i]);
|
$("#catId" + i).val(catIdRule["catId" + i]);
|
||||||
}
|
}
|
||||||
}catch(e){
|
} catch (e) {
|
||||||
}
|
}
|
||||||
$("#bookIdPatten").val(crawlRule.bookIdPatten);
|
$("#bookIdPatten").val(crawlRule.bookIdPatten);
|
||||||
$("#pagePatten").val(crawlRule.pagePatten);
|
$("#pagePatten").val(crawlRule.pagePatten);
|
||||||
@ -253,14 +246,14 @@
|
|||||||
$("#picUrlPatten").val(crawlRule.picUrlPatten);
|
$("#picUrlPatten").val(crawlRule.picUrlPatten);
|
||||||
$("#picUrlPrefix").val(crawlRule.picUrlPrefix);
|
$("#picUrlPrefix").val(crawlRule.picUrlPrefix);
|
||||||
$("#statusPatten").val(crawlRule.statusPatten);
|
$("#statusPatten").val(crawlRule.statusPatten);
|
||||||
try{
|
try {
|
||||||
var bookStatusRule = crawlRule.bookStatusRule;
|
var bookStatusRule = crawlRule.bookStatusRule;
|
||||||
var i=0;
|
var i = 0;
|
||||||
for(var key in bookStatusRule){
|
for (var key in bookStatusRule) {
|
||||||
$("#bookStatus" + i).val(key);
|
$("#bookStatus" + i).val(key);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}catch (e) {
|
} catch (e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
$("#scorePatten").val(crawlRule.scorePatten);
|
$("#scorePatten").val(crawlRule.scorePatten);
|
||||||
@ -279,12 +272,13 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
load();
|
load();
|
||||||
|
|
||||||
function updateCrawlSource() {
|
function updateCrawlSource() {
|
||||||
|
|
||||||
var crawlRule = {};
|
var crawlRule = {};
|
||||||
var sourceId =$("#sourceId").val();
|
var sourceId = $("#sourceId").val();
|
||||||
|
|
||||||
var sourceName = $("#sourceName").val();
|
var sourceName = $("#sourceName").val();
|
||||||
if (sourceName.length == 0) {
|
if (sourceName.length == 0) {
|
||||||
@ -498,7 +492,7 @@
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: "/crawl/updateCrawlSource",
|
url: "/crawl/updateCrawlSource",
|
||||||
data: {'id':sourceId,'sourceName': sourceName, 'crawlRule': JSON.stringify(crawlRule)},
|
data: {'id': sourceId, 'sourceName': sourceName, 'crawlRule': JSON.stringify(crawlRule)},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
|
28
novel-crawl/src/main/resources/templates/crawl/header.html
Normal file
28
novel-crawl/src/main/resources/templates/crawl/header.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<div th:fragment="header" class="header">
|
||||||
|
<div class="mainNav" id="mainNav">
|
||||||
|
<div class="box_center cf"
|
||||||
|
style="text-align: center;height: 44px;line-height: 48px;color: #fff;font-size: 16px;width: 100%">
|
||||||
|
|
||||||
|
小说精品屋爬虫管理
|
||||||
|
<div style="text-align: center;height: 44px;line-height: 48px;font-size: 14px;float: right;padding-right: 20px">
|
||||||
|
<a style="color: #fff;"
|
||||||
|
href="/logout">
|
||||||
|
|
||||||
|
退出
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div style="float: right;margin-right:5px;margin-top: 15px">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img"
|
||||||
|
class="mr-3 iconify iconify--gitee icon-user-arrow-right" width="16" height="16"
|
||||||
|
preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16">
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path d="M0 0h16v16H0z"></path>
|
||||||
|
<path fill="currentColor" fill-rule="nonzero"
|
||||||
|
d="M8 1.5a3.5 3.5 0 01.192 6.995L8 8.5a5.75 5.75 0 00-5.75 5.75.5.5 0 11-1 0 6.753 6.753 0 014.681-6.427A3.5 3.5 0 018 1.5zm6.996 10.767.003.041v.002l.001.011a.51.51 0 010 .006v.006l-.002.03a.502.502 0 01-.004.037l-.002.011a.39.39 0 01-.016.063.491.491 0 01-.053.114l-.028.039-.031.035.027-.03-.009.011-.017.02-.011.012-2.122 2.121a.5.5 0 01-.707-.707l1.268-1.268H9.5a.5.5 0 110-1h3.794l-1.269-1.267a.5.5 0 11.707-.708l2.122 2.122a.491.491 0 01.135.248l.005.037v-.006zM8 2.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5z"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
@ -44,7 +44,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<form class="form-signin" method="post" action="/login">
|
<form class="form-signin" method="post" action="/login">
|
||||||
<h4 class="form-signin-heading">爬虫管理系统登录</h4>
|
<h4 style="text-align: center" class="form-signin-heading">爬虫管理系统登录</h4>
|
||||||
<p>
|
<p>
|
||||||
<label for="username" class="sr-only">用户名</label>
|
<label for="username" class="sr-only">用户名</label>
|
||||||
<input type="text" id="username" name="username" class="form-control" placeholder="用户名" required
|
<input type="text" id="username" name="username" class="form-control" placeholder="用户名" required
|
||||||
|
Loading…
x
Reference in New Issue
Block a user