import type { PlasmoCSConfig } from "plasmo"; export const config: PlasmoCSConfig = { matches: ["https://mall.bilibili.com/*"] }; chrome.runtime.onMessage.addListener((req, sender, send) => { if (req.type === "toolbox:getBiliToy") { const item = document.querySelectorAll(".silde-item"); if (item.length) { const project = document.querySelector(".tagC-ip .tagC-ip-con").innerText; const made = document.querySelector(".tagC-ip .tagC-ip-con-brand").innerText; const projectExp = new RegExp(`\s?${project}\s?`); const madeExp = new RegExp(`\s?${made}\s?`); const name = document.querySelector(".title-text-wrap") .innerText.replace(/\[\S+\]/, "") .replace(projectExp, "") .replace(madeExp, "") .replaceAll(/\s?Q版手办\s?|\s?粘土人\s?/g, "") .trim(); const images = []; item.forEach((item) => { images.push( item.style.backgroundImage.replace("url(\"", "").replace("\")", "").replace("//", "https://") ); }); send({ name, project: project.replace(":", ":"), made: document.querySelector(".tagC-ip .tagC-ip-con-brand").innerText, sale: document.querySelector(".item-complex:nth-child(4) .item-complex-value").innerText.replace("-", "/"), images, productId: new URLSearchParams(location.search).get("itemsId"), }); } else { send(false); } } });