对接注册和退出登录

This commit is contained in:
linxd
2025-07-17 11:38:51 +08:00
parent baedd70f53
commit 46c9a0f679
18 changed files with 524 additions and 196 deletions

View File

@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { Card, Row, Col, Tabs, Table, Button, Space } from 'antd';
import { useIntl, Link, history } from 'umi';
import { useIntl, Link, history, connect } from 'umi';
import './index.less';
import IconFont from '@/components/IconFont/IconFont';
import Search from '../announce/Search';
@ -12,7 +12,8 @@ import { getAboutUs } from '@/servers/api/about';
// 获取通知公告
import { getNoticeList } from '@/servers/api/notice';
import { filterHtmlTag } from '@/utils/utils';
const IndexPage: React.FC = () => {
const IndexPage: React.FC<any> = ({ user }) => {
const token = user.token;
const intl = useIntl();
const [noticeLoading, setNoticeLoading] = useState(false);
// 友情链接
@ -186,7 +187,29 @@ const IndexPage: React.FC = () => {
return (
<div>
<img className="banner" src={require('@/assets/img/banner.jpg')} alt="" />
{/* 通知列表 */}
<div className="noticeList layout-content-main">
<div className="noticeName"></div>
{noticeList.map((item) => (
<div className="noticeItem" key={item.id}>
<div className="cardTitle">
<span
className="cardTitleText"
onClick={() => {
history.push({
pathname: '/announce/announceInfo',
search: '?id=' + item.id,
});
}}
>
{item.title}
</span>
<span className="cardTitleTime">{item.publishTime}</span>
</div>
<p className="cardContent" dangerouslySetInnerHTML={{ __html: item.content }} />
</div>
))}
</div>
<div className="loginType">
<div className="layout-content-main">
<Row gutter={20}>
@ -242,49 +265,6 @@ const IndexPage: React.FC = () => {
</div>
</div>
{/* 通知列表 */}
<div className="noticeList">
<div className="layout-content-main">
<div className="noticeTitle">
</div>
<Row gutter={32}>
{noticeList.map((item) => (
<Col span={6} key={item.id}>
<div className="noticeItem" >
<div className='header'>
<span className='time'>{item.publishTime}</span>
<span className={`type ${item.columnType === 'notice' ? 'primary' : 'danger'}`}>{item.columnType === 'notice' ? '公告' : '通知'}</span>
</div>
<div className='title'>{item[intl.formatMessage({ id: 'notice.data.title' }) as keyof typeof item]}</div>
<div className='content'>{filterHtmlTag(item[intl.formatMessage({ id: 'notice.data.content' }) as keyof typeof item] || '')}</div>
<div className="button" onClick={() => {
history.push({
pathname: '/announce/announceInfo',
search: '?id=' + item.id,
});
}}>{intl.formatMessage({ id: 'notice.detail' })}&gt;</div>
{/* <div className="cardTitle">
<span
className="cardTitleText"
onClick={() => {
history.push({
pathname: '/announce/announceInfo',
search: '?id=' + item.id,
});
}}
>
{item.title}
</span>
<span className="cardTitleTime">{item.time}</span>
</div> */}
{/* <p className="cardContent">{item.content}</p> */}
</div>
</Col>
))}
</Row>
</div>
</div>
<div className="layout-content-main announce">
<Row gutter={40}>
<Col span={5}>
@ -393,4 +373,6 @@ const IndexPage: React.FC = () => {
);
};
export default IndexPage;
export default connect(({ user }: any) => ({
user,
}))(IndexPage);