mirror of
https://github.com/201206030/novel-plus.git
synced 2025-04-27 01:30:51 +00:00
perf(index): 首页优化
This commit is contained in:
parent
c4db754d23
commit
9b3ba1d8c1
@ -10,6 +10,7 @@ import com.java2nb.novel.service.BookService;
|
|||||||
import com.java2nb.novel.service.NewsService;
|
import com.java2nb.novel.service.NewsService;
|
||||||
import com.java2nb.novel.service.UserService;
|
import com.java2nb.novel.service.UserService;
|
||||||
import com.java2nb.novel.vo.BookCommentVO;
|
import com.java2nb.novel.vo.BookCommentVO;
|
||||||
|
import com.java2nb.novel.vo.BookSettingVO;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -23,6 +24,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ThreadPoolExecutor;
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
@ -78,9 +80,15 @@ public class PageController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 首页
|
* 首页
|
||||||
*/
|
*/
|
||||||
|
@SneakyThrows
|
||||||
@RequestMapping(path = {"/", "/index", "/index.html"})
|
@RequestMapping(path = {"/", "/index", "/index.html"})
|
||||||
public String index(Model model) {
|
public String index(Model model) {
|
||||||
model.addAttribute("bookMap", bookService.listBookSettingVO());
|
//加载小说首页小说基本信息线程
|
||||||
|
CompletableFuture<Map<Byte, List<BookSettingVO>>> bookCompletableFuture = CompletableFuture.supplyAsync(bookService::listBookSettingVO, threadPoolExecutor);
|
||||||
|
//加载首页新闻线程
|
||||||
|
CompletableFuture<List<News>> newsCompletableFuture = CompletableFuture.supplyAsync(newsService::listIndexNews, threadPoolExecutor);
|
||||||
|
model.addAttribute("bookMap", bookCompletableFuture.get());
|
||||||
|
model.addAttribute("newsList", newsCompletableFuture.get());
|
||||||
return ThreadLocalUtil.getTemplateDir() + "index";
|
return ThreadLocalUtil.getTemplateDir() + "index";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,6 +45,8 @@
|
|||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<dl class="hot_notice" id="indexNews">
|
<dl class="hot_notice" id="indexNews">
|
||||||
|
<dd style="text-align:left;" th:each="news : ${newsList}"><span th:text="'['+${news.catName}+']'"></span><a th:href="'/about/newsInfo-'+${news.id}+'.html'" th:utext="${news.title}"></a>
|
||||||
|
</dd>
|
||||||
|
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
@ -230,33 +232,6 @@
|
|||||||
|
|
||||||
lazyload();
|
lazyload();
|
||||||
$(function () {
|
$(function () {
|
||||||
//首页新闻查询
|
|
||||||
$.ajax({
|
|
||||||
type: "get",
|
|
||||||
url: "/news/listIndexNews",
|
|
||||||
data: {},
|
|
||||||
dataType: "json",
|
|
||||||
success: function (data) {
|
|
||||||
if (data.code == 200) {
|
|
||||||
var indexNewsList = data.data;
|
|
||||||
var indexNewsHtml = "";
|
|
||||||
for (var i = 0; i < indexNewsList.length; i++) {
|
|
||||||
var indexNews = indexNewsList[i];
|
|
||||||
indexNewsHtml += ("<dd style=\"text-align:left;\"><span>[" + indexNews.catName + "]</span><a\n" +
|
|
||||||
" href=\"/about/newsInfo-" + indexNews.id + ".html\">" + indexNews.title + "</a>\n" +
|
|
||||||
" </dd>");
|
|
||||||
}
|
|
||||||
$("#indexNews").html(indexNewsHtml);
|
|
||||||
} else {
|
|
||||||
layer.alert(data.msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
error: function () {
|
|
||||||
layer.alert('网络异常');
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
//点击榜单数据查询
|
//点击榜单数据查询
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user