diff --git a/apps/web/src/components/Layout.tsx b/apps/web/src/components/Layout.tsx index 42292fe..fe4b449 100644 --- a/apps/web/src/components/Layout.tsx +++ b/apps/web/src/components/Layout.tsx @@ -9,7 +9,7 @@ import { import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { useAuthStore } from '../store/auth'; -const { Header, Sider, Content } = AntLayout; +const { Header, Sider, Content, Footer } = AntLayout; export default function Layout() { const location = useLocation(); @@ -54,7 +54,7 @@ export default function Layout() { fontSize: 16, }} > - VOD 管理器 + 火炬VOD管理器 +
+ © {new Date().getFullYear()} meshel.cn · 火炬VOD管理器 · MIT 开源 +
); diff --git a/apps/web/src/pages/Login.tsx b/apps/web/src/pages/Login.tsx index a2065a3..d6938b4 100644 --- a/apps/web/src/pages/Login.tsx +++ b/apps/web/src/pages/Login.tsx @@ -1,9 +1,12 @@ import { useState } from 'react'; -import { Form, Input, Button, Card, message } from 'antd'; +import { Form, Input, Button, Card, message, Typography, Space } from 'antd'; +import { VideoCameraOutlined, LockOutlined, UserOutlined } from '@ant-design/icons'; import { useNavigate } from 'react-router-dom'; import { useAuthStore } from '../store/auth'; import { login } from '../api/auth'; +const { Title, Text } = Typography; + export default function LoginPage() { const navigate = useNavigate(); const setAuth = useAuthStore((state) => state.setAuth); @@ -30,32 +33,77 @@ export default function LoginPage() { display: 'flex', alignItems: 'center', justifyContent: 'center', - background: '#f0f2f5', + background: 'linear-gradient(135deg, #1677ff 0%, #0958d9 100%)', }} > - + + +
+ +
+ 火炬VOD管理器 + 阿里云视频点播媒体资源管理后台 +
+
- + } + placeholder="用户名" + size="large" + /> - + } + placeholder="密码" + size="large" + /> - - + +
+ + 默认账号:admin / admin + +
diff --git a/apps/web/src/pages/Logs.tsx b/apps/web/src/pages/Logs.tsx index c8814cb..c4091c4 100644 --- a/apps/web/src/pages/Logs.tsx +++ b/apps/web/src/pages/Logs.tsx @@ -20,7 +20,7 @@ export default function LogsPage() { const [loading, setLoading] = useState(false); const [total, setTotal] = useState(0); const [pageNo, setPageNo] = useState(1); - const [pageSize, setPageSize] = useState(20); + const [pageSize, setPageSize] = useState(10); const fetchLogs = async (page: number, size: number) => { setLoading(true); diff --git a/apps/web/src/pages/Videos.tsx b/apps/web/src/pages/Videos.tsx index 0794735..09478d6 100644 --- a/apps/web/src/pages/Videos.tsx +++ b/apps/web/src/pages/Videos.tsx @@ -48,7 +48,7 @@ export default function VideosPage() { const [selectedRows, setSelectedRows] = useState([]); const [total, setTotal] = useState(0); const [pageNo, setPageNo] = useState(1); - const [pageSize, setPageSize] = useState(20); + const [pageSize, setPageSize] = useState(10); const [categories, setCategories] = useState[]>([]); const [detail, setDetail] = useState(null); const [drawerOpen, setDrawerOpen] = useState(false);