iSock

iSock|襪子設計工作室:給襪廠的說明

顧客在你的網站上設計襪子,做完之後把一包可以直接開工的檔案交給你。

一、怎麼掛在自己的網站上

在你要放的頁面貼一段 iframe:

<iframe
  src="https://<你的部署網址>/embed"
  style="width:100%;height:820px;border:0"
  allow="clipboard-write"
  title="襪子設計"
></iframe>

安全設定:我們只允許白名單內的網域嵌入(NEXT_PUBLIC_EMBED_PARENT_ORIGINS+ EMBED_PARENT_ORIGINS)。把貴公司的網域告訴我們,我們設好你才嵌得起來—— 這是為了不讓別人拿你的工作室去收單。

二、詢價怎麼到你手上

  1. 顧客填姓名與聯絡方式(姓名必填、Email 或電話至少一個),按下下載或送出。
  2. 每一筆都有詢價編號,格式 SS-YYYYMMDD-XXXXXXXX。編號印在畫面、zip 檔名、 詢價單與 zones.json 上。回覆顧客時請帶著它(信件主旨直接寫編號)。
  3. 沒有接收件系統時,顧客會看到「請把檔案寄到 drnogreasy@gmail.com, 主旨寫編號」。接了收件系統(M21)之後就會直接送到你的收件匣。

⚠️ 顧客看到「已下載」不代表你收到了——我們在畫面上講得很清楚, 但請把「收到信」當成唯一的受理依據。

三、(選用)在你的頁面上接收詢價狀態

工作室會在顧客下載或送出之後,用 postMessage 通知你的頁面。三件事一定要驗,否則任何一個分頁都能偽造這則訊息:

const iframe = document.querySelector("#sock-studio");

  window.addEventListener("message", (event) => {
    // ① 來源網域:必須是工作室的網址(不是你自己的、也不是 "*")
    if (event.origin !== "https://<你的工作室網址>") return;

    // ② 來源視窗:必須是那個 iframe 本人(擋掉別的分頁或彈出視窗冒名)
    if (event.source !== iframe.contentWindow) return;

    // ③ 訊息結構:型別、編號格式都要對
    const data = event.data;
    if (!data || data.type !== "sockmap.inquiry") return;
    if (!/^SS-d{8}-[0-9A-Z]{8}$/.test(data.inquiryId ?? "")) return;

    // data.status 是 "downloaded" | "accepted" | "failed" | "pack-failed"
    // 🔴 "downloaded" 不是「已下單」:那只代表顧客把檔案存到自己電腦
    console.log("詢價狀態", data.inquiryId, data.status);
  });

訊息裡只有編號與狀態,沒有顧客的姓名、Email 或電話—— 那些只在你收到的 zip(詢價單.html)裡。

四、zip 裡面有什麼

design_144x330_6c_8bit.bmp製版用的點陣圖。一格=一針、一列=一圈,直接匯入製版軟體。檔名裡的數字就是尺寸與色數。
design_…_8bit.zones.json分區與花版對位(sockmap.zones.v1):八欄圈數、花版貼在哪幾列、色表、分區換紗、詢價編號。不含顧客個資。
preview-sock.png顧客看到的 3D 樣子。
preview-grid.png放大的針織格(一格一針)。
preview-flat-front.png正面攤平(腳背側),工單用。
preview-flat-back.png背面攤平(腳底側)。
design.cuff.fabric.json襪口那一段的原始排版(Fabric JSON),要改的時候可以還原。
design.leg.fabric.json襪筒那一段的原始排版。
design.foot.fabric.json腳背那一段的原始排版。
詢價單.html顧客資料、數量、規格、用到的紗、分區圈數與來源、把握指數與完整提醒。⚠️ 這一份含聯絡方式。

五、還沒確認的事(我們需要你的答案)

六、支援的瀏覽器(支援矩陣)

桌機Chrome/Edge/Safari 最新版(完整功能)
iPhone/iPadiOS 16 以上的 Safari。單視窗+底部分頁(設計/3D/工具)。
AndroidChrome 110 以上。
LINE/FB 內建瀏覽器可能畫不出 3D。我們會自動改用攤平圖當預覽並在詢價單標明, 但建議請顧客用「在外部瀏覽器開啟」。
沒有 WebGL 的舊裝置一樣做得出詢價包(預覽改用攤平圖,花版完全不受影響)。

手機上的縮放請用畫面上的「大小」滑桿(我們不鎖頁面縮放,看不清楚可以自己放大整頁)。