diff --git a/frontend/src/pages/ProfilePage.tsx b/frontend/src/pages/ProfilePage.tsx index 474ba21..01f271e 100644 --- a/frontend/src/pages/ProfilePage.tsx +++ b/frontend/src/pages/ProfilePage.tsx @@ -1,11 +1,15 @@ -/** 我的 — 1:1 复刻 uni-app pages/profile/index.vue + 真实用户数据绑定 */ +/** 我的 — 与 uni-app pages/profile/index.vue 完全同步 */ +import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { useAuth } from "../contexts/AuthContext"; +import { useToast } from "../components/ui/Toast"; import { LogOut } from "lucide-react"; export default function ProfilePage() { const { user, logout } = useAuth(); + const { toast } = useToast(); const navigate = useNavigate(); + const [showAbout, setShowAbout] = useState(false); // ---- 从 AuthContext 派生真实数据 ---- const displayName = user?.display_name || user?.username || "未知用户"; @@ -20,11 +24,22 @@ export default function ProfilePage() { navigate("/admin/login", { replace: true }); } + function handleMenuClick(item: string) { + switch (item) { + case "关于": + setShowAbout(true); + break; + case "帮助与反馈": + toast("反馈通道搭建中,敬请期待...", "info"); + break; + // 工作统计、设置 暂不处理 + } + } + return (
- {/* 用户卡片 — 与 uni-app user-card 完全一致 */} + {/* 用户卡片 */}
- {/* 头像 — 取真实用户名的第一个字 */}
{avatarChar}
@@ -37,12 +52,13 @@ export default function ProfilePage() {
- {/* 菜单列表 — 与 uni-app menu-card 完全一致 */} + {/* 菜单列表 */}
{["工作统计", "设置", "帮助与反馈", "关于"].map((item, i) => (
handleMenuClick(item)} + className={`flex cursor-pointer items-center justify-between px-4 py-3.5 transition-colors hover:bg-gray-50 ${ i < 3 ? "border-b border-gray-50" : "" }`} > @@ -51,7 +67,7 @@ export default function ProfilePage() {
))} - {/* 退出登录 — 红色高亮 */} + {/* 退出登录 */}
- {/* 版本号 — 与 uni-app .version 一致 */} -

生产流转 v1.0.0

+

生产流转 T1.0.3

+ + {/* 关于弹窗 */} + {showAbout && ( +
+
setShowAbout(false)} + /> +
+

+ 关于 Track +

+
+ Track 生产流转管理系统{"\n"}当前版本:T1.0.3{"\n"}核心架构:FastAPI + React + Tailwind +
+ +
+
+ )}
); }