【CHG】南瓜瞄

This commit is contained in:
limqhz
2023-02-17 16:04:32 +08:00
parent 2f6badd1ee
commit 713557f70b
48 changed files with 83 additions and 26630 deletions

View File

@@ -1,2 +1,2 @@
QN-FOREVER QN-FOREVER
Copyright 2022-2024 quinn Copyright 2022-2024 南瓜瞄

View File

@@ -1,12 +0,0 @@
package com.quinn.common;
import lombok.Data;
@Data
public class ExpBucket {
String name;
String category;
String url;
}

View File

@@ -3,12 +3,9 @@ package com.quinn.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.quinn.common.ExpBucket;
import com.quinn.pojo.About; import com.quinn.pojo.About;
import com.quinn.service.AboutService; import com.quinn.service.AboutService;
import com.quinn.utils.QuinnUtils; import com.quinn.utils.QuinnUtils;
import com.quinn.vo.FindNavReq;
import com.quinn.vo.MyPageParam;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
@@ -16,7 +13,6 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List; import java.util.List;
/** /**
@@ -45,41 +41,36 @@ public class AboutController extends BaseModelController {
return "page/about"; return "page/about";
} }
@GetMapping("/guess")
public String guess(){
return "cimi/guess";
}
@GetMapping("/firework") @GetMapping("/firework")
public String firework(){ public String firework(){
return "firework/index"; return "firework/index";
} }
// 列表展示 // // 列表展示
@GetMapping("/favor") // @GetMapping("/favor")
public String sourceList(Model model) throws IOException { // public String sourceList(Model model) throws IOException {
MyPageParam pageParam = new MyPageParam(1,24); // MyPageParam pageParam = new MyPageParam(1,24);
List<ExpBucket> recordList = aboutService.listExp(null,pageParam); // List<ExpBucket> recordList = aboutService.listExp(null,pageParam);
model.addAttribute("recordList",recordList); // model.addAttribute("recordList",recordList);
model.addAttribute("pageParam",pageParam); // model.addAttribute("pageParam",pageParam);
return "page/favor"; // return "page/favor";
} // }
//
@PostMapping("/favor") // @PostMapping("/favor")
public String blogListPage(FindNavReq findNavReq, Model model) throws IOException { // public String blogListPage(FindNavReq findNavReq, Model model) throws IOException {
int page = findNavReq.getPageNum(); // int page = findNavReq.getPageNum();
int limit = findNavReq.getLimit(); // int limit = findNavReq.getLimit();
if (findNavReq.getPageNum() < 1){ // if (findNavReq.getPageNum() < 1){
page = 1; // page = 1;
} // }
MyPageParam pageParam = new MyPageParam(page,limit); // MyPageParam pageParam = new MyPageParam(page,limit);
List<ExpBucket> recordList = aboutService.listExp(findNavReq.getFindWhat(),pageParam); // List<ExpBucket> recordList = aboutService.listExp(findNavReq.getFindWhat(),pageParam);
// 结果 // // 结果
model.addAttribute("recordList",recordList); // model.addAttribute("recordList",recordList);
model.addAttribute("pageParam",pageParam); // model.addAttribute("pageParam",pageParam);
model.addAttribute("findBucket",findNavReq.getFindWhat()); // model.addAttribute("findBucket",findNavReq.getFindWhat());
return "page/favor::user_table_refresh"; // return "page/favor::user_table_refresh";
} // }
@PostMapping("/about/append") @PostMapping("/about/append")
@PreAuthorize("hasAuthority('ADMIN')") @PreAuthorize("hasAuthority('ADMIN')")

View File

@@ -1,21 +0,0 @@
package com.quinn.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author limqsh
* @since 2022-05-03
*/
@Controller
public class SourceCategoryController {
}

View File

