import { useState } from "react" import { EditInfoDialog, type EditInfoValues, } from "@/components/composites/dialogs/editInfoDialog" import DataTable from "@/components/data-table" import Page from "@/components/page" import { Button } from "@/components/ui/button" import { cn } from "@/lib/utils" import b3 from "../assets/b3.webp" import b5 from "../assets/b5.webp" import b6 from "../assets/b6.webp" import b7 from "../assets/b7.webp" import b8 from "../assets/b8.webp" import b9 from "../assets/b9.webp" import b10 from "../assets/b10.webp" import b11 from "../assets/b11.webp" import b12 from "../assets/b12.webp" import banner from "../assets/banner.webp" import banner2 from "../assets/banner2.webp" import { MOCK_ACCOUNT_INFO, MOCK_BALANCE, MOCK_CONSUMPTION, MOCK_IP_STATS, MOCK_RECENT_ORDERS, } from "./mock" export default function DashboardPage() { // ========== 数据定义(待接口就绪后改为 useEffect 拉取) ========== const balanceData = MOCK_BALANCE const accountInfo = MOCK_ACCOUNT_INFO const recentOrders = MOCK_RECENT_ORDERS const consumptionData = MOCK_CONSUMPTION const ipAccountData = MOCK_IP_STATS const [editDialogOpen, setEditDialogOpen] = useState(false) const handleSaveInfo = (data: EditInfoValues) => { // TODO: 接入 src/api/user.ts updateUserProfile void data } return (
{/* 第一个卡片 */}
可用余额(元)

{balanceData.balance.toFixed(2)}

banner
{/* 第二个卡片 */}

可用H币(个)

{balanceData.hCoin.toFixed(2)}

banner2

账号信息

{/* 头像/二维码区域 */}
{accountInfo.phone}
账号二维码
{/* 信息列表 */}
密码 ********
QQ {accountInfo.qq || "未绑定"}
微信号 {accountInfo.wechat || "未绑定"}
淘宝 {accountInfo.taobao || "未绑定"}
邮箱 {accountInfo.email || "未绑定"}
{/* 可以优化掉不要 */}

最近订单

row.original.price.toFixed(2), }, { accessorKey: "connections", header: "总连接数" }, { accessorKey: "account", header: "账号" }, { accessorKey: "orderAmount", header: "订单金额(元)", cell: ({ row }) => row.original.orderAmount.toFixed(2), }, { accessorKey: "paidAmount", header: "实付金额(元)", cell: ({ row }) => row.original.paidAmount.toFixed(2), }, ]} />
{/* ====== 消费信息 + IP账号 ====== */}

消费信息

{/* 今日消费 */}
今日消费

今日消费

{consumptionData.today}

{/* 当月消费 */}
当月消费

当月消费

{consumptionData.month}

{/* 今日退款 */}
今日退款

今日退款

{consumptionData.todayRefund}

{/* 本年消费 */}
本年消费

本年消费

{consumptionData.year}

{/* 今日充值 */}
今日充值

今日充值

{consumptionData.todayRecharge}

{/* 当月充值 */}
当月充值

当月充值

{consumptionData.monthRecharge}

{/* 当月退款 */}
当月退款

当月退款

{consumptionData.monthRefund}

{/* ====== IP账号 ====== */}

IP账号

{/* 使用中 */}
使用中

{ipAccountData.using}

使用中

{/* 总个数 */}
总个数

{ipAccountData.total}

总个数

{/* 已过期 */}
已过期

{ipAccountData.expired}

已过期

) }