From 6d63bdf1a26024e9b51444795f4ed71ad699999f Mon Sep 17 00:00:00 2001 From: callmeyan Date: Mon, 23 Dec 2024 10:56:03 +0800 Subject: [PATCH] =?UTF-8?q?news=20detail=20=E4=BF=AE=E6=94=B9=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/index.scss | 10 ++++++++ src/pages/news/index.tsx | 52 +++++++++++++++++++++++++++------------- src/types/core.d.ts | 1 + vite.config.ts | 4 ++-- 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/src/assets/index.scss b/src/assets/index.scss index b302741..e782190 100644 --- a/src/assets/index.scss +++ b/src/assets/index.scss @@ -66,6 +66,16 @@ body { .article-action-icon { @apply cursor-pointer text-gray-500 hover:text-blue-500 block; } +.news-detail-modal{ + .ant-modal-content{ + padding-right: 0; + padding-left: 0; + } +} +.news-detail-content-container{ + margin-right: -30px; + padding-right: 30px; +} img { max-width: 100%; diff --git a/src/pages/news/index.tsx b/src/pages/news/index.tsx index 494fc5a..0c1b78d 100644 --- a/src/pages/news/index.tsx +++ b/src/pages/news/index.tsx @@ -1,6 +1,7 @@ import React, {useRef, useState} from "react"; -import {Checkbox, Divider, Empty, Modal, Pagination, Space} from "antd"; +import {Checkbox, Divider, Empty, Modal, Space} from "antd"; import {useRequest} from "ahooks"; +import {CloseOutlined} from "@ant-design/icons" import SearchPanel from "@/pages/news/components/search-panel.tsx"; import {getById, getList} from "@/service/api/news.ts"; @@ -46,7 +47,7 @@ export default function NewsIndex() { const {update, close} = showLoading('获取新闻详情...') getById(id).then(res => { close() - setActiveNews(res) + setActiveNews({...res, id}) }).catch(() => { update('获取新闻详情失败', 'info') }) @@ -60,23 +61,46 @@ export default function NewsIndex() { setCheckedId([]) } } - const scrollerRef = useRef(null) - + const scrollerRef = useRef(null) + const handleCheckChange = (id: number) => { + if (checkedId.includes(id)) { + setCheckedId(checkedId.filter(id => id != id)) + } else { + setCheckedId([...checkedId, id]) + } + } return (
- {activeNews && setActiveNews(undefined)}> -
+ {activeNews && setActiveNews(undefined)} + > +
{activeNews?.title}
- -
+
{activeNews?.media_name} {formatTime(activeNews?.publish_time)}
-
+
+
+
+ setActiveNews(undefined)}/> +
+
+ handleCheckChange(activeNews!.id)} + >选择 +
+
}
@@ -99,7 +123,7 @@ export default function NewsIndex() { pagination={data?.pagination} loading={loading} ref={scrollerRef} - onScroll={(top)=> setState({showToTop: top > 30})} + onScroll={(top) => setState({showToTop: top > 30})} onCallback={(page) => { setParams({...params, pagination: {...params.pagination, page}}) }} @@ -138,11 +162,7 @@ export default function NewsIndex() { {item.internal_article_id > 0 ? : { - if (checkedId.includes(item.id)) { - setCheckedId(checkedId.filter(id => id != item.id)) - } else { - setCheckedId([...checkedId, item.id]) - } + handleCheckChange(item.id) }}/>}
@@ -155,7 +175,7 @@ export default function NewsIndex() {
- scrollerRef.current?.scrollToPosition(0)} /> + scrollerRef.current?.scrollToPosition(0)}/>
diff --git a/src/types/core.d.ts b/src/types/core.d.ts index 67f07ca..9022610 100644 --- a/src/types/core.d.ts +++ b/src/types/core.d.ts @@ -35,6 +35,7 @@ declare interface ArticleDetail { } declare interface NewsInfo { + id: number; title: string; content: string; media_name: string; diff --git a/vite.config.ts b/vite.config.ts index 37101d6..c0ec5ef 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,7 +6,7 @@ import dayjs from "dayjs"; // https://vitejs.dev/config/ export default defineConfig(({mode}) => { - const devServerHost = mode == 'test' ? '124.220.14.192' : '192.168.0.231:9999' + const devServerHost = mode == 'test' ? 'https://fm-admin.starbitech.com' : 'http://192.168.0.231:9999' const AUTH_TOKEN_KEY = mode == 'production' ? 'digital-person-token' : `digital-person-token_${mode}` if (mode !== 'production') { @@ -41,7 +41,7 @@ export default defineConfig(({mode}) => { port: 10021, proxy: { '/mgmt': { - target: `http://${devServerHost}`, // http://124.220.14.192/ 192.168.0.231:9999 + target: `${devServerHost}`, // http://124.220.14.192/ 192.168.0.231:9999 changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') },