From 41f0286fff9df0ddd6bbfe97f5993682d0391045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AC=94=E8=AE=B0=E6=9C=AC=E9=87=8C=E7=9A=84=E6=B0=B8?= =?UTF-8?q?=E5=B9=B3?= Date: Wed, 23 Jul 2025 16:20:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=AC=E6=AC=A1=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=86=85=E5=AE=B9=E5=A6=82=E4=B8=8B=20?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nkebao/src/pages/mine/api.ts | 17 +++------- nkebao/src/pages/mine/index.module.scss | 1 - nkebao/src/pages/mine/index.tsx | 45 +++++++++---------------- 3 files changed, 19 insertions(+), 44 deletions(-) diff --git a/nkebao/src/pages/mine/api.ts b/nkebao/src/pages/mine/api.ts index 53514714..3f9d424f 100644 --- a/nkebao/src/pages/mine/api.ts +++ b/nkebao/src/pages/mine/api.ts @@ -1,14 +1,5 @@ -import request from '@/api/request'; - -// 设备统计 -export function getDeviceStats() { - return request('/v1/dashboard/device-stats', {}, 'GET'); +import request from "@/api/request"; +// 首页仪表盘总览 +export function getDashboard() { + return request("/v1/dashboard", {}, "GET"); } - -// 微信号统计 -export function getWechatStats() { - return request('/v1/dashboard/wechat-stats', {}, 'GET'); -} - -// 你可以根据需要继续添加其他接口 -// 例如:场景获客统计、今日数据统计等 diff --git a/nkebao/src/pages/mine/index.module.scss b/nkebao/src/pages/mine/index.module.scss index fc1d92c7..d0ddc66a 100644 --- a/nkebao/src/pages/mine/index.module.scss +++ b/nkebao/src/pages/mine/index.module.scss @@ -40,7 +40,6 @@ font-size: 18px; font-weight: 600; color: #333; - margin-bottom: 4px; } .user-level { diff --git a/nkebao/src/pages/mine/index.tsx b/nkebao/src/pages/mine/index.tsx index 2358d586..4019d842 100644 --- a/nkebao/src/pages/mine/index.tsx +++ b/nkebao/src/pages/mine/index.tsx @@ -13,10 +13,11 @@ import { import MeauMobile from "@/components/MeauMobile/MeauMoible"; import Layout from "@/components/Layout/Layout"; import style from "./index.module.scss"; - +import { useUserStore } from "@/store/module/user"; +import { getDashboard } from "./api"; const Mine: React.FC = () => { const navigate = useNavigate(); - const [userInfo, setUserInfo] = useState(null); + const { user } = useUserStore(); const [stats, setStats] = useState({ devices: 12, wechat: 25, @@ -25,21 +26,15 @@ const Mine: React.FC = () => { }); const [showLogoutDialog, setShowLogoutDialog] = useState(false); - // 从localStorage获取用户信息 - useEffect(() => { - const userInfoStr = localStorage.getItem("userInfo"); - if (userInfoStr) { - setUserInfo(JSON.parse(userInfoStr)); - } - }, []); - // 用户信息 const currentUserInfo = { - name: userInfo?.username || "-", - email: userInfo?.email || "-", - role: "-", - lastLogin: "-", - avatar: userInfo?.avatar || "", + name: user?.username || "-", + email: user?.account || "-", + role: user?.isAdmin === 1 ? "管理员" : "普通用户", + lastLogin: user?.lastLoginTime + ? new Date(user.lastLoginTime * 1000).toLocaleString() + : "-", + avatar: user?.avatar || "", }; // 功能模块数据 @@ -89,20 +84,12 @@ const Mine: React.FC = () => { // 加载统计数据 const loadStats = async () => { try { - // 这里可以调用实际的API - // const [deviceStats, wechatStats, trafficStats, contentStats] = await Promise.allSettled([ - // getDeviceStats(), - // getWechatStats(), - // getTrafficStats(), - // getContentStats(), - // ]); - - // 暂时使用模拟数据 + const res = await getDashboard(); setStats({ - devices: 12, - wechat: 25, - traffic: 8, - content: 156, + devices: res.deviceNum, + wechat: res.wechatNum, + traffic: 999, + content: 999, }); } catch (error) { console.error("加载统计数据失败:", error); @@ -196,7 +183,6 @@ const Mine: React.FC = () => { display: "flex", alignItems: "center", gap: "8px", - marginBottom: "4px", }} >
{currentUserInfo.name}
@@ -225,7 +211,6 @@ const Mine: React.FC = () => {
-