@@ -32,7 +32,7 @@ import java.util.List;
* @author limqsh * @author limqsh
* @since 2022-05-03 * @since 2022-05-03
*/ */
@Controller //@Controller
public class SourceController extends BaseModelController { public class SourceController extends BaseModelController {
@Resource @Resource

View File

@@ -21,8 +21,8 @@ import java.io.IOException;
* @author limqsh * @author limqsh
* @since 2022-05-03 * @since 2022-05-03
*/ */
@Controller //@Controller
@PreAuthorize("hasAuthority('ADMIN')") //@PreAuthorize("hasAuthority('ADMIN')")
public class SourceUploadController { public class SourceUploadController {
@Resource @Resource
SourceService sourceService; SourceService sourceService;

View File

@@ -1,70 +0,0 @@
package com.quinn.intergration;
import com.fasterxml.jackson.core.type.TypeReference;
import com.quinn.common.ExpBucket;
import com.quinn.utils.JsonUtils;
import com.quinn.vo.MyPageParam;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Component
public class BucketImage implements InitializingBean {
Map<String,String> dictionary = new HashMap<>();
public List<ExpBucket> listExp(String findWhat, MyPageParam myPageParam) throws IOException {
List<ExpBucket> result = new ArrayList<>();
if (CollectionUtils.isEmpty(dictionary)){
makeDictionary();
}
List<String> resultAll = dictionary.keySet().stream().filter(x ->
StringUtils.isEmpty(findWhat) ? true : x.contains(findWhat)).collect(Collectors.toList());
myPageParam.setTotal(resultAll.size());
int pageNum = myPageParam.getPageNum();
for (int i = 0;i<myPageParam.getSize(); i++){
if (pageNum + i >= myPageParam.getTotal()){
break;
}
ExpBucket expBucket = new ExpBucket();
expBucket.setName(resultAll.get(pageNum + i));
expBucket.setUrl(dictionary.get(resultAll.get(pageNum + i)));
result.add(expBucket);
}
return result;
}
@Override
public void afterPropertiesSet() throws Exception {
makeDictionary();
}
private void makeDictionary() throws IOException {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("bqb/image.json");
Resource resource = resources[0];
InputStream is = resource.getInputStream();
InputStreamReader insReader = new InputStreamReader(
is, "UTF-8");
BufferedReader bufReader = new BufferedReader(insReader);
String json = bufReader.readLine();
bufReader.close();
insReader.close();
List<ExpBucket> decode = JsonUtils.decode(json, new TypeReference<List<ExpBucket>>() {
});
for (ExpBucket expBucket : decode) {
this.dictionary.put(expBucket.getName(),expBucket.getUrl());
}
}
}

View File

@@ -3,29 +3,19 @@
<mapper namespace="com.quinn.mapper.FindMapper"> <mapper namespace="com.quinn.mapper.FindMapper">
<select id="countListFinds" resultType="int"> <select id="countListFinds" resultType="int">
select count(1) from ( select count(1) from qn_blog b
select 1 from qn_source a
where a.source_name like CONCAT('%',#{findWhat},'%')
or a.content_json like CONCAT('%',#{findWhat},'%')
union all
select 1 from qn_blog b
where (b.title like CONCAT('%',#{findWhat},'%') where (b.title like CONCAT('%',#{findWhat},'%')
or b.content_json like CONCAT('%',#{findWhat},'%')) or b.content_json like CONCAT('%',#{findWhat},'%'))
and b.category_id = '2' and b.category_id = '2'
) t
</select> </select>
<select id="listFinds" resultType="com.quinn.pojo.FindResult"> <select id="listFinds" resultType="com.quinn.pojo.FindResult">
select * from (
select a.sid as topicId,'SOURCE' as category,a.gmt_create as gmtCreate,a.source_name as topicName,a.content_json as contentText from qn_source a
where a.source_name like CONCAT('%',#{findWhat},'%')
or a.content_json like CONCAT('%',#{findWhat},'%')
union all
select b.bid as topicId,'BLOG' as category,b.gmt_create as gmtCreate,b.title as topicName,b.content_json as contentText from qn_blog b select b.bid as topicId,'BLOG' as category,b.gmt_create as gmtCreate,b.title as topicName,b.content_json as contentText from qn_blog b
where b.title like CONCAT('%',#{findWhat},'%') where and b.category_id = '2'
or b.content_json like CONCAT('%',#{findWhat},'%') and (
) t order by gmtCreate b.title like CONCAT('%',#{findWhat},'%') or b.content_json like CONCAT('%',#{findWhat},'%')
limit #{myPageParam.pageNum},#{myPageParam.size} )
order by b.gmt_create limit #{myPageParam.pageNum},#{myPageParam.size}
</select> </select>
</mapper> </mapper>

View File

@@ -1,12 +1,7 @@
package com.quinn.service; package com.quinn.service;
import com.quinn.common.ExpBucket;
import com.quinn.pojo.About; import com.quinn.pojo.About;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.quinn.vo.MyPageParam;
import java.io.IOException;
import java.util.List;
/** /**
* <p> * <p>
@@ -18,6 +13,4 @@ import java.util.List;
*/ */
public interface AboutService extends IService<About> { public interface AboutService extends IService<About> {
List<ExpBucket> listExp(String findWhat, MyPageParam pageParam) throws IOException;
} }

View File

@@ -1,17 +1,11 @@
package com.quinn.service.impl; package com.quinn.service.impl;
import com.quinn.common.ExpBucket;
import com.quinn.intergration.BucketImage;
import com.quinn.pojo.About; import com.quinn.pojo.About;
import com.quinn.mapper.AboutMapper; import com.quinn.mapper.AboutMapper;
import com.quinn.service.AboutService; import com.quinn.service.AboutService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.quinn.vo.MyPageParam;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.*;
import java.util.List;
/** /**
* <p> * <p>
@@ -24,11 +18,4 @@ import java.util.List;
@Service @Service
public class AboutServiceImpl extends ServiceImpl<AboutMapper, About> implements AboutService { public class AboutServiceImpl extends ServiceImpl<AboutMapper, About> implements AboutService {
@Resource
BucketImage bucketImage;
@Override
public List<ExpBucket> listExp(String findWhat, MyPageParam pageParam) throws IOException {
return bucketImage.listExp(findWhat,pageParam);
}
} }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>论坛-Quinn</title> <title>论坛-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/> <link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>论坛-Quinn</title> <title>论坛-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<style> <style>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>论坛-Quinn</title> <title>论坛-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/> <link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>论坛-Quinn</title> <title>论坛-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/> <link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -1,25 +0,0 @@
<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Quinn-词谜</title>
<script type="module" crossorigin th:src="@{/assets/index.62e94f3e.js}"></script>
<link rel="modulepreload" th:href="@{/assets/vendor.e8eab7c4.js}">
<link rel="modulepreload" th:href="@{/assets/polyphones.f3f0c057.js}">
<link rel="modulepreload" th:href="@{/assets/idioms.a01375e9.js}">
<link rel="modulepreload" th:href="@{/assets/locale.6dea3a1e.js}">
<link rel="stylesheet" th:href="@{/assets/index.cc1a4ca9.css}">
</head>
<body>
<div id="app"></div>
<script type="text/javascript">
(function() {
const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
const setting = localStorage.getItem('color-schema') || 'auto'
if (setting === 'dark' || (prefersDark && setting !== 'light'))
document.documentElement.classList.toggle('dark', true)
})()
</script>
</body>
</html>

View File

@@ -3,7 +3,7 @@
<footer class="container" th:fragment="footer"> <footer class="container" th:fragment="footer">
<footer class="my-5 text-muted text-center"> <footer class="my-5 text-muted text-center">
<a class="text-light text-decoration-none" target="_blank" href='https://beian.miit.gov.cn'>©QUINN 浙ICP备2020031991号</a> <a class="text-light text-decoration-none" target="_blank" href='https://beian.miit.gov.cn'>©南瓜瞄 浙ICP备2020031991号</a>
</footer> </footer>
</footer> </footer>
</html> </html>

View File

@@ -7,7 +7,7 @@
<div class="container"> <div class="container">
<!--标题--> <!--标题-->
<a class="navbar-brand"> <a class="navbar-brand">
Quinn 南瓜瞄
</a> </a>
<!--小屏幕下拉响应--> <!--小屏幕下拉响应-->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample07" aria-controls="navbarsExample07" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample07" aria-controls="navbarsExample07" aria-expanded="false" aria-label="Toggle navigation">
@@ -25,9 +25,9 @@
<li th:class="${activeUrl=='blog'?'nav-item active':'nav-item'}"> <li th:class="${activeUrl=='blog'?'nav-item active':'nav-item'}">
<a class="nav-link" th:href="@{/blog}">论坛</a> <a class="nav-link" th:href="@{/blog}">论坛</a>
</li> </li>
<li th:class="${activeUrl=='source'?'nav-item active':'nav-item'}"> <!-- <li th:class="${activeUrl=='source'?'nav-item active':'nav-item'}">-->
<a class="nav-link" th:href="@{/source}">资源</a> <!-- <a class="nav-link" th:href="@{/source}">资源</a>-->
</li> <!-- </li>-->
<!-- <li th:class="${activeUrl=='favor'?'nav-item active':'nav-item'}">--> <!-- <li th:class="${activeUrl=='favor'?'nav-item active':'nav-item'}">-->
<!-- <a class="nav-link" th:href="@{/favor}">斗图</a>--> <!-- <a class="nav-link" th:href="@{/favor}">斗图</a>-->
<!-- </li>--> <!-- </li>-->

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>关于我们-Quinn</title> <title>关于我们-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
</head> </head>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>关于我们-Quinn</title> <title>关于我们-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
</head> </head>

View File

@@ -2,7 +2,7 @@
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <html lang="en" xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>烟花秀-Quinn</title> <title>烟花秀-南瓜瞄</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" th:href="@{/firework/css/style.css}"> <link rel="stylesheet" th:href="@{/firework/css/style.css}">
</head> </head>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>注册-Quinn</title> <title>注册-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
</head> </head>
@@ -15,7 +15,7 @@
<div class="col-md-4 mt-5" id='login_box'> <div class="col-md-4 mt-5" id='login_box'>
<form id="forgetForm" class="form-horizontal" method="post" noValidate> <form id="forgetForm" class="form-horizontal" method="post" noValidate>
<div class="justify-content-center"> <div class="justify-content-center">
<h1>忘记密码<small style="font-size: small">Quinn</small></h1> <h1>忘记密码<small style="font-size: small">南瓜瞄</small></h1>
<p>无法重置,请关注公众号反馈</p> <p>无法重置,请关注公众号反馈</p>
</div> </div>
<div class="form-group"> <div class="form-group">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>首页-Quinn</title> <title>首页-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<link rel="stylesheet" th:href="@{/css/vno.css}"> <link rel="stylesheet" th:href="@{/css/vno.css}">
@@ -25,20 +25,20 @@
</b> </b>
<em style="width: 20px;height: 20px;background: #FFB900;display: inline-block;position: relative;left: -30px;top: 10px;"> <em style="width: 20px;height: 20px;background: #FFB900;display: inline-block;position: relative;left: -30px;top: 10px;">
</em> </em>
<strong style="position: relative;">QUINN</strong> <strong style="position: relative;">南瓜瞄</strong>
<b style="width: 20px;height: 20px;background: #00C6FF;display: inline-block;position: relative;left: 40px;top: 5px;"> <b style="width: 20px;height: 20px;background: #00C6FF;display: inline-block;position: relative;left: 40px;top: 5px;">
</b> </b>
<em style="width: 20px;height: 20px;background: #FFB900;display: inline-block;position: relative;left: 0px;top: 10px;"> <em style="width: 20px;height: 20px;background: #FFB900;display: inline-block;position: relative;left: 0px;top: 10px;">
</em> </em>
</h2> </h2>
<p style="margin: 0;padding: 0;text-align: center;color: #969696; font-size: 14px;"> <p style="margin: 0;padding: 0;text-align: center;color: #969696; font-size: 14px;">
分享&交流 游戏 & 资源 & 破解
</p> </p>
</div> </div>
<div class="panel-cover__title panel-title iUp"> <div class="panel-cover__title panel-title iUp">
<br/> <br/>
</div> </div>
<p class="panel-cover__subtitle panel-subtitle iUp">免费资源分享、开源技术交流</p> <p class="panel-cover__subtitle panel-subtitle iUp">活捉一只宅女</p>
<hr class="panel-cover__divider iUp" /> <hr class="panel-cover__divider iUp" />
<p id="description" class="panel-cover__description iUp"> <p id="description" class="panel-cover__description iUp">
拒绝内卷,拒绝内耗! 拒绝内卷,拒绝内耗!
@@ -52,14 +52,14 @@
<li class="navigation__item"> <li class="navigation__item">
<a href="/blog" class="blog-button">论坛</a> <a href="/blog" class="blog-button">论坛</a>
</li> </li>
<!-- <li class="navigation__item">-->
<!-- <a href="/favor" class="blog-button">斗图</a>-->
<!-- </li>-->
<!-- <li class="navigation__item">-->
<!-- <a href="/guess" class="blog-button">词谜</a>-->
<!-- </li>-->
<li class="navigation__item"> <li class="navigation__item">
<a href="/favor" class="blog-button">斗图</a> <a href="/firework" class="blog-button">请你看烟花</a>
</li>
<li class="navigation__item">
<a href="/guess" class="blog-button">词谜</a>
</li>
<li class="navigation__item">
<a href="/firework" class="blog-button">看烟花</a>
</li> </li>
<li class="navigation__item"> <li class="navigation__item">
<a href="/about" class="blog-button">关于</a> <a href="/about" class="blog-button">关于</a>
@@ -103,7 +103,7 @@
<div class="panel-cover--overlay cover-slate"></div> <div class="panel-cover--overlay cover-slate"></div>
</div> </div>
<div class="remark power"> <div class="remark power">
<a class="text-light text-decoration-none" target="_blank" href='https://beian.miit.gov.cn'>©QUINN 浙ICP备2020031991号</a> <a class="text-light text-decoration-none" target="_blank" href='https://beian.miit.gov.cn'>©南瓜瞄 浙ICP备2020031991号</a>
</div> </div>
</header> </header>
</main> </main>
@@ -113,7 +113,7 @@
<script th:src="@{/js/jquery-ui.min.js}"></script> <script th:src="@{/js/jquery-ui.min.js}"></script>
<script> <script>
// var typed = new Typed('.element', { // var typed = new Typed('.element', {
// strings: ["Quinn注册流程,技术博客,交流反馈。可点击下方了解详情↓"], //输入内容, 支持html标签 // strings: ["南瓜瞄注册流程,技术博客,交流反馈。可点击下方了解详情↓"], //输入内容, 支持html标签
// typeSpeed: 120, //打字速度 // typeSpeed: 120, //打字速度
// backSpeed: 50 //回退速度 // backSpeed: 50 //回退速度
// }); // });

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>登录-Quinn</title> <title>登录-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
</head> </head>
@@ -15,7 +15,7 @@
<div class="col-md-4 mt-5" id='login_box'> <div class="col-md-4 mt-5" id='login_box'>
<form id="loginForm" class="form-horizontal" method="post" th:action="@{/login}" novalidate> <form id="loginForm" class="form-horizontal" method="post" th:action="@{/login}" novalidate>
<div class="justify-content-center"> <div class="justify-content-center">
<h1>登录<small style="font-size: small">Quinn</small></h1> <h1>登录<small style="font-size: small">南瓜瞄</small></h1>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="username">用户名</label> <label for="username">用户名</label>

View File

@@ -57,7 +57,7 @@
<i <i
style="width: 20px;height: 20px;z-index: 2;background: #FFB900;display: inline-block;position: relative;left: -30px;top: 10px;"> style="width: 20px;height: 20px;z-index: 2;background: #FFB900;display: inline-block;position: relative;left: -30px;top: 10px;">
</i> </i>
<strong style="position: relative;">QUINN</strong> <strong style="position: relative;">南瓜瞄</strong>
<b <b
style="width: 20px;height: 20px;background: #00C6FF;display: inline-block;position: relative;left: 40px;top: 5px;"> style="width: 20px;height: 20px;background: #00C6FF;display: inline-block;position: relative;left: 40px;top: 5px;">
</b> </b>
@@ -98,7 +98,7 @@
</div> </div>
</tr> </tr>
<tr> <tr>
<p style="margin: 0 auto;text-align: center;">感谢! © Quinn</p> <p style="margin: 0 auto;text-align: center;">感谢! © 南瓜瞄</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>关于我们-Quinn</title> <title>关于我们-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/timeline.css}"> <link rel="stylesheet" th:href="@{/css/timeline.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>论坛-Quinn</title> <title>论坛-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<style> <style>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>关于我们-Quinn</title> <title>关于我们-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/timeline.css}"> <link rel="stylesheet" th:href="@{/css/timeline.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>表情包-Quinn</title> <title>表情包-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
</head> </head>
<body class="bg-dark"> <body class="bg-dark">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>注册-Quinn</title> <title>注册-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
</head> </head>
@@ -15,7 +15,7 @@
<div class="col-md-4 mt-5" id='login_box'> <div class="col-md-4 mt-5" id='login_box'>
<form id="registerForm" class="form-horizontal" method="post" noValidate> <form id="registerForm" class="form-horizontal" method="post" noValidate>
<div class="justify-content-center"> <div class="justify-content-center">
<h1>注册<small style="font-size: small">Quinn</small></h1> <h1>注册<small style="font-size: small">南瓜瞄</small></h1>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="username">用户名</label> <label for="username">用户名</label>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>注册-Quinn</title> <title>注册-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
</head> </head>
@@ -15,7 +15,7 @@
<div class="col-md-4 mt-5" id='login_box'> <div class="col-md-4 mt-5" id='login_box'>
<form id="registerForm" class="form-horizontal" method="post" noValidate> <form id="registerForm" class="form-horizontal" method="post" noValidate>
<div class="justify-content-center"> <div class="justify-content-center">
<h1>重置密码<small style="font-size: small">Quinn</small></h1> <h1>重置密码<small style="font-size: small">南瓜瞄</small></h1>
<p>无法重置,请关注公众号反馈</p> <p>无法重置,请关注公众号反馈</p>
</div> </div>
<div class="form-group"> <div class="form-group">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>资源-Quinn</title> <title>资源-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/> <link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>资源库-Quinn</title> <title>资源库-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<style> <style>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>资源-Quinn</title> <title>资源-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/> <link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>资源下载-Quinn</title> <title>资源下载-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/> <link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>用户中心-Quinn</title> <title>用户中心-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/hover/component.css}"> <link rel="stylesheet" th:href="@{/hover/component.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>用户中心-Quinn</title> <title>用户中心-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<link rel="stylesheet" th:href="@{/hover/component.css}"> <link rel="stylesheet" th:href="@{/hover/component.css}">
@@ -49,7 +49,7 @@
</div> </div>
<div class="col-md-6 mb-3"> <div class="col-md-6 mb-3">
<label for="email">邮箱</label> <label for="email">邮箱</label>
<input type="email" th:value="${userInfo.getEmail()}" name="email" class="form-control" id="email" placeholder="example@quinn.com"> <input type="email" th:value="${userInfo.getEmail()}" name="email" class="form-control" id="email" placeholder="example@南瓜瞄.com">
</div> </div>
</div> </div>

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>用户中心-Quinn</title> <title>用户中心-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<link rel="stylesheet" th:href="@{/hover/component.css}"> <link rel="stylesheet" th:href="@{/hover/component.css}">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>用户中心-Quinn</title> <title>用户中心-南瓜瞄</title>
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}"> <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/backgroud.css}"> <link rel="stylesheet" th:href="@{/css/backgroud.css}">
<link rel="stylesheet" th:href="@{/hover/component.css}"> <link rel="stylesheet" th:href="@{/hover/component.css}">

View File

@@ -1,22 +1,15 @@
package com.quinn.test; package com.quinn.test;
import com.fasterxml.jackson.core.type.TypeReference;
import com.quinn.QuinnApplication; import com.quinn.QuinnApplication;
import com.quinn.common.ExpBucket;
import com.quinn.intergration.SendBMail; import com.quinn.intergration.SendBMail;
import com.quinn.service.SourceService; import com.quinn.service.SourceService;
import com.quinn.utils.CovertEmojStr;
import com.quinn.utils.JsonUtils;
import com.quinn.utils.RedisUtils; import com.quinn.utils.RedisUtils;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.ResourceUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.*;
import java.util.List;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes={QuinnApplication.class}) @SpringBootTest(classes={QuinnApplication.class})