"use client"; import { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { toast } from "sonner"; import { Car, Phone, Bell, Info } from "lucide-react"; export default function MoveCarDisplay() { const [plateNumber, setPlateNumber] = useState(""); const [phoneNumber, setPhoneNumber] = useState(""); const [token, setToken] = useState(""); const [uid, setUid] = useState(""); const [newEnergy, setNewEnergy] = useState(false); useEffect(() => { const urlParams = new URLSearchParams(window.location.search); setPlateNumber(urlParams.get("plateNumber") || ""); setPhoneNumber(urlParams.get("phoneNumber") || ""); setToken(urlParams.get("token") || ""); setUid(urlParams.get("uid") || ""); setNewEnergy(urlParams.get("new") === "true"); }, []); const notifyOwner = () => { const currentTime = new Date().getTime(); const lastNotifyTimeKey = "lastNotifyTime" + plateNumber; const lastNotifyTime = localStorage.getItem(lastNotifyTimeKey); const timeDifference = lastNotifyTime ? (currentTime - parseInt(lastNotifyTime)) / 1000 : 0; if (lastNotifyTime && timeDifference < 60) { toast.warning("您已发送过通知,请1分钟后再次尝试。"); return; } const promise = fetch("https://wxpusher.zjiecode.com/api/send/message", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ appToken: token, content: "您好,有人需要您挪车,请及时处理。", contentType: 1, uids: [uid], }), }) .then((response) => response.json()) .then((data) => { if (data.code === 1000) { localStorage.setItem(lastNotifyTimeKey, currentTime.toString()); return "通知已发送!"; } else { throw new Error("通知发送失败"); } }); toast.promise(promise, { loading: '正在发送通知...', success: (data) => data, error: '通知发送失败,请稍后重试', }); }; const callNumber = () => { window.location.href = "tel:" + phoneNumber; }; return (