import type { PlasmoMessaging } from "@plasmohq/messaging"; const handler: PlasmoMessaging.MessageHandler = async (req, res) => { const { token, siteUrl } = await chrome.storage.local.get(["token", "siteUrl"]); if (!token || !siteUrl) { throw new Error("未指定 Token 或站点地址"); } // 添加手办 if (req.body.action === "addToy") { const { values } = req.body; let imageBlob: Blob | undefined; if (values.imageUrl) { imageBlob = await fetch(values.imageUrl).then((res) => res.blob()); } const formData = new FormData(); Object.keys(values).forEach((item) => { formData.append(item, String(values[item])); }); if (imageBlob) { formData.append("image", imageBlob); } const addReq = await fetch(`${siteUrl}/api/toy/add`, { method: "POST", body: formData, headers: { "paul-token-code": token, }, }).then((res) => res.json()); res.send(addReq); } } export default handler;