import { ConfirmParam } from "@App/app/service/service_worker/permission_verify"; import { Button, Message, Space } from "@arco-design/web-react"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; function App() { const uuid = window.location.search.split("=")[1]; const [confirm, setConfirm] = React.useState(); const [likeNum, setLikeNum] = React.useState(0); const [second, setSecond] = React.useState(30); const { t } = useTranslation(); if (second === 0) { window.close(); } setTimeout(() => { setSecond(second - 1); }, 1000); useEffect(() => { window.addEventListener("beforeunload", () => { permissionCtrl.sendConfirm(uuid, { allow: false, type: 0, }); }); permissionCtrl .getConfirm(uuid) .then((data) => { setConfirm(data.confirm); setLikeNum(data.likeNum); }) .catch((e: any) => { Message.error(e.message || t("get_confirm_error")); }); }, []); const handleConfirm = (allow: boolean, type: number) => { return async () => { try { await permissionCtrl.sendConfirm(uuid, { allow, type, }); window.close(); } catch (e: any) { Message.error(e.message || t("confirm_error")); setTimeout(() => { window.close(); }, 3000); } }; }; return (
{confirm?.title} {confirm && confirm.metadata && Object.keys(confirm.metadata).map((key) => ( {key}: {confirm!.metadata![key]} ))} {confirm?.describe}
{likeNum > 2 && ( )} {likeNum > 2 && ( )}
{likeNum > 2 && ( )} {likeNum > 2 && ( )}
); } export default App;