diff --git a/src/components/layout/Article/index.module.css b/src/components/layout/Article/index.module.css
index 92ddf15..241932e 100644
--- a/src/components/layout/Article/index.module.css
+++ b/src/components/layout/Article/index.module.css
@@ -1,16 +1,16 @@
.article {
width: 100%;
- min-height: 100vh;
+ /* min-height: 100vh; */
padding: 7.5rem 0;
- .articleHeaderLine, .articleHeader, .articleContent {
+ .articleHeaderLine, .articleHeader, .articleContent, .articleBottomLine {
width: 90%;
margin: 0 auto;
}
.articleHeaderLine {
height: 6.25rem;
- border-bottom: .0625rem solid #222222;
+ border-bottom: 1px solid #222222;
display: flex;
.articleHeaderLineBack {
@@ -51,5 +51,14 @@
.articleContent {
font-size: 1.25rem;
+ min-height: 50vh;
+ }
+
+ .articleBottomLine {
+ border-top: 1px solid #222222;
+ margin-top: 9.375rem;
+ padding: 30px 0;
+ display: flex;
+ justify-content: space-between;
}
}
\ No newline at end of file
diff --git a/src/components/layout/Article/index.tsx b/src/components/layout/Article/index.tsx
index c25c202..b6570c4 100644
--- a/src/components/layout/Article/index.tsx
+++ b/src/components/layout/Article/index.tsx
@@ -1,5 +1,5 @@
import styles from "./index.module.css";
-
+import { dateFormat } from "@/utils";
type Data = {
title: string;
@@ -8,7 +8,16 @@ type Data = {
content: string;
}
-export default function Article({ data }: { data: Data }) {
+type Item = {
+ id: number;
+ title: string;
+}
+
+export default function Article({ data, prevItem, nextItem, setDetailId }: {
+ data: Data,
+ prevItem?: Item, nextItem?: Item,
+ setDetailId: (id: number) => void,
+}) {
return (
@@ -20,13 +29,17 @@ export default function Article({ data }: { data: Data }) {
{data.title}
- 发布时间:{data.createTime}
+ 发布时间:{dateFormat(data.createTime, 'yyyy-MM-dd')}
阅读次数:{data.readTimes}
+
+ {prevItem &&
setDetailId(prevItem.id)}>上一篇:{prevItem.title}
}
+ {nextItem &&
setDetailId(nextItem.id)}>下一篇:{nextItem.title}
}
+
)
}
\ No newline at end of file
diff --git a/src/layouts/Header.module.css b/src/layouts/Header.module.css
index e57df34..44beb28 100644
--- a/src/layouts/Header.module.css
+++ b/src/layouts/Header.module.css
@@ -209,6 +209,7 @@
background: transparent;
border: none;
cursor: pointer;
+ font-weight: bold;
}
.searchBtn {
diff --git a/src/pages/News/Detail.tsx b/src/pages/News/Detail.tsx
index 5bb3b82..445dc08 100644
--- a/src/pages/News/Detail.tsx
+++ b/src/pages/News/Detail.tsx
@@ -1,9 +1,8 @@
import Article from "@/components/layout/Article";
import { useStore } from "@/store";
-import { useEffect, useMemo, useState } from "react";
+import { useCallback, useEffect, useMemo, useState } from "react";
import { useParams } from "react-router-dom";
import appApi from "@/api/app";
-
type NewsDetail = {
id: number;
title: string;
@@ -23,8 +22,8 @@ export default function NewsDetail() {
return newsDetailList?.find((item) => item.lang.toLowerCase() === locale.split('-')[0]);
}, [newsDetailList, locale]);
- useEffect(() => {
- appApi.getNewsDetail(id).then((res) => {
+ const getNewsDetail = useCallback((id: string | number) => {
+ id && appApi.getNewsDetail(id).then((res) => {
const data = res.data.map((item: any) => {
return {
id: item.id,
@@ -37,12 +36,15 @@ export default function NewsDetail() {
})
setNewsDetailList(data)
})
- }, [id])
+ }, [])
+ useEffect(() => {
+ getNewsDetail(id)
+ }, [id])
return (
- {newsDetail &&
}
+ {newsDetail &&
getNewsDetail(id)}/>}
);
}
diff --git a/src/pages/News/NewsPublic.tsx b/src/pages/News/NewsPublic.tsx
index 46ca379..3731d65 100644
--- a/src/pages/News/NewsPublic.tsx
+++ b/src/pages/News/NewsPublic.tsx
@@ -8,7 +8,6 @@ import { Link } from "react-router-dom";
import { useStore } from "@/store";
import appApi from "@/api/app";
import ScrollReveal from "@/components/ScrollReveal";
-
type NewsItem = {
id: number;
title: string;
diff --git a/src/pages/Others/Search.tsx b/src/pages/Others/Search.tsx
index 84433d3..8ecf23e 100644
--- a/src/pages/Others/Search.tsx
+++ b/src/pages/Others/Search.tsx
@@ -48,6 +48,7 @@ export default function Search() {
size,
title: searchKeyword,
category_id: categoryId,
+ sort: "create_time DESC",
}).then((res) => {
setSearched(true);
const data = res.data.items.map((item: any) => {
diff --git a/src/proxy.cjs b/src/proxy.cjs
index 93b03a5..cb307e3 100644
--- a/src/proxy.cjs
+++ b/src/proxy.cjs
@@ -10,7 +10,6 @@ console.log('isDev', isDev)
module.exports = {
'/companyHome': {
target: isDev === 'true' ? 'http://10.3.0.7:9999/' : 'http://yintai.batiao8.com/',
- // target: "http://10.3.0.24:9211/",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/companyHome/, '')
}
diff --git a/src/store/app.ts b/src/store/app.ts
index 290a867..fd89a6e 100644
--- a/src/store/app.ts
+++ b/src/store/app.ts
@@ -1,13 +1,16 @@
import { create } from "zustand";
+type Item = {
+ id: number;
+ title: string;
+}
+
interface AppStoreState {
screenOpened: boolean;
setScreenOpened: (screenOpened: boolean) => void;
}
-export const useAppStore = create
()(
- (set) => ({
- screenOpened: false,
- setScreenOpened: (screenOpened) => set({ screenOpened }),
- }),
-);
+export const useAppStore = create()(set => ({
+ screenOpened: false,
+ setScreenOpened: (screenOpened) => set({ screenOpened }),
+}));
diff --git a/src/store/index.ts b/src/store/index.ts
index 91c38e5..bf83d1f 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -21,7 +21,7 @@ interface StoreState {
type: string;
}[] | null;
supportLocales: SupportLocale[];
- token: string | null;
+ token: string | null;
setLocale: (locale: LocaleKey) => void;
setAppConfig: (data: I18nData) => void;
setCategoryList: (list: any[]) => void;