update:1.新增章节内容批量生成功能

This commit is contained in:
xiamuceer
2025-11-06 12:36:32 +08:00
parent d76c79e733
commit e8396f0cbd
11 changed files with 1381 additions and 28 deletions
+34 -3
View File
@@ -3,6 +3,7 @@ import { Button, Card, Space, Typography, message, Spin, Form, Input, Tabs } fro
import { UserOutlined, LockOutlined } from '@ant-design/icons';
import { authApi } from '../services/api';
import { useNavigate, useSearchParams } from 'react-router-dom';
import AnnouncementModal from '../components/AnnouncementModal';
const { Title, Paragraph } = Typography;
@@ -14,6 +15,7 @@ export default function Login() {
const [localAuthEnabled, setLocalAuthEnabled] = useState(false);
const [linuxdoEnabled, setLinuxdoEnabled] = useState(false);
const [form] = Form.useForm();
const [showAnnouncement, setShowAnnouncement] = useState(false);
// 检查是否已登录和获取认证配置
useEffect(() => {
@@ -47,8 +49,17 @@ export default function Login() {
if (response.success) {
message.success('登录成功!');
const redirect = searchParams.get('redirect') || '/';
navigate(redirect);
// 检查今天是否已经显示过公告
const doNotShowUntil = localStorage.getItem('announcement_do_not_show_until');
const now = new Date().getTime();
if (!doNotShowUntil || now > parseInt(doNotShowUntil)) {
setShowAnnouncement(true);
} else {
const redirect = searchParams.get('redirect') || '/';
navigate(redirect);
}
}
} catch (error) {
console.error('本地登录失败:', error);
@@ -185,8 +196,27 @@ export default function Login() {
</div>
);
const handleAnnouncementClose = () => {
setShowAnnouncement(false);
const redirect = searchParams.get('redirect') || '/';
navigate(redirect);
};
const handleDoNotShowToday = () => {
// 设置到今天23:59:59不再显示
const tomorrow = new Date();
tomorrow.setHours(23, 59, 59, 999);
localStorage.setItem('announcement_do_not_show_until', tomorrow.getTime().toString());
};
return (
<div style={{
<>
<AnnouncementModal
visible={showAnnouncement}
onClose={handleAnnouncementClose}
onDoNotShowToday={handleDoNotShowToday}
/>
<div style={{
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
@@ -325,5 +355,6 @@ export default function Login() {
</Space>
</Card>
</div>
</>
);
}