import { useState, useEffect } from 'react'; import { useNavigate, Form } from '@remix-run/react'; import { type MetaFunction, type ActionFunctionArgs, LoaderFunctionArgs, redirect, json } from "@remix-run/node"; import styles from "~/styles/pages/home.css?url"; import { getUserSession, logout } from "~/root"; export const links = () => [ { rel: "stylesheet", href: styles } ]; export const meta: MetaFunction = () => { return [ { title: "中国烟草AI合同及卷宗审核系统 - 首页" }, { name: "description", content: "中国烟草AI合同及卷宗审核系统首页" }, ]; }; // 处理登出请求 export async function action({ request }: ActionFunctionArgs) { const formData = await request.formData(); const intent = formData.get("intent"); if (intent === "logout") { return logout(request); } return null; } // 验证用户登录状态 export async function loader({ request }: LoaderFunctionArgs) { const { isAuthenticated } = await getUserSession(request); if (!isAuthenticated) { return redirect("/login"); } return json({ isAuthenticated }); } export default function Home() { const navigate = useNavigate(); const [currentTime, setCurrentTime] = useState(''); const [currentDate, setCurrentDate] = useState(''); // 更新日期时间 useEffect(() => { const updateDateTime = () => { const now = new Date(); // 格式化日期: YYYY/MM/DD const date = now.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }).replace(/\//g, '/'); // 格式化时间: HH:MM const time = now.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit', hour12: false }); setCurrentDate(date); setCurrentTime(time); }; // 初始化时间 updateDateTime(); // 每分钟更新一次 const interval = setInterval(updateDateTime, 60000); return () => clearInterval(interval); }, []); // 处理模块点击 const handleModuleClick = (path: string) => { navigate(path); }; // 处理键盘事件 const handleKeyDown = (path: string, e: React.KeyboardEvent) => { if (e.key === 'Enter' || e.key === ' ') { handleModuleClick(path); } }; // 处理登出 const handleLogout = () => { // 使用Form组件提交登出请求 const form = document.getElementById('logout-form') as HTMLFormElement; if (form) { form.submit(); } }; return (
{/* 登出表单 - 隐藏 */}
{/* 头部 */}
中国烟草 中国烟草 CHINA TOBACCO
{currentDate} {currentTime}
用户头像 系统管理员
{/* 主要内容 */}

- 欢迎来到智慧法务平台 -

{/* 合同管理模块 */}
handleModuleClick('/documents')} onKeyDown={(e) => handleKeyDown('/documents', e)} role="button" tabIndex={0} aria-label="合同管理" >
合同管理
{/* 案卷智能评查模块 */}
handleModuleClick('/')} onKeyDown={(e) => handleKeyDown('/', e)} role="button" tabIndex={0} aria-label="案卷智能评查" >
案卷智能评查
{/* 智慧法务大模型模块 */}
handleModuleClick('/prompts')} onKeyDown={(e) => handleKeyDown('/prompts', e)} role="button" tabIndex={0} aria-label="智慧法务大模型" >
智慧法务大模型
{/* 底部山水背景 */}
); }