share.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // resources/js/modules/share.js
  2. // 阅读页「分享」入口:点击「二维码」弹出 Modal,用 qrcode 生成当前页面 URL 的二维码。
  3. // 仅在有 #shareQrModal / #shareQrCanvas 的页面(library/book/read)生效。
  4. import QRCode from "qrcode";
  5. function initShare() {
  6. const modalEl = document.getElementById("shareQrModal");
  7. const canvas = document.getElementById("shareQrCanvas");
  8. if (!modalEl || !canvas) {
  9. return;
  10. }
  11. modalEl.addEventListener("show.bs.modal", async () => {
  12. try {
  13. await QRCode.toCanvas(canvas, window.location.href, {
  14. width: 240,
  15. margin: 2,
  16. errorCorrectionLevel: "M",
  17. color: {
  18. dark: "#1d273b",
  19. light: "#ffffff",
  20. },
  21. });
  22. } catch (err) {
  23. console.warn("[WikiPāli] QR code generation failed", err);
  24. }
  25. });
  26. }
  27. if (document.readyState === "loading") {
  28. document.addEventListener("DOMContentLoaded", initShare);
  29. } else {
  30. initShare();
  31. }